All Downloads are FREE. Search and download functionalities are using the official Maven repository.

theme.keycloak.v2.admin.resources.assets.GroupPickerDialog-C09EjRTA.js.map Maven / Gradle / Ivy

There is a newer version: 26.0.7
Show newest version
{"version":3,"file":"GroupPickerDialog-C09EjRTA.js","sources":["../../../../../node_modules/.pnpm/@[email protected][email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/DataList/DataListAction.js","../../../../../node_modules/.pnpm/@[email protected][email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/DataList/DataListCheck.js","../../src/components/group/GroupPath.tsx","../../src/components/group/GroupPickerDialog.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport { css } from '@patternfly/react-styles';\nimport styles from '@patternfly/react-styles/css/components/DataList/data-list.mjs';\nimport { formatBreakpointMods } from '../../helpers/util';\nexport const DataListAction = (_a) => {\n    var { children, className, visibility, \n    /* eslint-disable @typescript-eslint/no-unused-vars */\n    id, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, \n    /* eslint-disable @typescript-eslint/no-unused-vars */\n    isPlainButtonAction } = _a, props = __rest(_a, [\"children\", \"className\", \"visibility\", \"id\", 'aria-label', 'aria-labelledby', \"isPlainButtonAction\"]);\n    return (React.createElement(\"div\", Object.assign({ className: css(styles.dataListItemAction, formatBreakpointMods(visibility, styles), className) }, props), isPlainButtonAction ? React.createElement(\"div\", { className: css(styles.dataListAction) }, children) : children));\n};\nDataListAction.displayName = 'DataListAction';\n//# sourceMappingURL=DataListAction.js.map","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport { css } from '@patternfly/react-styles';\nimport styles from '@patternfly/react-styles/css/components/DataList/data-list.mjs';\nexport const DataListCheck = (_a) => {\n    var { className = '', \n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    onChange = (event, checked) => { }, isValid = true, isDisabled = false, isChecked = false, checked = false, defaultChecked, otherControls = false } = _a, props = __rest(_a, [\"className\", \"onChange\", \"isValid\", \"isDisabled\", \"isChecked\", \"checked\", \"defaultChecked\", \"otherControls\"]);\n    const check = (React.createElement(\"div\", { className: css(styles.dataListCheck) },\n        React.createElement(\"input\", Object.assign({}, props, { type: \"checkbox\", onChange: (event) => onChange(event, event.currentTarget.checked), \"aria-invalid\": !isValid, disabled: isDisabled }, ([true, false].includes(defaultChecked) && { defaultChecked }), (![true, false].includes(defaultChecked) && { checked: isChecked || checked })))));\n    return (React.createElement(React.Fragment, null,\n        !otherControls && React.createElement(\"div\", { className: css(styles.dataListItemControl, className) }, check),\n        otherControls && check));\n};\nDataListCheck.displayName = 'DataListCheck';\n//# sourceMappingURL=DataListCheck.js.map","import { useState } from \"react\";\nimport { Tooltip } from \"@patternfly/react-core\";\nimport type { TableTextProps } from \"@patternfly/react-table\";\n\nimport type GroupRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/groupRepresentation\";\n\ntype GroupPathProps = TableTextProps & {\n  group: GroupRepresentation;\n};\n\nexport const GroupPath = ({\n  group: { path },\n  onMouseEnter: onMouseEnterProp,\n  ...props\n}: GroupPathProps) => {\n  const [tooltip, setTooltip] = useState(\"\");\n  const onMouseEnter = (event: any) => {\n    setTooltip(path!);\n    onMouseEnterProp?.(event);\n  };\n  const text = (\n    \n      {path}\n    \n  );\n\n  return tooltip !== \"\" ? (\n    \n      {text}\n    \n  ) : (\n    text\n  );\n};\n","import type GroupRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/groupRepresentation\";\nimport {\n  GroupQuery,\n  SubGroupQuery,\n} from \"@keycloak/keycloak-admin-client/lib/resources/groups\";\nimport {\n  Breadcrumb,\n  BreadcrumbItem,\n  Button,\n  DataList,\n  DataListAction,\n  DataListCell,\n  DataListCheck,\n  DataListItem,\n  DataListItemCells,\n  DataListItemRow,\n  Modal,\n  ModalVariant,\n} from \"@patternfly/react-core\";\nimport { AngleRightIcon } from \"@patternfly/react-icons\";\nimport { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useAdminClient } from \"../../admin-client\";\nimport { useFetch } from \"../../utils/useFetch\";\nimport { ListEmptyState } from \"../list-empty-state/ListEmptyState\";\nimport { PaginatingTableToolbar } from \"../table-toolbar/PaginatingTableToolbar\";\nimport { GroupPath } from \"./GroupPath\";\n\nimport \"./group-picker-dialog.css\";\n\nexport type GroupPickerDialogProps = {\n  id?: string;\n  type: \"selectOne\" | \"selectMany\";\n  filterGroups?: GroupRepresentation[];\n  text: { title: string; ok: string };\n  canBrowse?: boolean;\n  isMove?: boolean;\n  onConfirm: (groups: GroupRepresentation[] | undefined) => void;\n  onClose: () => void;\n};\n\ntype SelectableGroup = GroupRepresentation & {\n  checked?: boolean;\n};\n\nexport const GroupPickerDialog = ({\n  id,\n  type,\n  filterGroups,\n  text,\n  canBrowse = true,\n  isMove = false,\n  onClose,\n  onConfirm,\n}: GroupPickerDialogProps) => {\n  const { adminClient } = useAdminClient();\n\n  const { t } = useTranslation();\n  const [selectedRows, setSelectedRows] = useState([]);\n\n  const [navigation, setNavigation] = useState([]);\n  const [groups, setGroups] = useState([]);\n  const [filter, setFilter] = useState(\"\");\n  const [joinedGroups, setJoinedGroups] = useState([]);\n  const [groupId, setGroupId] = useState();\n  const [isSearching, setIsSearching] = useState(false);\n\n  const [max, setMax] = useState(10);\n  const [first, setFirst] = useState(0);\n\n  const [count, setCount] = useState(0);\n\n  const currentGroup = () => navigation[navigation.length - 1];\n\n  useFetch(\n    async () => {\n      let group;\n      let groups;\n      let existingUserGroups;\n\n      if (!groupId) {\n        const args: GroupQuery = {\n          first,\n          max: max + 1,\n        };\n        if (isSearching) {\n          args.search = filter;\n        }\n        groups = await adminClient.groups.find(args);\n      } else {\n        if (!navigation.map(({ id }) => id).includes(groupId)) {\n          group = await adminClient.groups.findOne({ id: groupId });\n          if (!group) {\n            throw new Error(t(\"notFound\"));\n          }\n        }\n\n        const args: SubGroupQuery = {\n          first,\n          max,\n          parentId: groupId,\n        };\n        groups = await adminClient.groups.listSubGroups(args);\n      }\n\n      if (id) {\n        existingUserGroups = await adminClient.users.listGroups({\n          id,\n        });\n      }\n\n      return { group, groups, existingUserGroups };\n    },\n    async ({ group: selectedGroup, groups, existingUserGroups }) => {\n      setJoinedGroups(existingUserGroups || []);\n      if (selectedGroup) {\n        setNavigation([...navigation, selectedGroup]);\n        setCount(selectedGroup.subGroupCount!);\n      }\n\n      groups.forEach((group: SelectableGroup) => {\n        group.checked = !!selectedRows.find((r) => r.id === group.id);\n      });\n      setGroups(groups);\n      if (isSearching || !groupId) {\n        setCount(groups.length);\n      }\n    },\n    [groupId, filter, first, max],\n  );\n\n  const isRowDisabled = (row?: GroupRepresentation) => {\n    return [\n      ...joinedGroups.map((item) => item.id),\n      ...(filterGroups || []).map((group) => group.id),\n    ].some((group) => group === row?.id);\n  };\n\n  return (\n     {\n            onConfirm(\n              type === \"selectMany\"\n                ? selectedRows\n                : navigation.length\n                  ? [currentGroup()]\n                  : undefined,\n            );\n          }}\n          isDisabled={type === \"selectMany\" && selectedRows.length === 0}\n        >\n          {t(text.ok)}\n        ,\n      ]}\n    >\n       {\n          setFirst(first);\n          setMax(max);\n        }}\n        inputGroupName={\"search\"}\n        inputGroupOnEnter={(search) => {\n          setFilter(search);\n          setIsSearching(search !== \"\");\n          setFirst(0);\n          setMax(10);\n          setNavigation([]);\n          setGroupId(undefined);\n        }}\n        inputGroupPlaceholder={t(\"searchForGroups\")}\n      >\n        \n          {navigation.length > 0 && (\n            \n               {\n                  setGroupId(undefined);\n                  setNavigation([]);\n                  setFirst(0);\n                  setMax(10);\n                }}\n              >\n                {t(\"groups\")}\n              \n            \n          )}\n          {navigation.map((group, i) => (\n            \n              {navigation.length - 1 !== i && (\n                 {\n                    setGroupId(group.id);\n                    setNavigation([...navigation].slice(0, i));\n                    setFirst(0);\n                    setMax(10);\n                  }}\n                >\n                  {group.name}\n                \n              )}\n              {navigation.length - 1 === i && group.name}\n            \n          ))}\n        \n        \n          {groups.slice(0, max).map((group: SelectableGroup) => (\n            \n              {(!isSearching || group.name?.includes(filter)) && (\n                \n              )}\n              {isSearching &&\n                group.subGroups?.map((g) => (\n                  \n                ))}\n            \n          ))}\n        \n        {groups.length === 0 && !isSearching && (\n          \n        )}\n        {groups.length === 0 && isSearching && (\n          \n        )}\n      \n    \n  );\n};\n\ntype GroupRowProps = {\n  group: SelectableGroup;\n  type: \"selectOne\" | \"selectMany\";\n  isRowDisabled: (row?: GroupRepresentation) => boolean;\n  isSearching: boolean;\n  setIsSearching: (value: boolean) => void;\n  onSelect: (groupId: string) => void;\n  selectedRows: SelectableGroup[];\n  setSelectedRows: (groups: SelectableGroup[]) => void;\n  canBrowse: boolean;\n};\n\nconst GroupRow = ({\n  group,\n  type,\n  isRowDisabled,\n  isSearching,\n  setIsSearching,\n  onSelect,\n  selectedRows,\n  setSelectedRows,\n  canBrowse,\n}: GroupRowProps) => {\n  const { t } = useTranslation();\n\n  return (\n     {\n        if (type === \"selectOne\") {\n          onSelect(group.id!);\n        } else if (\n          (e.target as HTMLInputElement).type !== \"checkbox\" &&\n          group.subGroupCount !== 0\n        ) {\n          onSelect(group.id!);\n          setIsSearching(false);\n        }\n      }}\n    >\n      \n        {type === \"selectMany\" && (\n           {\n              group.checked = checked;\n              let newSelectedRows: SelectableGroup[] = [];\n              if (!group.checked) {\n                newSelectedRows = selectedRows.filter((r) => r.id !== group.id);\n              } else {\n                newSelectedRows = [...selectedRows, group];\n              }\n\n              setSelectedRows(newSelectedRows);\n            }}\n            aria-labelledby={`select-${group.name}`}\n          />\n        )}\n\n        \n              {isSearching ? (\n                \n              ) : (\n                {group.name}\n              )}\n            ,\n          ]}\n        />\n        \n          {(canBrowse || type === \"selectOne\") && group.subGroupCount !== 0 && (\n            \n          )}\n        \n      \n    \n  );\n};\n"],"names":["DataListAction","_a","children","className","visibility","id","ariaLabel","ariaLabelledBy","isPlainButtonAction","props","__rest","React","css","styles","formatBreakpointMods","DataListCheck","onChange","event","checked","isValid","isDisabled","isChecked","defaultChecked","otherControls","check","GroupPath","path","onMouseEnterProp","tooltip","setTooltip","useState","text","jsx","Tooltip","GroupPickerDialog","type","filterGroups","canBrowse","isMove","onClose","onConfirm","adminClient","useAdminClient","t","useTranslation","selectedRows","setSelectedRows","navigation","setNavigation","groups","setGroups","filter","setFilter","joinedGroups","setJoinedGroups","groupId","setGroupId","isSearching","setIsSearching","max","setMax","first","setFirst","count","setCount","currentGroup","useFetch","group","existingUserGroups","args","selectedGroup","r","isRowDisabled","row","item","Modal","ModalVariant","Button","jsxs","PaginatingTableToolbar","search","Breadcrumb","BreadcrumbItem","i","DataList","Fragment","GroupRow","g","ListEmptyState","onSelect","DataListItem","e","DataListItemRow","_event","newSelectedRows","DataListItemCells","DataListCell","AngleRightIcon"],"mappings":"wZAKO,MAAMA,EAAkBC,GAAO,CAClC,GAAI,CAAE,SAAAC,EAAU,UAAAC,EAAW,WAAAC,EAE3B,GAAAC,EAAI,aAAcC,EAAW,kBAAmBC,EAEhD,oBAAAC,CAAqB,EAAGP,EAAIQ,EAAQC,EAAOT,EAAI,CAAC,WAAY,YAAa,aAAc,KAAM,aAAc,kBAAmB,qBAAqB,CAAC,EACpJ,OAAQU,EAAM,cAAc,MAAO,OAAO,OAAO,CAAE,UAAWC,EAAIC,EAAO,mBAAoBC,EAAqBV,EAAYS,CAAM,EAAGV,CAAS,GAAKM,CAAK,EAAGD,EAAsBG,EAAM,cAAc,MAAO,CAAE,UAAWC,EAAIC,EAAO,cAAc,CAAC,EAAIX,CAAQ,EAAIA,CAAQ,CACjR,EACAF,EAAe,YAAc,iBCTtB,MAAMe,EAAiBd,GAAO,CACjC,GAAI,CAAE,UAAAE,EAAY,GAElB,SAAAa,EAAW,CAACC,EAAOC,IAAY,CAAG,EAAE,QAAAC,EAAU,GAAM,WAAAC,EAAa,GAAO,UAAAC,EAAY,GAAO,QAAAH,EAAU,GAAO,eAAAI,EAAgB,cAAAC,EAAgB,EAAO,EAAGtB,EAAIQ,EAAQC,EAAOT,EAAI,CAAC,YAAa,WAAY,UAAW,aAAc,YAAa,UAAW,iBAAkB,eAAe,CAAC,EAC1R,MAAMuB,EAASb,EAAM,cAAc,MAAO,CAAE,UAAWC,EAAIC,EAAO,aAAa,CAAG,EAC9EF,EAAM,cAAc,QAAS,OAAO,OAAO,GAAIF,EAAO,CAAE,KAAM,WAAY,SAAWQ,GAAUD,EAASC,EAAOA,EAAM,cAAc,OAAO,EAAG,eAAgB,CAACE,EAAS,SAAUC,GAAe,CAAC,GAAM,EAAK,EAAE,SAASE,CAAc,GAAK,CAAE,eAAAA,CAAgB,EAAI,CAAC,CAAC,GAAM,EAAK,EAAE,SAASA,CAAc,GAAK,CAAE,QAASD,GAAaH,CAAO,EAAI,CAAC,EACnV,OAAQP,EAAM,cAAcA,EAAM,SAAU,KACxC,CAACY,GAAiBZ,EAAM,cAAc,MAAO,CAAE,UAAWC,EAAIC,EAAO,oBAAqBV,CAAS,CAAC,EAAIqB,CAAK,EAC7GD,GAAiBC,CAAK,CAC9B,EACAT,EAAc,YAAc,gBCJrB,MAAMU,GAAY,CAAC,CACxB,MAAO,CAAE,KAAAC,CAAK,EACd,aAAcC,EACd,GAAGlB,CACL,IAAsB,CACpB,KAAM,CAACmB,EAASC,CAAU,EAAIC,EAAS,EAAE,EAKnCC,EACHC,EAAA,OAAA,CAAK,aALcf,GAAe,CACnCY,EAAWH,CAAK,EAChBC,IAAmBV,CAAK,CAAA,EAGW,GAAGR,EACnC,SACHiB,CAAA,CAAA,EAGK,OAAAE,IAAY,GAChBI,EAAAC,GAAA,CAAQ,QAASL,EAAS,UAAS,GACjC,SAAAG,CACH,CAAA,EAEAA,CAEJ,ECYaG,GAAoB,CAAC,CAChC,GAAA7B,EACA,KAAA8B,EACA,aAAAC,EACA,KAAAL,EACA,UAAAM,EAAY,GACZ,OAAAC,EAAS,GACT,QAAAC,EACA,UAAAC,CACF,IAA8B,CACtB,KAAA,CAAE,YAAAC,GAAgBC,KAElB,CAAE,EAAAC,GAAMC,IACR,CAACC,EAAcC,CAAe,EAAIhB,EAA4B,CAAE,CAAA,EAEhE,CAACiB,EAAYC,CAAa,EAAIlB,EAA4B,CAAE,CAAA,EAC5D,CAACmB,EAAQC,CAAS,EAAIpB,EAA4B,CAAE,CAAA,EACpD,CAACqB,EAAQC,CAAS,EAAItB,EAAS,EAAE,EACjC,CAACuB,EAAcC,CAAe,EAAIxB,EAAgC,CAAE,CAAA,EACpE,CAACyB,EAASC,CAAU,EAAI1B,EAAiB,EACzC,CAAC2B,EAAaC,CAAc,EAAI5B,EAAS,EAAK,EAE9C,CAAC6B,EAAKC,CAAM,EAAI9B,EAAS,EAAE,EAC3B,CAAC+B,EAAOC,CAAQ,EAAIhC,EAAS,CAAC,EAE9B,CAACiC,EAAOC,CAAQ,EAAIlC,EAAS,CAAC,EAE9BmC,EAAe,IAAMlB,EAAWA,EAAW,OAAS,CAAC,EAE3DmB,GACE,SAAY,CACN,IAAAC,EACAlB,EACAmB,EAEJ,GAAKb,EASE,CACL,GAAI,CAACR,EAAW,IAAI,CAAC,CAAE,GAAA1C,CAAG,IAAMA,CAAE,EAAE,SAASkD,CAAO,IAClDY,EAAQ,MAAM1B,EAAY,OAAO,QAAQ,CAAE,GAAIc,EAAS,EACpD,CAACY,GACH,MAAM,IAAI,MAAMxB,EAAE,UAAU,CAAC,EAIjC,MAAM0B,EAAsB,CAC1B,MAAAR,EACA,IAAAF,EACA,SAAUJ,CAAA,EAEZN,EAAS,MAAMR,EAAY,OAAO,cAAc4B,CAAI,CACtD,KAvBc,CACZ,MAAMA,EAAmB,CACvB,MAAAR,EACA,IAAKF,EAAM,CAAA,EAETF,IACFY,EAAK,OAASlB,GAEhBF,EAAS,MAAMR,EAAY,OAAO,KAAK4B,CAAI,CAAA,CAiB7C,OAAIhE,IACmB+D,EAAA,MAAM3B,EAAY,MAAM,WAAW,CACtD,GAAApC,CAAA,CACD,GAGI,CAAE,MAAA8D,EAAO,OAAAlB,EAAQ,mBAAAmB,CAAmB,CAC7C,EACA,MAAO,CAAE,MAAOE,EAAe,OAAArB,EAAQ,mBAAAmB,KAAyB,CAC9Cd,EAAAc,GAAsB,CAAA,CAAE,EACpCE,IACFtB,EAAc,CAAC,GAAGD,EAAYuB,CAAa,CAAC,EAC5CN,EAASM,EAAc,aAAc,GAGvCrB,EAAO,QAASkB,GAA2B,CACnCA,EAAA,QAAU,CAAC,CAACtB,EAAa,KAAM0B,GAAMA,EAAE,KAAOJ,EAAM,EAAE,CAAA,CAC7D,EACDjB,EAAUD,CAAM,GACZQ,GAAe,CAACF,IAClBS,EAASf,EAAO,MAAM,CAE1B,EACA,CAACM,EAASJ,EAAQU,EAAOF,CAAG,CAAA,EAGxB,MAAAa,EAAiBC,GACd,CACL,GAAGpB,EAAa,IAAKqB,GAASA,EAAK,EAAE,EACrC,IAAItC,GAAgB,IAAI,IAAK+B,GAAUA,EAAM,EAAE,CAAA,EAC/C,KAAMA,GAAUA,IAAUM,GAAK,EAAE,EAInC,OAAAzC,EAAC2C,GAAA,CACC,QAASlB,EAAcmB,EAAa,OAASA,EAAa,MAC1D,MAAOjC,EAAEZ,EAAK,MAAO,CACnB,OAAQK,IAAe,CAAC,GAAG,KAC3B,OAAQW,EAAW,OAASkB,EAAe,EAAA,KAAOtB,EAAE,MAAM,CAAA,CAC3D,EACD,OAAM,GACN,QAAAJ,EACA,QAAS,CACPP,EAAC6C,EAAA,CACC,cAAa,GAAG9C,EAAK,EAAE,UAEvB,QAAQ,UACR,KAAK,aACL,QAAS,IAAM,CACbS,EACEL,IAAS,aACLU,EACAE,EAAW,OACT,CAACkB,EAAA,CAAc,EACf,MAAA,CAEV,EACA,WAAY9B,IAAS,cAAgBU,EAAa,SAAW,EAE5D,SAAAF,EAAEZ,EAAK,EAAE,CAAA,EAdN,SAeN,CACF,EAEA,SAAA+C,EAACC,GAAA,CACC,MAAAhB,EACA,MAAAF,EACA,IAAAF,EACA,YAAaG,EACb,gBAAiBA,EACjB,gBAAiB,CAACD,EAAOF,IAAQ,CAC/BG,EAASD,CAAK,EACdD,EAAOD,CAAG,CACZ,EACA,eAAgB,SAChB,kBAAoBqB,GAAW,CAC7B5B,EAAU4B,CAAM,EAChBtB,EAAesB,IAAW,EAAE,EAC5BlB,EAAS,CAAC,EACVF,EAAO,EAAE,EACTZ,EAAc,CAAE,CAAA,EAChBQ,EAAW,MAAS,CACtB,EACA,sBAAuBb,EAAE,iBAAiB,EAE1C,SAAA,CAAAmC,EAACG,GACE,CAAA,SAAA,CAAWlC,EAAA,OAAS,GACnBf,EAACkD,EACC,CAAA,SAAAlD,EAAC6C,EAAA,CACC,QAAQ,OACR,QAAS,IAAM,CACbrB,EAAW,MAAS,EACpBR,EAAc,CAAE,CAAA,EAChBc,EAAS,CAAC,EACVF,EAAO,EAAE,CACX,EAEC,WAAE,QAAQ,CAAA,IAVK,MAYpB,EAEDb,EAAW,IAAI,CAACoB,EAAOgB,MACrBD,EACE,CAAA,SAAA,CAAWnC,EAAA,OAAS,IAAMoC,GACzBnD,EAAC6C,EAAA,CACC,QAAQ,OACR,QAAS,IAAM,CACbrB,EAAWW,EAAM,EAAE,EACnBnB,EAAc,CAAC,GAAGD,CAAU,EAAE,MAAM,EAAGoC,CAAC,CAAC,EACzCrB,EAAS,CAAC,EACVF,EAAO,EAAE,CACX,EAEC,SAAMO,EAAA,IAAA,CACT,EAEDpB,EAAW,OAAS,IAAMoC,GAAKhB,EAAM,IAAA,CAAA,EAdnBgB,CAerB,CACD,CAAA,EACH,IACCC,GAAS,CAAA,aAAYzC,EAAE,QAAQ,EAAG,UAAS,GACzC,SAAOM,EAAA,MAAM,EAAGU,CAAG,EAAE,IAAKQ,KACxBkB,EACG,CAAA,SAAA,EAAA,CAAC5B,GAAeU,EAAM,MAAM,SAAShB,CAAM,IAC3CnB,EAACsD,EAAA,CAEC,MAAAnB,EACA,cAAAK,EACA,SAAUhB,EACV,KAAArB,EACA,YAAAsB,EACA,eAAAC,EACA,aAAAb,EACA,gBAAAC,EACA,UAAAT,CAAA,EATK8B,EAAM,EAUb,EAEDV,GACCU,EAAM,WAAW,IAAKoB,GACpBvD,EAACsD,EAAA,CAEC,MAAOC,EACP,cAAAf,EACA,SAAUhB,EACV,KAAArB,EACA,YAAAsB,EACA,eAAAC,EACA,aAAAb,EACA,gBAAAC,EACA,UAAAT,CAAA,EATKkD,EAAE,EAAA,CAWV,CA7BU,CAAA,EAAApB,EAAM,EA8BrB,CACD,EACH,EACClB,EAAO,SAAW,GAAK,CAACQ,GACvBzB,EAACwD,EAAA,CACC,QAAS,GACT,QAAS7C,EAAE,gBAAgB,EAC3B,aAAcL,EAASK,EAAE,4BAA4B,EAAI,MAAA,CAC3D,EAEDM,EAAO,SAAW,GAAKQ,GACtBzB,EAACwD,EAAA,CACC,QAAS7C,EAAE,iBAAiB,EAC5B,aAAcA,EAAE,6BAA6B,CAAA,CAC/C,CAAA,CAAA,CAEJ,CAAA,CAAA,CAGN,EAcM2C,EAAW,CAAC,CAChB,MAAAnB,EACA,KAAAhC,EACA,cAAAqC,EACA,YAAAf,EACA,eAAAC,EACA,SAAA+B,EACA,aAAA5C,EACA,gBAAAC,EACA,UAAAT,CACF,IAAqB,CACb,KAAA,CAAE,EAAAM,GAAMC,IAGZ,OAAAZ,EAAC0D,GAAA,CACC,kBAAiBvB,EAAM,KAEvB,GAAIA,EAAM,GACV,QAAUwB,GAAM,CACVxD,IAAS,YACXsD,EAAStB,EAAM,EAAG,EAEjBwB,EAAE,OAA4B,OAAS,YACxCxB,EAAM,gBAAkB,IAExBsB,EAAStB,EAAM,EAAG,EAClBT,EAAe,EAAK,EAExB,EAEA,SAAAoB,EAACc,GAAA,CACC,UAAW,wBACTpB,EAAcL,CAAK,EAAI,cAAgB,EACzC,GACA,cAAaA,EAAM,KAElB,SAAA,CAAAhC,IAAS,cACRH,EAACjB,EAAA,CACC,UAAU,4BACV,cAAa,GAAGoD,EAAM,IAAI,SAC1B,aAAYA,EAAM,KAClB,QAASA,EAAM,QACf,WAAYK,EAAcL,CAAK,EAC/B,SAAU,CAAC0B,EAAQ3E,IAAY,CAC7BiD,EAAM,QAAUjD,EAChB,IAAI4E,EAAqC,CAAA,EACpC3B,EAAM,QAGS2B,EAAA,CAAC,GAAGjD,EAAcsB,CAAK,EAFzC2B,EAAkBjD,EAAa,OAAQ0B,GAAMA,EAAE,KAAOJ,EAAM,EAAE,EAKhErB,EAAgBgD,CAAe,CACjC,EACA,kBAAiB,UAAU3B,EAAM,IAAI,EAAA,CACvC,EAGFnC,EAAC+D,GAAA,CACC,cAAe,CACb/D,EAACgE,GAAA,CAEC,UAAU,6BAET,WACEhE,EAAAP,GAAA,CAAU,GAAI,UAAU0C,EAAM,IAAI,GAAI,MAAAA,CAAc,CAAA,EAErDnC,EAAC,QAAK,GAAI,UAAUmC,EAAM,IAAI,GAAK,WAAM,IAAK,CAAA,CAAA,EAN3C,QAAQA,EAAM,EAAE,EAQvB,CACF,CAAA,CACF,EACAnC,EAAChC,EAAA,CACC,GAAG,UACH,kBAAiB,UAAUmE,EAAM,IAAI,GACrC,aAAYxB,EAAE,WAAW,EACzB,oBAAmB,GAEjB,aAAaR,IAAS,cAAgBgC,EAAM,gBAAkB,GAC7DnC,EAAA6C,EAAA,CAAO,QAAQ,OAAO,aAAYlC,EAAE,QAAQ,EAC3C,SAAAX,EAACiE,IAAe,CAAA,EAClB,CAAA,CAEJ,CAAA,CAAA,CACF,CAAA,EApEK9B,EAAM,EAAA,CAuEjB","x_google_ignoreList":[0,1]}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy