@localstack/appinspector-ui 1.0.27 → 1.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +5 -0
- package/dist/index.css.map +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pages/spans-list-page.tsx","../src/api/use-api.tsx","../src/components/spans-list/spans-list.tsx","../src/components/spans-list/spans-data-grid.tsx","../src/components/cells/event-indicator-cell.tsx","../src/components/cells/responsive-timestamp-cell.tsx","../src/utils/time.ts","../src/components/cells/service-cell.tsx","../src/components/aws-service-icon/aws-service-icon.tsx","../src/utils/wrap-in-component.tsx","../src/components/aws-service-icon/icons/index.tsx","../src/types/service-names.ts","../src/components/aws-service-icon/icons/account.svg","../src/components/aws-service-icon/icons/acm-pca.svg","../src/components/aws-service-icon/icons/acm.svg","../src/components/aws-service-icon/icons/amplify.svg","../src/components/aws-service-icon/icons/apigateway.svg","../src/components/aws-service-icon/icons/apigatewaymanagementapi.svg","../src/components/aws-service-icon/icons/apigatewayv2.svg","../src/components/aws-service-icon/icons/appconfig.svg","../src/components/aws-service-icon/icons/application-autoscaling.svg","../src/components/aws-service-icon/icons/appsync.svg","../src/components/aws-service-icon/icons/athena.svg","../src/components/aws-service-icon/icons/autoscaling.svg","../src/components/aws-service-icon/icons/backup.svg","../src/components/aws-service-icon/icons/batch.svg","../src/components/aws-service-icon/icons/bedrock.svg","../src/components/aws-service-icon/icons/ce.svg","../src/components/aws-service-icon/icons/cloudcontrol.svg","../src/components/aws-service-icon/icons/cloudformation.svg","../src/components/aws-service-icon/icons/cloudfront.svg","../src/components/aws-service-icon/icons/cloudtrail.svg","../src/components/aws-service-icon/icons/cloudwatch.svg","../src/components/aws-service-icon/icons/codeartifact.svg","../src/components/aws-service-icon/icons/codebuild.svg","../src/components/aws-service-icon/icons/codecommit.svg","../src/components/aws-service-icon/icons/codeconnections.svg","../src/components/aws-service-icon/icons/codedeploy.svg","../src/components/aws-service-icon/icons/codepipeline.svg","../src/components/aws-service-icon/icons/codestar-connections.svg","../src/components/aws-service-icon/icons/cognito-identity.svg","../src/components/aws-service-icon/icons/cognito-idp.svg","../src/components/aws-service-icon/icons/config.svg","../src/components/aws-service-icon/icons/dms.svg","../src/components/aws-service-icon/icons/docdb.svg","../src/components/aws-service-icon/icons/dynamodb.svg","../src/components/aws-service-icon/icons/dynamodbstreams.svg","../src/components/aws-service-icon/icons/ec2.svg","../src/components/aws-service-icon/icons/ecr.svg","../src/components/aws-service-icon/icons/ecs.svg","../src/components/aws-service-icon/icons/efs.svg","../src/components/aws-service-icon/icons/eks.svg","../src/components/aws-service-icon/icons/elasticache.svg","../src/components/aws-service-icon/icons/elasticbeanstalk.svg","../src/components/aws-service-icon/icons/elasticsearch.svg","../src/components/aws-service-icon/icons/elastictranscoder.svg","../src/components/aws-service-icon/icons/elb.svg","../src/components/aws-service-icon/icons/elbv2.svg","../src/components/aws-service-icon/icons/emr-serverless.svg","../src/components/aws-service-icon/icons/emr.svg","../src/components/aws-service-icon/icons/events.svg","../src/components/aws-service-icon/icons/firehose.svg","../src/components/aws-service-icon/icons/fis.svg","../src/components/aws-service-icon/icons/glacier.svg","../src/components/aws-service-icon/icons/glue.svg","../src/components/aws-service-icon/icons/iam.svg","../src/components/aws-service-icon/icons/identitystore.svg","../src/components/aws-service-icon/icons/infrastructure.svg","../src/components/aws-service-icon/icons/iot-data.svg","../src/components/aws-service-icon/icons/iot.svg","../src/components/aws-service-icon/icons/iotanalytics.svg","../src/components/aws-service-icon/icons/iotwireless.svg","../src/components/aws-service-icon/icons/kafka.svg","../src/components/aws-service-icon/icons/kinesis.svg","../src/components/aws-service-icon/icons/kinesisanalytics.svg","../src/components/aws-service-icon/icons/kinesisanalyticsv2.svg","../src/components/aws-service-icon/icons/kms.svg","../src/components/aws-service-icon/icons/lakeformation.svg","../src/components/aws-service-icon/icons/lambda.svg","../src/components/aws-service-icon/icons/logs.svg","../src/components/aws-service-icon/icons/managedblockchain.svg","../src/components/aws-service-icon/icons/mediaconvert.svg","../src/components/aws-service-icon/icons/mediastore-data.svg","../src/components/aws-service-icon/icons/mediastore.svg","../src/components/aws-service-icon/icons/memorydb.svg","../src/components/aws-service-icon/icons/mq.svg","../src/components/aws-service-icon/icons/mwaa.svg","../src/components/aws-service-icon/icons/neptune.svg","../src/components/aws-service-icon/icons/opensearch.svg","../src/components/aws-service-icon/icons/organizations.svg","../src/components/aws-service-icon/icons/pinpoint.svg","../src/components/aws-service-icon/icons/pipes.svg","../src/components/aws-service-icon/icons/qldb-session.svg","../src/components/aws-service-icon/icons/qldb.svg","../src/components/aws-service-icon/icons/ram.svg","../src/components/aws-service-icon/icons/rds-data.svg","../src/components/aws-service-icon/icons/rds.svg","../src/components/aws-service-icon/icons/redshift-data.svg","../src/components/aws-service-icon/icons/redshift.svg","../src/components/aws-service-icon/icons/resource-groups.svg","../src/components/aws-service-icon/icons/resourcegroupstaggingapi.svg","../src/components/aws-service-icon/icons/route53.svg","../src/components/aws-service-icon/icons/route53resolver.svg","../src/components/aws-service-icon/icons/s3.svg","../src/components/aws-service-icon/icons/s3control.svg","../src/components/aws-service-icon/icons/sagemaker-runtime.svg","../src/components/aws-service-icon/icons/sagemaker.svg","../src/components/aws-service-icon/icons/scheduler.svg","../src/components/aws-service-icon/icons/secretsmanager.svg","../src/components/aws-service-icon/icons/serverlessrepo.svg","../src/components/aws-service-icon/icons/servicediscovery.svg","../src/components/aws-service-icon/icons/ses.svg","../src/components/aws-service-icon/icons/sesv2.svg","../src/components/aws-service-icon/icons/shield.svg","../src/components/aws-service-icon/icons/sns.svg","../src/components/aws-service-icon/icons/sqs.svg","../src/components/aws-service-icon/icons/ssm.svg","../src/components/aws-service-icon/icons/sso-admin.svg","../src/components/aws-service-icon/icons/stepfunctions.svg","../src/components/aws-service-icon/icons/sts.svg","../src/components/aws-service-icon/icons/support.svg","../src/components/aws-service-icon/icons/swf.svg","../src/components/aws-service-icon/icons/textract.svg","../src/components/aws-service-icon/icons/timestream-query.svg","../src/components/aws-service-icon/icons/timestream-write.svg","../src/components/aws-service-icon/icons/transcribe.svg","../src/components/aws-service-icon/icons/transfer.svg","../src/components/aws-service-icon/icons/verifiedpermissions.svg","../src/components/aws-service-icon/icons/wafv2.svg","../src/components/aws-service-icon/icons/xray.svg","../src/components/cells/pill-cell.tsx","../src/utils/logger.ts","../src/utils/search-in-object.ts","../src/components/status-message/status-message.tsx","../src/api/errors.ts","../src/config.ts","../src/context.tsx","../src/constants/error-messages.ts","../src/api/client.ts","../src/hooks/use-local-storage.tsx","../src/hooks/use-status.tsx","../src/pages/trace-graph-page.tsx","../src/components/event-details/event-details.tsx","../src/utils/iam-utils.ts","../src/utils/event-utils.ts","../src/components/event-details/event-details-header.tsx","../src/components/event-details/event-section.tsx","../src/components/event-details/event-detail.tsx","../src/components/status-icon.tsx","../src/components/event-details/iam-event-detail.tsx","../src/components/event-details/iam-permission-detail.tsx","../src/components/event-details/toggle-section.tsx","../src/components/trace-graph/trace-graph.tsx","../src/components/trace-graph/service-node.tsx","../src/components/trace-graph/problem-indicator.tsx","../src/components/trace-graph/utils.ts","../src/components/trace-graph/xyflow/controls.tsx","../node_modules/zustand/esm/shallow.mjs","../src/routes.ts","../src/index.ts"],"sourcesContent":["import type { FC } from 'react'\nimport { Box } from '@mui/material'\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { useNavigate } from 'react-router-dom'\n\nimport type { SpansRequest } from '@/types/api.ts'\nimport type { Span } from '@/types/spans.ts'\nimport { useAppInspectorApi } from '@/api/use-api.tsx'\nimport { SpansList } from '@/components/spans-list/spans-list.tsx'\nimport { StatusMessage } from '@/components/status-message/status-message.tsx'\nimport { useAppInspector } from '@/context.tsx'\nimport { useLocalStorage } from '@/hooks/use-local-storage.tsx'\nimport { useStatus } from '@/hooks/use-status.tsx'\n\nconst spansPerPageOptions = [25, 50, 100]\n\nexport const SpansListPage: FC = () => {\n const api = useAppInspectorApi()\n const [spans, setSpans] = useState<Span[]>()\n const [loading, setLoading] = useState(false)\n const hasFetched = useRef(false)\n const [filterWriteOperations, setFilterWriteOperations] = useLocalStorage('filterWriteOperations', true)\n\n const mapPageToNextCursor = useRef<Record<number, string>>({})\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(100)\n const [spanCount, setSpanCount] = useState(0)\n const queryOptions = useMemo<SpansRequest>(() => {\n return {\n is_write_operation: filterWriteOperations ? true : undefined,\n limit: pageSize,\n pagination_token: mapPageToNextCursor.current[page - 1],\n }\n }, [filterWriteOperations, pageSize, page])\n\n const [fetchError, setFetchError] = useState<Error>()\n const { checkStatus, error: statusError, status } = useStatus()\n const fetchSpans = useCallback(async () => {\n setLoading(true)\n try {\n const response = await api.getSpans(queryOptions)\n setSpans(response.spans)\n setSpanCount(response.pagination.total_count)\n setFetchError(undefined)\n if (response.pagination.cursor) {\n mapPageToNextCursor.current[page] = response.pagination.cursor\n }\n }\n catch (error) {\n console.error(error)\n setFetchError(error instanceof Error ? error : new Error('Unknown error', { cause: error }))\n }\n finally {\n setLoading(false)\n }\n }, [api, page, queryOptions])\n\n const fetchSpansSync = useCallback(() => {\n void fetchSpans()\n }, [fetchSpans])\n\n useEffect(() => {\n if (hasFetched.current) return\n // Only fetch spans if status is ENABLED (avoid redundant API calls when disabled)\n if (status?.status !== 'ENABLED') return\n\n hasFetched.current = true\n void fetchSpans()\n }, [fetchSpans, status])\n\n // Re-fetch when filter changes\n useEffect(() => {\n if (!hasFetched.current) return\n void fetchSpans()\n }, [fetchSpans])\n\n const navigate = useNavigate()\n const { resolveLink } = useAppInspector()\n const navigateToSpan = useCallback((span: Span) => {\n const url = resolveLink({ to: 'trace-graph', traceId: span.trace_id })\n navigate(`${url}?spanId=${span.span_id}`)\n }, [navigate, resolveLink])\n\n const clearSpans = useCallback(async () => {\n setLoading(true)\n try {\n await api.deleteSpans()\n setSpans([])\n setFetchError(undefined)\n // Refresh the list after deletion\n await fetchSpans()\n }\n catch (error) {\n console.error('Failed to delete spans:', error)\n setFetchError(error instanceof Error ? error : new Error('Failed to delete spans', { cause: error }))\n }\n finally {\n setLoading(false)\n }\n }, [api, fetchSpans])\n\n const handleRetry = useCallback(() => {\n // Check status first, then fetch spans only if no error\n void checkStatus()\n // Fetch will happen automatically via useEffect when status changes to ENABLED\n }, [checkStatus])\n\n // Show helpful message if connection failed or AppInspector is disabled\n const shouldShowStatusMessage = Boolean(statusError) || (status?.status === 'DISABLED')\n\n return (\n <Box\n data-testid=\"spans-list-page\"\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n width: '100%',\n }}\n >\n {shouldShowStatusMessage\n ? (\n <StatusMessage\n error={statusError}\n onRetry={handleRetry}\n status={status}\n />\n )\n : (\n <SpansList\n filterWriteOperations={filterWriteOperations}\n onClearSpans={() => { void clearSpans() }}\n onFilterWriteOperationsChange={(value) => { setFilterWriteOperations(value) }}\n onPageChange={setPage}\n onPageSizeChange={setPageSize}\n onRefresh={() => { fetchSpansSync() }}\n onSpanClick={(span) => { navigateToSpan(span) }}\n page={page}\n pageSize={pageSize}\n spanCount={spanCount}\n spans={{\n data: spans,\n error: fetchError,\n loading,\n }}\n spansPerPageOptions={spansPerPageOptions}\n />\n )}\n </Box>\n )\n}\n","import type { FC, PropsWithChildren } from 'react'\nimport { createContext, useContext } from 'react'\n\nimport type { Api } from './api.ts'\n\nconst AppInspectorApiContext = createContext<Api | undefined>(undefined)\n\nexport interface ApiProviderProps {\n api: Api\n}\n\nexport const ApiProvider: FC<PropsWithChildren<ApiProviderProps>> = (props) => {\n return <AppInspectorApiContext.Provider value={props.api}>{props.children}</AppInspectorApiContext.Provider>\n}\n\nexport const useAppInspectorApi = (): Api => {\n const api = useContext(AppInspectorApiContext)\n if (!api) {\n throw new Error('useAppInspectorApi must be used within AppInspectorApiProvider')\n }\n return api\n}\n","import type { FC } from 'react'\nimport { Alert, Box, Button } from '@mui/material'\n\nimport type { Span } from '@/types/spans.ts'\nimport { SpansDataGrid } from '@/components/spans-list/spans-data-grid.tsx'\n\ninterface SpansListProps {\n filterWriteOperations: boolean\n onClearSpans: () => void\n onFilterWriteOperationsChange: (filterWriteOperations: boolean) => void\n onPageChange: (page: number) => void\n onPageSizeChange: (pageSize: number) => void\n onRefresh: () => void\n onSpanClick: (span: Span) => void\n page: number\n pageSize: number\n spanCount: number\n spans: {\n data: Span[] | undefined\n error: Error | undefined\n loading: boolean\n }\n spansPerPageOptions: number[]\n}\n\nexport const SpansList: FC<SpansListProps> = (props) => {\n return (\n <Box data-testid=\"spans-data-grid\" sx={{ display: 'flex', flexDirection: 'column', flexGrow: 1, gap: 2, width: '100%' }}>\n {props.spans.error && (\n <Alert\n action={\n <Button onClick={props.onRefresh}>Retry</Button>\n }\n severity=\"error\"\n >\n Unexpected error:\n {' '}\n {props.spans.error.message}\n </Alert>\n )}\n {(props.spans.data !== undefined || props.spans.loading) && (\n <SpansDataGrid\n filterWriteOperations={props.filterWriteOperations}\n loading={props.spans.loading}\n onClearSpans={props.onClearSpans}\n onFilterWriteOperationsChange={props.onFilterWriteOperationsChange}\n onPageChange={props.onPageChange}\n onPageSizeChange={props.onPageSizeChange}\n onRefresh={props.onRefresh}\n onSpanClick={props.onSpanClick}\n page={props.page}\n pageSize={props.pageSize}\n rowCount={props.spanCount}\n rows={props.spans.data ?? []}\n rowsPerPageOptions={props.spansPerPageOptions}\n sortingOption={{ field: 'start_time_unix_nano', sort: 'asc' }}\n />\n )}\n </Box>\n )\n}\n","import type { GridComparatorFn, GridRowParams, GridSortItem, GridSortModel } from '@mui/x-data-grid'\nimport type { GridColDef } from '@mui/x-data-grid'\nimport type { ChangeEvent, FC } from 'react'\nimport { Cached, DeleteForeverOutlined, Search } from '@mui/icons-material'\nimport { Box, Button, FormControlLabel, Grid, Paper, Switch, TextField, Tooltip, Typography } from '@mui/material'\nimport { DataGrid } from '@mui/x-data-grid'\nimport { useCallback, useMemo, useState } from 'react'\n\nimport type { Span } from '@/types/spans.ts'\nimport type { SearchableObject } from '@/utils/search-in-object.ts'\nimport { EventIndicatorCell } from '@/components/cells/event-indicator-cell.tsx'\nimport { ResponsiveTimestampCell } from '@/components/cells/responsive-timestamp-cell.tsx'\nimport { ServiceCell } from '@/components/cells/service-cell.tsx'\nimport { logger } from '@/utils/logger.ts'\nimport { searchInObject } from '@/utils/search-in-object.ts'\n\nconst resourceNameComparator: GridComparatorFn<string> = (v1 = '', v2 = '') => {\n return v1.localeCompare(v2)\n}\n\ninterface SortingOption {\n field: string\n sort: 'asc' | 'desc'\n}\n\ninterface SpansDataGridProps {\n filterWriteOperations?: boolean\n loading: boolean\n onClearSpans: () => void\n onFilterWriteOperationsChange?: (checked: boolean) => void\n onPageChange: (page: number) => void\n onPageSizeChange: (pageSize: number) => void\n onRefresh: () => void\n onSpanClick: (span: Span) => void\n page: number\n pageSize: number\n rowCount: number\n rows: Span[]\n rowsPerPageOptions: number[]\n sortingOption?: SortingOption\n}\n\nconst columns: GridColDef<Span>[] = [\n // {\n // field: 'status',\n // renderHeader: () => null,\n // width: 50,\n // renderCell: (parameters) => <StatusCell span={parameters.row} />,\n // },\n {\n field: 'trace_id',\n headerName: 'Trace',\n renderCell: (parameters) => {\n return (\n <Tooltip arrow title={String(parameters.value)}>\n <span style={{\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }}\n >\n {parameters.value}\n </span>\n </Tooltip>\n )\n },\n type: 'string',\n width: 120,\n },\n {\n field: 'start_time_unix_nano',\n headerName: 'Time',\n renderCell: parameters => (\n <ResponsiveTimestampCell value={parameters.value as string} />\n ),\n type: 'string',\n width: 180,\n },\n {\n field: 'producer',\n headerName: 'Producer',\n renderCell: (parameters) => {\n // Only render if row has parent_span_id and parent_service_name\n if (!parameters.row.parent_service_name || !parameters.row.parent_resource_name) {\n return\n }\n return (\n <ServiceCell resource={parameters.row.parent_resource_name} service={parameters.row.parent_service_name} />\n )\n },\n sortable: true,\n sortComparator: resourceNameComparator,\n width: 260,\n },\n {\n field: 'operation_name',\n headerName: 'Action',\n type: 'string',\n width: 130,\n },\n {\n field: 'consumer',\n flex: 1,\n headerName: 'Consumer',\n maxWidth: 260,\n renderCell: (parameters) => {\n return <ServiceCell resource={parameters.row.resource_name} service={parameters.row.service_name} />\n },\n sortComparator: resourceNameComparator,\n },\n {\n align: 'right',\n field: 'events',\n headerName: 'Events',\n minWidth: 120,\n renderCell: parameters => <EventIndicatorCell events={parameters.row.events} />,\n sortable: false,\n },\n]\n\nconst defaultSortingOption: GridSortItem = { field: 'start_time_unix_nano', sort: 'asc' }\n\nexport const SpansDataGrid: FC<SpansDataGridProps> = ({\n filterWriteOperations = true,\n loading,\n onClearSpans,\n onFilterWriteOperationsChange,\n onPageChange,\n onPageSizeChange,\n onRefresh,\n onSpanClick,\n page,\n pageSize,\n rowCount,\n rows,\n rowsPerPageOptions,\n // setRows,\n sortingOption = defaultSortingOption,\n}) => {\n const [searchTerm, setSearchTerm] = useState(() => localStorage.getItem('spansSearchTerm') ?? '')\n\n // Initialize sorting from localStorage or fallback to the provided sortingOption\n const [sortModel, setSortModel] = useState<GridSortModel>(() => {\n const savedSorting = localStorage.getItem('spansSortModel')\n if (savedSorting) {\n try {\n return JSON.parse(savedSorting) as GridSortModel\n }\n catch (error) {\n logger.error('Error parsing saved sort model', error)\n }\n }\n return [\n {\n field: sortingOption.field,\n sort: sortingOption.sort,\n },\n ]\n })\n\n const handleRowClick = useCallback((parameters: GridRowParams<Span>) => {\n onSpanClick(parameters.row)\n }, [onSpanClick])\n\n const handleSearchTermChange = useCallback((span: ChangeEvent<HTMLInputElement>) => {\n const newValue = span.target.value\n setSearchTerm(newValue)\n localStorage.setItem('spansSearchTerm', newValue)\n }, [])\n\n const handleSortModelChange = useCallback((newSortModel: GridSortModel) => {\n setSortModel(newSortModel)\n localStorage.setItem('spansSortModel', JSON.stringify(newSortModel))\n }, [])\n\n // const clearSpans = useCallback(() => {\n // setRows([])\n // // TODO call backend to delete spans\n // logger.info('Cleared all spans')\n // }, [setRows])\n\n const filterSpansBySearchTerm = useCallback(\n (span: Span): boolean => {\n if (searchTerm.length === 0) return true\n return searchInObject(span as unknown as SearchableObject, searchTerm)\n },\n [searchTerm],\n )\n\n const filtersToApply = useMemo(() => [filterSpansBySearchTerm], [filterSpansBySearchTerm])\n\n // TODO add filters to api call\n const filteredRows = useMemo(\n () => rows.filter(row => filtersToApply.every(filter => filter(row))),\n [filtersToApply, rows],\n )\n\n return (\n <>\n <Grid item xs={12}>\n <Box sx={{ alignItems: 'center', display: 'flex', gap: '0.5rem' }}>\n <TextField\n label={(\n <Box sx={{ display: 'flex', gap: '0.25rem' }}>\n <Search fontSize=\"small\" />\n <Typography>Search Spans</Typography>\n </Box>\n )}\n onChange={handleSearchTermChange}\n size=\"small\"\n sx={{ minWidth: '200px' }}\n value={searchTerm}\n />\n <Box sx={{ flexGrow: 1 }} />\n {onFilterWriteOperationsChange && (\n <FormControlLabel\n control={(\n <Switch\n checked={filterWriteOperations}\n onChange={(event) => { onFilterWriteOperationsChange(event.target.checked) }}\n size=\"small\"\n />\n )}\n label=\"Only Write Operations\"\n />\n )}\n <Button onClick={onClearSpans} startIcon={<DeleteForeverOutlined />}>\n Clear Spans\n </Button>\n <Button disabled={loading} onClick={onRefresh} startIcon={<Cached />}>\n Refresh\n </Button>\n </Box>\n </Grid>\n <div style={{ display: 'flex', flexDirection: 'column', flexGrow: 1 }}>\n <Paper\n sx={{\n boxShadow: 2,\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n minHeight: 120,\n p: 2,\n }}\n >\n <DataGrid\n columns={columns}\n disableColumnMenu\n getRowId={(row: Span) => row.span_id}\n initialState={{\n pagination: {\n page,\n pageSize,\n },\n }}\n loading={loading}\n onPageChange={(newPage) => { onPageChange(newPage) }}\n onPageSizeChange={(newPageSize) => { onPageSizeChange(newPageSize) }}\n onRowClick={handleRowClick}\n onSortModelChange={handleSortModelChange}\n page={page}\n pageSize={pageSize}\n paginationMode=\"server\"\n rowCount={rowCount}\n rowHeight={40}\n rows={filteredRows}\n rowsPerPageOptions={rowsPerPageOptions}\n sortModel={sortModel}\n sx={{ flexGrow: 1 }}\n />\n </Paper>\n </div>\n </>\n )\n}\n","import type { FC } from 'react'\nimport { Box, Stack, Tooltip } from '@mui/material'\n\nimport type { Event } from '@/types/events'\n\ninterface EventIndicatorCellProps {\n events: Event[]\n}\n\nconst getEventColor = (event: Event): string => {\n // Check if it's an IAM event\n if (event.event_type?.toLowerCase().includes('iam')) {\n return '#2196f3' // Blue for IAM events\n }\n return '#9e9e9e' // Gray for generic events\n}\n\nconst getEventTooltip = (event: Event): string => {\n const type = event.event_type ?? 'generic'\n return `${event.name} (${type})`\n}\n\nexport const EventIndicatorCell: FC<EventIndicatorCellProps> = ({ events }) => {\n if (events.length === 0) {\n return <></>\n }\n\n return (\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n height: '100%',\n justifyContent: 'flex-end',\n paddingRight: 2,\n width: '100%',\n }}\n >\n <Stack alignItems=\"center\" direction=\"row\" spacing={0.5}>\n {events.map(event => (\n <Tooltip key={event.event_id} title={getEventTooltip(event)}>\n <Box\n data-testid=\"event-indicator-dot\"\n sx={{\n backgroundColor: getEventColor(event),\n borderRadius: '50%',\n height: 8,\n width: 8,\n }}\n />\n </Tooltip>\n ))}\n </Stack>\n </Box>\n )\n}\n","import type { FC } from 'react'\nimport { useEffect, useMemo, useRef, useState } from 'react'\n\nimport { unixNanoToDate } from '@/utils/time.ts'\n\ninterface ResponsiveTimestampCellProps {\n locale?: string\n value?: string\n}\n\nexport const ResponsiveTimestampCell: FC<ResponsiveTimestampCellProps> = ({ locale, value }) => {\n const [columnWidth, setColumnWidth] = useState<number>(0)\n const cellReference = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const updateWidth = () => {\n if (cellReference.current) {\n const width = cellReference.current.offsetWidth\n setColumnWidth(width)\n }\n }\n\n updateWidth()\n window.addEventListener('resize', updateWidth)\n\n if (cellReference.current) {\n const resizeObserver = new ResizeObserver(updateWidth)\n resizeObserver.observe(cellReference.current)\n\n return () => {\n resizeObserver.disconnect()\n window.removeEventListener('resize', updateWidth)\n }\n }\n }, [])\n\n const formattedTime = useMemo(() => {\n if (!value) return\n\n const date = unixNanoToDate(value)\n if (!date) return\n\n if (columnWidth < 100) {\n // Narrow: HH:MM:SS\n const formatter = new Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n hour12: false,\n minute: '2-digit',\n second: '2-digit',\n })\n return formatter.format(date)\n }\n else if (columnWidth < 160) {\n // Medium: add milliseconds - HH:MM:SS:MMM\n const formatter = new Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n hour12: false,\n minute: '2-digit',\n second: '2-digit',\n })\n const timeString = formatter.format(date)\n const ms = date.getMilliseconds().toString().padStart(3, '0')\n return `${timeString}:${ms}`\n }\n else {\n // Wide: add date with locale-aware formatting\n const dateFormatter = new Intl.DateTimeFormat(locale, {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n })\n const timeFormatter = new Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n hour12: false,\n minute: '2-digit',\n second: '2-digit',\n })\n const dateString = dateFormatter.format(date)\n const timeString = timeFormatter.format(date)\n const ms = date.getMilliseconds().toString().padStart(3, '0')\n return `${dateString} - ${timeString}:${ms}`\n }\n }, [value, columnWidth, locale])\n\n if (!formattedTime) return <span>N/A</span>\n\n return (\n <div ref={cellReference} style={{ width: '100%' }}>\n {formattedTime}\n </div>\n )\n}\n","/**\n * Converts a Unix nanosecond timestamp string to a JavaScript Date object\n * @param unixNanoString Unix timestamp in nanoseconds as a string\n * @returns Date object or undefined if input is null/empty\n */\nexport function unixNanoToDate(unixNanoString: null | string): Date | undefined {\n if (!unixNanoString) return undefined\n // Use BigInt to safely handle large nanosecond values, then convert to milliseconds\n const milliseconds = Number(BigInt(unixNanoString) / BigInt('1000000'))\n return new Date(milliseconds)\n}\n","import type { FC } from 'react'\nimport { Box, Divider, Typography } from '@mui/material'\n\nimport type { SERVICE_NAME } from '@/types/service-names.ts'\n\nimport { AwsServiceIcon } from '../aws-service-icon/aws-service-icon.tsx'\nimport { PillCell } from './pill-cell.tsx'\n\ninterface ServiceCellProps {\n height?: string\n resource?: string\n selected?: boolean\n service: SERVICE_NAME | (string & {})\n showIcon?: boolean\n width?: string\n}\n\nexport const ServiceCell: FC<ServiceCellProps> = ({\n height = '24px',\n resource,\n selected,\n service,\n showIcon = true,\n width = '32px',\n}) => {\n const borderColor = selected ? 'text.primary' : 'background.dark'\n const borderWidth = selected ? '2px' : undefined\n return (\n <Box sx={{ width: '100%' }}>\n <PillCell borderColor={borderColor} borderWidth={borderWidth} height={height}>\n {showIcon\n ? (\n <>\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexShrink: 0,\n height,\n justifyContent: 'center',\n overflow: 'hidden',\n padding: 0,\n width,\n }}\n >\n <AwsServiceIcon hideTooltip service={service} size=\"large\" />\n </Box>\n <Divider orientation=\"vertical\" />\n </>\n )\n : undefined}\n <Typography\n sx={{\n flexShrink: 0,\n fontWeight: 'bold',\n overflow: 'hidden',\n padding: '1px 8px',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n ...(showIcon\n ? {}\n : {\n borderBottomLeftRadius: '15px',\n borderTopLeftRadius: '15px',\n ...(!resource && {\n borderBottomRightRadius: '15px',\n borderTopRightRadius: '15px',\n }),\n }),\n }}\n variant=\"body2\"\n >\n {service}\n </Typography>\n {resource\n ? (\n <>\n <Box sx={{ height: '100%', paddingY: 0.5 }}>\n <Divider orientation=\"vertical\" />\n </Box>\n\n <Typography\n sx={{\n borderBottomRightRadius: '15px',\n borderTopRightRadius: '15px',\n overflow: 'hidden',\n padding: '1px 8px',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }}\n variant=\"body2\"\n >\n {resource}\n </Typography>\n </>\n )\n : undefined}\n </PillCell>\n </Box>\n )\n}\n\nServiceCell.displayName = 'ServiceCell'\n","import type { FC, ReactElement } from 'react'\nimport { Tooltip } from '@mui/material'\n\nimport { WrapInComponent } from '@/utils/wrap-in-component.tsx'\nimport type { AnyServiceName } from './icons/index.tsx'\n\nimport { AwsServiceIconBase } from './icons/index.tsx'\n\nexport { supportedServiceNames } from './icons/index.tsx'\n\nconst sizes = { large: [32, 32], medium: [22, 22], small: [11, 11] }\n\ninterface AwsServiceIconProps {\n hideTooltip?: boolean\n service: AnyServiceName\n size?: 'large' | 'medium' | 'small'\n title?: string\n}\n\nexport const AwsServiceIcon: FC<AwsServiceIconProps> = ({ hideTooltip, service, size = 'medium', title }) => {\n const [width, height] = sizes[size]\n\n return (\n <WrapInComponent\n wrap={!hideTooltip}\n wrapperFn={(child: ReactElement) => (\n <Tooltip placement=\"top\" title={title ?? service}>\n {child}\n </Tooltip>\n )}\n >\n <AwsServiceIconBase height={height} service={service} style={{ display: 'block' }} width={width} />\n </WrapInComponent>\n )\n}\n","import type { FC, ReactElement } from 'react'\n\ninterface WrapInComponentProps {\n children: ReactElement\n wrap: boolean\n wrapperFn: (children: ReactElement) => ReactElement\n}\n\nexport const WrapInComponent: FC<WrapInComponentProps> = ({ children, wrap, wrapperFn }) => {\n if (wrap) {\n return wrapperFn(children)\n }\n return children\n}\n","import type { FC, SVGProps } from 'react'\nimport { memo } from 'react'\n\nimport { SERVICE_NAME } from '@/types/service-names.ts'\n\nimport account from './account.svg'\nimport acmPca from './acm-pca.svg'\nimport acm from './acm.svg'\nimport amplify from './amplify.svg'\nimport apigateway from './apigateway.svg'\nimport apigatewaymanagementapi from './apigatewaymanagementapi.svg'\nimport apigatewayv2 from './apigatewayv2.svg'\nimport appconfig from './appconfig.svg'\nimport applicationautoscaling from './application-autoscaling.svg'\nimport appsync from './appsync.svg'\nimport athena from './athena.svg'\nimport autoscaling from './autoscaling.svg'\nimport backup from './backup.svg'\nimport batch from './batch.svg'\nimport bedrock from './bedrock.svg'\nimport ce from './ce.svg'\nimport cloudcontrol from './cloudcontrol.svg'\nimport cloudformation from './cloudformation.svg'\nimport cloudfront from './cloudfront.svg'\nimport cloudtrail from './cloudtrail.svg'\nimport cloudwatch from './cloudwatch.svg'\nimport codeartifact from './codeartifact.svg'\nimport codebuild from './codebuild.svg'\nimport codecommit from './codecommit.svg'\nimport codeconnections from './codeconnections.svg'\nimport codedeploy from './codedeploy.svg'\nimport codepipeline from './codepipeline.svg'\nimport codestarConnections from './codestar-connections.svg'\nimport cognitoidentity from './cognito-identity.svg'\nimport cognitoidp from './cognito-idp.svg'\nimport config from './config.svg'\nimport dms from './dms.svg'\nimport docdb from './docdb.svg'\nimport dynamodb from './dynamodb.svg'\nimport dynamodbstreams from './dynamodbstreams.svg'\nimport ec2 from './ec2.svg'\nimport ecr from './ecr.svg'\nimport ecs from './ecs.svg'\nimport efs from './efs.svg'\nimport eks from './eks.svg'\nimport elasticache from './elasticache.svg'\nimport elasticbeanstalk from './elasticbeanstalk.svg'\nimport elasticsearch from './elasticsearch.svg'\nimport elastictranscoder from './elastictranscoder.svg'\nimport elb from './elb.svg'\nimport elbv2 from './elbv2.svg'\nimport emrserverless from './emr-serverless.svg'\nimport emr from './emr.svg'\nimport events from './events.svg'\nimport firehose from './firehose.svg'\nimport fis from './fis.svg'\nimport glacier from './glacier.svg'\nimport glue from './glue.svg'\nimport iam from './iam.svg'\nimport identitystore from './identitystore.svg'\nimport infrastructure from './infrastructure.svg'\nimport iotdata from './iot-data.svg'\nimport iot from './iot.svg'\nimport iotanalytics from './iotanalytics.svg'\nimport iotwireless from './iotwireless.svg'\nimport kafka from './kafka.svg'\nimport kinesis from './kinesis.svg'\nimport kinesisanalytics from './kinesisanalytics.svg'\nimport kinesisanalyticsv2 from './kinesisanalyticsv2.svg'\nimport kms from './kms.svg'\nimport lakeformation from './lakeformation.svg'\nimport lambda from './lambda.svg'\nimport logs from './logs.svg'\nimport managedblockchain from './managedblockchain.svg'\nimport mediaconvert from './mediaconvert.svg'\nimport mediastoredata from './mediastore-data.svg'\nimport mediastore from './mediastore.svg'\nimport memorydb from './memorydb.svg'\nimport mq from './mq.svg'\nimport mwaa from './mwaa.svg'\nimport neptune from './neptune.svg'\nimport opensearch from './opensearch.svg'\nimport organizations from './organizations.svg'\nimport pinpoint from './pinpoint.svg'\nimport pipes from './pipes.svg'\nimport qldbsession from './qldb-session.svg'\nimport qldb from './qldb.svg'\nimport ram from './ram.svg'\nimport rdsdata from './rds-data.svg'\nimport rds from './rds.svg'\nimport redshiftdata from './redshift-data.svg'\nimport redshift from './redshift.svg'\nimport resourcegroups from './resource-groups.svg'\nimport resourcegroupstaggingapi from './resourcegroupstaggingapi.svg'\nimport route53 from './route53.svg'\nimport route53resolver from './route53resolver.svg'\nimport s3 from './s3.svg'\nimport s3control from './s3control.svg'\nimport sagemakerruntime from './sagemaker-runtime.svg'\nimport sagemaker from './sagemaker.svg'\nimport scheduler from './scheduler.svg'\nimport secretsmanager from './secretsmanager.svg'\nimport serverlessrepo from './serverlessrepo.svg'\nimport servicediscovery from './servicediscovery.svg'\nimport ses from './ses.svg'\nimport sesv2 from './sesv2.svg'\nimport shield from './shield.svg'\nimport sns from './sns.svg'\nimport sqs from './sqs.svg'\nimport ssm from './ssm.svg'\nimport ssoadmin from './sso-admin.svg'\nimport stepfunctions from './stepfunctions.svg'\nimport sts from './sts.svg'\nimport support from './support.svg'\nimport swf from './swf.svg'\nimport textract from './textract.svg'\nimport timestreamquery from './timestream-query.svg'\nimport timestreamwrite from './timestream-write.svg'\nimport transcribe from './transcribe.svg'\nimport transfer from './transfer.svg'\nimport verifiedpermissions from './verifiedpermissions.svg'\nimport wafv2 from './wafv2.svg'\nimport xray from './xray.svg'\n\nexport type AnyServiceName = SERVICE_NAME | (string & {})\n\nexport type IconComponent = FC<React.SVGProps<SVGSVGElement>>\n\nconst ICONS_MAP = {\n [SERVICE_NAME.ACCOUNT]: account,\n [SERVICE_NAME.ACM]: acm,\n [SERVICE_NAME.ACMPCA]: acmPca,\n [SERVICE_NAME.AMPLIFY]: amplify,\n [SERVICE_NAME.APIGATEWAY]: apigateway,\n [SERVICE_NAME.APIGATEWAYMANAGEMENTAPI]: apigatewaymanagementapi,\n [SERVICE_NAME.APIGATEWAYV2]: apigatewayv2,\n [SERVICE_NAME.APPCONFIG]: appconfig,\n [SERVICE_NAME.APPCONFIGDATA]: appconfig,\n [SERVICE_NAME.APPLICATIONAUTOSCALING]: applicationautoscaling,\n [SERVICE_NAME.APPSYNC]: appsync,\n [SERVICE_NAME.ATHENA]: athena,\n [SERVICE_NAME.AUTOSCALING]: autoscaling,\n [SERVICE_NAME.BACKUP]: backup,\n [SERVICE_NAME.BATCH]: batch,\n [SERVICE_NAME.BEDROCK]: bedrock,\n [SERVICE_NAME.BEDROCKRUNTIME]: bedrock,\n [SERVICE_NAME.CE]: ce,\n [SERVICE_NAME.CLOUDCONTROL]: cloudcontrol,\n [SERVICE_NAME.CLOUDFORMATION]: cloudformation,\n [SERVICE_NAME.CLOUDFRONT]: cloudfront,\n [SERVICE_NAME.CLOUDTRAIL]: cloudtrail,\n [SERVICE_NAME.CLOUDWATCH]: cloudwatch,\n [SERVICE_NAME.CODEARTIFACT]: codeartifact,\n [SERVICE_NAME.CODEBUILD]: codebuild,\n [SERVICE_NAME.CODECOMMIT]: codecommit,\n [SERVICE_NAME.CODECONNECTIONS]: codeconnections,\n [SERVICE_NAME.CODEDEPLOY]: codedeploy,\n [SERVICE_NAME.CODEPIPELINE]: codepipeline,\n [SERVICE_NAME.CODESTARCONNECTIONS]: codestarConnections,\n [SERVICE_NAME.COGNITOIDENTITY]: cognitoidentity,\n [SERVICE_NAME.COGNITOIDP]: cognitoidp,\n [SERVICE_NAME.CONFIG]: config,\n [SERVICE_NAME.DMS]: dms,\n [SERVICE_NAME.DOCDB]: docdb,\n [SERVICE_NAME.DYNAMODB]: dynamodb,\n [SERVICE_NAME.DYNAMODBSTREAMS]: dynamodbstreams,\n [SERVICE_NAME.EC2]: ec2,\n [SERVICE_NAME.ECR]: ecr,\n [SERVICE_NAME.ECS]: ecs,\n [SERVICE_NAME.EFS]: efs,\n [SERVICE_NAME.EKS]: eks,\n [SERVICE_NAME.ELASTICACHE]: elasticache,\n [SERVICE_NAME.ELASTICBEANSTALK]: elasticbeanstalk,\n [SERVICE_NAME.ELASTICTRANSCODER]: elastictranscoder,\n [SERVICE_NAME.ELB]: elb,\n [SERVICE_NAME.ELBV2]: elbv2,\n [SERVICE_NAME.EMR]: emr,\n [SERVICE_NAME.EMRSERVERLESS]: emrserverless,\n [SERVICE_NAME.ES]: elasticsearch,\n [SERVICE_NAME.EVENTS]: events,\n [SERVICE_NAME.FIREHOSE]: firehose,\n [SERVICE_NAME.FIS]: fis,\n [SERVICE_NAME.GLACIER]: glacier,\n [SERVICE_NAME.GLUE]: glue,\n [SERVICE_NAME.IAM]: iam,\n [SERVICE_NAME.IDENTITYSTORE]: identitystore,\n [SERVICE_NAME.INFRASTRUCTURE]: infrastructure,\n [SERVICE_NAME.IOT]: iot,\n [SERVICE_NAME.IOTANALYTICS]: iotanalytics,\n [SERVICE_NAME.IOTDATA]: iotdata,\n [SERVICE_NAME.IOTWIRELESS]: iotwireless,\n [SERVICE_NAME.KAFKA]: kafka,\n [SERVICE_NAME.KINESIS]: kinesis,\n [SERVICE_NAME.KINESISANALYTICS]: kinesisanalytics,\n [SERVICE_NAME.KINESISANALYTICSV2]: kinesisanalyticsv2,\n [SERVICE_NAME.KMS]: kms,\n [SERVICE_NAME.LAKEFORMATION]: lakeformation,\n [SERVICE_NAME.LAMBDA]: lambda,\n [SERVICE_NAME.LOGS]: logs,\n [SERVICE_NAME.MANAGEDBLOCKCHAIN]: managedblockchain,\n [SERVICE_NAME.MEDIACONVERT]: mediaconvert,\n [SERVICE_NAME.MEDIASTORE]: mediastore,\n [SERVICE_NAME.MEDIASTOREDATA]: mediastoredata,\n [SERVICE_NAME.MEMORYDB]: memorydb,\n [SERVICE_NAME.MQ]: mq,\n [SERVICE_NAME.MWAA]: mwaa,\n [SERVICE_NAME.NEPTUNE]: neptune,\n [SERVICE_NAME.OPENSEARCH]: opensearch,\n [SERVICE_NAME.ORGANIZATIONS]: organizations,\n [SERVICE_NAME.PINPOINT]: pinpoint,\n [SERVICE_NAME.PIPES]: pipes,\n [SERVICE_NAME.QLDB]: qldb,\n [SERVICE_NAME.QLDBSESSION]: qldbsession,\n [SERVICE_NAME.RAM]: ram,\n [SERVICE_NAME.RDS]: rds,\n [SERVICE_NAME.RDSDATA]: rdsdata,\n [SERVICE_NAME.REDSHIFT]: redshift,\n [SERVICE_NAME.REDSHIFTDATA]: redshiftdata,\n [SERVICE_NAME.RESOURCEGROUPS]: resourcegroups,\n [SERVICE_NAME.RESOURCEGROUPSTAGGINGAPI]: resourcegroupstaggingapi,\n [SERVICE_NAME.ROUTE53]: route53,\n [SERVICE_NAME.ROUTE53RESOLVER]: route53resolver,\n [SERVICE_NAME.S3]: s3,\n [SERVICE_NAME.S3CONTROL]: s3control,\n [SERVICE_NAME.SAGEMAKER]: sagemaker,\n [SERVICE_NAME.SAGEMAKERRUNTIME]: sagemakerruntime,\n [SERVICE_NAME.SCHEDULER]: scheduler,\n [SERVICE_NAME.SECRETSMANAGER]: secretsmanager,\n [SERVICE_NAME.SERVERLESSREPO]: serverlessrepo,\n [SERVICE_NAME.SERVICEDISCOVERY]: servicediscovery,\n [SERVICE_NAME.SES]: ses,\n [SERVICE_NAME.SESV2]: sesv2,\n [SERVICE_NAME.SHIELD]: shield,\n [SERVICE_NAME.SNS]: sns,\n [SERVICE_NAME.SQS]: sqs,\n [SERVICE_NAME.SSM]: ssm,\n [SERVICE_NAME.SSOADMIN]: ssoadmin,\n [SERVICE_NAME.STEPFUNCTIONS]: stepfunctions,\n [SERVICE_NAME.STS]: sts,\n [SERVICE_NAME.SUPPORT]: support,\n [SERVICE_NAME.SWF]: swf,\n [SERVICE_NAME.TEXTRACT]: textract,\n [SERVICE_NAME.TIMESTREAMQUERY]: timestreamquery,\n [SERVICE_NAME.TIMESTREAMWRITE]: timestreamwrite,\n [SERVICE_NAME.TRANSCRIBE]: transcribe,\n [SERVICE_NAME.TRANSFER]: transfer,\n [SERVICE_NAME.VERIFIEDPERMISSIONS]: verifiedpermissions,\n [SERVICE_NAME.WAFV2]: wafv2,\n [SERVICE_NAME.XRAY]: xray,\n} as const satisfies Partial<Record<string, IconComponent>>\n\nexport const AwsServiceIconBase: FC<SVGProps<SVGSVGElement> & { service: AnyServiceName }> = memo((props) => {\n const Icon = (ICONS_MAP as Record<string, IconComponent>)[props.service] ?? ICONS_MAP.infrastructure\n return <Icon {...props} />\n})\n\nexport const supportedServiceNames = Object.keys(ICONS_MAP) as (keyof typeof ICONS_MAP)[]\n","export const SERVICE_NAME = {\n ACCESSANALYZER: 'accessanalyzer',\n ACCOUNT: 'account',\n ACM: 'acm',\n ACMPCA: 'acm-pca',\n ALEXAFORBUSINESS: 'alexaforbusiness',\n AMP: 'amp',\n AMPLIFY: 'amplify',\n AMPLIFYBACKEND: 'amplifybackend',\n AMPLIFYUIBUILDER: 'amplifyuibuilder',\n APIGATEWAY: 'apigateway',\n APIGATEWAYMANAGEMENTAPI: 'apigatewaymanagementapi',\n APIGATEWAYV2: 'apigatewayv2',\n APPCONFIG: 'appconfig',\n APPCONFIGDATA: 'appconfigdata',\n APPFABRIC: 'appfabric',\n APPFLOW: 'appflow',\n APPINTEGRATIONS: 'appintegrations',\n APPLICATIONAUTOSCALING: 'application-autoscaling',\n APPLICATIONCOSTPROFILER: 'applicationcostprofiler',\n APPLICATIONINSIGHTS: 'application-insights',\n APPMESH: 'appmesh',\n APPRUNNER: 'apprunner',\n APPSTREAM: 'appstream',\n APPSYNC: 'appsync',\n ARCZONALSHIFT: 'arc-zonal-shift',\n ATHENA: 'athena',\n AUDITMANAGER: 'auditmanager',\n AUTOSCALING: 'autoscaling',\n AUTOSCALINGPLANS: 'autoscaling-plans',\n BACKUP: 'backup',\n BACKUPGATEWAY: 'backup-gateway',\n BACKUPSTORAGE: 'backupstorage',\n BATCH: 'batch',\n BEDROCK: 'bedrock',\n BEDROCKRUNTIME: 'bedrock-runtime',\n BILLINGCONDUCTOR: 'billingconductor',\n BRAKET: 'braket',\n BUDGETS: 'budgets',\n CE: 'ce',\n CHIME: 'chime',\n CHIMESDKIDENTITY: 'chime-sdk-identity',\n CHIMESDKMEDIAPIPELINES: 'chime-sdk-media-pipelines',\n CHIMESDKMEETINGS: 'chime-sdk-meetings',\n CHIMESDKMESSAGING: 'chime-sdk-messaging',\n CHIMESDKVOICE: 'chime-sdk-voice',\n CLEANROOMS: 'cleanrooms',\n CLOUD9: 'cloud9',\n CLOUDCONTROL: 'cloudcontrol',\n CLOUDDIRECTORY: 'clouddirectory',\n CLOUDFORMATION: 'cloudformation',\n CLOUDFRONT: 'cloudfront',\n CLOUDFRONTKEYVALUESTORE: 'cloudfront-keyvaluestore',\n CLOUDHSM: 'cloudhsm',\n CLOUDHSMV2: 'cloudhsmv2',\n CLOUDSEARCH: 'cloudsearch',\n CLOUDSEARCHDOMAIN: 'cloudsearchdomain',\n CLOUDTRAIL: 'cloudtrail',\n CLOUDTRAILDATA: 'cloudtrail-data',\n CLOUDWATCH: 'cloudwatch',\n CODEARTIFACT: 'codeartifact',\n CODEBUILD: 'codebuild',\n CODECATALYST: 'codecatalyst',\n CODECOMMIT: 'codecommit',\n CODECONNECTIONS: 'codeconnections',\n CODEDEPLOY: 'codedeploy',\n CODEGURUPROFILER: 'codeguruprofiler',\n CODEGURUREVIEWER: 'codeguru-reviewer',\n CODEGURUSECURITY: 'codeguru-security',\n CODEPIPELINE: 'codepipeline',\n CODESTAR: 'codestar',\n CODESTARCONNECTIONS: 'codestar-connections',\n CODESTARNOTIFICATIONS: 'codestar-notifications',\n COGNITOIDENTITY: 'cognito-identity',\n COGNITOIDP: 'cognito-idp',\n COGNITOSYNC: 'cognito-sync',\n COMPREHEND: 'comprehend',\n COMPREHENDMEDICAL: 'comprehendmedical',\n COMPUTEOPTIMIZER: 'compute-optimizer',\n CONFIG: 'config',\n CONNECT: 'connect',\n CONNECTCAMPAIGNS: 'connectcampaigns',\n CONNECTCASES: 'connectcases',\n CONNECTCONTACTLENS: 'connect-contact-lens',\n CONNECTPARTICIPANT: 'connectparticipant',\n CONTROLTOWER: 'controltower',\n CUR: 'cur',\n CUSTOMERPROFILES: 'customer-profiles',\n DATABREW: 'databrew',\n DATAEXCHANGE: 'dataexchange',\n DATAPIPELINE: 'datapipeline',\n DATASYNC: 'datasync',\n DATAZONE: 'datazone',\n DAX: 'dax',\n DETECTIVE: 'detective',\n DEVICEFARM: 'devicefarm',\n DEVOPSGURU: 'devops-guru',\n DIRECTCONNECT: 'directconnect',\n DISCOVERY: 'discovery',\n DLM: 'dlm',\n DMS: 'dms',\n DOCDB: 'docdb',\n DOCDBELASTIC: 'docdb-elastic',\n DRS: 'drs',\n DS: 'ds',\n DYNAMODB: 'dynamodb',\n DYNAMODBSTREAMS: 'dynamodbstreams',\n EBS: 'ebs',\n EC2: 'ec2',\n EC2INSTANCECONNECT: 'ec2-instance-connect',\n ECR: 'ecr',\n ECRPUBLIC: 'ecr-public',\n ECS: 'ecs',\n EFS: 'efs',\n EKS: 'eks',\n ELASTICACHE: 'elasticache',\n ELASTICBEANSTALK: 'elasticbeanstalk',\n ELASTICINFERENCE: 'elastic-inference',\n ELASTICTRANSCODER: 'elastictranscoder',\n ELB: 'elb',\n ELBV2: 'elbv2',\n EMR: 'emr',\n EMRCONTAINERS: 'emr-containers',\n EMRSERVERLESS: 'emr-serverless',\n ENTITYRESOLUTION: 'entityresolution',\n ES: 'es',\n EVENTS: 'events',\n EVIDENTLY: 'evidently',\n FINSPACE: 'finspace',\n FINSPACEDATA: 'finspace-data',\n FIREHOSE: 'firehose',\n FIS: 'fis',\n FMS: 'fms',\n FORECAST: 'forecast',\n FORECASTQUERY: 'forecastquery',\n FRAUDDETECTOR: 'frauddetector',\n FSX: 'fsx',\n GAMELIFT: 'gamelift',\n GLACIER: 'glacier',\n GLOBALACCELERATOR: 'globalaccelerator',\n GLUE: 'glue',\n GRAFANA: 'grafana',\n GREENGRASS: 'greengrass',\n GREENGRASSV2: 'greengrassv2',\n GROUNDSTATION: 'groundstation',\n GUARDDUTY: 'guardduty',\n HEALTH: 'health',\n HEALTHLAKE: 'healthlake',\n HONEYCODE: 'honeycode',\n IAM: 'iam',\n IDENTITYSTORE: 'identitystore',\n IMAGEBUILDER: 'imagebuilder',\n IMPORTEXPORT: 'importexport',\n INFRASTRUCTURE: 'infrastructure',\n INSPECTOR: 'inspector',\n INSPECTOR2: 'inspector2',\n INSPECTORSCAN: 'inspector-scan',\n INTERNETMONITOR: 'internetmonitor',\n IOT: 'iot',\n IOT1CLICKDEVICES: 'iot1click-devices',\n IOT1CLICKPROJECTS: 'iot1click-projects',\n IOTANALYTICS: 'iotanalytics',\n IOTDATA: 'iot-data',\n IOTDEVICEADVISOR: 'iotdeviceadvisor',\n IOTEVENTS: 'iotevents',\n IOTEVENTSDATA: 'iotevents-data',\n IOTFLEETHUB: 'iotfleethub',\n IOTFLEETWISE: 'iotfleetwise',\n IOTJOBSDATA: 'iot-jobs-data',\n IOTROBORUNNER: 'iot-roborunner',\n IOTSECURETUNNELING: 'iotsecuretunneling',\n IOTSITEWISE: 'iotsitewise',\n IOTTHINGSGRAPH: 'iotthingsgraph',\n IOTTWINMAKER: 'iottwinmaker',\n IOTWIRELESS: 'iotwireless',\n IVS: 'ivs',\n IVSCHAT: 'ivschat',\n IVSREALTIME: 'ivs-realtime',\n KAFKA: 'kafka',\n KAFKACONNECT: 'kafkaconnect',\n KENDRA: 'kendra',\n KENDRARANKING: 'kendra-ranking',\n KEYSPACES: 'keyspaces',\n KINESIS: 'kinesis',\n KINESISANALYTICS: 'kinesisanalytics',\n KINESISANALYTICSV2: 'kinesisanalyticsv2',\n KINESISVIDEO: 'kinesisvideo',\n KINESISVIDEOARCHIVEDMEDIA: 'kinesis-video-archived-media',\n KINESISVIDEOMEDIA: 'kinesis-video-media',\n KINESISVIDEOSIGNALING: 'kinesis-video-signaling',\n KINESISVIDEOWEBRTCSTORAGE: 'kinesis-video-webrtc-storage',\n KMS: 'kms',\n LAKEFORMATION: 'lakeformation',\n LAMBDA: 'lambda',\n LAUNCHWIZARD: 'launch-wizard',\n LEXMODELS: 'lex-models',\n LEXRUNTIME: 'lex-runtime',\n LEXV2MODELS: 'lexv2-models',\n LEXV2RUNTIME: 'lexv2-runtime',\n LICENSEMANAGER: 'license-manager',\n LICENSEMANAGERLINUXSUBSCRIPTIONS: 'license-manager-linux-subscriptions',\n LICENSEMANAGERUSERSUBSCRIPTIONS: 'license-manager-user-subscriptions',\n LIGHTSAIL: 'lightsail',\n LOCATION: 'location',\n LOGS: 'logs',\n LOOKOUTEQUIPMENT: 'lookoutequipment',\n LOOKOUTMETRICS: 'lookoutmetrics',\n LOOKOUTVISION: 'lookoutvision',\n M2: 'm2',\n MACHINELEARNING: 'machinelearning',\n MACIE2: 'macie2',\n MANAGEDBLOCKCHAIN: 'managedblockchain',\n MANAGEDBLOCKCHAINQUERY: 'managedblockchain-query',\n MARKETPLACECATALOG: 'marketplace-catalog',\n MARKETPLACECOMMERCEANALYTICS: 'marketplacecommerceanalytics',\n MARKETPLACEENTITLEMENT: 'marketplace-entitlement',\n MEDIACONNECT: 'mediaconnect',\n MEDIACONVERT: 'mediaconvert',\n MEDIALIVE: 'medialive',\n MEDIAPACKAGE: 'mediapackage',\n MEDIAPACKAGEV2: 'mediapackagev2',\n MEDIAPACKAGEVOD: 'mediapackage-vod',\n MEDIASTORE: 'mediastore',\n MEDIASTOREDATA: 'mediastore-data',\n MEDIATAILOR: 'mediatailor',\n MEDICALIMAGING: 'medical-imaging',\n MEMORYDB: 'memorydb',\n METERINGMARKETPLACE: 'meteringmarketplace',\n MGH: 'mgh',\n MGN: 'mgn',\n MIGRATIONHUBCONFIG: 'migrationhub-config',\n MIGRATIONHUBORCHESTRATOR: 'migrationhuborchestrator',\n MIGRATIONHUBREFACTORSPACES: 'migration-hub-refactor-spaces',\n MIGRATIONHUBSTRATEGY: 'migrationhubstrategy',\n MOBILE: 'mobile',\n MQ: 'mq',\n MTURK: 'mturk',\n MWAA: 'mwaa',\n NEPTUNE: 'neptune',\n NEPTUNEDATA: 'neptunedata',\n NETWORKFIREWALL: 'network-firewall',\n NETWORKMANAGER: 'networkmanager',\n NIMBLE: 'nimble',\n OAM: 'oam',\n OMICS: 'omics',\n OPENSEARCH: 'opensearch',\n OPENSEARCHSERVERLESS: 'opensearchserverless',\n OPSWORKS: 'opsworks',\n OPSWORKSCM: 'opsworkscm',\n ORGANIZATIONS: 'organizations',\n OSIS: 'osis',\n OUTPOSTS: 'outposts',\n PANORAMA: 'panorama',\n PAYMENTCRYPTOGRAPHY: 'payment-cryptography',\n PAYMENTCRYPTOGRAPHYDATA: 'payment-cryptography-data',\n PCACONNECTORAD: 'pca-connector-ad',\n PERSONALIZE: 'personalize',\n PERSONALIZEEVENTS: 'personalize-events',\n PERSONALIZERUNTIME: 'personalize-runtime',\n PI: 'pi',\n PINPOINT: 'pinpoint',\n PINPOINTEMAIL: 'pinpoint-email',\n PINPOINTSMSVOICE: 'pinpoint-sms-voice',\n PINPOINTSMSVOICEV2: 'pinpoint-sms-voice-v2',\n PIPES: 'pipes',\n POLLY: 'polly',\n PRICING: 'pricing',\n PRIVATENETWORKS: 'privatenetworks',\n PROTON: 'proton',\n QLDB: 'qldb',\n QLDBSESSION: 'qldb-session',\n QUICKSIGHT: 'quicksight',\n RAM: 'ram',\n RBIN: 'rbin',\n RDS: 'rds',\n RDSDATA: 'rds-data',\n REDSHIFT: 'redshift',\n REDSHIFTDATA: 'redshift-data',\n REDSHIFTSERVERLESS: 'redshift-serverless',\n REKOGNITION: 'rekognition',\n RESILIENCEHUB: 'resiliencehub',\n RESOURCEEXPLORER2: 'resource-explorer-2',\n RESOURCEGROUPS: 'resource-groups',\n RESOURCEGROUPSTAGGINGAPI: 'resourcegroupstaggingapi',\n ROBOMAKER: 'robomaker',\n ROLESANYWHERE: 'rolesanywhere',\n ROUTE53: 'route53',\n ROUTE53DOMAINS: 'route53domains',\n ROUTE53RECOVERYCLUSTER: 'route53-recovery-cluster',\n ROUTE53RECOVERYCONTROLCONFIG: 'route53-recovery-control-config',\n ROUTE53RECOVERYREADINESS: 'route53-recovery-readiness',\n ROUTE53RESOLVER: 'route53resolver',\n RUM: 'rum',\n S3: 's3',\n S3CONTROL: 's3control',\n S3OUTPOSTS: 's3outposts',\n SAGEMAKER: 'sagemaker',\n SAGEMAKERA2IRUNTIME: 'sagemaker-a2i-runtime',\n SAGEMAKEREDGE: 'sagemaker-edge',\n SAGEMAKERFEATURESTORERUNTIME: 'sagemaker-featurestore-runtime',\n SAGEMAKERGEOSPATIAL: 'sagemaker-geospatial',\n SAGEMAKERMETRICS: 'sagemaker-metrics',\n SAGEMAKERRUNTIME: 'sagemaker-runtime',\n SAVINGSPLANS: 'savingsplans',\n SCHEDULER: 'scheduler',\n SCHEMAS: 'schemas',\n SDB: 'sdb',\n SECRETSMANAGER: 'secretsmanager',\n SECURITYHUB: 'securityhub',\n SECURITYLAKE: 'securitylake',\n SERVERLESSREPO: 'serverlessrepo',\n SERVICECATALOG: 'servicecatalog',\n SERVICECATALOGAPPREGISTRY: 'servicecatalog-appregistry',\n SERVICEDISCOVERY: 'servicediscovery',\n SERVICEQUOTAS: 'service-quotas',\n SES: 'ses',\n SESV2: 'sesv2',\n SHIELD: 'shield',\n SIGNER: 'signer',\n SIMSPACEWEAVER: 'simspaceweaver',\n SMS: 'sms',\n SMSVOICE: 'sms-voice',\n SNOWBALL: 'snowball',\n SNOWDEVICEMANAGEMENT: 'snow-device-management',\n SNOWFLAKE: 'snowflake', // special service that is about our snowflake emulator\n SNS: 'sns',\n SQS: 'sqs',\n SSM: 'ssm',\n SSMCONTACTS: 'ssm-contacts',\n SSMINCIDENTS: 'ssm-incidents',\n SSMSAP: 'ssm-sap',\n SSO: 'sso',\n SSOADMIN: 'sso-admin',\n SSOOIDC: 'sso-oidc',\n STEPFUNCTIONS: 'stepfunctions',\n STORAGEGATEWAY: 'storagegateway',\n STS: 'sts',\n SUPPORT: 'support',\n SUPPORTAPP: 'support-app',\n SWF: 'swf',\n SYNTHETICS: 'synthetics',\n TEXTRACT: 'textract',\n TIMESTREAMQUERY: 'timestream-query',\n TIMESTREAMWRITE: 'timestream-write',\n TNB: 'tnb',\n TRANSCRIBE: 'transcribe',\n TRANSFER: 'transfer',\n TRANSLATE: 'translate',\n TRUSTEDADVISOR: 'trustedadvisor',\n VERIFIEDPERMISSIONS: 'verifiedpermissions',\n VOICEID: 'voice-id',\n VPCLATTICE: 'vpc-lattice',\n WAF: 'waf',\n WAFREGIONAL: 'waf-regional',\n WAFV2: 'wafv2',\n WELLARCHITECTED: 'wellarchitected',\n WISDOM: 'wisdom',\n WORKDOCS: 'workdocs',\n WORKLINK: 'worklink',\n WORKMAIL: 'workmail',\n WORKMAILMESSAGEFLOW: 'workmailmessageflow',\n WORKSPACES: 'workspaces',\n WORKSPACESWEB: 'workspaces-web',\n XRAY: 'xray',\n} as const\n\nexport type SERVICE_NAME = (typeof SERVICE_NAME)[keyof typeof SERVICE_NAME]\n","import * as React from \"react\";\nconst SvgAccount = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 40 40\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture-Group/32/AWS-Account_32\"}</title><g id=\"Icon-Architecture-Group/32/AWS-Account_32\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"#e7157b\" d=\"M0 0h40v40H0z\" /><path id=\"Fill-1\" fill=\"#fff\" d=\"M24.5 22c1.93 0 3.5 1.57 3.5 3.5S26.43 29 24.5 29 21 27.43 21 25.5s1.57-3.5 3.5-3.5m0 8c2.481 0 4.5-2.019 4.5-4.5S26.981 21 24.5 21a4.505 4.505 0 0 0-4.5 4.5c0 2.481 2.019 4.5 4.5 4.5m1.523-19.12L29.084 17h-6.121zM22.154 18h7.739a.502.502 0 0 0 .447-.724l-3.869-7.738c-.17-.338-.725-.338-.895 0l-3.869 7.738a.503.503 0 0 0 .447.724M11 23h7v-7h-7zm-.5 1h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5M8 32h24V8H8zM32.5 7h-25a.5.5 0 0 0-.5.5v25a.5.5 0 0 0 .5.5h25a.5.5 0 0 0 .5-.5v-25a.5.5 0 0 0-.5-.5\" /></g></svg>;\nexport default SvgAccount;","import * as React from \"react\";\nconst SvgAcmPca = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Private-Certificate-Authority_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-Private-Certificate-Authority_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"#dd344c\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Fill-8\" fill=\"#fff\" d=\"M67 17h-3v2h2v47h-5v2h6a1 1 0 0 0 1-1V18a1 1 0 0 0-1-1M19 64h-2v3a1 1 0 0 0 1 1h35v-2H19zm16.5-24a1 1 0 0 0 .707-.293l8-8-1.414-1.414-7.293 7.293-3.293-3.293-1.414 1.414 4 4A1 1 0 0 0 35.5 40M26 34.5C26 40.841 31.159 46 37.5 46S49 40.841 49 34.5 43.841 23 37.5 23 26 28.159 26 34.5m-2 0C24 27.056 30.056 21 37.5 21S51 27.056 51 34.5 44.944 48 37.5 48 24 41.944 24 34.5M14 17h46v-3H14zm46 43V19H14v41h34v2H13a1 1 0 0 1-1-1V13a1 1 0 0 1 1-1h48a1 1 0 0 1 1 1v48a1 1 0 0 1-1 1h-5v-2zm-33-3v-9h2v7.473l8.101-3.533a1 1 0 0 1 .798 0L46 55.473V48h2v9a1 1 0 0 1-1.399.917L37.5 53.948l-9.101 3.969A.999.999 0 0 1 27 57\" /></g></svg>;\nexport default SvgAcmPca;","import * as React from \"react\";\nconst SvgAcm = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 40 40\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/32/Arch_AWS-Certificate-Manager_32\"}</title><defs><linearGradient id=\"linearGradient-acm\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/32/Arch_AWS-Certificate-Manager_32\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/32/Security-Identity-Compliance\" fill=\"url(#linearGradient-acm)\"><path id=\"Rectangle\" d=\"M0 0h40v40H0z\" /></g><path id=\"AWS-Certificate-Manager_Icon_32_Squid\" fill=\"#fff\" d=\"M17.832 19.63c.133.12.19.3.152.476l-.513 2.362 2.27-1.391a.5.5 0 0 1 .52 0l2.252 1.388-.498-2.367a.5.5 0 0 1 .15-.47l2.014-1.84-2.665-.515a.5.5 0 0 1-.352-.27l-1.166-2.387-1.194 2.394a.5.5 0 0 1-.35.265l-2.657.518zm-1.58 3.765.701-3.22-2.562-2.312a.498.498 0 0 1 .237-.856l3.393-.66 1.534-3.075c.085-.17.286-.306.447-.276.19.001.362.11.445.28l1.5 3.068 3.39.656a.498.498 0 0 1 .241.854l-2.533 2.316.68 3.223a.498.498 0 0 1-.748.525L20 22.083l-3.002 1.84a.49.49 0 0 1-.548-.018.5.5 0 0 1-.198-.51m16.727-13.3-.003-2.101H6.994v2.101zM34 32.502a.496.496 0 0 1-.497.498h-3.566v-.994h3.07L32.98 11.09H6.994v20.917h18.968V33H6.497a.5.5 0 0 1-.352-.145.5.5 0 0 1-.145-.352V7.497C6 7.223 6.222 7 6.497 7H33.47c.276 0 .497.223.497.497zm-22.942-2.527h3.974v-.993h-3.974zm5.962.023h6.955v-.993H17.02zm-5.962-3h3.974v-.993h-3.974zm5.962 0h10.93v-.993H17.02z\" /></g></svg>;\nexport default SvgAcm;","import * as React from \"react\";\nconst SvgAmplify = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Amplify-Console_64\"}</title><defs><linearGradient id=\"linearGradient-amp\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Amplify-Console_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Mobile\" fill=\"url(#linearGradient-amp)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Amplify-Console_Icon_64_Squid\" fill=\"#fff\" d=\"M59.61 59.179 39.508 20h5.75l20.106 39.179zm8.279.543-21.13-41.178a1 1 0 0 0-.89-.544h-8a1 1 0 0 0-.89 1.457l21.13 41.179c.172.333.516.543.89.543h8a.998.998 0 0 0 .89-1.457m-20.29-.543L32.215 30.332l3.15-5.211 17.976 34.058zm-11.29-36.555a1 1 0 0 0-.854-.533 1 1 0 0 0-.885.482l-4.36 7.211a1 1 0 0 0-.028.988L46.117 60.65c.174.325.514.529.883.529h8a1 1 0 0 0 .884-1.467zM14.774 59.179 28.885 35.84l2.875 5.389-6.626 11.449A1.002 1.002 0 0 0 26 54.179h12.667l2.666 5zm25.376-6.471a1 1 0 0 0-.883-.529H27.734l6.035-10.429a1 1 0 0 0 .018-.971l-3.964-7.433a1 1 0 0 0-.856-.529.96.96 0 0 0-.882.482L12.144 59.661A1.003 1.003 0 0 0 13 61.179h30a1 1 0 0 0 .882-1.471z\" /></g></svg>;\nexport default SvgAmplify;","import * as React from \"react\";\nconst SvgApigateway = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_ Amazon-API-Gateway_64\"}</title><defs><linearGradient id=\"linearGradient-agw\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_-Amazon-API-Gateway_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-agw)\" d=\"M0 0h80v80H0z\" /><g id=\"Icon-Service/64/Amazon-API-Gateway_64\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Amazon-API-Gateway_Icon_64_Squid\" d=\"M26.065 47.632H29v-2.017h-2.935zm4.935 0h3v-2.017h-3zM19 6.63 6 13.082v40.111l13 4.397zm2 12.764v26.222h3v2.017h-3v11.36c0 .324-.155.629-.416.818a1 1 0 0 1-.902.138l-15-5.072A1.01 1.01 0 0 1 4 53.92V12.454c0-.384.217-.735.559-.905l15-7.445a.99.99 0 0 1 .969.049c.293.183.472.507.472.856v12.367h3v2.017zm15 28.24h3v-2.018h-3zm.065-28.24H39v-2.017h-2.935zm-5 0H34v-2.017h-2.935zm-5 0H29v-2.017h-2.935zM58 13.083 45 6.628v50.96l13-4.396zm2 40.837c0 .432-.274.817-.682.956l-15 5.072a.99.99 0 0 1-.902-.138 1.01 1.01 0 0 1-.416-.819V47.632h-1.935v-2.017H43V19.393h-1.935v-2.017H43V5.01c0-.35.179-.673.472-.856a.99.99 0 0 1 .969-.049l15 7.445c.342.17.559.521.559.905zM34.934 25.807l-1.868-.724-5 13.11 1.868.725zm6.773 6.402a1.013 1.013 0 0 0 0-1.426l-4-4.034-1.414 1.426 3.293 3.32-3.293 3.322 1.414 1.426zm-15.414 4.034-4-4.034a1.013 1.013 0 0 1 0-1.426l4-4.034 1.414 1.426-3.293 3.32 3.293 3.322z\" /></g></g></svg>;\nexport default SvgApigateway;","import * as React from \"react\";\nconst SvgApigatewaymanagementapi = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_ Amazon-API-Gateway_64\"}</title><defs><linearGradient id=\"linearGradient-agw\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_-Amazon-API-Gateway_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-agw)\" d=\"M0 0h80v80H0z\" /><g id=\"Icon-Service/64/Amazon-API-Gateway_64\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Amazon-API-Gateway_Icon_64_Squid\" d=\"M26.065 47.632H29v-2.017h-2.935zm4.935 0h3v-2.017h-3zM19 6.63 6 13.082v40.111l13 4.397zm2 12.764v26.222h3v2.017h-3v11.36c0 .324-.155.629-.416.818a1 1 0 0 1-.902.138l-15-5.072A1.01 1.01 0 0 1 4 53.92V12.454c0-.384.217-.735.559-.905l15-7.445a.99.99 0 0 1 .969.049c.293.183.472.507.472.856v12.367h3v2.017zm15 28.24h3v-2.018h-3zm.065-28.24H39v-2.017h-2.935zm-5 0H34v-2.017h-2.935zm-5 0H29v-2.017h-2.935zM58 13.083 45 6.628v50.96l13-4.396zm2 40.837c0 .432-.274.817-.682.956l-15 5.072a.99.99 0 0 1-.902-.138 1.01 1.01 0 0 1-.416-.819V47.632h-1.935v-2.017H43V19.393h-1.935v-2.017H43V5.01c0-.35.179-.673.472-.856a.99.99 0 0 1 .969-.049l15 7.445c.342.17.559.521.559.905zM34.934 25.807l-1.868-.724-5 13.11 1.868.725zm6.773 6.402a1.013 1.013 0 0 0 0-1.426l-4-4.034-1.414 1.426 3.293 3.32-3.293 3.322 1.414 1.426zm-15.414 4.034-4-4.034a1.013 1.013 0 0 1 0-1.426l4-4.034 1.414 1.426-3.293 3.32 3.293 3.322z\" /></g></g></svg>;\nexport default SvgApigatewaymanagementapi;","import * as React from \"react\";\nconst SvgApigatewayv2 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_ Amazon-API-Gateway_64\"}</title><defs><linearGradient id=\"linearGradient-agw\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_-Amazon-API-Gateway_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-agw)\" d=\"M0 0h80v80H0z\" /><g id=\"Icon-Service/64/Amazon-API-Gateway_64\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Amazon-API-Gateway_Icon_64_Squid\" d=\"M26.065 47.632H29v-2.017h-2.935zm4.935 0h3v-2.017h-3zM19 6.63 6 13.082v40.111l13 4.397zm2 12.764v26.222h3v2.017h-3v11.36c0 .324-.155.629-.416.818a1 1 0 0 1-.902.138l-15-5.072A1.01 1.01 0 0 1 4 53.92V12.454c0-.384.217-.735.559-.905l15-7.445a.99.99 0 0 1 .969.049c.293.183.472.507.472.856v12.367h3v2.017zm15 28.24h3v-2.018h-3zm.065-28.24H39v-2.017h-2.935zm-5 0H34v-2.017h-2.935zm-5 0H29v-2.017h-2.935zM58 13.083 45 6.628v50.96l13-4.396zm2 40.837c0 .432-.274.817-.682.956l-15 5.072a.99.99 0 0 1-.902-.138 1.01 1.01 0 0 1-.416-.819V47.632h-1.935v-2.017H43V19.393h-1.935v-2.017H43V5.01c0-.35.179-.673.472-.856a.99.99 0 0 1 .969-.049l15 7.445c.342.17.559.521.559.905zM34.934 25.807l-1.868-.724-5 13.11 1.868.725zm6.773 6.402a1.013 1.013 0 0 0 0-1.426l-4-4.034-1.414 1.426 3.293 3.32-3.293 3.322 1.414 1.426zm-15.414 4.034-4-4.034a1.013 1.013 0 0 1 0-1.426l4-4.034 1.414 1.426-3.293 3.32 3.293 3.322z\" /></g></g></svg>;\nexport default SvgApigatewayv2;","import * as React from \"react\";\nconst SvgAppconfig = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-App-Config_64\"}</title><defs><linearGradient id=\"linearGradient-1\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-App-Config_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Management-Governance\" fill=\"url(#linearGradient-1)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-App-Config_Icon_64_Squid\" fill=\"#fff\" d=\"M50.871 37.366c0 4.687-3.813 8.5-8.5 8.5s-8.5-3.813-8.5-8.5 3.813-8.5 8.5-8.5 8.5 3.813 8.5 8.5m2 0c0-5.79-4.71-10.5-10.5-10.5s-10.5 4.71-10.5 10.5 4.71 10.5 10.5 10.5 10.5-4.71 10.5-10.5M47.91 62.418a1 1 0 0 0 .272-.744l-.183-3.201a21.7 21.7 0 0 0 5.266-2.182l2.135 2.394c.183.205.443.326.718.334a.94.94 0 0 0 .735-.293l6.849-6.848a1 1 0 0 0-.041-1.453l-2.402-2.142a21.7 21.7 0 0 0 2.178-5.26l3.212.184a.997.997 0 0 0 1.058-.998v-9.685a1.005 1.005 0 0 0-1.057-.999l-3.216.183a21.7 21.7 0 0 0-2.179-5.255l2.406-2.146a1 1 0 0 0 .041-1.453l-6.849-6.848a.96.96 0 0 0-.735-.293 1 1 0 0 0-.718.334l-2.153 2.413a21.6 21.6 0 0 0-5.248-2.176l.183-3.227a1 1 0 0 0-.272-.743 1 1 0 0 0-.727-.314h-9.684a1 1 0 0 0-.998 1.057l.182 3.225a21.7 21.7 0 0 0-5.251 2.174l-2.15-2.409a1 1 0 0 0-.718-.334.98.98 0 0 0-.735.293l-6.849 6.848a1.002 1.002 0 0 0 .041 1.453l2.412 2.151a21.7 21.7 0 0 0-2.182 5.25l-3.219-.183a1 1 0 0 0-1.057.999v9.685a1 1 0 0 0 1.059.998l3.951-.231-.117-1.997-2.893.17v-7.567l2.991.17c.488.024.923-.301 1.032-.777a19.7 19.7 0 0 1 2.565-6.176 1 1 0 0 0-.179-1.281l-2.241-1.999 5.352-5.351 1.997 2.239a1 1 0 0 0 1.279.179 19.7 19.7 0 0 1 6.178-2.556 1 1 0 0 0 .778-1.033L38.558 14h7.567l-.17 2.999a1 1 0 0 0 .777 1.033 19.6 19.6 0 0 1 6.174 2.559c.411.258.954.185 1.28-.18l2.001-2.243 5.352 5.351-2.235 1.994a1 1 0 0 0-.18 1.28 19.7 19.7 0 0 1 2.562 6.181 1.01 1.01 0 0 0 1.033.778l2.988-.17v7.568l-2.984-.171a1.01 1.01 0 0 0-1.034.778 19.7 19.7 0 0 1-2.561 6.185 1 1 0 0 0 .18 1.28l2.231 1.99-5.351 5.352-1.984-2.224a1 1 0 0 0-1.28-.18 19.7 19.7 0 0 1-6.192 2.565 1 1 0 0 0-.777 1.033l.17 2.973h-7.534l.136-1.546-1.992-.176-.232 2.634a1 1 0 0 0 .996 1.088h9.684a1 1 0 0 0 .727-.313m-10.809-7.864-1.375-1.452-12.511 11.854 1.375 1.452zm-11.855-7.9-1.371-1.456L12.68 55.735l1.371 1.456zM13.414 67.706 12 66.292l19.756-19.756 1.414 1.414z\" /></g></svg>;\nexport default SvgAppconfig;","import * as React from \"react\";\nconst SvgApplicationAutoscaling = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Auto-Scaling_16\"}</title><defs><linearGradient id=\"linearGradient-asc\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Auto-Scaling_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Management-Governance\" fill=\"url(#linearGradient-asc)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Auto-Scaling_Icon_16_Squid\" fill=\"#fff\" d=\"M10.987 13.484h3v-3h-3zm3.5-4a.5.5 0 0 1 .5.5v4c0 .277-.223.5-.5.5h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5zM20 11.46h-1.949l1.337-1.644-.776-.63-2 2.46a.5.5 0 0 0-.005.623l2 2.541.786-.618-1.363-1.732H20zM6.388 9.185l-.776.63 1.337 1.644H5v1h1.97l-1.363 1.732.786.618 2-2.54a.5.5 0 0 0-.005-.625zm6.599 8.278V15.5h-1v1.956l-1.674-1.346-.626.78 2.487 2a.5.5 0 0 0 .625.001l2.513-2-.624-.782zM10.313 7.89l-.626-.78 2.487-2a.5.5 0 0 1 .624-.001l2.513 1.988-.622.784-1.702-1.347V8.5h-1V6.543z\" /></g></svg>;\nexport default SvgApplicationAutoscaling;","import * as React from \"react\";\nconst SvgAppsync = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-AppSync_64\"}</title><defs><linearGradient id=\"linearGradient-app\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-AppSync_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Application-Integration\" fill=\"url(#linearGradient-app)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><g id=\"Icon-Service/64/AWS-AppSync\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"AWS-AppSync-Icon_64_Squid\" d=\"m58.52 19.98-5.506-1.39c5.464 9.526 4.596 22.01-2.388 30.012C45.854 54.071 38.772 57 31.652 57c-4.143 0-8.299-.992-12.021-3.051l.952-1.758c9.329 5.163 21.606 3.05 28.556-4.914 6.46-7.4 7.225-18.982 2.1-27.795l-1.429 5.78-1.922-.486 1.982-8.014a.987.987 0 0 1 1.201-.728L59 18.037zM12.758 43.588 14.19 37.8l1.922.486L14.13 46.3a.99.99 0 0 1-1.201.73L5 45.025l.48-1.944 5.497 1.389c-5.421-9.366-4.536-20.968 2.482-29.01 7.658-8.772 20.658-11.02 30.911-5.345l-.952 1.757c-9.449-5.228-21.423-3.162-28.472 4.914-6.475 7.42-7.261 18.156-2.188 26.8m10.638-7.867c1.267 0 2.298 1.042 2.298 2.323s-1.031 2.322-2.298 2.322-2.298-1.042-2.298-2.322 1.03-2.323 2.298-2.323m7.468-8.87c.364.101.74.173 1.136.173.372 0 .726-.063 1.07-.154l3.698 7.984a4.3 4.3 0 0 0-1.286 2.188h-7.934a4.3 4.3 0 0 0-1.253-2.16zM32 20.374c1.268 0 2.298 1.041 2.298 2.322S33.268 25.02 32 25.02c-1.267 0-2.297-1.042-2.297-2.323s1.03-2.322 2.297-2.322m9.932 17.668c0 1.28-1.03 2.322-2.298 2.322-1.267 0-2.298-1.042-2.298-2.322s1.03-2.323 2.298-2.323c1.267 0 2.298 1.042 2.298 2.323M23.396 42.37c2.017 0 3.703-1.423 4.152-3.324h7.934c.45 1.901 2.135 3.324 4.152 3.324 2.36 0 4.28-1.94 4.28-4.326s-1.92-4.327-4.28-4.327c-.392 0-.765.072-1.125.172l-3.688-7.963a4.32 4.32 0 0 0 1.46-3.228c0-2.386-1.921-4.326-4.281-4.326s-4.28 1.94-4.28 4.326a4.32 4.32 0 0 0 1.408 3.184l-4.563 8.02a4.2 4.2 0 0 0-1.169-.185c-2.36 0-4.28 1.94-4.28 4.327 0 2.385 1.92 4.326 4.28 4.326\" /></g></g></svg>;\nexport default SvgAppsync;","import * as React from \"react\";\nconst SvgAthena = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Athena_64\"}</title><defs><linearGradient id=\"linearGradient-ath\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Athena_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-ath)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Athena_Icon_64_Squid\" fill=\"#fff\" d=\"M38.295 27.227c4.492 0 6.953 1.006 7.401 1.51-.448.506-2.909 1.512-7.4 1.512-4.493 0-6.954-1.006-7.402-1.511.448-.505 2.909-1.511 7.401-1.511m-.511 8.055a.509.509 0 0 1 .222-.96c.08 0 .154.022.223.058zm5.783 8.309c-.074.06-.245.177-.596.318a8 8 0 0 1-1.103.337c-1.115.262-2.487.406-3.863.406-3.008 0-5.104-.65-5.556-1.053L31.116 31.15c2.044.836 5.054 1.113 7.18 1.113 2.088 0 5.033-.269 7.076-1.073l-.797 5.475c-1.502-.567-3.376-1.389-5.151-2.253a1.484 1.484 0 0 0-1.418-1.088c-.818 0-1.483.676-1.483 1.505 0 .831.665 1.506 1.483 1.506.194 0 .378-.04.547-.109 2.481 1.225 4.33 2.011 5.722 2.496zM28.872 28.847l1.607 15.003c.113 2.784 7.22 2.817 7.526 2.817 1.522 0 3.052-.164 4.31-.458.515-.12.981-.264 1.385-.426 1.174-.471 1.789-1.114 1.832-1.909l.669-4.598c.455.094.827.135 1.124.135.934 0 1.18-.383 1.35-.647.179-.278.23-.62.147-.963-.19-.79-1.305-1.83-2.05-2.447l.941-6.469-.009-.001c.004-.05.02-.096.02-.146 0-2.784-5.927-3.526-9.429-3.526s-9.43.742-9.43 3.526c0 .037.014.07.016.108zm8.964-8.787c8.65 0 15.689 7.144 15.689 15.925 0 8.78-7.038 15.924-15.69 15.924s-15.69-7.143-15.69-15.924 7.038-15.925 15.69-15.925m-24.85 21.775v2.015h8.932v-.12c2.856 6.02 8.908 10.194 15.918 10.194 9.744 0 17.674-8.047 17.674-17.94 0-9.892-7.93-17.94-17.674-17.94-7.583 0-14.045 4.88-16.55 11.701h-8.3v2.015h7.69a18 18 0 0 0-.506 4.03H11v2.015h9.252c.14 1.4.454 2.743.893 4.03zm54.094 24.2c-1.201 1.221-3.283 1.228-4.483.011L51.933 55.221a24 24 0 0 0 4.56-4.545l10.599 10.81c.596.606.925 1.414.923 2.273a3.21 3.21 0 0 1-.935 2.276m1.417-5.972L57.662 49.01a24.1 24.1 0 0 0 3.803-13.025c0-13.226-10.6-23.985-23.63-23.985-9.362 0-17.852 5.62-21.631 14.317l1.816.812c3.461-7.966 11.239-13.114 19.816-13.114 11.935 0 21.644 9.855 21.644 21.97 0 12.113-9.71 21.97-21.644 21.97-7.974 0-15.279-4.43-19.067-11.561l-1.747.957c4.134 7.783 12.11 12.618 20.814 12.618a23.2 23.2 0 0 0 12.424-3.595l10.934 11.098A5.07 5.07 0 0 0 64.828 69c1.38 0 2.679-.547 3.653-1.537a5.23 5.23 0 0 0 1.519-3.7 5.22 5.22 0 0 0-1.503-3.7\" /></g></svg>;\nexport default SvgAthena;","import * as React from \"react\";\nconst SvgAutoscaling = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Auto-Scaling_16\"}</title><defs><linearGradient id=\"linearGradient-asc\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Auto-Scaling_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Management-Governance\" fill=\"url(#linearGradient-asc)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Auto-Scaling_Icon_16_Squid\" fill=\"#fff\" d=\"M10.987 13.484h3v-3h-3zm3.5-4a.5.5 0 0 1 .5.5v4c0 .277-.223.5-.5.5h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5zM20 11.46h-1.949l1.337-1.644-.776-.63-2 2.46a.5.5 0 0 0-.005.623l2 2.541.786-.618-1.363-1.732H20zM6.388 9.185l-.776.63 1.337 1.644H5v1h1.97l-1.363 1.732.786.618 2-2.54a.5.5 0 0 0-.005-.625zm6.599 8.278V15.5h-1v1.956l-1.674-1.346-.626.78 2.487 2a.5.5 0 0 0 .625.001l2.513-2-.624-.782zM10.313 7.89l-.626-.78 2.487-2a.5.5 0 0 1 .624-.001l2.513 1.988-.622.784-1.702-1.347V8.5h-1V6.543z\" /></g></svg>;\nexport default SvgAutoscaling;","import * as React from \"react\";\nconst SvgBackup = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Backup_64\"}</title><defs><linearGradient id=\"linearGradient-bak\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Backup_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Storage\" fill=\"url(#linearGradient-bak)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Backup_Icon_64_Squid\" fill=\"#fff\" d=\"M52.241 40.363a11.4 11.4 0 0 1-2.156 8.522 11.41 11.41 0 0 1-7.551 4.502q-.845.123-1.683.122a11.4 11.4 0 0 1-6.839-2.278 11.4 11.4 0 0 1-4.624-9.139l2-.014a9.43 9.43 0 0 0 3.819 7.549 9.4 9.4 0 0 0 7.038 1.781 9.42 9.42 0 0 0 6.236-3.718 9.42 9.42 0 0 0 1.781-7.038 9.43 9.43 0 0 0-3.717-6.237c-3.563-2.655-8.796-2.272-12.213.581l1.667-.002.002 2-4 .006H32a.997.997 0 0 1-1-1v-3.987h2v1.5a12.4 12.4 0 0 1 5.968-2.733c3.157-.511 6.354.229 8.772 2.032a11.4 11.4 0 0 1 4.501 7.551M54 58a5 5 0 0 0-1.362.19l-2.837-3.79-1.602 1.199 2.634 3.516A4.78 4.78 0 0 0 49.095 62H30.917c-.2-1.261-.794-2.264-1.679-2.956l2.565-3.448-1.606-1.193-2.808 3.774A6 6 0 0 0 26 58.005c-.43 0-.832.049-1.217.125l-5.819-19.447a4.26 4.26 0 0 0 2.104-1.542l4.567 1.79.73-1.862-4.507-1.767c.084-.409.142-.837.142-1.302 0-1.096-.264-2.045-.733-2.819l15.084-10.558c.671.675 1.574 1.118 2.649 1.288V27h2v-5.086c1.091-.165 1.996-.6 2.665-1.273L58.694 31.3c-.439.757-.694 1.664-.694 2.7 0 .42.056.843.16 1.259l-4.531 1.812.742 1.857 4.64-1.856a4.66 4.66 0 0 0 2.606 1.749l-7.314 19.204C54.2 58.02 54.105 58 54 58m0 8c-1.963 0-3-1.038-3-3 0-1.878 1.525-3 3-3 1.934 0 3 1.065 3 3 0 1.962-1.037 3-3 3m-28 0c-1.906 0-3-1.094-3-3 0-1.931 1.065-2.995 3-2.995 2.479 0 3 1.629 3 2.995 0 1.934-1.066 3-3 3M14 34c0-1.935 1.065-3 3-3 1.934 0 3 1.065 3 3 0 1.962-1.037 3-3 3-1.99 0-3-1.01-3-3m26-20c1.963 0 3 1.037 3 3 0 1.959-1.037 2.994-3 2.994-1.935 0-3-1.063-3-2.994 0-1.935 1.065-3 3-3m23 17c1.934 0 3 1.065 3 3 0 1.934-1.066 3-3 3-1.948 0-3-1.546-3-3 0-1.907 1.094-3 3-3m5 3c0-3.038-1.963-5-5-5-1.14 0-2.134.295-2.932.822L44.695 18.92A6 6 0 0 0 45 17c0-3.084-1.916-5-5-5-3.037 0-5 1.962-5 5 0 .699.115 1.334.312 1.908L19.837 29.741C19.059 29.265 18.103 29 17 29c-3.037 0-5 1.962-5 5 0 3.073 1.904 4.985 4.97 4.997l5.959 19.912C21.714 59.766 21 61.184 21 63c0 3.037 1.963 5 5 5 2.687 0 4.527-1.541 4.917-4h18.166c.389 2.459 2.229 4 4.917 4 3.037 0 5-1.963 5-5 0-2.183-1.026-3.796-2.723-4.539l7.435-19.52C66.333 38.651 68 36.789 68 34\" /></g></svg>;\nexport default SvgBackup;","import * as React from \"react\";\nconst SvgBatch = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Batch_64\"}</title><defs><linearGradient id=\"linearGradient-bat\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Batch_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Compute\" fill=\"url(#linearGradient-bat)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Batch_Icon_64_Squid\" fill=\"#fff\" d=\"M40.226 58.897c1.239 0 2.245.997 2.245 2.227a2.237 2.237 0 0 1-2.245 2.227 2.237 2.237 0 0 1-2.245-2.227 2.237 2.237 0 0 1 2.245-2.227M21.3 40.876a2.237 2.237 0 0 1-2.245 2.227 2.237 2.237 0 0 1-2.245-2.227 2.237 2.237 0 0 1 2.245-2.227c1.24 0 2.245.998 2.245 2.227M61.38 66c-2.582 0-4.604-1.934-4.604-4.402 0-2.518 2.066-4.567 4.604-4.567 2.54 0 4.605 2.049 4.605 4.567 0 2.468-2.022 4.402-4.605 4.402m-4.604-25c0-2.518 2.066-4.567 4.604-4.567 2.54 0 4.605 2.049 4.605 4.567s-2.066 4.567-4.605 4.567c-2.538 0-4.604-2.049-4.604-4.567m-16.55 4.567c-2.539 0-4.603-2.049-4.603-4.567s2.064-4.567 4.604-4.567S44.83 38.482 44.83 41s-2.065 4.567-4.604 4.567M45.266 61c0 2.851-2.166 5-5.04 5s-5.04-2.149-5.04-5 2.166-5 5.04-5 5.04 2.149 5.04 5M34.177 21c0-3.14 2.882-6 6.049-6 3.166 0 6.048 2.86 6.048 6s-2.882 6-6.048 6-6.049-2.86-6.049-6m-15.12 25c-2.875 0-5.04-2.149-5.04-5 0-2.894 2.26-5.248 5.04-5.248 2.779 0 5.04 2.354 5.04 5.248 0 2.851-2.167 5-5.04 5m4.588 15.564c0 2.487-2.022 4.436-4.605 4.436-2.581 0-4.604-1.949-4.604-4.436 0-2.519 2.066-4.567 4.604-4.567 2.54 0 4.605 2.048 4.605 4.567m38.742-6.449v-7.633C65.56 46.999 68 44.28 68 41c0-3.621-2.97-6.567-6.621-6.567-3.306 0-6.047 2.42-6.534 5.567H46.76c-.436-2.82-2.683-5.049-5.526-5.482v-5.595c3.86-.526 7.056-3.999 7.056-7.923 0-4.262-3.768-8-8.064-8s-8.065 3.738-8.065 8c0 3.924 3.197 7.397 7.057 7.923v5.595c-2.843.433-5.09 2.662-5.526 5.482h-7.654c-.478-3.523-3.422-6.248-6.982-6.248C15.166 33.752 12 37.004 12 41c0 3.584 2.587 6.451 6.048 6.924v7.155c-3.179.477-5.628 3.199-5.628 6.485 0 3.609 2.909 6.436 6.62 6.436 3.713 0 6.621-2.827 6.621-6.436 0-3.275-2.431-5.99-5.596-6.48v-7.16c3.13-.428 5.54-2.817 5.971-5.924h7.656c.436 2.82 2.683 5.049 5.526 5.482v6.594c-3.462.473-6.049 3.34-6.049 6.924 0 3.925 3.1 7 7.057 7 3.956 0 7.056-3.075 7.056-7 0-3.584-2.586-6.451-6.048-6.924v-6.594c2.843-.433 5.09-2.662 5.526-5.482h8.085c.437 2.82 2.683 5.049 5.526 5.482v7.633c-3.171.484-5.612 3.203-5.612 6.483 0 3.59 2.908 6.402 6.62 6.402S68 65.188 68 61.598c0-3.28-2.44-5.999-5.613-6.483\" /></g></svg>;\nexport default SvgBatch;","import * as React from \"react\";\nconst SvgBedrock = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Bedrock_64\"}</title><g id=\"Icon-Architecture/64/Arch_Amazon-Bedrock_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Machine-Learning\" fill=\"#01a88d\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><g id=\"Icon-Service/64/Amazon-Bedrock_64\" fill=\"#fff\" transform=\"translate(12 12)\"><path id=\"Fill-1\" d=\"M52 27c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2M20.113 53.908l-3.248-1.894 6.665-4.166-1.06-1.696-7.557 4.723L9 47.425v-8.89l5.555-3.703-1.11-1.664-5.486 3.657L2 33.42v-4.84l6.496-3.712-.992-1.736L2 26.277V22.58l6-3.428 6 3.428v3.854l-4.515 2.709 1.03 1.714L15 28.166l4.485 2.69 1.03-1.713L16 26.433v-3.898l5.555-3.703c.278-.186.445-.498.445-.832v-7h-2v6.465l-5.041 3.36L9 17.42V8.574l5-2.916V14h2V4.49l4.113-2.398L28 4.72v28.713l-14.515 8.709 1.03 1.714L28 35.766v15.513zM50 38c0 1.103-.897 2-2 2s-2-.897-2-2 .897-2 2-2 2 .897 2 2M40 48c0 1.103-.897 2-2 2s-2-.897-2-2 .897-2 2-2 2 .897 2 2M39 8c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2-2-.897-2-2m13 13c-1.859 0-3.411 1.28-3.858 3H30v-5h11a1 1 0 0 0 1-1v-6.142c1.72-.447 3-2 3-3.858 0-2.206-1.794-4-4-4s-4 1.794-4 4c0 1.858 1.28 3.41 3 3.858V17H30V4a1 1 0 0 0-.684-.95l-9-3a1 1 0 0 0-.82.086l-12 7A1 1 0 0 0 7 8v9.42L.504 21.132A1 1 0 0 0 0 22v12c0 .359.192.69.504.868L7 38.58V48a1 1 0 0 0 .496.864l12 7a1 1 0 0 0 .82.085l9-3a1 1 0 0 0 .684-.95V40h7v4.143c-1.72.447-3 2-3 3.858 0 2.206 1.794 4 4 4s4-1.794 4-4c0-1.858-1.28-3.411-3-3.858V39a1 1 0 0 0-1-1h-8v-5h12.5l2.138 2.85A3.97 3.97 0 0 0 44 38c0 2.206 1.794 4 4 4s4-1.794 4-4-1.794-4-4-4a3.94 3.94 0 0 0-1.881.492L43.8 31.4a1 1 0 0 0-.8-.4H30v-5h18.142c.447 1.72 1.999 3 3.858 3 2.206 0 4-1.794 4-4s-1.794-4-4-4\" /></g></g></svg>;\nexport default SvgBedrock;","import * as React from \"react\";\nconst SvgCe = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Cost-Explorer_16\"}</title><defs><linearGradient id=\"linearGradient-ace\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Cost-Explorer_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/AWS-Cost-Management\" fill=\"url(#linearGradient-ace)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Cost-Explorer_Icon_16_Squid\" fill=\"#fff\" d=\"M18 17.989a.387.387 0 0 1-.548 0l-1.431-1.431q.308-.24.547-.548l1.431 1.431a.39.39 0 0 1 .001.548M11.983 14.1a2.13 2.13 0 0 1 2.127-2.128 2.13 2.13 0 0 1 2.127 2.128 2.13 2.13 0 0 1-2.127 2.127 2.13 2.13 0 0 1-2.127-2.127m6.724 2.634-1.645-1.645c.105-.312.175-.642.175-.989a3.13 3.13 0 0 0-3.127-3.128 3.13 3.13 0 0 0-3.127 3.128 3.13 3.13 0 0 0 3.127 3.127c.348 0 .677-.07.991-.175l1.643 1.644c.262.262.61.406.981.407h.001a1.386 1.386 0 0 0 .981-2.369M5.579 9.047c.286 0 .578.294.578.581s-.292.579-.578.579c-.287 0-.579-.292-.579-.579s.292-.581.579-.581m2.997 2.025c.287 0 .579.292.579.579 0 .286-.292.579-.579.579-.286 0-.578-.293-.578-.579 0-.287.292-.579.578-.579M12.59 7.05c.287 0 .579.292.579.579 0 .286-.292.579-.579.579s-.579-.293-.579-.579c0-.287.292-.579.579-.579M16.61 5c.287 0 .579.293.579.579 0 .287-.292.579-.579.579-.286 0-.578-.292-.578-.579 0-.286.292-.579.578-.579M6.079 11.112q.14-.051.268-.126l.666.529c-.004.045-.015.09-.015.136 0 .841.737 1.579 1.578 1.579s1.579-.738 1.579-1.579c0-.214-.049-.42-.133-.61l1.963-1.964c.188.084.393.131.605.131.841 0 1.579-.738 1.579-1.579q-.001-.147-.031-.287l1.367-.659c.29.29.684.475 1.105.475.841 0 1.579-.738 1.579-1.579S17.451 4 16.61 4c-.84 0-1.578.738-1.578 1.579 0 .072.013.141.023.211l-1.42.684a1.57 1.57 0 0 0-1.045-.424c-.841 0-1.579.738-1.579 1.579 0 .28.088.546.228.78l-1.887 1.888a1.5 1.5 0 0 0-.776-.225c-.435 0-.841.201-1.133.509l-.422-.336a1.5 1.5 0 0 0 .136-.617c0-.668-.467-1.264-1.078-1.485V4.1h-1v4.043C4.467 8.364 4 8.96 4 9.628s.467 1.263 1.079 1.484V18.1h6.031v-1H6.079z\" /></g></svg>;\nexport default SvgCe;","import * as React from \"react\";\nconst SvgCloudcontrol = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Cloud-Control-API_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-Cloud-Control-API_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"#c925d1\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><g id=\"Icon-Service/64/AWS-Cloud-Control-API_64\" fill=\"#fff\" transform=\"translate(12 18.15)\"><path id=\"Fill-1\" d=\"M2.053 28.764a7.1 7.1 0 0 1 1.712-5.556 6.94 6.94 0 0 1 5.186-2.34h24.506l-5.293 5.292 1.414 1.415 7-7a1 1 0 0 0 0-1.415l-7-7-1.414 1.415 5.293 5.293H8.951a8.94 8.94 0 0 0-6.683 3.014 9.1 9.1 0 0 0-2.2 7.123c.544 4.483 4.506 7.863 9.216 7.863h1.667v-2H9.284c-3.7 0-6.809-2.625-7.23-6.104m53.945-2.644c0 9.897-9.949 10.738-10.049 10.745l-27.368.002 5.293 5.293-1.414 1.415-7-7a1 1 0 0 1 0-1.415l7-7 1.414 1.415-5.293 5.293h27.295c.26-.023 8.122-.726 8.122-8.748 0-1.464-.274-2.784-.814-3.922-.696-1.465-1.84-2.659-3.399-3.548a11.2 11.2 0 0 0-1.876-.846 12.3 12.3 0 0 0-1.973-.512 1 1 0 0 1-.82-1.135l.005-.034a9 9 0 0 0-.256-2.125c-.534-2.09-1.902-3.498-3.754-3.859-1.794-.352-3.669.395-4.777 1.897a1 1 0 0 1-1.748-.261c-.823-2.333-2.013-4.294-3.539-5.828-1.873-1.885-7.016-5.938-14.27-2.855-4.195 1.781-7.48 6.914-7.48 11.683h-2c0-5.603 3.738-11.418 8.698-13.524 5.815-2.468 11.971-1.24 16.47 3.285 1.398 1.406 2.544 3.113 3.42 5.09 1.551-1.28 3.615-1.84 5.608-1.45 2.604.508 4.588 2.5 5.31 5.328.158.623.258 1.288.298 1.985q.741.173 1.467.426c.783.273 1.526.61 2.208.998 1.922 1.096 3.34 2.585 4.214 4.427.67 1.408 1.008 3.017 1.008 4.78\" /></g></g></svg>;\nexport default SvgCloudcontrol;","import * as React from \"react\";\nconst SvgCloudformation = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CloudFormation_64\"}</title><defs><linearGradient id=\"linearGradient-clf\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-CloudFormation_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Management-Governance\" fill=\"url(#linearGradient-clf)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-CloudFormation_Icon_64_Squid\" fill=\"#fff\" d=\"M53 39.963h5V37.96h-5zM28 51.982h5v-2.003h-5zm-10 0h7v-2.003h-7zm0-6.01h12V43.97H18zm0-12.018h9v-2.003h-9zm0 6.01h33V37.96H18zm19 22.033H14V27.945h23v8.012h2v-9.014c0-.553-.448-1.001-1-1.001H13a1 1 0 0 0-1 1.001v36.055A1 1 0 0 0 13 64h25c.552 0 1-.449 1-1.002v-20.03h-2zm31-25.038c0 6.472-5.827 8.723-8.908 9.01L43 45.971V43.97h16c.195-.023 7-.757 7-7.01 0-5.695-5.137-6.85-6.166-7.025a1 1 0 0 1-.825-1.126c-.055-3.218-2.028-4.223-2.883-4.508-1.596-.53-3.375-.023-4.316 1.24a1 1 0 0 1-1.742-.262c-.621-1.742-1.522-2.87-2.775-4.125-3.134-3.114-7.388-3.975-11.368-2.3-2.088.88-3.913 2.875-5.003 5.474l-1.844-.777c1.292-3.076 3.506-5.461 6.072-6.543 4.755-2.002 9.821-.981 13.554 2.727 1.07 1.073 1.956 2.117 2.646 3.47 1.493-1.106 3.507-1.437 5.407-.805 2.432.81 3.97 2.922 4.218 5.73 3.406.86 7.025 3.583 7.025 8.83\" /></g></svg>;\nexport default SvgCloudformation;","import * as React from \"react\";\nconst SvgCloudfront = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-CloudFront_64\"}</title><defs><linearGradient id=\"linearGradient-cfr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-CloudFront_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Networking-Content-Delivery\" fill=\"url(#linearGradient-cfr)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-CloudFront_Icon_64_Squid\" fill=\"#fff\" d=\"M55.122 52.123c0-1.654-1.346-3-3-3s-3 1.346-3 3 1.346 3 3 3 3-1.346 3-3m2 0c0 2.757-2.243 5-5 5s-5-2.243-5-5 2.243-5 5-5 5 2.243 5 5m-26.73-14.431c0-1.654-1.346-3-3-3-1.655 0-3 1.346-3 3s1.345 3 3 3c1.654 0 3-1.346 3-3m2 0c0 2.757-2.244 5-5 5-2.757 0-5-2.243-5-5s2.243-5 5-5c2.756 0 5 2.243 5 5m7.338-15.685c0 1.654 1.346 3 3 3 1.655 0 3-1.346 3-3 0-1.655-1.345-3-3-3-1.654 0-3 1.345-3 3m-2 0c0-2.757 2.244-5 5-5 2.757 0 5 2.243 5 5s-2.243 5-5 5c-2.756 0-5-2.243-5-5M66 40c0-9.273-4.972-17.852-12.988-22.491-1.437.29-2.827.687-4.561 1.314l-.68-1.881c.905-.326 1.715-.59 2.495-.816A25.95 25.95 0 0 0 40 14c-1.689 0-3.351.175-4.975.492a32 32 0 0 1 3.232 2.142l-1.209 1.593c-1.428-1.082-2.908-1.999-4.851-3.017-9.819 3.088-16.891 11.748-18.014 21.918a35 35 0 0 1 6.231-.698l.049 1.999c-2.3.057-4.276.301-6.436.776-.009.265-.027.533-.027.795a25.94 25.94 0 0 0 11.327 21.447c-1.253-3.731-1.877-7.257-1.877-10.701 0-1.964.338-3.577.695-5.284.083-.395.167-.797.249-1.214l1.963.387q-.127.635-.254 1.238c-.35 1.672-.653 3.116-.653 4.873 0 3.908.858 7.949 2.604 12.337A25.7 25.7 0 0 0 40 66c2.756 0 5.446-.44 8.012-1.286a33.5 33.5 0 0 0 2.378-6.015l1.921.557a36 36 0 0 1-1.602 4.421 25.4 25.4 0 0 0 4.574-2.672 36 36 0 0 0-1.124-2.506l1.789-.895c.348.696.667 1.408.972 2.124C62.705 54.775 66 47.66 66 40m2 0c0 8.727-3.966 16.799-10.879 22.149a27.5 27.5 0 0 1-5.532 3.323c-.833.378-1.681.728-2.553 1.022A27.5 27.5 0 0 1 40 68c-4.6 0-9.168-1.146-13.212-3.314A27.95 27.95 0 0 1 12 40c0-.686.018-1.208.059-1.691.681-11.684 8.697-21.797 19.942-25.143A27.7 27.7 0 0 1 40 12a27.87 27.87 0 0 1 13.684 3.579A28.03 28.03 0 0 1 68 40M37.314 25.463 36 23.956c-2.242 1.956-3.986 4.033-6.023 7.17l1.678 1.089c1.928-2.971 3.568-4.927 5.659-6.752m-3.039 12.964-.65 1.891c4.593 1.577 8.6 4.093 12.609 7.918l1.381-1.447c-4.226-4.031-8.465-6.688-13.34-8.362m13.371-11.759c3.752 5.722 5.865 12.003 6.279 18.67l-1.996.124c-.393-6.316-2.396-12.27-5.954-17.697z\" /></g></svg>;\nexport default SvgCloudfront;","import * as React from \"react\";\nconst SvgCloudtrail = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Cloud-Trail_64\"}</title><defs><linearGradient id=\"linearGradient-ctr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Cloud-Trail_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Management-Governance\" fill=\"url(#linearGradient-ctr)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Cloud-Trail_Icon_64_Squid\" fill=\"#fff\" d=\"M25 52.996h4v-2.002h-4zm34.971-14.833c-.225-3.037-1.71-5.273-4.069-6.063-1.899-.633-3.991-.186-5.584 1.113-.966-1.905-2.418-3.771-3.616-4.953-4.296-4.24-9.034-5.322-14.086-3.215C28.106 26.922 24 33.087 24 37.981v.19c-2.707.915-4.891 2.903-5.926 5.438l1.852.757c1.319-3.23 4.406-4.244 5.321-4.477.443-.113.753-.512.753-.97v-.938c0-4.045 3.657-9.536 7.385-11.088 4.295-1.79 8.193-.882 11.913 2.792 1.582 1.56 3.129 3.876 3.762 5.633a.999.999 0 0 0 1.739.262c1.105-1.47 2.897-2.106 4.47-1.58 1.735.58 2.731 2.397 2.731 4.982a1 1 0 0 0 .836.987c.733.122 7.164 1.383 7.164 8.022 0 6.877-6.719 7.005-7 7.007H36V57h23.002C62.114 56.994 68 55.104 68 47.991c0-6.207-4.721-9.002-8.029-9.828M31 52.996h14v-2.002H31zM27 57h6v-2.002h-6zm-15 0h3v-2.002h-3zm3-8.008h9V46.99h-9zm-2 4.004h10v-2.002H13zm14-4.004h7V46.99h-7zM17 57h8v-2.002h-8z\" /></g></svg>;\nexport default SvgCloudtrail;","import * as React from \"react\";\nconst SvgCloudwatch = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-CloudWatch_64\"}</title><defs><linearGradient id=\"linearGradient-cwl\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-CloudWatch_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Management-Governance\" fill=\"url(#linearGradient-cwl)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-CloudWatch_Icon_64_Squid\" fill=\"#fff\" d=\"M55.06 46.777c0-3.909-3.202-7.09-7.138-7.09s-7.136 3.181-7.136 7.09c0 3.91 3.2 7.09 7.136 7.09s7.137-3.18 7.137-7.09m2.01 0c0 5.011-4.103 9.087-9.147 9.087-5.043 0-9.147-4.076-9.147-9.087 0-5.01 4.104-9.086 9.147-9.086s9.148 4.076 9.148 9.086m8.44 13.697L58.5 54.203a13 13 0 0 1-1.947 2.16l6.998 6.27a1.474 1.474 0 0 0 2.066-.107 1.453 1.453 0 0 0-.108-2.052m-17.588-2.812c6.043 0 10.958-4.883 10.958-10.885s-4.915-10.884-10.958-10.884c-6.041 0-10.957 4.882-10.957 10.884s4.916 10.885 10.957 10.885m19.19 6.2A3.48 3.48 0 0 1 64.529 65a3.48 3.48 0 0 1-2.322-.883L54.931 57.6a12.94 12.94 0 0 1-7.009 2.06c-7.15 0-12.967-5.779-12.967-12.882s5.817-12.881 12.967-12.881 12.969 5.779 12.969 12.881c0 2.038-.492 3.96-1.344 5.674l7.309 6.54a3.444 3.444 0 0 1 .256 4.872M21.28 29.393c0 .519.032 1.036.094 1.536a.994.994 0 0 1-.823 1.106c-2.472.634-6.54 2.553-6.54 8.31 0 4.348 2.413 6.748 4.439 7.996.691.433 1.51.664 2.373.673l12.122.011-.002 1.997-12.131-.01c-1.246-.014-2.428-.351-3.428-.977C15.377 48.797 12 45.89 12 40.345c0-6.683 4.6-9.153 7.3-10.026q-.03-.462-.03-.926c0-5.46 3.728-11.123 8.672-13.171 5.782-2.407 11.908-1.214 16.384 3.189 1.388 1.364 2.529 3.02 3.404 4.937a6.5 6.5 0 0 1 4.154-1.502c3.002 0 6.382 2.264 6.984 7.215 2.812.644 8.753 2.894 8.753 10.362 0 2.981-.941 5.444-2.798 7.319l-1.433-1.401c1.473-1.488 2.22-3.479 2.22-5.918 0-6.532-5.504-8.157-7.873-8.551a1 1 0 0 1-.823-1.157c-.329-4.055-2.753-5.872-5.03-5.872-1.437 0-2.784.695-3.697 1.907a1.006 1.006 0 0 1-1.75-.258c-.823-2.266-2.01-4.171-3.525-5.661-3.88-3.816-9.184-4.85-14.195-2.766-4.17 1.727-7.437 6.702-7.437 11.328\" /></g></svg>;\nexport default SvgCloudwatch;","import * as React from \"react\";\nconst SvgCodeartifact = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CodeArtifact_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-CodeArtifact_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"#c925d1\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><g id=\"Icon-Service/64/AWS-CodeArtifact_64\" fill=\"#fff\" transform=\"translate(13 12)\"><path id=\"AWS-CodeArtifact_Icon_64_Squid\" d=\"m23.848 34.128 5.925-13.235 1.826.818-5.925 13.234zm8.295-4.031 3.559-2.596-3.135-3.18 1.424-1.404 3.949 4.005a.999.999 0 0 1-.122 1.51l-4.495 3.28zm-8.839-5.69-3.61 2.635 3.144 3.18-1.422 1.406-3.962-4.005a1.002 1.002 0 0 1 .122-1.511l4.548-3.32zM22.152 1.721 2 13.636v23.235H0V13.066a1 1 0 0 1 .492-.861L21.134 0zM55 18.871v24.064a1 1 0 0 1-.501.867L33.873 55.678l-.998-1.733L53 42.357V18.871zM43 36.664l-15.08 8.575L13 36.496V19.172l14.91-8.573L43 19.347zm2 .582V18.771a1 1 0 0 0-.498-.866L28.414 8.579a1 1 0 0 0-1-.002l-15.912 9.15a1 1 0 0 0-.502.867v18.475c0 .355.189.683.494.863l15.913 9.325a1 1 0 0 0 1 .006l16.087-9.148a1 1 0 0 0 .506-.869\" /></g></g></svg>;\nexport default SvgCodeartifact;","import * as React from \"react\";\nconst SvgCodebuild = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CodeBuild_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-CodeBuild_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"#c925d1\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-CodeBuild_Icon_64_Squid\" fill=\"#fff\" d=\"m65.44 22-5.954-5.451L53.526 22zm-8.238-6.062-12.078.018 6.451 5.127zM51.755 33.5 42.248 37h18.287zM37.798 57h26.798V39H37.798zm11.725-35-6.586-5.234L36.396 22zm-15.214-.885 6.44-5.152-12.837.019zM32.225 22l-6.572-5.274L19.08 22h13.145m-4.352 2h-8.03l8.03 7.965zm0 11.083-9.425 8.582 9.425 9.224zm0 21.054-9.925 9.702V66h9.925zm-9.925-10.174v17.09l8.736-8.54zm0-4.539 8.672-7.896-8.672-8.6zm-.993-20.276 6.43-5.159-6.43.01zM14.97 14h-1.985v10h1.985V14m53.963 9.36a.99.99 0 0 1-.926.64H52.686v8l13.278 5.074-.001.002a1 1 0 0 1 .618.924v20c0 .552-.444 1-.992 1H36.805a.997.997 0 0 1-.992-1V38c0-.428.27-.787.646-.929l-.003-.007L50.701 32v-8H29.858v43c0 .552-.444 1-.993 1h-11.91a.997.997 0 0 1-.992-1V26h-3.97A.997.997 0 0 1 11 25V13c0-.552.445-1 .993-1h3.97c.548 0 .992.448.992 1v.999L59.633 14l9.042 8.26c.303.278.406.715.258 1.1M48.34 55.308l5.776-13.225-1.816-.806-5.777 13.225zm5.426-4.42 1.283 1.527 4.288-3.658a1.007 1.007 0 0 0 .064-1.465l-3.579-3.659-1.413 1.405 2.826 2.89zM40.87 47.984a1 1 0 0 1 .08-1.541l4.87-3.631 1.182 1.607L43.1 47.33l3.275 3.024-1.342 1.475z\" /></g></svg>;\nexport default SvgCodebuild;","import * as React from \"react\";\nconst SvgCodecommit = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CodeCommit_64\"}</title><defs><linearGradient id=\"linearGradient-com\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-CodeCommit_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"url(#linearGradient-com)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-CodeCommit_Icon_64_Squid\" fill=\"#fff\" d=\"M26.628 28.105h-2.017v-6.982c0-.558.36-.99.926-.99l7.144-.007v1.994H27.95l4.862 4.819-1.445 1.434-4.806-4.728zm28.07 10.867 1.869.827-6.541 14.446-1.868-.827zm1.311 10.493 4.003-2.89-3.526-3.535 1.458-1.422 4.36 4.373a1.002 1.002 0 0 1-.126 1.527l-4.963 3.58zm-9.043-8.802 1.205 1.633-4.061 2.932 3.538 3.536-1.454 1.424-4.374-4.373a1 1 0 0 1 .124-1.528zM69 24.13v42.858c0 .56-.458 1.012-1.024 1.012h-31.26c-.272 0-.53-.107-.723-.297a.96.96 0 0 1-.285-.7V55.034h2.018v10.971h29.256V25.113H37.726v-1.995h30.25c.566 0 1.024.453 1.024 1.012M33.182 34.588c0-1.927 1.585-3.495 3.535-3.495s3.535 1.568 3.535 3.495-1.585 3.495-3.535 3.495-3.535-1.568-3.535-3.495M17.549 66.009c-1.95 0-3.535-1.568-3.535-3.495s1.585-3.494 3.535-3.494 3.535 1.567 3.535 3.494-1.585 3.495-3.535 3.495m-3.535-23.442c0-1.927 1.585-3.495 3.535-3.495 1.982 0 3.535 1.535 3.535 3.495 0 1.927-1.585 3.495-3.535 3.495s-3.535-1.568-3.535-3.495m.004-25.081c0-1.925 1.584-3.491 3.53-3.491 1.948 0 3.532 1.566 3.532 3.49s-1.584 3.491-3.531 3.491-3.531-1.566-3.531-3.49m23.708 29.762v-7.276c2.57-.477 4.535-2.708 4.535-5.384 0-3.022-2.487-5.482-5.544-5.482s-5.545 2.46-5.545 5.482c0 2.676 1.966 4.907 4.536 5.384v7.276c0 1.163-.786 2.218-1.98 2.686l-10.451 4.1c-1.673.657-2.903 1.948-3.434 3.496-.433-.195-.801-.336-1.285-.416v-9.146c2.623-.433 4.535-2.687 4.535-5.401 0-2.764-1.878-4.972-4.535-5.393V22.889c2.626-.431 4.54-2.688 4.54-5.403 0-3.025-2.49-5.486-5.55-5.486S12 14.46 12 17.486c0 2.64 2.022 4.85 4.54 5.369v14.347c-2.515.518-4.536 2.727-4.536 5.365s2.02 4.846 4.536 5.365v9.217c-2.515.52-4.536 2.727-4.536 5.365 0 3.022 2.488 5.482 5.545 5.482s5.544-2.46 5.544-5.482a5.43 5.43 0 0 0-1.458-3.693c.167-1.27 1.066-2.384 2.397-2.905l10.45-4.1c1.98-.777 3.244-2.57 3.244-4.568\" /></g></svg>;\nexport default SvgCodecommit;","import * as React from \"react\";\nconst SvgCodeconnections = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CodeStar_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-CodeStar_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"#c925d1\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-CodeStar_Icon_64_Squid\" fill=\"#fff\" d=\"M62.95 34.806a4.116 4.116 0 0 0-2.07-7.683 4.1 4.1 0 0 0-2.055.553 4.1 4.1 0 0 0-1.924 2.5 4.08 4.08 0 0 0 .412 3.123 4.136 4.136 0 0 0 5.637 1.507m2.56 4.21.994 1.719-4.83 2.781-1.204-6.203c-1.96-.137-3.824-1.2-4.879-3.022a6.05 6.05 0 0 1-.611-4.63 6.07 6.07 0 0 1 2.85-3.703 6.08 6.08 0 0 1 4.64-.61 6.07 6.07 0 0 1 3.712 2.843 6.1 6.1 0 0 1-2.238 8.333 6 6 0 0 1-1.483.612l.634 3.27zm-6.95 12.018a4.1 4.1 0 0 0-3.13-.412 4.1 4.1 0 0 0-2.505 1.919c-.778 1.343-.69 2.938.061 4.182l.855.984-.02.017c.19.161.391.313.614.44.955.55 2.067.696 3.13.412a4.116 4.116 0 0 0 .995-7.542m3.232 6.615a6.07 6.07 0 0 1-3.712 2.843 6.086 6.086 0 0 1-4.64-.61 6 6 0 0 1-1.134-.85l-1.428 1.236 2.415 1.389-.995 1.72-4.833-2.784 3.636-3.143a6.08 6.08 0 0 1 .102-5.901 6.07 6.07 0 0 1 3.712-2.842 6.08 6.08 0 0 1 4.64.609 6.06 6.06 0 0 1 2.848 3.704 6.05 6.05 0 0 1-.61 4.629m-21.652 4.25a4.128 4.128 0 0 0-8.253 0 4.127 4.127 0 0 0 8.253 0m1.989 0c0 3.364-2.743 6.101-6.116 6.101-3.371 0-6.114-2.737-6.114-6.101 0-.473.058-.932.162-1.374l-2.564-.886v2.99H25.51v-5.777l5.313 1.838a6.112 6.112 0 0 1 11.307 3.209m-19.37-15.927a4.1 4.1 0 0 0-2.504-1.919 4.1 4.1 0 0 0-3.13.412 4.1 4.1 0 0 0-1.923 2.5 4.07 4.07 0 0 0 .413 3.123 4.1 4.1 0 0 0 2.504 1.918 4.1 4.1 0 0 0 3.131-.411 4.115 4.115 0 0 0 1.51-5.623m-.514 7.34a6.08 6.08 0 0 1-4.64.61 6.07 6.07 0 0 1-3.713-2.842 6.05 6.05 0 0 1-.61-4.63 6.06 6.06 0 0 1 2.848-3.704c.286-.165.584-.298.887-.414L16.4 39.16l-2.404 1.388L13 38.831l4.821-2.784 1.143 5.885c.6-.022 1.209.046 1.805.204a6.07 6.07 0 0 1 3.714 2.844c1.685 2.912.68 6.651-2.238 8.333m1.932-30.746a4.131 4.131 0 0 0-5.636 1.507 4.08 4.08 0 0 0-.414 3.124 4.1 4.1 0 0 0 1.924 2.5c.954.55 2.065.697 3.13.41a4.116 4.116 0 0 0 .995-7.542m3.187.448a6.093 6.093 0 0 1-3.668 9.01 6.097 6.097 0 0 1-4.64-.61 6.07 6.07 0 0 1-2.85-3.703 6.05 6.05 0 0 1 .612-4.63c1.686-2.913 5.434-3.915 8.353-2.233.33.19.631.41.912.648l2.537-2.199-2.407-1.39.996-1.718 4.816 2.783zm20.092-4.912a4.128 4.128 0 0 0-8.254 0 4.127 4.127 0 0 0 4.127 4.117 4.126 4.126 0 0 0 4.127-4.117m6.377 4.597-5.097-1.754a6.12 6.12 0 0 1-5.407 3.258c-3.373 0-6.116-2.737-6.116-6.1 0-3.365 2.743-6.103 6.116-6.103s6.116 2.738 6.116 6.102c0 .327-.033.646-.084.96l2.484.855v-2.545h1.988zm-9.829 9.927-1.821-.797-7.006 15.92 1.822.798zm7.56 7.595-5.741-5.594-1.388 1.42 4.08 3.975-4.563 3.416 1.195 1.586zm-18.109 4.045-5.74-5.593 6.417-4.804 1.194 1.587-4.562 3.415 4.079 3.976z\" /></g></svg>;\nexport default SvgCodeconnections;","import * as React from \"react\";\nconst SvgCodedeploy = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CodeDeploy_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-CodeDeploy_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"#c925d1\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-CodeDeploy_Icon_64_Squid\" fill=\"#fff\" d=\"M28 66.982h26.001v-17.15h-26zm27.001-19.168h-28c-.554 0-1 .452-1 1.009v19.168c0 .557.446 1.009 1 1.009h28c.553 0 1-.452 1-1.009V48.823c0-.557-.447-1.009-1-1.009M37.096 65.2l6.056-13.872 1.83.814-6.056 13.872zm11.441-6.688-3.406-3.344 1.394-1.447 4.246 4.169a1.016 1.016 0 0 1-.099 1.531L45.925 63l-1.197-1.615zm-17.147-.352a1.012 1.012 0 0 1 .098-1.53l4.748-3.58 1.198 1.614-3.81 2.873 3.407 3.346-1.394 1.446zM66.044 35.05c-1.92-1.872-4.472-2.903-7.19-2.903-3.542 0-6.435 1.26-8.228 3.36-.44-9.668-2.65-17.446-5.81-21.15 11.31 1.709 19.895 10.065 21.794 21.251a59 59 0 0 0-.566-.558m-17.978.347-.358-.347c-1.919-1.872-4.477-2.903-7.201-2.903-3.465 0-6.285 1.166-8.08 3.152.66-12.71 4.556-21.274 8.089-21.281h.017c3.591.022 7.554 8.884 8.11 21.95a40 40 0 0 0-.577-.57m-17.679.674a38 38 0 0 0-.845-.845l-.18-.176c-1.92-1.872-4.477-2.903-7.202-2.903-3.093 0-5.701.937-7.505 2.573 2.377-10.716 10.78-18.675 21.564-20.358-3.218 3.778-5.453 11.783-5.832 21.71M40.527 12C24.857 12 12.602 23.942 12 39.78c-.014.378.198.72.507.91l10.242 6.734 1.092-1.691-9.688-6.36c.51-2.16 2.087-3.785 4.353-4.608 1.076-.39 2.307-.6 3.653-.6 2.203 0 4.267.829 5.811 2.336l.181.176c1.38 1.344 2.196 3.799 2.196 3.808.007.061 1.37 5.155 1.37 5.155l1.929-.528-1.299-4.836.008-.123c.485-4.416 4.528-5.989 8.15-5.989 2.204 0 4.267.83 5.811 2.337 0 0 2.18 1.675 2.34 3.647l.01.134-1.312 4.827 1.93.534 1.364-5.03q.01-.057.016-.124c.271-3.854 3.482-6.325 8.19-6.325 2.195 0 4.254.83 5.798 2.337 1.2 1.17 2.046 2.056 2.28 2.927l-8.638 6.068 1.143 1.656 9.135-6.418c.249-.197.428-.905.427-.943C68.72 23.948 56.497 12.01 40.527 12\" /></g></svg>;\nexport default SvgCodedeploy;","import * as React from \"react\";\nconst SvgCodepipeline = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CodePipeline_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-CodePipeline_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"#c925d1\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-CodePipeline_Icon_64_Squid\" fill=\"#fff\" d=\"M30 31h5v-2h-5zm6.667 30.166-1.85-.759 7.592-18.522 1.85.759zm8.904-5.386 5.497-4.822-5.493-4.761 1.311-1.512 6.359 5.513a1.002 1.002 0 0 1 .004 1.508l-6.359 5.578zm-20.062-4.732a1 1 0 0 1 .338-.755l6.337-5.602 1.324 1.499-5.479 4.843 5.449 4.697-1.307 1.515-6.316-5.446a1 1 0 0 1-.346-.751M62.535 35h-44.07A3.47 3.47 0 0 1 15 31.536V31h12v-2H15V18.464A3.47 3.47 0 0 1 18.465 15h44.07A3.47 3.47 0 0 1 66 18.464V29H38v2h28v.536A3.47 3.47 0 0 1 62.535 35M22 66h36V37H22zm40.535-53h-44.07A5.47 5.47 0 0 0 13 18.464v13.072A5.47 5.47 0 0 0 18.465 37H20v30a1 1 0 0 0 1 1h38a1 1 0 0 0 1-1V37h2.535A5.47 5.47 0 0 0 68 31.536V18.464A5.47 5.47 0 0 0 62.535 13\" /></g></svg>;\nexport default SvgCodepipeline;","import * as React from \"react\";\nconst SvgCodestarConnections = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CodeStar_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-CodeStar_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"#c925d1\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-CodeStar_Icon_64_Squid\" fill=\"#fff\" d=\"M62.95 34.806a4.116 4.116 0 0 0-2.07-7.683 4.1 4.1 0 0 0-2.055.553 4.1 4.1 0 0 0-1.924 2.5 4.08 4.08 0 0 0 .412 3.123 4.136 4.136 0 0 0 5.637 1.507m2.56 4.21.994 1.719-4.83 2.781-1.204-6.203c-1.96-.137-3.824-1.2-4.879-3.022a6.05 6.05 0 0 1-.611-4.63 6.07 6.07 0 0 1 2.85-3.703 6.08 6.08 0 0 1 4.64-.61 6.07 6.07 0 0 1 3.712 2.843 6.1 6.1 0 0 1-2.238 8.333 6 6 0 0 1-1.483.612l.634 3.27zm-6.95 12.018a4.1 4.1 0 0 0-3.13-.412 4.1 4.1 0 0 0-2.505 1.919c-.778 1.343-.69 2.938.061 4.182l.855.984-.02.017c.19.161.391.313.614.44.955.55 2.067.696 3.13.412a4.116 4.116 0 0 0 .995-7.542m3.232 6.615a6.07 6.07 0 0 1-3.712 2.843 6.086 6.086 0 0 1-4.64-.61 6 6 0 0 1-1.134-.85l-1.428 1.236 2.415 1.389-.995 1.72-4.833-2.784 3.636-3.143a6.08 6.08 0 0 1 .102-5.901 6.07 6.07 0 0 1 3.712-2.842 6.08 6.08 0 0 1 4.64.609 6.06 6.06 0 0 1 2.848 3.704 6.05 6.05 0 0 1-.61 4.629m-21.652 4.25a4.128 4.128 0 0 0-8.253 0 4.127 4.127 0 0 0 8.253 0m1.989 0c0 3.364-2.743 6.101-6.116 6.101-3.371 0-6.114-2.737-6.114-6.101 0-.473.058-.932.162-1.374l-2.564-.886v2.99H25.51v-5.777l5.313 1.838a6.112 6.112 0 0 1 11.307 3.209m-19.37-15.927a4.1 4.1 0 0 0-2.504-1.919 4.1 4.1 0 0 0-3.13.412 4.1 4.1 0 0 0-1.923 2.5 4.07 4.07 0 0 0 .413 3.123 4.1 4.1 0 0 0 2.504 1.918 4.1 4.1 0 0 0 3.131-.411 4.115 4.115 0 0 0 1.51-5.623m-.514 7.34a6.08 6.08 0 0 1-4.64.61 6.07 6.07 0 0 1-3.713-2.842 6.05 6.05 0 0 1-.61-4.63 6.06 6.06 0 0 1 2.848-3.704c.286-.165.584-.298.887-.414L16.4 39.16l-2.404 1.388L13 38.831l4.821-2.784 1.143 5.885c.6-.022 1.209.046 1.805.204a6.07 6.07 0 0 1 3.714 2.844c1.685 2.912.68 6.651-2.238 8.333m1.932-30.746a4.131 4.131 0 0 0-5.636 1.507 4.08 4.08 0 0 0-.414 3.124 4.1 4.1 0 0 0 1.924 2.5c.954.55 2.065.697 3.13.41a4.116 4.116 0 0 0 .995-7.542m3.187.448a6.093 6.093 0 0 1-3.668 9.01 6.097 6.097 0 0 1-4.64-.61 6.07 6.07 0 0 1-2.85-3.703 6.05 6.05 0 0 1 .612-4.63c1.686-2.913 5.434-3.915 8.353-2.233.33.19.631.41.912.648l2.537-2.199-2.407-1.39.996-1.718 4.816 2.783zm20.092-4.912a4.128 4.128 0 0 0-8.254 0 4.127 4.127 0 0 0 4.127 4.117 4.126 4.126 0 0 0 4.127-4.117m6.377 4.597-5.097-1.754a6.12 6.12 0 0 1-5.407 3.258c-3.373 0-6.116-2.737-6.116-6.1 0-3.365 2.743-6.103 6.116-6.103s6.116 2.738 6.116 6.102c0 .327-.033.646-.084.96l2.484.855v-2.545h1.988zm-9.829 9.927-1.821-.797-7.006 15.92 1.822.798zm7.56 7.595-5.741-5.594-1.388 1.42 4.08 3.975-4.563 3.416 1.195 1.586zm-18.109 4.045-5.74-5.593 6.417-4.804 1.194 1.587-4.562 3.415 4.079 3.976z\" /></g></svg>;\nexport default SvgCodestarConnections;","import * as React from \"react\";\nconst SvgCognitoIdentity = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Cognito_64\"}</title><defs><linearGradient id=\"linearGradient-cgn\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Cognito_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"url(#linearGradient-cgn)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Cognito_Icon_64_Squid\" fill=\"#fff\" d=\"M16.964 35.808h12.905v-1.983H16.964zM61.376 50.23l1.403 1.402-7.372 7.36a.994.994 0 0 1-1.403 0l-3.71-3.702L51.7 53.89l3.006 3.001zm4.568 5.463a9.44 9.44 0 0 1-2.197 5.015 9.55 9.55 0 0 1-3.143 2.406 9.37 9.37 0 0 1-5.158.833 9.4 9.4 0 0 1-4.706-1.966 9.43 9.43 0 0 1-3.518-8.573 9.47 9.47 0 0 1 5.058-7.282 9.34 9.34 0 0 1 5.441-.972 9.43 9.43 0 0 1 7.26 5.088 9.45 9.45 0 0 1 .963 5.45m.806-6.35a11.406 11.406 0 0 0-15.381-4.978 11.45 11.45 0 0 0-6.118 8.805 11.4 11.4 0 0 0 4.254 10.364A11.38 11.38 0 0 0 56.592 66c1.68 0 3.338-.37 4.864-1.094a11.5 11.5 0 0 0 3.801-2.91 11.4 11.4 0 0 0 2.659-6.064 11.4 11.4 0 0 0-1.166-6.588m-39.86-7.588h3.972v-1.983H26.89zm-9.926 0h7.941v-1.983h-7.941zm-.858-25.773h44.402c1.17 0 2.12 1.156 2.12 2.578v7.334H59.65V20.94a.99.99 0 0 0-.993-.991H35.825a.99.99 0 0 0-.993.99v4.957H13.985v-7.334c0-1.398.972-2.578 2.12-2.578m31.15 9.625c2.305 0 4.18 1.853 4.18 4.131a4.11 4.11 0 0 1-2.163 3.608 4.25 4.25 0 0 1-4.043 0 4.11 4.11 0 0 1-2.154-3.608c0-2.278 1.874-4.131 4.18-4.131m-33.27 21.5v-19.23h20.846v16.851c0 .549.444.992.993.992h10.378v-1.983h-8.291a9.02 9.02 0 0 1 6.522-8.488c1.755.82 3.85.828 5.633-.001a9.1 9.1 0 0 1 5.226 4.005l1.699-1.027a11.1 11.1 0 0 0-5.147-4.432 6.05 6.05 0 0 0 1.577-4.056c0-3.37-2.767-6.114-6.166-6.114s-6.166 2.743-6.166 6.114c0 1.518.578 2.944 1.564 4.045a11 11 0 0 0-5.836 5.789V21.93h20.847v15.86h1.985v-9.912h2.978l.001 14.869h1.986l-.001-24.186c0-2.515-1.842-4.561-4.106-4.561H16.106C13.84 14 12 16.046 12 18.56v28.548c0 2.515 1.841 4.56 4.106 4.56h26.668v-1.982H16.106c-1.149 0-2.12-1.18-2.12-2.578\" /></g></svg>;\nexport default SvgCognitoIdentity;","import * as React from \"react\";\nconst SvgCognitoIdp = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Cognito_64\"}</title><defs><linearGradient id=\"linearGradient-cgn\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Cognito_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"url(#linearGradient-cgn)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Cognito_Icon_64_Squid\" fill=\"#fff\" d=\"M16.964 35.808h12.905v-1.983H16.964zM61.376 50.23l1.403 1.402-7.372 7.36a.994.994 0 0 1-1.403 0l-3.71-3.702L51.7 53.89l3.006 3.001zm4.568 5.463a9.44 9.44 0 0 1-2.197 5.015 9.55 9.55 0 0 1-3.143 2.406 9.37 9.37 0 0 1-5.158.833 9.4 9.4 0 0 1-4.706-1.966 9.43 9.43 0 0 1-3.518-8.573 9.47 9.47 0 0 1 5.058-7.282 9.34 9.34 0 0 1 5.441-.972 9.43 9.43 0 0 1 7.26 5.088 9.45 9.45 0 0 1 .963 5.45m.806-6.35a11.406 11.406 0 0 0-15.381-4.978 11.45 11.45 0 0 0-6.118 8.805 11.4 11.4 0 0 0 4.254 10.364A11.38 11.38 0 0 0 56.592 66c1.68 0 3.338-.37 4.864-1.094a11.5 11.5 0 0 0 3.801-2.91 11.4 11.4 0 0 0 2.659-6.064 11.4 11.4 0 0 0-1.166-6.588m-39.86-7.588h3.972v-1.983H26.89zm-9.926 0h7.941v-1.983h-7.941zm-.858-25.773h44.402c1.17 0 2.12 1.156 2.12 2.578v7.334H59.65V20.94a.99.99 0 0 0-.993-.991H35.825a.99.99 0 0 0-.993.99v4.957H13.985v-7.334c0-1.398.972-2.578 2.12-2.578m31.15 9.625c2.305 0 4.18 1.853 4.18 4.131a4.11 4.11 0 0 1-2.163 3.608 4.25 4.25 0 0 1-4.043 0 4.11 4.11 0 0 1-2.154-3.608c0-2.278 1.874-4.131 4.18-4.131m-33.27 21.5v-19.23h20.846v16.851c0 .549.444.992.993.992h10.378v-1.983h-8.291a9.02 9.02 0 0 1 6.522-8.488c1.755.82 3.85.828 5.633-.001a9.1 9.1 0 0 1 5.226 4.005l1.699-1.027a11.1 11.1 0 0 0-5.147-4.432 6.05 6.05 0 0 0 1.577-4.056c0-3.37-2.767-6.114-6.166-6.114s-6.166 2.743-6.166 6.114c0 1.518.578 2.944 1.564 4.045a11 11 0 0 0-5.836 5.789V21.93h20.847v15.86h1.985v-9.912h2.978l.001 14.869h1.986l-.001-24.186c0-2.515-1.842-4.561-4.106-4.561H16.106C13.84 14 12 16.046 12 18.56v28.548c0 2.515 1.841 4.56 4.106 4.56h26.668v-1.982H16.106c-1.149 0-2.12-1.18-2.12-2.578\" /></g></svg>;\nexport default SvgCognitoIdp;","import * as React from \"react\";\nconst SvgConfig = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Config_16\"}</title><defs><linearGradient id=\"linearGradient-cf\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Config_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Management-Governance\" fill=\"url(#linearGradient-cf)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Config_Icon_16_Squid\" fill=\"#fff\" d=\"M16.059 15.04a.547.547 0 1 0-1.076.198.547.547 0 0 0 1.076-.198m.984-.178a1.548 1.548 0 0 1-1.521 1.822A1.55 1.55 0 0 1 14 15.414a1.54 1.54 0 0 1 .251-1.157c.236-.339.589-.567.996-.64a1.55 1.55 0 0 1 1.796 1.245m1.546.908-.003-1.297-.899-.103a.5.5 0 0 1-.348-.203l-.338-.463a.5.5 0 0 1-.086-.392l.176-.889-1.235-.399-.372.816a.5.5 0 0 1-.304.269l-.562.179a.5.5 0 0 1-.396-.04l-.778-.436-.761 1.052.663.608a.5.5 0 0 1 .162.365l.004.58a.5.5 0 0 1-.16.371l-.664.615.766 1.048.786-.445a.5.5 0 0 1 .402-.04l.551.18c.132.044.239.14.298.266l.378.818 1.233-.404-.178-.873a.5.5 0 0 1 .083-.39l.343-.481a.5.5 0 0 1 .348-.206zm1.001.443a.5.5 0 0 1-.44.497l-1.114.133-.088.124.222 1.096a.5.5 0 0 1-.335.575l-2.078.681a.5.5 0 0 1-.609-.265l-.474-1.025-.135-.044-.981.555a.5.5 0 0 1-.649-.14l-1.29-1.766a.5.5 0 0 1 .063-.662l.828-.768v-.143l-.831-.761a.5.5 0 0 1-.067-.662l1.282-1.772a.5.5 0 0 1 .649-.143l.978.546.145-.046.465-1.019a.495.495 0 0 1 .609-.268l2.081.672a.5.5 0 0 1 .337.572l-.219 1.111.08.111 1.123.128a.5.5 0 0 1 .443.495zm-3.601-6.26V7.984H17v-1h-1.011V5.953h-1v1.031h-.957v1h.957v1.969zm-3.94 2V9.996H13v-1h-.951V5.953h-1v3.043h-1.017v1h1.017v1.957zm-4.023 3V8.91H9v-1h-.974V5.953h-1V7.91h-.994v1h.994v6.043zM5 15.984h5v1H4.5a.5.5 0 0 1-.5-.5V4.5a.5.5 0 0 1 .5-.5h14.047a.5.5 0 0 1 .5.5v5.453h-1V5H5z\" /></g></svg>;\nexport default SvgConfig;","import * as React from \"react\";\nconst SvgDms = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Database-Migration-Service_64\"}</title><defs><linearGradient id=\"linearGradient-dms\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#055f4e\" /><stop offset=\"100%\" stopColor=\"#56c0a7\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Database-Migration-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-dms)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Database-Migration-Service_Icon_64_Squid\" fill=\"#fff\" d=\"M44 67h2v-7h-2zm-9-.14h2V60h-2zM53 65h2v-6h-2zm-27 0h2v-6h-2zm14-30c-7.511 0-12-2.034-12-4v-7.641C30.32 25.022 34.533 26 40 26c4.983 0 10.225-.894 13-2.8V31c0 1.932-5.223 4-13 4m0 10c-7.511 0-12-2.034-12-4v-6.641C30.32 36.022 34.533 37 40 37c4.983 0 10.225-.894 13-2.8V41c0 1.932-5.223 4-13 4m0 10c-7.794 0-12-2.061-12-4v-6.641C30.32 46.022 34.533 47 40 47c4.983 0 10.225-.894 13-2.8V51c0 1.932-5.223 4-13 4m0-39c7.661 0 13 2.108 13 4s-5.339 4-13 4c-7.511 0-12-2.034-12-4s4.489-4 12-4m0-2c-8.505 0-14 2.355-14 6v31c0 3.645 5.495 6 14 6 7.225 0 15-1.877 15-6V20c0-4.123-7.775-6-15-6\" /></g></svg>;\nexport default SvgDms;","import * as React from \"react\";\nconst SvgDocdb = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-DocumentDB_16\"}</title><defs><linearGradient id=\"linearGradient-dcdb\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-DocumentDB_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Database\" fill=\"url(#linearGradient-dcdb)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-DocumentDB_Icon_16_Squid\" fill=\"#fff\" d=\"M9.5 5.032c2.747 0 4.5.917 4.5 1.549s-1.753 1.548-4.5 1.548S5 7.212 5 6.581c0-.632 1.753-1.549 4.5-1.549m0 7.742c1.019 0 2.007-.122 2.859-.352l-.254-.999c-.77.21-1.67.319-2.605.319-2.747 0-4.5-.917-4.5-1.548V8.107c1.061.69 2.813 1.054 4.5 1.054s3.439-.363 4.5-1.054v1.054h1V6.577C14.994 4.903 12.164 4 9.5 4c-2.605 0-5.364.866-5.488 2.47H4v11.174C4 19.191 6.552 20 9.073 20c1.167 0 2.298-.172 3.182-.485l-.324-.978c-.784.278-1.798.43-2.858.43-2.636 0-4.073-.874-4.073-1.323V15.85c1.061.69 2.813 1.054 4.5 1.054 1.019 0 2.007-.122 2.859-.352l-.254-.999c-.77.21-1.67.319-2.605.319-2.747 0-4.5-.917-4.5-1.548V11.72c1.061.69 2.813 1.054 4.5 1.054m9.5-.516h-1v-1.032h.1l.9.884zm0 6.194h-5v-7.226h3v1.548c0 .285.224.516.5.516H19zm.845-6.936-1.2-1.18a.5.5 0 0 0-.345-.142h-4.8c-.276 0-.5.23-.5.516v8.258c0 .285.224.516.5.516h6c.276 0 .5-.231.5-.516V11.89a.52.52 0 0 0-.155-.374\" /></g></svg>;\nexport default SvgDocdb;","import * as React from \"react\";\nconst SvgDynamodb = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-DynamoDB_64\"}</title><defs><linearGradient id=\"linearGradient-ddb\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-DynamoDB_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-ddb)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-DynamoDB_Icon_64_Squid\" fill=\"#fff\" d=\"M52.086 54.85c-3.338 2.699-10.341 4.125-17.042 4.125S21.337 57.548 18 54.85v5.436h.001c0 2.71 6.999 5.731 17.043 5.731 10.036 0 17.031-3.017 17.042-5.726zm.001-10.328 2-.01v.01c0 1.208-.605 2.336-1.783 3.369 1.428 1.256 1.783 2.489 1.783 3.367l-.001.017v9.01c0 5.01-9.811 7.715-19.042 7.715-9.209 0-18.994-2.693-19.041-7.68q-.002-.008-.003-.016v-9.05l.002-.007c.003-.878.359-2.106 1.785-3.36-1.417-1.251-1.777-2.472-1.786-3.343h.001l-.002-.01v-9.05l.002-.01c.003-.877.36-2.105 1.786-3.357-1.418-1.252-1.778-2.474-1.787-3.344h.001L16 28.76v-9.048l.002-.01C16.019 14.7 25.82 12 35.044 12c5.211 0 10.217.828 13.734 2.272l-.765 1.833c-3.283-1.348-8.01-2.121-12.969-2.121-10.044 0-17.043 3.02-17.043 5.733S25 25.45 35.044 25.45c.271.003.536 0 .804-.01l.084 1.982c-.296.012-.592.012-.888.012-6.702 0-13.707-1.427-17.044-4.126v5.432h.001v.023c.01 1.04 1.077 1.949 1.971 2.526 2.69 1.715 7.51 2.886 12.885 3.13l-.091 1.981c-5.445-.247-10.213-1.377-13.282-3.108-.756.565-1.483 1.33-1.483 2.197 0 2.711 6.999 5.732 17.043 5.732.985 0 1.963-.032 2.908-.098l.139 1.979c-.99.068-2.016.103-3.047.103-6.702 0-13.707-1.427-17.044-4.126v5.432h.001c.01 1.064 1.077 1.971 1.971 2.55 3.076 1.962 8.852 3.184 15.072 3.184h.44v1.984h-.44c-6.319 0-12.062-1.174-15.574-3.156-.752.564-1.469 1.325-1.469 2.185 0 2.712 6.999 5.734 17.043 5.734 10.036 0 17.031-3.018 17.042-5.727v-.011c-.002-.862-.722-1.623-1.476-2.187-.488.277-1.011.543-1.606.788l-.766-1.833c.726-.298 1.356-.62 1.873-.96.902-.588 1.976-1.507 1.976-2.54m8.566-14.505h-5.604a1 1 0 0 1-.827-.435.98.98 0 0 1-.103-.922l3.409-8.522H44.619l-6 11.902h6.382c.319 0 .619.152.808.407a.99.99 0 0 1 .145.886L40.258 51.09zm3.069-.305L38.723 55.54a1.006 1.006 0 0 1-1.233.165.99.99 0 0 1-.442-1.153l6.586-20.528h-6.633c-.347 0-.668-.178-.851-.47a.98.98 0 0 1-.043-.965l7-13.886a1 1 0 0 1 .894-.549h15c.33 0 .642.164.827.435a.98.98 0 0 1 .103.923l-3.41 8.521H63c.4 0 .763.238.92.603a.99.99 0 0 1-.198 1.076M19.455 60.674c1.417.799 3.201 1.47 5.302 1.994l.488-1.924c-1.899-.473-3.559-1.094-4.802-1.794zM24.757 46.8l.488-1.924c-1.899-.474-3.559-1.095-4.802-1.795l-.988 1.725c1.417.798 3.2 1.47 5.302 1.994m-5.302-17.863.988-1.725c1.241.7 2.902 1.32 4.802 1.795l-.488 1.923c-2.104-.525-3.887-1.196-5.302-1.993\" /></g></svg>;\nexport default SvgDynamodb;","import * as React from \"react\";\nconst SvgDynamodbstreams = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-DynamoDB_64\"}</title><defs><linearGradient id=\"linearGradient-ddb\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-DynamoDB_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-ddb)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-DynamoDB_Icon_64_Squid\" fill=\"#fff\" d=\"M52.086 54.85c-3.338 2.699-10.341 4.125-17.042 4.125S21.337 57.548 18 54.85v5.436h.001c0 2.71 6.999 5.731 17.043 5.731 10.036 0 17.031-3.017 17.042-5.726zm.001-10.328 2-.01v.01c0 1.208-.605 2.336-1.783 3.369 1.428 1.256 1.783 2.489 1.783 3.367l-.001.017v9.01c0 5.01-9.811 7.715-19.042 7.715-9.209 0-18.994-2.693-19.041-7.68q-.002-.008-.003-.016v-9.05l.002-.007c.003-.878.359-2.106 1.785-3.36-1.417-1.251-1.777-2.472-1.786-3.343h.001l-.002-.01v-9.05l.002-.01c.003-.877.36-2.105 1.786-3.357-1.418-1.252-1.778-2.474-1.787-3.344h.001L16 28.76v-9.048l.002-.01C16.019 14.7 25.82 12 35.044 12c5.211 0 10.217.828 13.734 2.272l-.765 1.833c-3.283-1.348-8.01-2.121-12.969-2.121-10.044 0-17.043 3.02-17.043 5.733S25 25.45 35.044 25.45c.271.003.536 0 .804-.01l.084 1.982c-.296.012-.592.012-.888.012-6.702 0-13.707-1.427-17.044-4.126v5.432h.001v.023c.01 1.04 1.077 1.949 1.971 2.526 2.69 1.715 7.51 2.886 12.885 3.13l-.091 1.981c-5.445-.247-10.213-1.377-13.282-3.108-.756.565-1.483 1.33-1.483 2.197 0 2.711 6.999 5.732 17.043 5.732.985 0 1.963-.032 2.908-.098l.139 1.979c-.99.068-2.016.103-3.047.103-6.702 0-13.707-1.427-17.044-4.126v5.432h.001c.01 1.064 1.077 1.971 1.971 2.55 3.076 1.962 8.852 3.184 15.072 3.184h.44v1.984h-.44c-6.319 0-12.062-1.174-15.574-3.156-.752.564-1.469 1.325-1.469 2.185 0 2.712 6.999 5.734 17.043 5.734 10.036 0 17.031-3.018 17.042-5.727v-.011c-.002-.862-.722-1.623-1.476-2.187-.488.277-1.011.543-1.606.788l-.766-1.833c.726-.298 1.356-.62 1.873-.96.902-.588 1.976-1.507 1.976-2.54m8.566-14.505h-5.604a1 1 0 0 1-.827-.435.98.98 0 0 1-.103-.922l3.409-8.522H44.619l-6 11.902h6.382c.319 0 .619.152.808.407a.99.99 0 0 1 .145.886L40.258 51.09zm3.069-.305L38.723 55.54a1.006 1.006 0 0 1-1.233.165.99.99 0 0 1-.442-1.153l6.586-20.528h-6.633c-.347 0-.668-.178-.851-.47a.98.98 0 0 1-.043-.965l7-13.886a1 1 0 0 1 .894-.549h15c.33 0 .642.164.827.435a.98.98 0 0 1 .103.923l-3.41 8.521H63c.4 0 .763.238.92.603a.99.99 0 0 1-.198 1.076M19.455 60.674c1.417.799 3.201 1.47 5.302 1.994l.488-1.924c-1.899-.473-3.559-1.094-4.802-1.794zM24.757 46.8l.488-1.924c-1.899-.474-3.559-1.095-4.802-1.795l-.988 1.725c1.417.798 3.2 1.47 5.302 1.994m-5.302-17.863.988-1.725c1.241.7 2.902 1.32 4.802 1.795l-.488 1.923c-2.104-.525-3.887-1.196-5.302-1.993\" /></g></svg>;\nexport default SvgDynamodbstreams;","import * as React from \"react\";\nconst SvgEc2 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-EC2_64\"}</title><defs><linearGradient id=\"linearGradient-ec2\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-EC2_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Compute\" fill=\"url(#linearGradient-ec2)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-EC2_Icon_64_Squid\" fill=\"#fff\" d=\"M27 53h25V28H27zm27-25h4v2h-4v4h4v2h-4v3h4v2h-4v4h4v2h-4v4h4v2h-4v.136A1.866 1.866 0 0 1 52.136 55H52v4h-2v-4h-4v4h-2v-4h-3v4h-2v-4h-4v4h-2v-4h-4v4h-2v-4h-.136A1.866 1.866 0 0 1 25 53.136V53h-3v-2h3v-4h-3v-2h3v-4h-3v-2h3v-3h-3v-2h3v-4h-3v-2h3v-.136c0-1.028.836-1.864 1.864-1.864H27v-4h2v4h4v-4h2v4h4v-4h2v4h3v-4h2v4h4v-4h2v4h.136c1.028 0 1.864.836 1.864 1.864zM41 65.876a.125.125 0 0 1-.124.124H14.124a.125.125 0 0 1-.124-.124V39.124c0-.068.056-.124.124-.124H20v-2h-5.876A2.127 2.127 0 0 0 12 39.124v26.752c0 1.171.953 2.124 2.124 2.124h26.752A2.127 2.127 0 0 0 43 65.876V61h-2zm27-51.752v26.752A2.127 2.127 0 0 1 65.876 43H60v-2h5.876a.125.125 0 0 0 .124-.124V14.124a.125.125 0 0 0-.124-.124H39.124a.125.125 0 0 0-.124.124V20h-2v-5.876c0-1.171.953-2.124 2.124-2.124h26.752c1.171 0 2.124.953 2.124 2.124\" /></g></svg>;\nexport default SvgEc2;","import * as React from \"react\";\nconst SvgEcr = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Elastic-Container-Registry_64\"}</title><defs><linearGradient id=\"linearGradient-ecr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Elastic-Container-Registry_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Containers\" fill=\"url(#linearGradient-ecr)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Elastic-Container-Registry_Icon_64_Squid\" fill=\"#fff\" d=\"M38.788 37.578a1.62 1.62 0 0 0-.802 1.396V66.72L16.999 54.984V27.708l23.558-13.65 20.928 10.37zM63.92 24.402c0-.574-.307-1.11-.86-1.427l-21.714-10.76a1.6 1.6 0 0 0-1.606 0L15.802 26.085A1.62 1.62 0 0 0 15 27.48v27.736c0 .573.308 1.108.817 1.404l21.757 12.165a1.607 1.607 0 0 0 2.41-1.396V39.201l23.134-13.403c.495-.287.802-.821.802-1.396m.05 30.645L44.98 66.661v-10.4l9.901-6.388.068-.449c.018-.117.025-.117.025-.658l.03-12.406L64 31.148zm1.227-25.975a1.6 1.6 0 0 0-1.608 0l-9.575 5.546c-.3.164-1.006.548-1.006 1.34l-.032 12.76-9.125 5.888c-.545.325-.869.84-.869 1.383v11.32c0 .566.305 1.082.816 1.378.267.154.564.232.86.232.29 0 .581-.074.844-.227l19.666-12.028c.494-.288.8-.822.8-1.393L66 30.466c0-.573-.308-1.108-.803-1.394\" /></g></svg>;\nexport default SvgEcr;","import * as React from \"react\";\nconst SvgEcs = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Elastic-Container-Service_64\"}</title><defs><linearGradient id=\"linearGradient-ecs\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Elastic-Container-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Containers\" fill=\"url(#linearGradient-ecs)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Elastic-Container-Service_Icon_64_Squid\" fill=\"#fff\" d=\"m64 48.234-8-4.801V32a1 1 0 0 0-.496-.864L44 24.426v-9.674l20 11.819zm1.509-23.095-22-13a1 1 0 0 0-1.005-.008c-.311.178-.504.51-.504.869v12c0 .355.189.684.496.864L54 32.574V44a1 1 0 0 0 .486.857l10 6A.997.997 0 0 0 66 50V26a1 1 0 0 0-.491-.861M40.445 66.863 17 54.399V26.571l20-11.819v9.699l-10.537 6.705A1 1 0 0 0 26 32v17a1 1 0 0 0 .538.887l13.453 7c.289.15.633.151.921.001l13.052-6.744 8.032 4.82zm24.07-12.721-10-6a1 1 0 0 0-.974-.03l-13.086 6.761L28 48.393V32.549l10.537-6.705c.288-.184.463-.502.463-.844V13a1 1 0 0 0-1.509-.861l-22 13A1 1 0 0 0 15 26v29c0 .369.204.709.53.883l24.454 13a1 1 0 0 0 .953-.008l23.547-13a1.002 1.002 0 0 0 .031-1.733\" /></g></svg>;\nexport default SvgEcs;","import * as React from \"react\";\nconst SvgEfs = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-Elastic-File-System_16\"}</title><defs><linearGradient id=\"linearGradient-efs\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-Elastic-File-System_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Storage\" fill=\"url(#linearGradient-efs)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-Elastic-File-System_Icon_16_Squid\" fill=\"#fff\" d=\"m19 18.293-1.646-1.646-.708.707L18.293 19H17v1h2.5a.5.5 0 0 0 .5-.5V17h-1zM6.646 16.647 5 18.293V17H4v2.5a.5.5 0 0 0 .5.5H7v-1H5.707l1.647-1.646zM19.5 4H17v1h1.293l-1.647 1.647.708.707L19 5.707V7h1V4.5a.5.5 0 0 0-.5-.5M5 5.707l1.646 1.647.708-.707L5.707 5H7V4H4.5a.5.5 0 0 0-.5.5V7h1zm10 6.41c0-.029-.024-.055-.038-.069-.039-.036-.09-.059-.108-.049L11.487 12a.5.5 0 0 1-.5-.5v-.007l-.536.005-.004.022c0 .275-.222.48-.499.48H9.25c-.147-.011-.248.031-.271.054L8.998 16H15zm.644-.8c.23.215.356.498.356.8V16.5a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5V12c0-.258.105-.499.297-.677.287-.268.695-.342.987-.322h.271c.094-.25.272-.501.601-.501h1.167c.314.057.48.279.567.5h2.93c.276-.026.59.099.824.317m.487-.345a.5.5 0 0 1-.397-.46c-.047-.802-.468-1.087-.816-1.087a.74.74 0 0 0-.59.312.501.501 0 0 1-.871-.131 3 3 0 0 0-.705-1.148c-.368-.367-1.384-1.153-2.808-.555-.803.338-1.458 1.348-1.458 2.252q.002.157.021.308a.5.5 0 0 1-.376.546c-.564.14-1.235.526-1.235 1.572l.004.128c.021.367.182.723.454.995l-.708.707a2.55 2.55 0 0 1-.745-1.653l-.005-.177c0-1.137.586-2.014 1.59-2.413v-.013c0-1.314.891-2.678 2.073-3.174 1.377-.577 2.834-.289 3.897.767q.385.38.657.881c.883-.475 2.289-.118 2.575 1.454 1.263.377 1.953 1.259 1.953 2.512 0 1.125-.518 1.948-1.457 2.319l-.368-.931c.563-.221.825-.663.825-1.388 0-.323 0-1.305-1.51-1.623\" /></g></svg>;\nexport default SvgEfs;","import * as React from \"react\";\nconst SvgEks = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Elastic-Container-Kubernetes_64\"}</title><defs><linearGradient id=\"linearGradient-eks\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Elastic-Container-Kubernetes_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Containers\" fill=\"url(#linearGradient-eks)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Elastic-Container-Kubernetes_Icon_64_Squid\" fill=\"#fff\" d=\"m46.842 32.199-6.829 7.921 7.428 8.664h-2.772L38 41v8h-2V32h2v7l6.181-6.801zM64 48.234l-8-4.801V32a1 1 0 0 0-.496-.864L44 24.426v-9.674l20 11.819zm1.509-23.095-22-13a1 1 0 0 0-1.005-.008c-.311.178-.504.51-.504.869v12c0 .355.189.684.496.864L54 32.574V44a1 1 0 0 0 .486.857l10 6A.997.997 0 0 0 66 50V26a1 1 0 0 0-.491-.861M40.445 66.863 17 54.399V26.571l20-11.819v9.699l-10.537 6.705A1 1 0 0 0 26 32v17a1 1 0 0 0 .538.887l13.453 7c.289.15.633.151.921.001l13.052-6.744 8.032 4.82zm24.07-12.721-10-6a1 1 0 0 0-.974-.03l-13.086 6.761L28 48.393V32.549l10.537-6.705c.288-.184.463-.502.463-.844V13a1 1 0 0 0-1.509-.861l-22 13A1 1 0 0 0 15 26v29c0 .369.204.709.53.883l24.454 13a1 1 0 0 0 .953-.008l23.547-13a1.002 1.002 0 0 0 .031-1.733\" /></g></svg>;\nexport default SvgEks;","import * as React from \"react\";\nconst SvgElasticache = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-ElastiCache_64\"}</title><defs><linearGradient id=\"linearGradient-elc\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-ElastiCache_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-elc)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-ElastiCache_Icon_64_Squid\" fill=\"#fff\" d=\"M51 61.555v-5.852c-2.534 1.637-7.096 2.41-11.444 2.41-4.74 0-8.435-.827-10.556-2.245v5.687C29 63.25 32.948 65 39.556 65 46.3 65 51 63.185 51 61.555M39.556 49.22c-4.74 0-8.435-.826-10.556-2.244v5.71c.031 1.688 3.973 3.427 10.556 3.427 6.723 0 11.413-1.804 11.444-3.43V46.81c-2.534 1.638-7.096 2.41-11.444 2.41M51 43.79v-6.76c-2.534 1.636-7.096 2.41-11.444 2.41-4.74 0-8.435-.827-10.556-2.245v6.6c.031 1.687 3.973 3.425 10.556 3.425 6.723 0 11.413-1.804 11.444-3.43m-22.003-9.797.001.009H29v.01c.031 1.688 3.973 3.427 10.556 3.427 7.342 0 11.413-2.022 11.444-3.43v-.007h.002l.001-.01c0-1.407-4.076-3.445-11.447-3.445-6.61 0-10.559 1.752-10.559 3.446M53 34.018v9.756h.003q-.001.013-.003.025v8.868h.003q-.001.013-.003.025v8.863C53 65.297 46.031 67 39.556 67 31.929 67 27 64.863 27 61.555v-8.857q-.002-.016-.003-.031H27v-8.862q-.002-.015-.003-.031H27v-9.75q-.002-.016-.003-.031c0-3.308 4.93-5.447 12.559-5.447 6.476 0 13.447 1.705 13.447 5.447q-.001.012-.003.025M67 21.12a1 1 0 0 0 1-1V15A1 1 0 0 0 67 14H13a1 1 0 0 0-1 1v5.12a1 1 0 0 0 1 1 2.21 2.21 0 0 1 2.214 2.2A2.21 2.21 0 0 1 13 25.522a1 1 0 0 0-1 1v20.482a1 1 0 0 0 1 1h10v-2h-5v-3h5v-2h-6a1 1 0 0 0-1 1v4h-2V27.401a4.21 4.21 0 0 0 3.214-4.08A4.21 4.21 0 0 0 14 19.239V16h52v3.24a4.21 4.21 0 0 0-3.214 4.08A4.21 4.21 0 0 0 66 27.402v18.602h-2v-4a1 1 0 0 0-1-1h-6v2h5v3h-5v2h10a1 1 0 0 0 1-1V26.521a1 1 0 0 0-1-1 2.21 2.21 0 0 1-2.214-2.2c0-1.213.993-2.2 2.214-2.2M28 28v-8a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v17.001a1 1 0 0 0 1 1h3v-2h-2V21.001h4v7zm30 8.001h-1v2h2a1 1 0 0 0 1-1V20.001a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v8h2v-7h4zm-8-9V20a1 1 0 0 0-1-1h-7a1 1 0 0 0-1 1v6h2v-5h5v6zm-13-1V21h-5v6h-2v-7a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v6z\" /></g></svg>;\nexport default SvgElasticache;","import * as React from \"react\";\nconst SvgElasticbeanstalk = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Elastic-Beanstalk_16\"}</title><defs><linearGradient id=\"linearGradient-ebs\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Elastic-Beanstalk_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Compute\" fill=\"url(#linearGradient-ebs)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Elastic-Beanstalk_Icon_16_Squid\" fill=\"#fff\" d=\"M14.999 13.643a.494.494 0 0 0-.5-.487c-.275 0-.5.218-.5.487s.225.487.5.487.5-.218.5-.487M11 9.747c0 .269.225.487.5.487s.5-.218.5-.487a.494.494 0 0 0-.5-.487c-.275 0-.5.218-.5.487m-2.998 2.922c0 .269.225.487.5.487s.5-.218.5-.487a.494.494 0 0 0-.5-.487c-.275 0-.5.218-.5.487m7.996.974c0 .634-.419 1.17-1 1.371v1.55a.494.494 0 0 1-.5.488H12V19h-1v-2.922H8.502a.494.494 0 0 1-.5-.487v-1.55c-.58-.202-1-.738-1-1.372 0-.806.673-1.461 1.5-1.461.826 0 1.499.655 1.499 1.46 0 .635-.419 1.17-1 1.372v1.064h2v-3.986c-.581-.201-1-.737-1-1.371 0-.806.673-1.461 1.5-1.461.826 0 1.499.655 1.499 1.46 0 .635-.42 1.17-1 1.372v4.96h1.999v-1.064c-.58-.201-1-.737-1-1.371 0-.806.673-1.461 1.5-1.461.826 0 1.499.655 1.499 1.46M20 12.06c0 1.746-1.103 2.88-2.95 3.03l-.083-.97c.927-.076 2.033-.495 2.033-2.06 0-1.122-.685-1.825-2.036-2.09a.49.49 0 0 1-.401-.448c-.064-1.063-.675-1.439-1.179-1.439-.337 0-.653.157-.867.432a.51.51 0 0 1-.472.187.5.5 0 0 1-.395-.314 3.8 3.8 0 0 0-.931-1.44c-.491-.465-1.84-1.462-3.741-.702-1.09.433-1.944 1.683-1.944 2.848q0 .194.024.385a.49.49 0 0 1-.375.533C6.054 10.16 5 10.627 5 12.038l.004.127c.058 1.02.928 1.847 2.024 1.953l-.097.97c-1.584-.153-2.84-1.374-2.923-2.841L4 12.037c0-1.354.753-2.395 2.036-2.852l-.001-.092c0-1.558 1.102-3.17 2.565-3.75 1.699-.677 3.499-.34 4.813.903q.526.496.885 1.164a2.1 2.1 0 0 1 1.086-.302c.902 0 1.906.625 2.135 1.989C19.122 9.521 20 10.562 20 12.059\" /></g></svg>;\nexport default SvgElasticbeanstalk;","import * as React from \"react\";\nconst SvgElasticsearch = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Elasticsearch-Service_64\"}</title><defs><linearGradient id=\"linearGradient-es\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Elasticsearch-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-es)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Elasticsearch-Service_Icon_64_Squid\" fill=\"#fff\" d=\"M44.26 51.33c-4.417 0-8.01-3.593-8.01-8.009s3.593-8.01 8.01-8.01 8.01 3.593 8.01 8.01-3.593 8.009-8.01 8.009m0-18.019c-5.52 0-10.01 4.49-10.01 10.01S38.74 53.33 44.26 53.33s10.01-4.49 10.01-10.009-4.49-10.01-10.01-10.01m20.288 28.035a1.774 1.774 0 0 1-2.496.131l-8.34-7.523a14.4 14.4 0 0 0 2.337-2.641l8.367 7.538c.723.652.781 1.773.132 2.495M32.011 43.321c0-6.755 5.495-12.25 12.249-12.25s12.249 5.495 12.249 12.25c0 6.754-5.495 12.249-12.249 12.249s-12.249-5.495-12.249-12.249m25.052 6.214a14.14 14.14 0 0 0 1.446-6.214c0-7.858-6.392-14.25-14.249-14.25s-14.249 6.392-14.249 14.25S36.403 57.57 44.26 57.57c2.899 0 5.596-.875 7.849-2.368l8.605 7.762a3.75 3.75 0 0 0 2.518.962 3.77 3.77 0 0 0 2.802-1.241 3.777 3.777 0 0 0-.278-5.319zM67 20v34h-2V21h-8v11h-2V20a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1M51 61h2v5a1 1 0 0 1-1 1H42a1 1 0 0 1-1-1v-6h2v5h8zm-8-35h-2V14a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v14h-2V15h-8zm-6 33h2v7a1 1 0 0 1-1 1H28a1 1 0 0 1-1-1V51h2v14h8zm-8-23h-2V23a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v4h-2v-3h-8zM15 65h8V31h-8zm9-36H14a1 1 0 0 0-1 1v36a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V30a1 1 0 0 0-1-1\" /></g></svg>;\nexport default SvgElasticsearch;","import * as React from \"react\";\nconst SvgElastictranscoder = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Elastic-Transcoder_64\"}</title><g id=\"Icon-Architecture/64/Arch_Amazon-Elastic-Transcoder_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Media-Services\" fill=\"#ed7100\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Elastic-Transcoder_Icon_64_Squid\" fill=\"#fff\" d=\"M14.797 33.529q-.014-.277-.014-.57c0-5.74 3.783-7.927 6.094-8.727a13 13 0 0 1-.018-.696c0-4.755 3.157-9.687 7.343-11.475 4.9-2.093 10.096-1.052 13.891 2.786 1.13 1.142 2.063 2.517 2.787 4.1 1.404-1.1 3.212-1.483 4.939-.972 2.429.715 4.063 2.94 4.456 6.013 1.397.349 3.713 1.202 5.372 3.19a12 12 0 0 0-1.112-.057c-.59 0-1.164.06-1.73.147-1.328-.933-2.804-1.312-3.646-1.458a1.007 1.007 0 0 1-.823-1.123c-.194-2.483-1.34-4.266-3.077-4.778-1.436-.422-2.98.14-3.929 1.437-.22.3-.59.452-.952.398a1 1 0 0 1-.795-.661c-.676-1.927-1.653-3.546-2.906-4.813-1.537-1.553-5.749-4.89-11.695-2.352-3.434 1.466-6.123 5.69-6.123 9.618 0 .431.024.862.074 1.283q.01.07.01.143c0 .485-.34.894-.799.989-2.025.533-5.361 2.15-5.361 7.007q0 .24.012.47a6.94 6.94 0 0 0 1.331 3.774h-2.337a8.95 8.95 0 0 1-.992-3.673M56.958 61.53v-4.556l4.197 2.279zm-.526-7.131a1 1 0 0 0-.987.022c-.302.181-.487.51-.487.866v7.932a1.01 1.01 0 0 0 1 1.008 1 1 0 0 0 .474-.121l7.306-3.966a1.01 1.01 0 0 0 0-1.775zm2.103 12.585c-4.116 0-7.466-3.376-7.466-7.526s3.35-7.526 7.466-7.526S66 55.308 66 59.458s-3.349 7.526-7.465 7.526M14 58.373h19V41.235H14zm44.535-27.22c4.116 0 7.465 3.377 7.465 7.526 0 4.15-3.349 7.527-7.465 7.527s-7.466-3.376-7.466-7.527 3.35-7.525 7.466-7.525m0 18.763c-4.772 0-8.72 3.582-9.363 8.217L35 52.449v-4.654l14.687-5.756c1.352 3.607 4.803 6.183 8.848 6.183 5.219 0 9.465-4.28 9.465-9.543 0-5.261-4.246-9.541-9.465-9.541s-9.466 4.28-9.466 9.541c0 .476.046.939.113 1.395L35 45.631v-5.404c0-.557-.447-1.008-1-1.008H13c-.553 0-1 .451-1 1.008V59.38c0 .556.447 1.008 1 1.008h21c.553 0 1-.452 1-1.008v-4.763l14.11 5.66c.416 4.88 4.48 8.722 9.425 8.722C63.754 69 68 64.72 68 59.458s-4.246-9.542-9.465-9.542m-1.577-13.34 4.197 2.279-4.197 2.278zm-1.513 7.11a1 1 0 0 0 .987.023l7.306-3.966a1.01 1.01 0 0 0 0-1.775L56.432 34a1 1 0 0 0-.987.022 1.01 1.01 0 0 0-.487.866v7.932c0 .354.185.684.487.866M21 46.982l5.762 3.226L21 52.789zm-1.545 8.204a1 1 0 0 0 .951.077l9-4.033c.347-.155.577-.495.593-.877a1.01 1.01 0 0 0-.514-.925l-9-5.04a.99.99 0 0 0-.992.011 1.01 1.01 0 0 0-.493.87v9.072c0 .34.171.66.455.845\" /></g></svg>;\nexport default SvgElastictranscoder;","import * as React from \"react\";\nconst SvgElb = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 40 40\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/32/Arch_Elastic-Load-Balancing_32\"}</title><defs><linearGradient id=\"linearGradient-elb\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/32/Arch_Elastic-Load-Balancing_32\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/32/Networking-Content-Delivery\" fill=\"url(#linearGradient-elb)\"><path id=\"Rectangle\" d=\"M0 0h40v40H0z\" /></g><path id=\"Elastic-Load-Balancing_Icon_32_Squid\" fill=\"#fff\" d=\"M15 27c-3.859 0-7-3.14-7-7s3.141-7 7-7 7 3.14 7 7-3.141 7-7 7m14 1c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m0-20c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m1 10.5c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2M22.931 21h4.12A3 3 0 0 0 30 23.5c1.654 0 3-1.346 3-3s-1.346-3-3-3a3 3 0 0 0-2.949 2.5H23c0-1.489-.416-2.88-1.128-4.075l4.827-4.023A2.98 2.98 0 0 0 29 13c1.654 0 3-1.346 3-3s-1.346-3-3-3-3 1.346-3 3c0 .361.074.702.191 1.022l-4.885 4.072A7.99 7.99 0 0 0 15 12c-4.411 0-8 3.589-8 8s3.589 8 8 8a7.99 7.99 0 0 0 6.306-3.094l4.885 4.072c-.117.32-.191.661-.191 1.022 0 1.654 1.346 3 3 3s3-1.346 3-3-1.346-3-3-3c-.929 0-1.75.433-2.301 1.098l-4.827-4.023A7.9 7.9 0 0 0 22.931 21\" /></g></svg>;\nexport default SvgElb;","import * as React from \"react\";\nconst SvgElbv2 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 40 40\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/32/Arch_Elastic-Load-Balancing_32\"}</title><defs><linearGradient id=\"linearGradient-elb\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/32/Arch_Elastic-Load-Balancing_32\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/32/Networking-Content-Delivery\" fill=\"url(#linearGradient-elb)\"><path id=\"Rectangle\" d=\"M0 0h40v40H0z\" /></g><path id=\"Elastic-Load-Balancing_Icon_32_Squid\" fill=\"#fff\" d=\"M15 27c-3.859 0-7-3.14-7-7s3.141-7 7-7 7 3.14 7 7-3.141 7-7 7m14 1c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m0-20c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m1 10.5c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2M22.931 21h4.12A3 3 0 0 0 30 23.5c1.654 0 3-1.346 3-3s-1.346-3-3-3a3 3 0 0 0-2.949 2.5H23c0-1.489-.416-2.88-1.128-4.075l4.827-4.023A2.98 2.98 0 0 0 29 13c1.654 0 3-1.346 3-3s-1.346-3-3-3-3 1.346-3 3c0 .361.074.702.191 1.022l-4.885 4.072A7.99 7.99 0 0 0 15 12c-4.411 0-8 3.589-8 8s3.589 8 8 8a7.99 7.99 0 0 0 6.306-3.094l4.885 4.072c-.117.32-.191.661-.191 1.022 0 1.654 1.346 3 3 3s3-1.346 3-3-1.346-3-3-3c-.929 0-1.75.433-2.301 1.098l-4.827-4.023A7.9 7.9 0 0 0 22.931 21\" /></g></svg>;\nexport default SvgElbv2;","import * as React from \"react\";\nconst SvgEmrServerless = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-EMR_64\"}</title><defs><linearGradient id=\"linearGradient-emr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-EMR_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-emr)\" transform=\"translate(.504)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-EMR_Icon_64_Squid\" fill=\"#fff\" d=\"M64.815 47.688a4.04 4.04 0 0 0-2.868-1.187 4.04 4.04 0 0 0-2.869 1.187 4.04 4.04 0 0 0-1.189 2.872 4.059 4.059 0 0 0 6.926 2.872 4.07 4.07 0 0 0 0-5.744m-8.528.722a6 6 0 0 1 1.323-2.078l-2.153-4.104-2.682 5.072zm-6.402.075-11.798-3.73a12.9 12.9 0 0 1-2.897 4.434c-.164.163-.34.308-.51.46l5.203 7.228a6 6 0 0 1 3.338-1.003c.869 0 1.706.187 2.476.532zm-2.607 13.451a4.04 4.04 0 0 0-1.188-2.871 4.03 4.03 0 0 0-2.869-1.189 4.03 4.03 0 0 0-2.867 1.189 4.04 4.04 0 0 0-1.19 2.871c0 1.085.424 2.105 1.19 2.872a4.03 4.03 0 0 0 2.867 1.19 4.03 4.03 0 0 0 2.869-1.19 4.04 4.04 0 0 0 1.188-2.872M33.776 47.772c4.29-4.294 4.29-11.28 0-15.575a10.97 10.97 0 0 0-7.78-3.22 10.96 10.96 0 0 0-7.78 3.22c-4.29 4.294-4.29 11.28 0 15.575s11.27 4.295 15.56 0m.888-17.467c.175.157.357.307.526.476a12.95 12.95 0 0 1 2.82 4.237l11.754-3.633-4.084-7.782a6 6 0 0 1-2.459.524 6 6 0 0 1-3.353-1.013zm4.5-12.24c0 1.084.424 2.103 1.19 2.87a4.03 4.03 0 0 0 2.867 1.19 4.03 4.03 0 0 0 2.869-1.19 4.04 4.04 0 0 0 1.188-2.87 4.04 4.04 0 0 0-1.188-2.873 4.03 4.03 0 0 0-2.869-1.19 4.03 4.03 0 0 0-2.867 1.19 4.04 4.04 0 0 0-1.19 2.873m-.5 24.772 12.172 3.849 3.494-6.605-3.62-6.893-12.094 3.739c.466 1.941.484 3.963.049 5.91m13.992-10.25 2.807 5.348 2.632-4.98c-.142-.119-.297-.218-.43-.352a6 6 0 0 1-.965-1.266zm5.233-4.272a4.059 4.059 0 0 0 6.926 2.873 4.07 4.07 0 0 0 0-5.744 4.04 4.04 0 0 0-2.868-1.187 4.04 4.04 0 0 0-2.869 1.187 4.04 4.04 0 0 0-1.189 2.87m8.34 17.957a6.077 6.077 0 0 1 0 8.575 6.03 6.03 0 0 1-4.282 1.774 6.03 6.03 0 0 1-4.283-1.774 6.03 6.03 0 0 1-1.775-4.287c0-.058.007-.115.009-.173l-4.074-1.288-4.455 8.427c.044.042.091.08.135.123a6.03 6.03 0 0 1 1.775 4.287c0 1.62-.63 3.143-1.775 4.288A6.01 6.01 0 0 1 43.221 68a6 6 0 0 1-4.281-1.776 6.02 6.02 0 0 1-1.776-4.288c0-1.347.443-2.624 1.25-3.676l-5.311-7.377a13 13 0 0 1-7.108 2.112c-3.33 0-6.659-1.269-9.193-3.806-5.07-5.075-5.07-13.333 0-18.408 4.415-4.422 11.245-4.988 16.283-1.705l5.318-7.35a6 6 0 0 1-1.239-3.661 6.03 6.03 0 0 1 1.776-4.289A6 6 0 0 1 43.22 12c1.618 0 3.14.63 4.283 1.776a6.03 6.03 0 0 1 1.775 4.289c0 1.619-.63 3.142-1.775 4.286-.047.048-.1.09-.149.137l4.354 8.295 4.29-1.326a6.025 6.025 0 0 1 1.665-5.429 6.057 6.057 0 0 1 8.566 0 6.077 6.077 0 0 1 0 8.575 6.04 6.04 0 0 1-4.283 1.773 6.1 6.1 0 0 1-2.128-.398l-3.23 6.106 2.665 5.075c2.268-1.13 5.088-.775 6.976 1.113m-39.233-7.289h5v2.003h-5v5.006h-2v-5.006h-5.002v-2.003h5.001v-5.006h2z\" /></g></svg>;\nexport default SvgEmrServerless;","import * as React from \"react\";\nconst SvgEmr = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-EMR_64\"}</title><defs><linearGradient id=\"linearGradient-emr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-EMR_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-emr)\" transform=\"translate(.504)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-EMR_Icon_64_Squid\" fill=\"#fff\" d=\"M64.815 47.688a4.04 4.04 0 0 0-2.868-1.187 4.04 4.04 0 0 0-2.869 1.187 4.04 4.04 0 0 0-1.189 2.872 4.059 4.059 0 0 0 6.926 2.872 4.07 4.07 0 0 0 0-5.744m-8.528.722a6 6 0 0 1 1.323-2.078l-2.153-4.104-2.682 5.072zm-6.402.075-11.798-3.73a12.9 12.9 0 0 1-2.897 4.434c-.164.163-.34.308-.51.46l5.203 7.228a6 6 0 0 1 3.338-1.003c.869 0 1.706.187 2.476.532zm-2.607 13.451a4.04 4.04 0 0 0-1.188-2.871 4.03 4.03 0 0 0-2.869-1.189 4.03 4.03 0 0 0-2.867 1.189 4.04 4.04 0 0 0-1.19 2.871c0 1.085.424 2.105 1.19 2.872a4.03 4.03 0 0 0 2.867 1.19 4.03 4.03 0 0 0 2.869-1.19 4.04 4.04 0 0 0 1.188-2.872M33.776 47.772c4.29-4.294 4.29-11.28 0-15.575a10.97 10.97 0 0 0-7.78-3.22 10.96 10.96 0 0 0-7.78 3.22c-4.29 4.294-4.29 11.28 0 15.575s11.27 4.295 15.56 0m.888-17.467c.175.157.357.307.526.476a12.95 12.95 0 0 1 2.82 4.237l11.754-3.633-4.084-7.782a6 6 0 0 1-2.459.524 6 6 0 0 1-3.353-1.013zm4.5-12.24c0 1.084.424 2.103 1.19 2.87a4.03 4.03 0 0 0 2.867 1.19 4.03 4.03 0 0 0 2.869-1.19 4.04 4.04 0 0 0 1.188-2.87 4.04 4.04 0 0 0-1.188-2.873 4.03 4.03 0 0 0-2.869-1.19 4.03 4.03 0 0 0-2.867 1.19 4.04 4.04 0 0 0-1.19 2.873m-.5 24.772 12.172 3.849 3.494-6.605-3.62-6.893-12.094 3.739c.466 1.941.484 3.963.049 5.91m13.992-10.25 2.807 5.348 2.632-4.98c-.142-.119-.297-.218-.43-.352a6 6 0 0 1-.965-1.266zm5.233-4.272a4.059 4.059 0 0 0 6.926 2.873 4.07 4.07 0 0 0 0-5.744 4.04 4.04 0 0 0-2.868-1.187 4.04 4.04 0 0 0-2.869 1.187 4.04 4.04 0 0 0-1.189 2.87m8.34 17.957a6.077 6.077 0 0 1 0 8.575 6.03 6.03 0 0 1-4.282 1.774 6.03 6.03 0 0 1-4.283-1.774 6.03 6.03 0 0 1-1.775-4.287c0-.058.007-.115.009-.173l-4.074-1.288-4.455 8.427c.044.042.091.08.135.123a6.03 6.03 0 0 1 1.775 4.287c0 1.62-.63 3.143-1.775 4.288A6.01 6.01 0 0 1 43.221 68a6 6 0 0 1-4.281-1.776 6.02 6.02 0 0 1-1.776-4.288c0-1.347.443-2.624 1.25-3.676l-5.311-7.377a13 13 0 0 1-7.108 2.112c-3.33 0-6.659-1.269-9.193-3.806-5.07-5.075-5.07-13.333 0-18.408 4.415-4.422 11.245-4.988 16.283-1.705l5.318-7.35a6 6 0 0 1-1.239-3.661 6.03 6.03 0 0 1 1.776-4.289A6 6 0 0 1 43.22 12c1.618 0 3.14.63 4.283 1.776a6.03 6.03 0 0 1 1.775 4.289c0 1.619-.63 3.142-1.775 4.286-.047.048-.1.09-.149.137l4.354 8.295 4.29-1.326a6.025 6.025 0 0 1 1.665-5.429 6.057 6.057 0 0 1 8.566 0 6.077 6.077 0 0 1 0 8.575 6.04 6.04 0 0 1-4.283 1.773 6.1 6.1 0 0 1-2.128-.398l-3.23 6.106 2.665 5.075c2.268-1.13 5.088-.775 6.976 1.113m-39.233-7.289h5v2.003h-5v5.006h-2v-5.006h-5.002v-2.003h5.001v-5.006h2z\" /></g></svg>;\nexport default SvgEmr;","import * as React from \"react\";\nconst SvgEvents = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-EventBridge_64\"}</title><defs><linearGradient id=\"linearGradient-ebr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-EventBridge_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Application-Integration\" fill=\"url(#linearGradient-ebr)\" transform=\"translate(0 1)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-EventBridge_Icon_64_Squid\" fill=\"#fff\" d=\"M53.657 67c-2.143 0-3.887-1.753-3.887-3.909s1.744-3.909 3.887-3.909 3.887 1.753 3.887 3.909S55.8 67 53.657 67m-8.524-17H34.798l-5.168-9 5.168-9h10.335l5.167 9zM27.62 22.818c-2.143 0-3.887-1.753-3.887-3.909S25.478 15 27.62 15c2.144 0 3.888 1.753 3.888 3.909s-1.744 3.909-3.888 3.909m26.036 34.364c-.738 0-1.442.143-2.093.394L47.34 50.41l-.223.133L52.31 41.5c.177-.31.177-.69 0-1l-5.741-10a.99.99 0 0 0-.862-.5H35.258l.04-.024-3.871-6.572a5.9 5.9 0 0 0 2.071-4.495c0-3.258-2.636-5.909-5.877-5.909s-5.876 2.651-5.876 5.909 2.636 5.909 5.876 5.909c.739 0 1.443-.143 2.094-.394l3.615 6.133-5.71 9.943c-.177.31-.177.69 0 1l5.743 10c.178.31.506.5.861.5h11.482q.125-.002.241-.032l3.905 6.628a5.9 5.9 0 0 0-2.071 4.495c0 3.258 2.635 5.909 5.876 5.909 3.24 0 5.876-2.651 5.876-5.909s-2.635-5.909-5.876-5.909m5.927-24.078c-2.143 0-3.886-1.753-3.886-3.909s1.743-3.909 3.886-3.909 3.888 1.753 3.888 3.909-1.745 3.909-3.888 3.909m7.283 7.396-3.775-6.575a5.91 5.91 0 0 0 2.368-4.73c0-3.258-2.635-5.909-5.876-5.909-.824 0-1.61.173-2.323.484l-3.077-5.361a1 1 0 0 0-.861-.5H40.995v2h11.754l2.847 4.96a5.9 5.9 0 0 0-1.887 4.326c0 3.258 2.636 5.909 5.875 5.909.604 0 1.188-.093 1.737-.264L64.858 41l-4.966 8.648 1.722 1 5.253-9.148c.177-.31.177-.69 0-1M21.229 56.247c-2.144 0-3.888-1.754-3.888-3.909 0-2.156 1.744-3.909 3.888-3.909 2.143 0 3.887 1.753 3.887 3.909s-1.744 3.909-3.887 3.909m3.248 1.011a5.92 5.92 0 0 0 2.628-4.92c0-3.258-2.636-5.909-5.876-5.909-.939 0-1.823.228-2.61.623L15.143 41l5.759-10.029-1.723-1L13.133 40.5c-.177.31-.177.69 0 1l3.872 6.74a5.9 5.9 0 0 0-1.653 4.098c0 3.258 2.636 5.909 5.877 5.909.488 0 .96-.067 1.415-.181l3.172 5.525c.178.309.506.5.861.5h12.33v-2H27.25z\" /></g></svg>;\nexport default SvgEvents;","import * as React from \"react\";\nconst SvgFirehose = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Kinesis-Firehose_64\"}</title><defs><linearGradient id=\"linearGradient-fho\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Kinesis-Firehose_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-fho)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><g id=\"Icon-Service/64/Amazon-Kinesis-Data-Firehose\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Amazon-Kinesis-Data-Firehose_Icon_64_Squid\" d=\"m58.625 36.072-.742 1.856C54.685 36.649 50.784 36 46.288 36v-2c4.752 0 8.902.697 12.337 2.072m-.687-1.123C55.032 33.984 49.152 33 46.288 33v-2c2.896 0 8.751-.983 11.604-1.947l.64 1.894c-1.094.371-2.572.737-4.16 1.057 1.607.319 3.104.684 4.197 1.047zm.673-7.015C55.03 29.305 50.884 30 46.288 30v-2c4.351 0 8.256-.651 11.608-1.934zm-16.356 7.285-10 2.5V26.281l10 2.5zm-12 4.781h-3V24h3v16m13.242-12.97-11.242-2.811V23a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v.93c-15.202-1.109-17-7.311-17-11.93V7h-2v5c0 8.469 6.23 13.023 19 13.927v1.036c-7.763-.311-13.337-1.536-17.469-3.836l-.973 1.747c4.429 2.467 10.313 3.77 18.442 4.09v2.014c-5.648-.134-13.299-.508-18.745-1.945L6 30.967c1.633.431 3.449.767 5.342 1.033-1.893.267-3.709.603-5.342 1.033l.51 1.934c5.447-1.437 13.098-1.811 18.745-1.944v2.014c-8.084.316-13.965 1.619-18.439 4.088l.967 1.751c4.175-2.304 9.762-3.52 17.472-3.829v1.021c-16.495 1.214-19 9.834-19 14.932l-.002.392c-.017 3.224-.007 3.582.008 3.715l1.991-.185c-.011-.182-.01-1.366.001-3.519L8.255 53c0-7.62 5.883-12.067 17-12.92V41a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-1.219l11.242-2.811a1 1 0 0 0 .758-.97v-8a1 1 0 0 0-.758-.97\" /></g></g></svg>;\nexport default SvgFirehose;","import * as React from \"react\";\nconst SvgFis = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Valkyrie_16\"}</title><defs><linearGradient id=\"linearGradient-fis\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Valkyrie_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-fis)\" d=\"M0 0h24v24H0z\" /><g id=\"Icon-Service/16/AWS-Valkyrie_16\" fill=\"#fff\" transform=\"translate(4 4)\"><path id=\"Fill-1\" d=\"M6.489 4.986a.5.5 0 1 0-.002-1.002.5.5 0 0 0 .002 1.002m0 1c-.827 0-1.5-.673-1.5-1.5s.673-1.5 1.5-1.5 1.5.673 1.5 1.5-.673 1.5-1.5 1.5M9.782 8.9l.707-.707.707.707.707-.707-.707-.707.707-.707-.707-.707-.707.707-.707-.707-.707.707.707.707-.707.707zm-3.793.086h-1v5a.5.5 0 0 0 1 0zm2 0h-1v5c0 .827-.673 1.5-1.5 1.5s-1.5-.673-1.5-1.5v-5h-1v-1h5zm7.776-1.166c0 2.332-1.919 3.09-2.933 3.165l-4.843.001v-1h4.806c.167-.016 1.97-.221 1.97-2.166 0-1.663-1.41-2.086-2.016-2.19a.5.5 0 0 1-.408-.574c-.002-.675-.29-1.186-.792-1.351a1.08 1.08 0 0 0-1.205.399.5.5 0 0 1-.874-.131c-.213-.606-.521-1.113-.915-1.508-.479-.483-1.796-1.521-3.653-.733-1.052.447-1.907 1.787-1.907 2.986l.027.436a.5.5 0 0 1-.375.515C2.032 5.827 1 6.314 1 7.798c0 1.124.606 1.743 1.115 2.064a.7.7 0 0 0 .445.124h.429v1h-.43c-.382 0-.666-.081-.977-.278C.991 10.335 0 9.461 0 7.798c0-1.411.74-2.496 2.001-2.973l-.005-.076C1.995 3.101 3.077 1.421 4.511.812 6.19.098 7.968.454 9.264 1.759q.513.516.863 1.207a2.06 2.06 0 0 1 1.734-.211c.823.271 1.352.998 1.458 1.979 1.246.342 2.446 1.298 2.446 3.086\" /></g></g></svg>;\nexport default SvgFis;","import * as React from \"react\";\nconst SvgGlacier = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Glacier_64\"}</title><defs><linearGradient id=\"linearGradient-glc\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Glacier_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-glc)\" d=\"M0 0h80v80H0z\" /><g id=\"Icon-Service/64/Amazon-Glacier_64\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Amazon-Glacier_Icon_64_Squid\" d=\"M7.066 12.912C7.91 15.867 17.648 19 30.5 19c12.83 0 22.558-3.122 23.43-6.073l.063-.45C53.92 11.16 46.364 6 30.5 6 14.633 6 7.08 11.161 7.006 12.478zM53.22 32.19l-.383 2.703c3.36.827 3.963.322 3.97.317 0-.024-.046-.9-3.587-3.02M37.68 57.56l.251 1.983a59 59 0 0 1-7.436.458c-7.633 0-19.719-1.69-19.853-6.223L5.093 13.253a3.4 3.4 0 0 1-.082-.596l-.003-.02h.001C5.007 12.59 5 12.546 5 12.5 5 9.034 14.933 4 30.5 4S56 9.034 56 12.5c0 .047-.009.093-.01.14l-.002.01a3.4 3.4 0 0 1-.09.642L53.52 30.054c3.347 1.91 4.99 3.402 5.248 4.786a1.95 1.95 0 0 1-.435 1.66c-.486.577-1.286.865-2.468.865-.88 0-1.979-.163-3.313-.482l-.128.904-1.98-.28.163-1.152c-6.165-1.82-14.622-5.674-18.68-7.595a2.38 2.38 0 0 1-1.527.562A2.406 2.406 0 0 1 28 26.92a2.406 2.406 0 0 1 2.402-2.403 2.406 2.406 0 0 1 2.403 2.403q-.002.021-.004.042c3.45 1.63 11.973 5.54 18.092 7.391l2.55-17.979C49.021 19.4 39.554 21 30.5 21c-9.07 0-18.553-1.606-22.962-4.64l5.093 37.205q.01.068.01.136c0 1.516 6.778 4.3 17.853 4.3 2.453 0 4.871-.15 7.184-.443m18.287-7.69 2.371 2.37-1.415 1.414L54.27 51h-4.753l2.26 3.917 3.811 1.073-.542 1.924-3.174-.893-.867 3.238-1.932-.518 1.007-3.76-2.354-4.084-2.323 4.017.977 3.84-1.937.492-.814-3.195-3.237.867-.517-1.932 3.76-1.007L45.934 51h-4.689l-2.729 2.662-1.396-1.432 2.361-2.303-2.37-2.37 1.414-1.414L41.382 49h4.671l-2.384-4.123-3.807-1.07.541-1.926 3.175.893.867-3.237 1.932.518-1.009 3.767 2.357 4.076 2.32-4.023-.976-3.833 1.937-.493.815 3.196 3.236-.867.518 1.931-3.766 1.01L49.4 49h4.594l2.938-2.866 1.397 1.432z\" /></g></g></svg>;\nexport default SvgGlacier;","import * as React from \"react\";\nconst SvgGlue = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Glue_64\"}</title><defs><linearGradient id=\"linearGradient-glu\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Glue_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-glu)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Glue_Icon_64_Squid\" fill=\"#fff\" d=\"M33 23h2v-2h-2zm-2 1v-4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1m10-7h2v-2h-2zm-2 1v-4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1m4 9h2v-2h-2zm-1-4h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1m-2 10.5c-1.761 0-8.146-.075-12.299-1.096l10.145 16.062c.1.16.154.345.154.534v2.277c1.404.407 2.701.411 4 .016V49c0-.189.054-.374.154-.534l10.145-16.062C48.146 33.425 41.761 33.5 40 33.5m-15.746-2.808a1.32 1.32 0 0 1-.254-.755c0-2.845 9.384-3.371 14.978-3.432l.021 2c-6.872.075-11.071.859-12.551 1.443 1.57.656 6.195 1.552 13.552 1.552 7.338 0 11.957-.891 13.539-1.546-.646-.261-1.984-.647-4.66-.974l.242-1.985c6.062.74 6.879 1.902 6.879 2.942 0 .273-.095.523-.254.755L44 49.29V52a1 1 0 0 1-.627.928 8.8 8.8 0 0 1-3.307.656c-1.11 0-2.242-.215-3.412-.646A1 1 0 0 1 36 52v-2.71zm22.67 28.925a1 1 0 0 1-.217 1.09l-6 6a.997.997 0 0 1-1.414 0l-6-6A1 1 0 0 1 34 59h3v-3h2v4a1 1 0 0 1-1 1h-1.586L40 64.586 43.586 61H42a1 1 0 0 1-1-1v-4h2v3h3a1 1 0 0 1 .924.617\" /></g></svg>;\nexport default SvgGlue;","import * as React from \"react\";\nconst SvgIam = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Identity-and-Access-Management_64\"}</title><defs><linearGradient id=\"linearGradient-iam\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Identity-and-Access-Management_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"url(#linearGradient-iam)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Identity-and-Access-Management_Icon_64_Squid\" fill=\"#fff\" d=\"M14 59h52V21H14zm54-39v40a1 1 0 0 1-1 1H13a1 1 0 0 1-1-1V20a1 1 0 0 1 1-1h54a1 1 0 0 1 1 1M44 48h15v-2H44zm13-6h5v-2h-5zm-13 0h8v-2h-8zm-15 4a1.001 1.001 0 0 0-2 0 1.001 1.001 0 0 0 2 0m2 0a3 3 0 0 1-2 2.816V51h-2v-2.185A2.995 2.995 0 0 1 25 46c0-1.654 1.346-3 3-3s3 1.346 3 3m-12 7.993L36.994 54l.002-4H33v-2h3.996l.002-3H33v-2h3.999L37 40.007 19.006 40zm3-15.992 12 .005V31c.001-2.303-2.803-4.323-6-4.325h-.004c-3.192 0-5.992 2.021-5.994 4.325zm-5 16.991L17.006 39a1 1 0 0 1 1-1l1.994.001.002-7.001c.002-3.488 3.588-6.325 7.994-6.325H28c4.412.002 8.001 2.84 8 6.325v7.007l2 .001a1 1 0 0 1 1 1L38.994 55a1 1 0 0 1-1 1L18 55.992a1 1 0 0 1-1-1M60 36h2v-2h-2zm-16 0h11v-2H44z\" /></g></svg>;\nexport default SvgIam;","import * as React from \"react\";\nconst SvgIdentitystore = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-IAM-Identity-Center_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-IAM-Identity-Center_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"#dd344c\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-IAM-Identity-Center_Icon_64_Squid\" fill=\"#fff\" d=\"M67.438 62.325 52.56 47.447a1 1 0 0 1-.181-1.167c2.078-4.003 1.28-9.048-1.94-12.268a10.45 10.45 0 0 0-8.691-3c-3.23.392-6.078 2.256-7.812 5.117-2.038 3.359-1.947 7.668.23 10.979 3.021 4.595 8.91 6.184 13.698 3.7.387-.2.858-.127 1.168.182l2.468 2.468a1 1 0 0 1 .292.707v3.243h3.243c.264 0 .519.105.707.292l1.415 1.414c.187.188.293.442.293.708v3.242h3.242c.266 0 .519.106.707.293l1.855 1.856 3.942.263zm2.029-.305-.353 4.596a1 1 0 0 1-.996.923q-.034 0-.068-.002l-5.303-.354a1 1 0 0 1-.641-.29l-1.828-1.83H56.45a1 1 0 0 1-1-1v-3.827l-.829-.828h-3.829a1 1 0 0 1-1-1v-3.83l-1.672-1.672c-5.574 2.486-12.179.544-15.626-4.7-2.598-3.951-2.703-9.1-.269-13.114 2.056-3.39 5.44-5.6 9.282-6.064a12.44 12.44 0 0 1 10.346 3.57c3.653 3.653 4.683 9.286 2.622 13.936l14.702 14.702a1 1 0 0 1 .29.784M45.423 41.346a2.48 2.48 0 0 0-.733-1.768 2.48 2.48 0 0 0-1.768-.733c-.667 0-1.295.26-1.767.732a2.503 2.503 0 0 0 0 3.536c.974.975 2.56.975 3.535 0 .473-.473.733-1.1.733-1.767m.681-3.183a4.47 4.47 0 0 1 1.319 3.183 4.47 4.47 0 0 1-1.319 3.18v.002a4.49 4.49 0 0 1-3.182 1.315 4.48 4.48 0 0 1-3.181-1.316 4.506 4.506 0 0 1 0-6.364 4.47 4.47 0 0 1 3.181-1.318c1.203 0 2.332.468 3.182 1.318m-24.103 6.759H28v2h-6c-5.854-.013-10.674-4.165-10.976-9.454-.013-.25-.024-.481-.024-.713 0-6.524 4.627-8.95 7.351-9.81a14 14 0 0 1-.027-.875c0-5.35 3.757-10.888 8.739-12.881 5.807-2.344 11.965-1.178 16.463 3.118 1.187 1.12 2.705 2.794 3.769 4.835 1.136-.998 2.419-1.487 3.888-1.487 2.903 0 6.157 2.336 6.748 7.442C63.95 28.472 67 31.775 67 36.922c0 5.427-3.222 9.068-8.839 9.987l-.323-1.974C61.105 44.4 65 42.575 65 36.922c0-4.381-2.603-6.93-8.192-8.018a1 1 0 0 1-.807-.922c-.224-3.725-2.206-6.327-4.818-6.327-1.335 0-2.382.58-3.394 1.88-.223.287-.58.429-.941.376a1 1 0 0 1-.785-.638c-.872-2.33-2.609-4.285-3.913-5.515-3.919-3.742-9.278-4.754-14.342-2.713-4.198 1.679-7.484 6.522-7.484 11.025 0 .505.03.99.093 1.485q.006.056.007.113v.014c0 .505-.374.927-.86.996-2.499.634-6.564 2.52-6.564 8.077 0 .197.01.394.02.583.242 4.249 4.188 7.574 8.981 7.584\" /></g></svg>;\nexport default SvgIdentitystore;","import * as React from \"react\";\nconst SvgInfrastructure = props => <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"152.322 142.26 200 200\" width=\"1em\" height=\"1em\" fill=\"currentColor\" {...props}><defs><linearGradient id=\"gradient-0\" x1={250} x2={250} y1={180.147} y2={319.853} gradientTransform=\"rotate(55.846 328.855 173.433)scale(1.43158 1.22198)\" gradientUnits=\"userSpaceOnUse\"><stop offset={0} style={{\n stopColor: \"#3e3174\"\n }} /><stop offset={1} style={{\n stopColor: \"#18132c\"\n }} /></linearGradient><linearGradient id=\"paint0_linear_21_62\" x1={72.298} x2={13.442} y1={11.447} y2={69.721} gradientTransform=\"translate(195.584 153)\" gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"#4d29b4\" /><stop offset={1} stopColor=\"#836fff\" /></linearGradient><linearGradient id=\"paint1_linear_21_62\" x1={46.837} x2={87.572} y1={34.241} y2={-5.772} gradientTransform=\"translate(195.584 153)\" gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"#70ffe5\" /><stop offset={1} stopColor=\"#6295e1\" /></linearGradient><linearGradient id=\"paint2_linear_21_62\" x1={68.903} x2={30.593} y1={18.237} y2={54.613} gradientTransform=\"translate(195.584 153)\" gradientUnits=\"userSpaceOnUse\"><stop offset={0.007} stopColor=\"#654fec\" /><stop offset={1} stopColor=\"#71b2ff\" /></linearGradient></defs><g transform=\"translate(2.322 -7.74)\"><rect width={200} height={200} x={150} y={150} rx={30} ry={30} style={{\n stroke: \"#000\",\n fill: \"url(#gradient-0)\",\n strokeWidth: 0\n }} /><path fill=\"url(#paint0_linear_21_62)\" fillRule=\"evenodd\" d=\"M266.766 210.593c.928 0 1.393 1.122.736 1.778l-22.576 22.575c-.656.656-1.778.191-1.778-.737v-22.574c0-.576.466-1.042 1.041-1.042zm-69.617-21.272c-.928 0-1.393-1.122-.736-1.779l22.576-22.574c.656-.656 1.778-.191 1.778.737v22.574c0 .576-.466 1.042-1.041 1.042z\" clipRule=\"evenodd\" transform=\"translate(-98.841 -29.782)scale(1.47289)\" /><path fill=\"url(#paint1_linear_21_62)\" d=\"M246.294 185.616h30.242c.576 0 1.042-.466 1.042-1.042v-30.24c0-.575-.466-1.042-1.042-1.042h-30.242c-.575 0-1.042.467-1.042 1.042v30.24c0 .576.467 1.042 1.042 1.042\" transform=\"translate(-98.841 -29.782)scale(1.47289)\" /><path fill=\"url(#paint2_linear_21_62)\" d=\"M268.695 205.384h-41.676a1.04 1.04 0 0 1-1.042-1.042v-41.673c0-.576.466-1.042 1.042-1.042h11.982c.575 0 1.042.466 1.042 1.042v27.087c0 .576.466 1.042 1.042 1.042h27.61c.575 0 1.042.466 1.042 1.042v12.502c0 .575-.467 1.042-1.042 1.042\" transform=\"translate(-98.841 -29.782)scale(1.47289)\" /></g></svg>;\nexport default SvgInfrastructure;","import * as React from \"react\";\nconst SvgIotData = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\"}</title><defs><linearGradient id=\"linearGradient-iot\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Internet-of-Things\" fill=\"url(#linearGradient-iot)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-IoT-Core_Icon_64_Squid\" fill=\"#fff\" d=\"M57.423 47.906c0-1.11-.897-2.012-2-2.012s-2 .903-2 2.012c0 1.11.897 2.012 2 2.012s2-.902 2-2.012m-3.36 3.768a4.01 4.01 0 0 1-2.497-2.762h-2.143v8.071c1.94-1.165 3.672-3.132 4.64-5.309m-6.64 6.203v-9.97c0-.556.447-1.007 1-1.007h3.143a4 4 0 0 1 2.503-2.764c-1.107-2.54-3.378-4.826-5.897-5.934a4 4 0 0 1-2.748 2.52v17.555a10.3 10.3 0 0 0 2-.4m-4 .399V40.722a4 4 0 0 1-2.747-2.516c-2.524 1.122-4.794 3.405-5.899 5.93a4 4 0 0 1 2.503 2.764h3.143c.553 0 1 .45 1 1.006v9.948c.657.21 1.32.354 2 .422m-4-1.334v-8.03H37.28a4.01 4.01 0 0 1-2.495 2.762c.96 2.144 2.69 4.09 4.638 5.268m-6-7.024c1.103 0 2-.902 2-2.012s-.897-2.012-2-2.012-2 .903-2 2.012c0 1.11.897 2.012 2 2.012m9-13.076c0 1.109.897 2.011 2 2.011s2-.902 2-2.011c0-1.11-.897-2.012-2-2.012s-2 .902-2 2.012m16.999 11.064a4.016 4.016 0 0 1-3.289 3.951c-1.217 3.2-3.797 6.042-6.71 7.39V64h-2v-4.042c-.651.164-1.321.279-2 .334V64h-2v-3.708a12 12 0 0 1-2-.347V64h-2v-4.787c-2.927-1.374-5.504-4.195-6.71-7.356a4.017 4.017 0 0 1-.005-7.902c1.276-3.46 4.332-6.534 7.787-7.83.338-1.877 1.966-3.307 3.928-3.307 1.96 0 3.587 1.428 3.927 3.302 3.45 1.28 6.508 4.355 7.787 7.835a4.02 4.02 0 0 1 3.285 3.951m5.576-9.432c.045 2.737-1.036 5.393-2.891 7.148l-1.37-1.467c1.452-1.372 2.296-3.467 2.26-5.603 0-4.124-3.01-7.457-7-7.831a1.005 1.005 0 0 1-.905-1.063l.008-.119q.009-.102.01-.208c0-2.642-2.123-4.79-4.733-4.79-1.22 0-2.38.472-3.265 1.328a.999.999 0 0 1-1.629-.373c-1.664-4.477-5.95-7.484-10.662-7.484-6.285 0-11.397 5.173-11.397 11.533 0 .435-.278.826-.69.962C19.306 31.634 17 34.845 17 38.495c0 4.634 3.726 8.405 8.306 8.405h.119v2.012h-.12C19.624 48.912 15 44.239 15 38.495c0-4.28 2.562-8.074 6.444-9.654C21.81 21.695 27.67 16 34.822 16c5.096 0 9.766 2.986 12.004 7.555a6.64 6.64 0 0 1 3.552-1.026c3.551 0 6.469 2.791 6.717 6.317 4.565.861 7.904 4.85 7.904 9.628\" /></g></svg>;\nexport default SvgIotData;","import * as React from \"react\";\nconst SvgIot = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\"}</title><defs><linearGradient id=\"linearGradient-iot\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Internet-of-Things\" fill=\"url(#linearGradient-iot)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-IoT-Core_Icon_64_Squid\" fill=\"#fff\" d=\"M57.423 47.906c0-1.11-.897-2.012-2-2.012s-2 .903-2 2.012c0 1.11.897 2.012 2 2.012s2-.902 2-2.012m-3.36 3.768a4.01 4.01 0 0 1-2.497-2.762h-2.143v8.071c1.94-1.165 3.672-3.132 4.64-5.309m-6.64 6.203v-9.97c0-.556.447-1.007 1-1.007h3.143a4 4 0 0 1 2.503-2.764c-1.107-2.54-3.378-4.826-5.897-5.934a4 4 0 0 1-2.748 2.52v17.555a10.3 10.3 0 0 0 2-.4m-4 .399V40.722a4 4 0 0 1-2.747-2.516c-2.524 1.122-4.794 3.405-5.899 5.93a4 4 0 0 1 2.503 2.764h3.143c.553 0 1 .45 1 1.006v9.948c.657.21 1.32.354 2 .422m-4-1.334v-8.03H37.28a4.01 4.01 0 0 1-2.495 2.762c.96 2.144 2.69 4.09 4.638 5.268m-6-7.024c1.103 0 2-.902 2-2.012s-.897-2.012-2-2.012-2 .903-2 2.012c0 1.11.897 2.012 2 2.012m9-13.076c0 1.109.897 2.011 2 2.011s2-.902 2-2.011c0-1.11-.897-2.012-2-2.012s-2 .902-2 2.012m16.999 11.064a4.016 4.016 0 0 1-3.289 3.951c-1.217 3.2-3.797 6.042-6.71 7.39V64h-2v-4.042c-.651.164-1.321.279-2 .334V64h-2v-3.708a12 12 0 0 1-2-.347V64h-2v-4.787c-2.927-1.374-5.504-4.195-6.71-7.356a4.017 4.017 0 0 1-.005-7.902c1.276-3.46 4.332-6.534 7.787-7.83.338-1.877 1.966-3.307 3.928-3.307 1.96 0 3.587 1.428 3.927 3.302 3.45 1.28 6.508 4.355 7.787 7.835a4.02 4.02 0 0 1 3.285 3.951m5.576-9.432c.045 2.737-1.036 5.393-2.891 7.148l-1.37-1.467c1.452-1.372 2.296-3.467 2.26-5.603 0-4.124-3.01-7.457-7-7.831a1.005 1.005 0 0 1-.905-1.063l.008-.119q.009-.102.01-.208c0-2.642-2.123-4.79-4.733-4.79-1.22 0-2.38.472-3.265 1.328a.999.999 0 0 1-1.629-.373c-1.664-4.477-5.95-7.484-10.662-7.484-6.285 0-11.397 5.173-11.397 11.533 0 .435-.278.826-.69.962C19.306 31.634 17 34.845 17 38.495c0 4.634 3.726 8.405 8.306 8.405h.119v2.012h-.12C19.624 48.912 15 44.239 15 38.495c0-4.28 2.562-8.074 6.444-9.654C21.81 21.695 27.67 16 34.822 16c5.096 0 9.766 2.986 12.004 7.555a6.64 6.64 0 0 1 3.552-1.026c3.551 0 6.469 2.791 6.717 6.317 4.565.861 7.904 4.85 7.904 9.628\" /></g></svg>;\nexport default SvgIot;","import * as React from \"react\";\nconst SvgIotanalytics = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\"}</title><defs><linearGradient id=\"linearGradient-iot\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Internet-of-Things\" fill=\"url(#linearGradient-iot)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-IoT-Core_Icon_64_Squid\" fill=\"#fff\" d=\"M57.423 47.906c0-1.11-.897-2.012-2-2.012s-2 .903-2 2.012c0 1.11.897 2.012 2 2.012s2-.902 2-2.012m-3.36 3.768a4.01 4.01 0 0 1-2.497-2.762h-2.143v8.071c1.94-1.165 3.672-3.132 4.64-5.309m-6.64 6.203v-9.97c0-.556.447-1.007 1-1.007h3.143a4 4 0 0 1 2.503-2.764c-1.107-2.54-3.378-4.826-5.897-5.934a4 4 0 0 1-2.748 2.52v17.555a10.3 10.3 0 0 0 2-.4m-4 .399V40.722a4 4 0 0 1-2.747-2.516c-2.524 1.122-4.794 3.405-5.899 5.93a4 4 0 0 1 2.503 2.764h3.143c.553 0 1 .45 1 1.006v9.948c.657.21 1.32.354 2 .422m-4-1.334v-8.03H37.28a4.01 4.01 0 0 1-2.495 2.762c.96 2.144 2.69 4.09 4.638 5.268m-6-7.024c1.103 0 2-.902 2-2.012s-.897-2.012-2-2.012-2 .903-2 2.012c0 1.11.897 2.012 2 2.012m9-13.076c0 1.109.897 2.011 2 2.011s2-.902 2-2.011c0-1.11-.897-2.012-2-2.012s-2 .902-2 2.012m16.999 11.064a4.016 4.016 0 0 1-3.289 3.951c-1.217 3.2-3.797 6.042-6.71 7.39V64h-2v-4.042c-.651.164-1.321.279-2 .334V64h-2v-3.708a12 12 0 0 1-2-.347V64h-2v-4.787c-2.927-1.374-5.504-4.195-6.71-7.356a4.017 4.017 0 0 1-.005-7.902c1.276-3.46 4.332-6.534 7.787-7.83.338-1.877 1.966-3.307 3.928-3.307 1.96 0 3.587 1.428 3.927 3.302 3.45 1.28 6.508 4.355 7.787 7.835a4.02 4.02 0 0 1 3.285 3.951m5.576-9.432c.045 2.737-1.036 5.393-2.891 7.148l-1.37-1.467c1.452-1.372 2.296-3.467 2.26-5.603 0-4.124-3.01-7.457-7-7.831a1.005 1.005 0 0 1-.905-1.063l.008-.119q.009-.102.01-.208c0-2.642-2.123-4.79-4.733-4.79-1.22 0-2.38.472-3.265 1.328a.999.999 0 0 1-1.629-.373c-1.664-4.477-5.95-7.484-10.662-7.484-6.285 0-11.397 5.173-11.397 11.533 0 .435-.278.826-.69.962C19.306 31.634 17 34.845 17 38.495c0 4.634 3.726 8.405 8.306 8.405h.119v2.012h-.12C19.624 48.912 15 44.239 15 38.495c0-4.28 2.562-8.074 6.444-9.654C21.81 21.695 27.67 16 34.822 16c5.096 0 9.766 2.986 12.004 7.555a6.64 6.64 0 0 1 3.552-1.026c3.551 0 6.469 2.791 6.717 6.317 4.565.861 7.904 4.85 7.904 9.628\" /></g></svg>;\nexport default SvgIotanalytics;","import * as React from \"react\";\nconst SvgIotwireless = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\"}</title><defs><linearGradient id=\"linearGradient-iot\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Internet-of-Things\" fill=\"url(#linearGradient-iot)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-IoT-Core_Icon_64_Squid\" fill=\"#fff\" d=\"M57.423 47.906c0-1.11-.897-2.012-2-2.012s-2 .903-2 2.012c0 1.11.897 2.012 2 2.012s2-.902 2-2.012m-3.36 3.768a4.01 4.01 0 0 1-2.497-2.762h-2.143v8.071c1.94-1.165 3.672-3.132 4.64-5.309m-6.64 6.203v-9.97c0-.556.447-1.007 1-1.007h3.143a4 4 0 0 1 2.503-2.764c-1.107-2.54-3.378-4.826-5.897-5.934a4 4 0 0 1-2.748 2.52v17.555a10.3 10.3 0 0 0 2-.4m-4 .399V40.722a4 4 0 0 1-2.747-2.516c-2.524 1.122-4.794 3.405-5.899 5.93a4 4 0 0 1 2.503 2.764h3.143c.553 0 1 .45 1 1.006v9.948c.657.21 1.32.354 2 .422m-4-1.334v-8.03H37.28a4.01 4.01 0 0 1-2.495 2.762c.96 2.144 2.69 4.09 4.638 5.268m-6-7.024c1.103 0 2-.902 2-2.012s-.897-2.012-2-2.012-2 .903-2 2.012c0 1.11.897 2.012 2 2.012m9-13.076c0 1.109.897 2.011 2 2.011s2-.902 2-2.011c0-1.11-.897-2.012-2-2.012s-2 .902-2 2.012m16.999 11.064a4.016 4.016 0 0 1-3.289 3.951c-1.217 3.2-3.797 6.042-6.71 7.39V64h-2v-4.042c-.651.164-1.321.279-2 .334V64h-2v-3.708a12 12 0 0 1-2-.347V64h-2v-4.787c-2.927-1.374-5.504-4.195-6.71-7.356a4.017 4.017 0 0 1-.005-7.902c1.276-3.46 4.332-6.534 7.787-7.83.338-1.877 1.966-3.307 3.928-3.307 1.96 0 3.587 1.428 3.927 3.302 3.45 1.28 6.508 4.355 7.787 7.835a4.02 4.02 0 0 1 3.285 3.951m5.576-9.432c.045 2.737-1.036 5.393-2.891 7.148l-1.37-1.467c1.452-1.372 2.296-3.467 2.26-5.603 0-4.124-3.01-7.457-7-7.831a1.005 1.005 0 0 1-.905-1.063l.008-.119q.009-.102.01-.208c0-2.642-2.123-4.79-4.733-4.79-1.22 0-2.38.472-3.265 1.328a.999.999 0 0 1-1.629-.373c-1.664-4.477-5.95-7.484-10.662-7.484-6.285 0-11.397 5.173-11.397 11.533 0 .435-.278.826-.69.962C19.306 31.634 17 34.845 17 38.495c0 4.634 3.726 8.405 8.306 8.405h.119v2.012h-.12C19.624 48.912 15 44.239 15 38.495c0-4.28 2.562-8.074 6.444-9.654C21.81 21.695 27.67 16 34.822 16c5.096 0 9.766 2.986 12.004 7.555a6.64 6.64 0 0 1 3.552-1.026c3.551 0 6.469 2.791 6.717 6.317 4.565.861 7.904 4.85 7.904 9.628\" /></g></svg>;\nexport default SvgIotwireless;","import * as React from \"react\";\nconst SvgKafka = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-Managed-Streaming-for-Kafka_16\"}</title><defs><linearGradient id=\"linearGradient-kfk\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-Managed-Streaming-for-Kafka_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Analytics\" fill=\"url(#linearGradient-kfk)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-Managed-Streaming-for-Kafka-Icon_16_Squid\" fill=\"#fff\" d=\"M7.725 11.188h8.55l-4.276-4.896zm-1.604.73a.52.52 0 0 1 .081-.553l5.41-6.196a.53.53 0 0 1 .775 0l5.41 6.196a.516.516 0 0 1-.388.856H6.59a.52.52 0 0 1-.468-.303m6.153-2.738.847-1.142h-.6l-.73 1.085V8.038h-.542v2.443h.541V9.3l.759 1.18h.643zm7.052 5.183-.204.176c-.506.444-1.427.444-1.936 0l-.403-.35c-.891-.783-2.399-.783-3.29-.002l-.405.352c-.505.444-1.429.444-1.938 0l-.401-.35c-.892-.784-2.4-.784-3.29-.002l-.406.353c-.507.442-1.428.442-1.936-.002l-.203-.175-.674.78.2.174c.446.391 1.047.586 1.647.586.598 0 1.197-.195 1.642-.584l.406-.353c.506-.444 1.427-.444 1.936.002l.403.349c.892.782 2.4.782 3.29 0l.406-.351c.505-.443 1.428-.444 1.937.002l.402.349c.892.783 2.4.78 3.289.002l.202-.176zm-.445 4.273c-.507.444-1.43.443-1.936-.002l-.402-.348c-.893-.784-2.4-.784-3.29-.002l-.405.352c-.506.444-1.43.444-1.937-.001l-.403-.35c-.893-.782-2.4-.781-3.289-.001l-.407.352c-.505.443-1.427.444-1.936-.002l-.202-.175-.674.78.2.174c.893.783 2.4.781 3.29.001l.405-.352c.505-.444 1.43-.444 1.936.001l.403.35c.894.782 2.4.781 3.29.001l.406-.352c.505-.445 1.427-.444 1.936.001l.403.35c.446.392 1.047.587 1.646.587.6 0 1.198-.195 1.642-.586l.203-.175-.675-.78zm.204-2.094.675.78-.203.176c-.444.39-1.043.585-1.642.585-.6 0-1.2-.196-1.646-.587l-.403-.35c-.51-.445-1.43-.445-1.936-.001l-.406.353c-.89.78-2.396.78-3.29-.002l-.403-.35c-.507-.444-1.43-.444-1.936 0l-.406.352c-.888.78-2.396.78-3.29-.002L4 17.322l.674-.78.202.175c.509.446 1.431.445 1.936.002l.407-.353c.89-.78 2.396-.78 3.29.002l.402.35c.507.444 1.43.444 1.937 0l.406-.352c.89-.78 2.396-.78 3.289.002l.402.35c.507.444 1.429.444 1.936.001z\" /></g></svg>;\nexport default SvgKafka;","import * as React from \"react\";\nconst SvgKinesis = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Kinesis_64\"}</title><defs><linearGradient id=\"linearGradient-kns\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Kinesis_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-kns)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Kinesis_Icon_64_Squid\" fill=\"#fff\" d=\"M19 62h2c0-8.406 5.465-17 46-17v-2c-42.297 0-48 9.604-48 19m6 6h2c0-7.566 0-19 40-19v-2c-18.337 0-30.272 2.359-36.49 7.212C25 58.512 25 63.996 25 68M15 26h-2c0 7.396 10.039 12.08 29.893 14C23.039 41.92 13 46.604 13 54h2c0-4.855 6.756-13 52-13v-2c-45.244 0-52-8.145-52-13m6-8h-2c0 9.396 5.703 19 48 19v-2c-40.535 0-46-8.594-46-17m46 13v2c-18.337 0-30.272-2.359-36.49-7.212C25 21.488 25 16.004 25 12h2c0 7.566 0 19 40 19\" /></g></svg>;\nexport default SvgKinesis;","import * as React from \"react\";\nconst SvgKinesisanalytics = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Kinesis_64\"}</title><defs><linearGradient id=\"linearGradient-kns\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Kinesis_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-kns)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Kinesis_Icon_64_Squid\" fill=\"#fff\" d=\"M19 62h2c0-8.406 5.465-17 46-17v-2c-42.297 0-48 9.604-48 19m6 6h2c0-7.566 0-19 40-19v-2c-18.337 0-30.272 2.359-36.49 7.212C25 58.512 25 63.996 25 68M15 26h-2c0 7.396 10.039 12.08 29.893 14C23.039 41.92 13 46.604 13 54h2c0-4.855 6.756-13 52-13v-2c-45.244 0-52-8.145-52-13m6-8h-2c0 9.396 5.703 19 48 19v-2c-40.535 0-46-8.594-46-17m46 13v2c-18.337 0-30.272-2.359-36.49-7.212C25 21.488 25 16.004 25 12h2c0 7.566 0 19 40 19\" /></g></svg>;\nexport default SvgKinesisanalytics;","import * as React from \"react\";\nconst SvgKinesisanalyticsv2 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Kinesis_64\"}</title><defs><linearGradient id=\"linearGradient-kns\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Kinesis_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-kns)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Kinesis_Icon_64_Squid\" fill=\"#fff\" d=\"M19 62h2c0-8.406 5.465-17 46-17v-2c-42.297 0-48 9.604-48 19m6 6h2c0-7.566 0-19 40-19v-2c-18.337 0-30.272 2.359-36.49 7.212C25 58.512 25 63.996 25 68M15 26h-2c0 7.396 10.039 12.08 29.893 14C23.039 41.92 13 46.604 13 54h2c0-4.855 6.756-13 52-13v-2c-45.244 0-52-8.145-52-13m6-8h-2c0 9.396 5.703 19 48 19v-2c-40.535 0-46-8.594-46-17m46 13v2c-18.337 0-30.272-2.359-36.49-7.212C25 21.488 25 16.004 25 12h2c0 7.566 0 19 40 19\" /></g></svg>;\nexport default SvgKinesisanalyticsv2;","import * as React from \"react\";\nconst SvgKms = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Key-Management-Services_64\"}</title><defs><linearGradient id=\"linearGradient-kms\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Key-Management-Services_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"url(#linearGradient-kms)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Key-Management-Services_Icon_64_Squid\" fill=\"#fff\" d=\"M51.997 52.496h7v-2h-7zm-9 0h7v-2h-7zm-9 0h7v-2h-7zm11-8c0-1.103.898-2 2-2 1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2m6 0c0-2.206-1.793-4-4-4s-4 1.794-4 4 1.794 4 4 4 4-1.794 4-4m-14-2c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .898-2 2-2m0 6c2.207 0 4-1.794 4-4s-1.793-4-4-4-4 1.794-4 4 1.794 4 4 4m29-15v23a1 1 0 0 1-1 1h-31v-2h30v-21h-22v-2h23a1 1 0 0 1 1 1m-35.301 5.047a1 1 0 0 0-.7.953v21.04l-2.398 2.057-2.601-2.973v-2.624a1 1 0 0 0-.293-.707l-2.292-2.293 2.292-2.293a1 1 0 0 0 .293-.707v-2a1 1 0 0 0-.293-.707l-2.292-2.293 2.292-2.293a1 1 0 0 0 .293-.707v-3.49a1 1 0 0 0-.698-.953c-5.142-1.63-8.182-6.919-7.07-12.304.803-3.88 3.787-6.99 7.602-7.926 3.249-.797 6.58-.1 9.14 1.907a10.45 10.45 0 0 1 4.026 8.266c0 4.553-3.002 8.685-7.301 10.047m9.3-10.047c0-3.864-1.745-7.45-4.79-9.84s-6.997-3.22-10.851-2.275c-4.561 1.117-8.126 4.832-9.084 9.463v.001C14 31.99 17.3 38.035 22.997 40.215v2.367L20.29 45.29a1 1 0 0 0 0 1.414l2.707 2.707v1.172L20.29 53.29a1 1 0 0 0 0 1.414l2.707 2.707v2.586c0 .242.088.476.248.66l3.5 4a1 1 0 0 0 1.403.1l3.5-3a1 1 0 0 0 .349-.76V40.204c4.746-1.832 8-6.542 8-11.708m-12.5 2.37a2.503 2.503 0 0 1-2.5-2.5c0-1.378 1.123-2.5 2.5-2.5 1.38 0 2.5 1.122 2.5 2.5 0 1.38-1.12 2.5-2.5 2.5m0-7a4.505 4.505 0 0 0-4.5 4.5c0 2.482 2.02 4.5 4.5 4.5 2.483 0 4.5-2.018 4.5-4.5 0-2.48-2.017-4.5-4.5-4.5\" /></g></svg>;\nexport default SvgKms;","import * as React from \"react\";\nconst SvgLakeformation = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Lake-Formation_16\"}</title><defs><linearGradient id=\"linearGradient-lf\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Lake-Formation_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Analytics\" fill=\"url(#linearGradient-lf)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Lake-Formation_Icon_16_Squid\" fill=\"#fff\" d=\"m14.146 15.146.707.707-2 2a.5.5 0 0 1-.707 0l-2-2 .707-.707L12 16.292V14.5h1v1.792zM12.5 19A6.51 6.51 0 0 1 6 12.5C6 8.916 8.916 6 12.5 6S19 8.916 19 12.5 16.083 19 12.5 19m0-14C8.364 5 5 8.364 5 12.5c0 4.135 3.364 7.5 7.5 7.5 4.135 0 7.5-3.365 7.5-7.5C20 8.364 16.635 5 12.5 5m1.035 6.298a.5.5 0 0 0-.053.224V13h-1.965v-1.478a.5.5 0 0 0-.053-.224L10.31 9h4.379zM15.5 8h-6a.5.5 0 0 0-.448.724l1.465 2.917V13.5a.5.5 0 0 0 .5.5h2.965a.5.5 0 0 0 .5-.5v-1.859l1.465-2.917A.503.503 0 0 0 15.5 8\" /></g></svg>;\nexport default SvgLakeformation;","import * as React from \"react\";\nconst SvgLambda = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Lambda_64\"}</title><defs><linearGradient id=\"linearGradient-lmb\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Lambda_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Compute\" fill=\"url(#linearGradient-lmb)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Lambda_Icon_64_Squid\" fill=\"#fff\" d=\"M28.008 66H15.59l13.733-28.704 6.222 12.81zm2.212-31.447a1 1 0 0 0-.902-.564h-.003a1 1 0 0 0-.903.569L13.098 66.569A1 1 0 0 0 14.002 68h14.64c.388 0 .74-.223.906-.572l8.016-16.9a1 1 0 0 0-.005-.863zM64.995 66H52.66L32.867 24.57a1 1 0 0 0-.905-.57H23.89l.009-10h15.82L59.42 55.429c.166.348.519.571.906.571h4.67zm1.003-12H60.96l-19.7-41.429a1 1 0 0 0-.907-.571H22.898c-.553 0-1.002.447-1.003.999l-.01 12A1 1 0 0 0 22.886 26h8.442l19.793 41.43c.167.348.517.57.904.57h13.972A1 1 0 0 0 67 67V55a1 1 0 0 0-1.002-1\" /></g></svg>;\nexport default SvgLambda;","import * as React from \"react\";\nconst SvgLogs = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-CloudWatch_64\"}</title><defs><linearGradient id=\"linearGradient-cwl\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-CloudWatch_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Management-Governance\" fill=\"url(#linearGradient-cwl)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-CloudWatch_Icon_64_Squid\" fill=\"#fff\" d=\"M55.06 46.777c0-3.909-3.202-7.09-7.138-7.09s-7.136 3.181-7.136 7.09c0 3.91 3.2 7.09 7.136 7.09s7.137-3.18 7.137-7.09m2.01 0c0 5.011-4.103 9.087-9.147 9.087-5.043 0-9.147-4.076-9.147-9.087 0-5.01 4.104-9.086 9.147-9.086s9.148 4.076 9.148 9.086m8.44 13.697L58.5 54.203a13 13 0 0 1-1.947 2.16l6.998 6.27a1.474 1.474 0 0 0 2.066-.107 1.453 1.453 0 0 0-.108-2.052m-17.588-2.812c6.043 0 10.958-4.883 10.958-10.885s-4.915-10.884-10.958-10.884c-6.041 0-10.957 4.882-10.957 10.884s4.916 10.885 10.957 10.885m19.19 6.2A3.48 3.48 0 0 1 64.529 65a3.48 3.48 0 0 1-2.322-.883L54.931 57.6a12.94 12.94 0 0 1-7.009 2.06c-7.15 0-12.967-5.779-12.967-12.882s5.817-12.881 12.967-12.881 12.969 5.779 12.969 12.881c0 2.038-.492 3.96-1.344 5.674l7.309 6.54a3.444 3.444 0 0 1 .256 4.872M21.28 29.393c0 .519.032 1.036.094 1.536a.994.994 0 0 1-.823 1.106c-2.472.634-6.54 2.553-6.54 8.31 0 4.348 2.413 6.748 4.439 7.996.691.433 1.51.664 2.373.673l12.122.011-.002 1.997-12.131-.01c-1.246-.014-2.428-.351-3.428-.977C15.377 48.797 12 45.89 12 40.345c0-6.683 4.6-9.153 7.3-10.026q-.03-.462-.03-.926c0-5.46 3.728-11.123 8.672-13.171 5.782-2.407 11.908-1.214 16.384 3.189 1.388 1.364 2.529 3.02 3.404 4.937a6.5 6.5 0 0 1 4.154-1.502c3.002 0 6.382 2.264 6.984 7.215 2.812.644 8.753 2.894 8.753 10.362 0 2.981-.941 5.444-2.798 7.319l-1.433-1.401c1.473-1.488 2.22-3.479 2.22-5.918 0-6.532-5.504-8.157-7.873-8.551a1 1 0 0 1-.823-1.157c-.329-4.055-2.753-5.872-5.03-5.872-1.437 0-2.784.695-3.697 1.907a1.006 1.006 0 0 1-1.75-.258c-.823-2.266-2.01-4.171-3.525-5.661-3.88-3.816-9.184-4.85-14.195-2.766-4.17 1.727-7.437 6.702-7.437 11.328\" /></g></svg>;\nexport default SvgLogs;","import * as React from \"react\";\nconst SvgManagedblockchain = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Managed-Blockchain_64\"}</title><g id=\"Icon-Architecture/64/Arch_Amazon-Managed-Blockchain_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Blockchain\" fill=\"#ed7100\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Managed-Blockchain-Icon_64_Squid\" fill=\"#fff\" d=\"m21.621 32.018-1.73-1.001A18.1 18.1 0 0 1 35.513 22c6.339 0 12.098 3.235 15.405 8.653l-1.707 1.042C46.27 26.877 41.149 24 35.513 24a16.1 16.1 0 0 0-13.892 8.018M49.199 48.25l1.731 1.001c-3.217 5.562-9.203 9.017-15.621 9.017-6.341 0-12.1-3.234-15.407-8.653l1.707-1.042c2.941 4.819 8.062 7.695 13.7 7.695a16.1 16.1 0 0 0 13.89-8.018m18.633-4.561-2 3-1.664-1.109.963-1.446H57v2a1 1 0 0 1-1 1H44a1 1 0 0 1-1-1v-3h-1v3a1 1 0 0 1-1 1H29a1 1 0 0 1-1-1v-3h-1v3a1 1 0 0 1-1 1H14a1 1 0 0 1-1-1v-12a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v4h1v-4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v4h1v-4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v2h4.131l-.963-1.445 1.664-1.109 2 3a1 1 0 0 1 0 1.109l-2 3-1.664-1.109.963-1.446H56a1 1 0 0 1-1-1v-2H45v4a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-4H30v4a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-4H15v10h10v-3a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3h10v-3a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3h10v-2a1 1 0 0 1 1-1h9.131l-.963-1.445 1.664-1.109 2 3a1 1 0 0 1 0 1.109M48 42.134h4v-4h-4zm-1-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1zm-14 6h4v-4h-4zm-1-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1zm-14 6h4v-4h-4zm-1-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1z\" /></g></svg>;\nexport default SvgManagedblockchain;","import * as React from \"react\";\nconst SvgMediaconvert = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Elemental-MediaConvert_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-Elemental-MediaConvert_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Media-Services\" fill=\"#ed7100\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Elemental-MediaConvert_Icon_64_Squid\" fill=\"#fff\" d=\"m62 52.422-6.496 3.713.992 1.736 7-4a1 1 0 0 0 .504-.869v-7h-2zm-9-20.844L40 24.15l-13 7.43v15.876l13 8.359 13-8.359zm11-4.577v6.998h-2v-5.46l-7 3.11V48a1 1 0 0 1-.459.842L41 57.549v6.75l5.514-3.066.972 1.748-7 3.893a1 1 0 0 1-.972 0l-7-3.893.972-1.748L39 64.299v-6.75l-13.541-8.706A1 1 0 0 1 25 48V31.648l-7-3.111v5.462h-2V27c0-.36.192-.69.504-.87l7-4.002.992 1.736-5.283 3.022 6.73 2.991 13.561-7.75a1 1 0 0 1 .992 0l13.561 7.751 6.732-2.991-5.285-3.023.992-1.736 7 4.002c.312.18.504.51.504.87m-24 8.164-4 2.4v4.87l4 2.4 4-2.4v-4.87zm.515-2.023 4.529 2.717 3.509-1.754.894 1.79L46 37.617V43c0 .35-.185.677-.485.857L41 46.568v4.434h-2v-4.435l-4.515-2.71c-.3-.18-.485-.505-.485-.856v-5.383l-3.447-1.724.894-1.79 3.509 1.755 4.529-2.717a1 1 0 0 1 1.03 0M40 15.144l6.514 3.624.972-1.748-7-3.894a1 1 0 0 0-.972 0l-7 3.894.972 1.748zM18 52.42l6.496 3.716-.992 1.736-7-4.003a1 1 0 0 1-.504-.869v-6.998h2z\" /></g></svg>;\nexport default SvgMediaconvert;","import * as React from \"react\";\nconst SvgMediastoreData = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Elemental-MediaStore_16\"}</title><defs><linearGradient id=\"linearGradient-ms\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Elemental-MediaStore_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Media-Services\" fill=\"url(#linearGradient-ms)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Elemental-MediaStore_Icon_16_Squid\" fill=\"#fff\" d=\"M8.98 15.475 7.977 16l-1.002-.525v-1.393l1.002-.502 1.001.502zm1.001.302v-2.005a.5.5 0 0 0-.276-.448l-1.503-.752a.5.5 0 0 0-.449 0l-1.503.752a.5.5 0 0 0-.276.448v2.005c0 .187.104.358.268.445l1.503.788a.5.5 0 0 0 .465 0l1.503-.788a.5.5 0 0 0 .268-.445m7.013.894v-2.839l2.004-1.004v2.835zm-4.007-.75 2.478 1.519-2.478 1.246zM9.98 9.72V6.797l6.012 3.127v6.665l-3.006-1.845v-3.187a.5.5 0 0 0-.274-.447zm-1.002-2.9v2.39L6.613 8.009zm3.507-1.759 2.262 1.13-1.667 1.087-2.462-1.281zm4.003 3.99L14.102 7.81l1.685-1.098 2.623 1.31zM19 11.706l-2.005 1.005V9.92l2.004-1.075zm.724-4.149L12.71 4.053a.5.5 0 0 0-.448 0L5.278 7.558A.5.5 0 0 0 5 8.004l.001.001H5v4.011h1.002V8.823l5.983 3.04v6.746l-1.702-1.032-.52.858 2.458 1.49h.002l.003.003.001-.001a.5.5 0 0 0 .484.02l7.013-3.526a.5.5 0 0 0 .276-.448V8.005a.5.5 0 0 0-.277-.448\" /></g></svg>;\nexport default SvgMediastoreData;","import * as React from \"react\";\nconst SvgMediastore = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Elemental-MediaStore_16\"}</title><defs><linearGradient id=\"linearGradient-ms\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Elemental-MediaStore_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Media-Services\" fill=\"url(#linearGradient-ms)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Elemental-MediaStore_Icon_16_Squid\" fill=\"#fff\" d=\"M8.98 15.475 7.977 16l-1.002-.525v-1.393l1.002-.502 1.001.502zm1.001.302v-2.005a.5.5 0 0 0-.276-.448l-1.503-.752a.5.5 0 0 0-.449 0l-1.503.752a.5.5 0 0 0-.276.448v2.005c0 .187.104.358.268.445l1.503.788a.5.5 0 0 0 .465 0l1.503-.788a.5.5 0 0 0 .268-.445m7.013.894v-2.839l2.004-1.004v2.835zm-4.007-.75 2.478 1.519-2.478 1.246zM9.98 9.72V6.797l6.012 3.127v6.665l-3.006-1.845v-3.187a.5.5 0 0 0-.274-.447zm-1.002-2.9v2.39L6.613 8.009zm3.507-1.759 2.262 1.13-1.667 1.087-2.462-1.281zm4.003 3.99L14.102 7.81l1.685-1.098 2.623 1.31zM19 11.706l-2.005 1.005V9.92l2.004-1.075zm.724-4.149L12.71 4.053a.5.5 0 0 0-.448 0L5.278 7.558A.5.5 0 0 0 5 8.004l.001.001H5v4.011h1.002V8.823l5.983 3.04v6.746l-1.702-1.032-.52.858 2.458 1.49h.002l.003.003.001-.001a.5.5 0 0 0 .484.02l7.013-3.526a.5.5 0 0 0 .276-.448V8.005a.5.5 0 0 0-.277-.448\" /></g></svg>;\nexport default SvgMediastore;","import * as React from \"react\";\nconst SvgMemorydb = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-MemoryDB-for-Redis_64\"}</title><defs><linearGradient id=\"linearGradient-1\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-MemoryDB-for-Redis_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-1)\" d=\"M0 0h80v80H0z\" /><g id=\"Icon-Service/64/Amazon-MemoryDB-for-Redis_64\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Fill-1\" d=\"M22.979 17.248C12.823 17.248 6 14.34 6 11.624S12.823 6 22.979 6c10.036 0 16.033 2.86 16.033 5.624 0 2.765-5.997 5.624-16.033 5.624m15.43 15.483c1.94 0 3.876.217 5.752.645l.445-1.95A28 28 0 0 0 41 30.861V11.955h-.022c.009-.111.034-.218.034-.331C41.012 7.136 33.597 4 22.979 4 13.548 4 4 6.619 4 11.624c0 .114.031.22.04.331H4v40.358c0 2.88 3.13 5.205 8.814 6.546l.459-1.946C8.788 55.853 6 54.091 6 52.313v-9.607c1.295 1.045 3.198 1.933 5.648 2.613l.535-1.926C8.312 42.317 6 40.713 6 39.101v-9.74c3.073 2.535 9.256 3.91 15.417 4.165l.082-1.998C11.797 31.126 6 28.242 6 25.687V15.213c3.284 2.656 10.152 4.035 16.979 4.035 7.33 0 13.13-1.495 16.021-3.896v15.396c-.197-.004-.394-.017-.591-.017-10.349 0-19.797 5.699-24.659 14.871l1.768.937c4.513-8.517 13.284-13.808 22.891-13.808m13.228 3.643a25.7 25.7 0 0 0-5.176-2.36l.623-1.901a27.8 27.8 0 0 1 5.579 2.544zm-9.849 21.581a6.37 6.37 0 0 0-1.319-3.002l11.339-10.721c3.622 3.516 5.873 8.529 6.13 13.723zm-6.317-3.414a4.4 4.4 0 0 1 4.28 3.414h-8.559a4.4 4.4 0 0 1 4.279-3.414m17.804-11.696 3.675-3.474-1.375-1.454L38.988 53.6a6.35 6.35 0 0 0-3.517-1.059c-3.193 0-5.839 2.353-6.316 5.414H17.864c.515-10.764 9.305-19.359 20.037-19.359 2.886 0 5.669.598 8.274 1.779l.826-1.821a21.9 21.9 0 0 0-9.1-1.958c-12.164 0-22.061 10.03-22.061 22.359v1h44.122v-1c0-6.046-2.488-11.999-6.687-16.11\" /></g></g></svg>;\nexport default SvgMemorydb;","import * as React from \"react\";\nconst SvgMq = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-MQ_16\"}</title><defs><linearGradient id=\"linearGradient-mq\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-MQ_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Application-Integration\" fill=\"url(#linearGradient-mq)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-MQ-Icon_16_Squid\" fill=\"#fff\" d=\"M8.005 12.983h1.002v-.99H8.005zm7.012 0h1.002v-.99h-1.002zm-2.227-1.76a3.2 3.2 0 0 1-1.556 0 5 5 0 0 1 0 2.434q.382-.096.778-.097.396.001.778.097a5 5 0 0 1 0-2.434m1.58-.908c-.965.953-.965 3.297 0 4.25a.494.494 0 0 1-.355.846.5.5 0 0 1-.353-.145 2.31 2.31 0 0 0-3.299 0 .505.505 0 0 1-.708 0 .49.49 0 0 1 0-.701c.964-.953.964-3.297 0-4.25a.49.49 0 0 1 0-.7.505.505 0 0 1 .708 0 2.31 2.31 0 0 0 3.299 0 .505.505 0 0 1 .708 0 .494.494 0 0 1 0 .7M6.865 8.064c0 .34.281.617.625.617a.62.62 0 0 0 .625-.617c0-.341-.28-.617-.625-.617a.62.62 0 0 0-.625.617m-1.001 0c0-.887.73-1.608 1.626-1.608.897 0 1.626.721 1.626 1.608A1.62 1.62 0 0 1 7.49 9.672a1.62 1.62 0 0 1-1.626-1.608m11.27 8.908c0-.34-.28-.618-.625-.618a.623.623 0 0 0-.625.618c0 .34.282.617.625.617a.62.62 0 0 0 .625-.617m1.001 0c0 .886-.729 1.607-1.626 1.607a1.62 1.62 0 0 1-1.626-1.607c0-.886.73-1.608 1.626-1.608.897 0 1.626.722 1.626 1.608M15.88 8.06c0 .34.282.617.625.617a.62.62 0 0 0 .624-.617.62.62 0 0 0-.624-.617.62.62 0 0 0-.625.617m-1.001 0c0-.887.73-1.607 1.626-1.607.897 0 1.626.72 1.626 1.607 0 .886-.73 1.608-1.626 1.608A1.62 1.62 0 0 1 14.88 8.06m-6.76 8.916c0-.34-.28-.618-.625-.618a.62.62 0 0 0-.624.618c0 .34.28.617.624.617a.62.62 0 0 0 .625-.617m1.001 0c0 .886-.729 1.607-1.626 1.607s-1.626-.72-1.626-1.607c0-.886.73-1.608 1.626-1.608a1.62 1.62 0 0 1 1.626 1.608m9.696-4.897a.626.626 0 0 0-.883 0 .61.61 0 0 0 0 .872.646.646 0 0 0 .883 0 .61.61 0 0 0 0-.872m.708 1.572a1.62 1.62 0 0 1-1.148.471c-.436 0-.844-.167-1.151-.47a1.595 1.595 0 0 1 0-2.273c.613-.607 1.684-.608 2.3 0a1.595 1.595 0 0 1 0 2.272M6.066 12.085a.62.62 0 0 0-.44-.182.62.62 0 0 0-.442.182.61.61 0 0 0 0 .872.645.645 0 0 0 .882 0 .61.61 0 0 0 0-.872m.71 1.572a1.62 1.62 0 0 1-1.15.471 1.62 1.62 0 0 1-1.15-.471 1.595 1.595 0 0 1 0-2.272c.614-.607 1.683-.608 2.3 0a1.597 1.597 0 0 1 0 2.272m2.995 3.785-.444.888c.914.446 1.78.67 2.643.67.864 0 1.73-.224 2.643-.67l-.444-.888c-1.542.752-2.856.753-4.398 0M9.75 7.448l-.4-.907a6.63 6.63 0 0 1 5.242 0l-.4.907a5.62 5.62 0 0 0-4.442 0\" /></g></svg>;\nexport default SvgMq;","import * as React from \"react\";\nconst SvgMwaa = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_CN-Pinwheel_16\"}</title><defs><linearGradient id=\"linearGradient-mwaa\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_CN-Pinwheel_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-mwaa)\" d=\"M0 0h24v24H0z\" /><g id=\"Icon-Service/16/CN-Pinwheel_16\" fill=\"#fff\" transform=\"translate(4 4)\"><path id=\"Fill-7\" d=\"M1 3h2V1H1zM.5 4h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5m14 8a.5.5 0 1 1 .002-1.002A.5.5 0 0 1 14.5 12m0-2c-.827 0-1.5.673-1.5 1.5s.673 1.5 1.5 1.5 1.5-.673 1.5-1.5-.673-1.5-1.5-1.5m0-6a.5.5 0 1 1 .002-1.002A.5.5 0 0 1 14.5 4m0-2c-.827 0-1.5.673-1.5 1.5S13.673 5 14.5 5 16 4.327 16 3.5 15.327 2 14.5 2m0 6a.5.5 0 1 1 .002-1.002A.5.5 0 0 1 14.5 8m0-2c-.827 0-1.5.673-1.5 1.5S13.673 9 14.5 9 16 8.327 16 7.5 15.327 6 14.5 6M16 0v1h-4v14h4v1h-4.5a.5.5 0 0 1-.5-.5V8H6V7h5V.5a.5.5 0 0 1 .5-.5zM1 9.191V6.809L3.382 8zm3.724-1.638-4-2A.5.5 0 0 0 0 6v4a.5.5 0 0 0 .724.447l4-2a.5.5 0 0 0 0-.894M2.5 15c-.827 0-1.5-.673-1.5-1.5S1.673 12 2.5 12s1.5.673 1.5 1.5S3.327 15 2.5 15m0-4A2.503 2.503 0 0 0 0 13.5C0 14.878 1.121 16 2.5 16S5 14.878 5 13.5 3.879 11 2.5 11\" /></g></g></svg>;\nexport default SvgMwaa;","import * as React from \"react\";\nconst SvgNeptune = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-Neptune_16\"}</title><defs><linearGradient id=\"linearGradient-npt\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-Neptune_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Database\" fill=\"url(#linearGradient-npt)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-Neptune_Icon_16_Squid\" fill=\"#fff\" d=\"M16.435 18.968a.316.316 0 1 1 .001-.632.316.316 0 0 1-.001.632m-1.424-4.75a.87.87 0 0 1 1.74 0 .87.87 0 0 1-1.74 0m3.64-4.197a.316.316 0 1 1 0 .632.316.316 0 0 1 0-.632m-6.097 5.62a.315.315 0 1 1 0-.63.315.315 0 0 1 0 .63m6.376 0c-.59 0-1.07.48-1.07 1.071 0 .025.011.046.014.07l-.986.615c-.07-.026-.146-.031-.22-.045v-1.409a1.9 1.9 0 0 0 1.115-1.726c0-.424-.146-.812-.381-1.129l.88-1.478c.12.035.239.074.37.074A1.35 1.35 0 0 0 20 10.337a1.35 1.35 0 0 0-1.348-1.348 1.35 1.35 0 0 0-1.347 1.348c0 .225.069.427.167.614l-.893 1.501a1.9 1.9 0 0 0-.699-.136c-.305 0-.59.078-.845.207l-.613-.627c.01-.058.035-.112.035-.174 0-.59-.48-1.07-1.07-1.07a1.072 1.072 0 0 0 0 2.142c.139 0 .269-.032.39-.08l.493.504a1.9 1.9 0 0 0-.291 1l.002.017-.52.108a1.33 1.33 0 0 0-.907-.364 1.348 1.348 0 1 0 1.348 1.347c0-.007-.004-.012-.004-.02l.377-.078c.295.467.789.793 1.362.867v1.5c-.326.248-.55.62-.55 1.057 0 .743.604 1.348 1.348 1.348a1.35 1.35 0 0 0 1.238-1.877l.763-.476c.15.079.313.136.494.136a1.071 1.071 0 0 0 0-2.141M9.228 5.032c2.561 0 4.197.844 4.197 1.424S11.789 7.88 9.228 7.88s-4.196-.843-4.196-1.424c0-.58 1.634-1.424 4.196-1.424m0 13.661c-2.522 0-4.196-.811-4.196-1.348v-1.796c1.058.63 2.778.96 4.432.96v-1.031c-2.75 0-4.432-.895-4.432-1.383v-2.274c1.058.631 2.778.96 4.432.96.485 0 .966-.027 1.43-.081l-.12-1.025q-.64.075-1.31.074c-2.75 0-4.432-.894-4.432-1.382V7.961c1.015.624 2.635.952 4.196.952s3.182-.328 4.197-.952v1.344h1.032v-2.85C14.457 4.862 11.764 4 9.228 4S4 4.86 4 6.456v10.889c0 1.563 2.63 2.38 5.228 2.38 2.599 0 5.229-.817 5.229-2.38h-1.032c0 .537-1.674 1.348-4.197 1.348\" /></g></svg>;\nexport default SvgNeptune;","import * as React from \"react\";\nconst SvgOpensearch = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Elasticsearch-Service_64\"}</title><defs><linearGradient id=\"linearGradient-es\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Elasticsearch-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-es)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Elasticsearch-Service_Icon_64_Squid\" fill=\"#fff\" d=\"M44.26 51.33c-4.417 0-8.01-3.593-8.01-8.009s3.593-8.01 8.01-8.01 8.01 3.593 8.01 8.01-3.593 8.009-8.01 8.009m0-18.019c-5.52 0-10.01 4.49-10.01 10.01S38.74 53.33 44.26 53.33s10.01-4.49 10.01-10.009-4.49-10.01-10.01-10.01m20.288 28.035a1.774 1.774 0 0 1-2.496.131l-8.34-7.523a14.4 14.4 0 0 0 2.337-2.641l8.367 7.538c.723.652.781 1.773.132 2.495M32.011 43.321c0-6.755 5.495-12.25 12.249-12.25s12.249 5.495 12.249 12.25c0 6.754-5.495 12.249-12.249 12.249s-12.249-5.495-12.249-12.249m25.052 6.214a14.14 14.14 0 0 0 1.446-6.214c0-7.858-6.392-14.25-14.249-14.25s-14.249 6.392-14.249 14.25S36.403 57.57 44.26 57.57c2.899 0 5.596-.875 7.849-2.368l8.605 7.762a3.75 3.75 0 0 0 2.518.962 3.77 3.77 0 0 0 2.802-1.241 3.777 3.777 0 0 0-.278-5.319zM67 20v34h-2V21h-8v11h-2V20a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1M51 61h2v5a1 1 0 0 1-1 1H42a1 1 0 0 1-1-1v-6h2v5h8zm-8-35h-2V14a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v14h-2V15h-8zm-6 33h2v7a1 1 0 0 1-1 1H28a1 1 0 0 1-1-1V51h2v14h8zm-8-23h-2V23a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v4h-2v-3h-8zM15 65h8V31h-8zm9-36H14a1 1 0 0 0-1 1v36a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V30a1 1 0 0 0-1-1\" /></g></svg>;\nexport default SvgOpensearch;","import * as React from \"react\";\nconst SvgOrganizations = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Organizations_16\"}</title><defs><linearGradient id=\"linearGradient-org\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Organizations_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Management-Governance\" fill=\"url(#linearGradient-org)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Organizations_Icon_16_Squid\" fill=\"#fff\" d=\"M19.001 19.003h-1.06v-1.06h1.061zm-5.994 0h-1.014v-1.06h1.014zm-5.993 0H5.999v-1.06h1.015zM19.5 16.945H19v-1.496a.5.5 0 0 0-.5-.498h-5.494v-.562h-.998v.562H6.514c-.275 0-.5.222-.5.498v1.496H5.5a.5.5 0 0 0-.499.5V19.5a.5.5 0 0 0 .5.499h2.013a.5.5 0 0 0 .5-.499v-2.056a.5.5 0 0 0-.5-.5h-.5v-.998h4.996v.998h-.516a.5.5 0 0 0-.5.5V19.5a.5.5 0 0 0 .5.499h2.014a.5.5 0 0 0 .5-.499v-2.056a.5.5 0 0 0-.5-.5h-.5v-.998h4.995v.998h-.561a.5.5 0 0 0-.5.5V19.5a.5.5 0 0 0 .5.499h2.06a.5.5 0 0 0 .499-.499v-2.056a.5.5 0 0 0-.5-.5M12.499 6.042l2.702 1.163-2.712 1.218-2.716-1.217zm.498 6.568L12.99 9.29l2.952-1.324v2.957zm-3.97-4.645 2.964 1.326.008 3.32-2.971-1.688zm-.746 3.681 3.972 2.258a.5.5 0 0 0 .496-.001l3.942-2.257a.5.5 0 0 0 .25-.433V7.196c0-.2-.12-.38-.301-.458L12.698 5.04a.5.5 0 0 0-.394 0L8.331 6.736a.5.5 0 0 0-.302.459v4.017c0 .18.096.346.252.433\" /></g></svg>;\nexport default SvgOrganizations;","import * as React from \"react\";\nconst SvgPinpoint = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Pinpoint-APIs_64\"}</title><defs><linearGradient id=\"linearGradient-elc\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Pinpoint-APIs_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Business-Applications\" fill=\"url(#linearGradient-elc)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><g id=\"Icon-Service/64/Amazon-Pinpoint\" fill=\"#fff\" transform=\"translate(16 16)\"><path id=\"Amazon-Pinpoint-Icon_64_Squid\" d=\"m23.293 23.293 4.18-4.179A5.96 5.96 0 0 0 24.004 18a6.003 6.003 0 0 0-5.997 5.997 6.003 6.003 0 0 0 5.997 5.996A6 6 0 0 0 30 23.997a5.96 5.96 0 0 0-1.113-3.469l-4.18 4.179zm11.276-8.448-4.256 4.257A7.95 7.95 0 0 1 32 23.997c0 4.409-3.587 7.996-7.996 7.996s-7.997-3.587-7.997-7.996S19.595 16 24.004 16a7.94 7.94 0 0 1 4.894 1.688l4.257-4.257A13.92 13.92 0 0 0 24.004 10c-7.718 0-13.997 6.279-13.997 13.997 0 7.717 6.279 13.996 13.997 13.996S38 31.714 38 23.997c0-3.5-1.3-6.696-3.431-9.152m2.461-7.33A3.49 3.49 0 0 0 40.515 11 3.49 3.49 0 0 0 44 7.515a3.49 3.49 0 0 0-3.485-3.485 3.49 3.49 0 0 0-3.485 3.485m-2.462 4.502 1.416-1.415a5.46 5.46 0 0 1-.954-3.087 5.49 5.49 0 0 1 5.485-5.485A5.49 5.49 0 0 1 46 7.515 5.49 5.49 0 0 1 40.515 13a5.45 5.45 0 0 1-3.12-.98l-1.413 1.411C38.475 16.253 40 19.946 40 23.997c0 8.82-7.176 15.996-15.996 15.996S8.007 32.817 8.007 23.997 15.183 8 24.004 8c4.051 0 7.743 1.526 10.564 4.017M48 24c0 13.233-10.767 24-24 24S0 37.233 0 24 10.767 0 24 0c3.361 0 6.614.684 9.669 2.032l-.809 1.83A21.8 21.8 0 0 0 24 2C11.869 2 2 11.869 2 24s9.869 22 22 22 22-9.869 22-22c0-3.09-.622-6.056-1.851-8.814l1.829-.814C47.319 17.389 48 20.628 48 24\" /></g></g></svg>;\nexport default SvgPinpoint;","import * as React from \"react\";\nconst SvgPipes = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-EventBridge_64\"}</title><defs><linearGradient id=\"linearGradient-ebr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-EventBridge_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Application-Integration\" fill=\"url(#linearGradient-ebr)\" transform=\"translate(0 1)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-EventBridge_Icon_64_Squid\" fill=\"#fff\" d=\"M53.657 67c-2.143 0-3.887-1.753-3.887-3.909s1.744-3.909 3.887-3.909 3.887 1.753 3.887 3.909S55.8 67 53.657 67m-8.524-17H34.798l-5.168-9 5.168-9h10.335l5.167 9zM27.62 22.818c-2.143 0-3.887-1.753-3.887-3.909S25.478 15 27.62 15c2.144 0 3.888 1.753 3.888 3.909s-1.744 3.909-3.888 3.909m26.036 34.364c-.738 0-1.442.143-2.093.394L47.34 50.41l-.223.133L52.31 41.5c.177-.31.177-.69 0-1l-5.741-10a.99.99 0 0 0-.862-.5H35.258l.04-.024-3.871-6.572a5.9 5.9 0 0 0 2.071-4.495c0-3.258-2.636-5.909-5.877-5.909s-5.876 2.651-5.876 5.909 2.636 5.909 5.876 5.909c.739 0 1.443-.143 2.094-.394l3.615 6.133-5.71 9.943c-.177.31-.177.69 0 1l5.743 10c.178.31.506.5.861.5h11.482q.125-.002.241-.032l3.905 6.628a5.9 5.9 0 0 0-2.071 4.495c0 3.258 2.635 5.909 5.876 5.909 3.24 0 5.876-2.651 5.876-5.909s-2.635-5.909-5.876-5.909m5.927-24.078c-2.143 0-3.886-1.753-3.886-3.909s1.743-3.909 3.886-3.909 3.888 1.753 3.888 3.909-1.745 3.909-3.888 3.909m7.283 7.396-3.775-6.575a5.91 5.91 0 0 0 2.368-4.73c0-3.258-2.635-5.909-5.876-5.909-.824 0-1.61.173-2.323.484l-3.077-5.361a1 1 0 0 0-.861-.5H40.995v2h11.754l2.847 4.96a5.9 5.9 0 0 0-1.887 4.326c0 3.258 2.636 5.909 5.875 5.909.604 0 1.188-.093 1.737-.264L64.858 41l-4.966 8.648 1.722 1 5.253-9.148c.177-.31.177-.69 0-1M21.229 56.247c-2.144 0-3.888-1.754-3.888-3.909 0-2.156 1.744-3.909 3.888-3.909 2.143 0 3.887 1.753 3.887 3.909s-1.744 3.909-3.887 3.909m3.248 1.011a5.92 5.92 0 0 0 2.628-4.92c0-3.258-2.636-5.909-5.876-5.909-.939 0-1.823.228-2.61.623L15.143 41l5.759-10.029-1.723-1L13.133 40.5c-.177.31-.177.69 0 1l3.872 6.74a5.9 5.9 0 0 0-1.653 4.098c0 3.258 2.636 5.909 5.877 5.909.488 0 .96-.067 1.415-.181l3.172 5.525c.178.309.506.5.861.5h12.33v-2H27.25z\" /></g></svg>;\nexport default SvgPipes;","import * as React from \"react\";\nconst SvgQldbSession = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Quantum-Ledger-Database_64\"}</title><defs><linearGradient id=\"linearGradient-qld\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Quantum-Ledger-Database_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-qld)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Quantum-Ledger-Database_Icon_64_Squid\" fill=\"#fff\" d=\"M66 47.283H56V43.25h-5v4.034H41V43.25h-5v4.034H26V37.197h9.564c.167.148.333.308.436.429v4.614h5v-4.907l.002-.136H51v5.043h5v-5.043h10zm.121-12.103H55.879A1.89 1.89 0 0 0 54 37.075v3.148h-1V37.58c.085-.22.115-.461.086-.703-.094-.769-.761-1.336-.964-1.49l-.268-.207H40.287c-.48 0-1.287.28-1.287 2.153v2.89h-1v-3.108l-.089-.198c-.296-.66-1.135-1.338-1.385-1.53l-.267-.207h-10.38A1.89 1.89 0 0 0 24 37.075v10.33a1.89 1.89 0 0 0 1.879 1.895h10.242A1.89 1.89 0 0 0 38 47.405v-2.139h1v2.383c0 1.306.842 1.651 1.287 1.651h11.23c.718 0 1.483-.579 1.483-1.65v-2.384h1.001l.001 2.316c-.055.822.606 1.506 1.646 1.701l10.473.017A1.89 1.89 0 0 0 68 47.405v-10.33a1.89 1.89 0 0 0-1.879-1.895M63 40.222l.002 4.035-4.002.001-.001-4.035zm-4.001 6.053h4.002A2.01 2.01 0 0 0 65 44.258v-4.036a2.01 2.01 0 0 0-1.999-2.016h-4.002A2.01 2.01 0 0 0 57 40.222v4.036a2.01 2.01 0 0 0 1.999 2.017M48 44.24q-.001.015-.016.016L44 44.241l.016-4.018L48 40.24zm-.016-6.035h-3.968A2.027 2.027 0 0 0 42 40.239v4.002c0 1.122.904 2.034 2.016 2.034h3.968A2.027 2.027 0 0 0 50 44.24V40.24a2.027 2.027 0 0 0-2.016-2.033M29 44.258l-.001-4.035H33l.002 4.034zm4.001-6.052h-4.002A2.01 2.01 0 0 0 27 40.222v4.036a2.01 2.01 0 0 0 1.999 2.017h4.002A2.01 2.01 0 0 0 35 44.258v-4.036a2.01 2.01 0 0 0-1.999-2.016M30 16.017c9.429 0 16 2.923 16 5.547 0 2.625-6.571 5.548-16 5.548s-16-2.923-16-5.548 6.571-5.547 16-5.547M46 59.31c0 2.682-6.571 5.673-16 5.673s-16-2.99-16-5.673v-8.623c3.184 2.703 9.189 4.55 15.545 4.55 8.035 0 12.237-1.905 12.412-1.986l-.836-1.834c-.039.019-3.975 1.803-11.576 1.803-7.775 0-14.027-2.852-15.545-5.559v-9.87c1.916 1.731 4.818 3.095 8.096 3.711l.367-1.983c-4.514-.848-7.526-3.104-8.463-4.876v-9.486c3.19 2.595 9.728 3.972 16 3.972s12.81-1.377 16-3.972v9.015h2V21.06h-.06C47.321 16.474 38.418 14 30 14s-17.321 2.474-17.94 7.06H12v38.25C12 63.694 19.738 67 30 67s18-3.306 18-7.69v-7.992h-2z\" /></g></svg>;\nexport default SvgQldbSession;","import * as React from \"react\";\nconst SvgQldb = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Quantum-Ledger-Database_64\"}</title><defs><linearGradient id=\"linearGradient-qld\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Quantum-Ledger-Database_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-qld)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Quantum-Ledger-Database_Icon_64_Squid\" fill=\"#fff\" d=\"M66 47.283H56V43.25h-5v4.034H41V43.25h-5v4.034H26V37.197h9.564c.167.148.333.308.436.429v4.614h5v-4.907l.002-.136H51v5.043h5v-5.043h10zm.121-12.103H55.879A1.89 1.89 0 0 0 54 37.075v3.148h-1V37.58c.085-.22.115-.461.086-.703-.094-.769-.761-1.336-.964-1.49l-.268-.207H40.287c-.48 0-1.287.28-1.287 2.153v2.89h-1v-3.108l-.089-.198c-.296-.66-1.135-1.338-1.385-1.53l-.267-.207h-10.38A1.89 1.89 0 0 0 24 37.075v10.33a1.89 1.89 0 0 0 1.879 1.895h10.242A1.89 1.89 0 0 0 38 47.405v-2.139h1v2.383c0 1.306.842 1.651 1.287 1.651h11.23c.718 0 1.483-.579 1.483-1.65v-2.384h1.001l.001 2.316c-.055.822.606 1.506 1.646 1.701l10.473.017A1.89 1.89 0 0 0 68 47.405v-10.33a1.89 1.89 0 0 0-1.879-1.895M63 40.222l.002 4.035-4.002.001-.001-4.035zm-4.001 6.053h4.002A2.01 2.01 0 0 0 65 44.258v-4.036a2.01 2.01 0 0 0-1.999-2.016h-4.002A2.01 2.01 0 0 0 57 40.222v4.036a2.01 2.01 0 0 0 1.999 2.017M48 44.24q-.001.015-.016.016L44 44.241l.016-4.018L48 40.24zm-.016-6.035h-3.968A2.027 2.027 0 0 0 42 40.239v4.002c0 1.122.904 2.034 2.016 2.034h3.968A2.027 2.027 0 0 0 50 44.24V40.24a2.027 2.027 0 0 0-2.016-2.033M29 44.258l-.001-4.035H33l.002 4.034zm4.001-6.052h-4.002A2.01 2.01 0 0 0 27 40.222v4.036a2.01 2.01 0 0 0 1.999 2.017h4.002A2.01 2.01 0 0 0 35 44.258v-4.036a2.01 2.01 0 0 0-1.999-2.016M30 16.017c9.429 0 16 2.923 16 5.547 0 2.625-6.571 5.548-16 5.548s-16-2.923-16-5.548 6.571-5.547 16-5.547M46 59.31c0 2.682-6.571 5.673-16 5.673s-16-2.99-16-5.673v-8.623c3.184 2.703 9.189 4.55 15.545 4.55 8.035 0 12.237-1.905 12.412-1.986l-.836-1.834c-.039.019-3.975 1.803-11.576 1.803-7.775 0-14.027-2.852-15.545-5.559v-9.87c1.916 1.731 4.818 3.095 8.096 3.711l.367-1.983c-4.514-.848-7.526-3.104-8.463-4.876v-9.486c3.19 2.595 9.728 3.972 16 3.972s12.81-1.377 16-3.972v9.015h2V21.06h-.06C47.321 16.474 38.418 14 30 14s-17.321 2.474-17.94 7.06H12v38.25C12 63.694 19.738 67 30 67s18-3.306 18-7.69v-7.992h-2z\" /></g></svg>;\nexport default SvgQldb;","import * as React from \"react\";\nconst SvgRam = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Resource-Access-Manager_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-Resource-Access-Manager_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"#dd344c\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Resource-Access-Manager_Icon_64_Squid\" fill=\"#fff\" d=\"M33 60a1.001 1.001 0 0 0-2 0 1.001 1.001 0 0 0 2 0m2 0c0 1.654-1.346 3-3 3s-3-1.346-3-3 1.346-3 3-3 3 1.346 3 3m19.431.845L52.586 59H38.71a1 1 0 0 1-.958-.715C37.001 55.762 34.636 54 32 54c-3.309 0-6 2.691-6 6s2.691 6 6 6a6.03 6.03 0 0 0 5.423-3.429 1 1 0 0 1 .903-.571H41c.266 0 .52.105.707.293L43 63.586l1.293-1.293A1 1 0 0 1 45 62h2c.266 0 .52.105.707.293L49 63.586l1.293-1.293A1 1 0 0 1 51 62h1.697zm2.276-.552a1 1 0 0 1-.152 1.539l-3 2A1 1 0 0 1 53 64h-1.586l-1.707 1.707a1 1 0 0 1-1.414 0L46.586 64h-1.172l-1.707 1.707a1 1 0 0 1-1.414 0L40.586 64h-1.657A8.05 8.05 0 0 1 32 68c-4.411 0-8-3.589-8-8s3.589-8 8-8c3.26 0 6.208 2.022 7.418 5H53c.266 0 .52.105.707.293zM47.414 25 53 30.586 58.586 25 53 19.414zm4.879 7.707-7-7a1 1 0 0 1 0-1.414l7-7a1 1 0 0 1 1.414 0l7 7a1 1 0 0 1 0 1.414l-7 7a.997.997 0 0 1-1.414 0M34.09 29l-6.087-8.304L21.964 29zm1.973 2H20a1 1 0 0 1-.809-1.588l8-11a1 1 0 0 1 .807-.412c.346-.016.62.151.809.409l8.062 11A1 1 0 0 1 36.063 31M22 42.5c0 3.033 2.468 5.5 5.5 5.5s5.5-2.467 5.5-5.5-2.468-5.5-5.5-5.5a5.506 5.506 0 0 0-5.5 5.5m-2 0c0-4.136 3.364-7.5 7.5-7.5s7.5 3.364 7.5 7.5-3.364 7.5-7.5 7.5-7.5-3.364-7.5-7.5M48 47h9v-9h-9zm11 1a1 1 0 0 1-1 1H47a1 1 0 0 1-1-1V37a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1zm9-35v50a1 1 0 0 1-1 1h-8v-2h7V14H14v48h7v2h-8a1 1 0 0 1-1-1V13a1 1 0 0 1 1-1h54a1 1 0 0 1 1 1\" /></g></svg>;\nexport default SvgRam;","import * as React from \"react\";\nconst SvgRdsData = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-RDS_64\"}</title><defs><linearGradient id=\"linearGradient-rds\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-RDS_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-rds)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-RDS_Icon_64_Squid\" fill=\"#fff\" d=\"m15.414 14 9.293 9.293-1.414 1.414L14 15.414V23h-2V13a1 1 0 0 1 1-1h10v2zM68 13v10h-2v-7.586l-9.293 9.293-1.414-1.414L64.586 14H57v-2h10a1 1 0 0 1 1 1m-2 44h2v10a1 1 0 0 1-1 1H57v-2h7.586l-9.293-9.293 1.414-1.414L66 64.586zm-.5-17.787c0-3.319-3.832-6.598-10.25-8.771l.641-1.894C63.268 31.045 67.5 34.932 67.5 39.213c0 4.282-4.232 8.17-11.61 10.666l-.641-1.895c6.419-2.172 10.251-5.45 10.251-8.771m-50.944 0c0 3.18 3.587 6.372 9.596 8.54l-.679 1.881c-6.938-2.503-10.917-6.301-10.917-10.421s3.979-7.917 10.917-10.421l.679 1.881c-6.009 2.169-9.596 5.361-9.596 8.54m10.151 17.494L15.414 66H23v2H13a1 1 0 0 1-1-1V57h2v7.586l9.293-9.293zM40 31.286c-7.146 0-11-1.846-11-2.6 0-.755 3.854-2.6 11-2.6 7.145 0 11 1.845 11 2.6 0 .754-3.855 2.6-11 2.6m.029 7.745C33.187 39.031 29 37.162 29 36.145v-4.861c2.463 1.359 6.832 2.002 11 2.002s8.537-.643 11-2.002v4.861c0 1.018-4.165 2.886-10.971 2.886m0 7.636C33.187 46.667 29 44.798 29 43.781v-4.919c2.431 1.429 6.742 2.169 11.029 2.169 4.263 0 8.549-.739 10.971-2.164v4.914c0 1.018-4.165 2.886-10.971 2.886M40 53.518c-7.117 0-11-1.913-11-2.896v-4.124c2.431 1.429 6.742 2.169 11.029 2.169 4.263 0 8.549-.738 10.971-2.164v4.119c0 .983-3.883 2.896-11 2.896m0-29.432c-6.261 0-13 1.439-13 4.6v21.936c0 3.214 6.54 4.896 13 4.896s13-1.682 13-4.896V28.686c0-3.161-6.739-4.6-13-4.6\" /></g></svg>;\nexport default SvgRdsData;","import * as React from \"react\";\nconst SvgRds = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-RDS_64\"}</title><defs><linearGradient id=\"linearGradient-rds\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-RDS_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-rds)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-RDS_Icon_64_Squid\" fill=\"#fff\" d=\"m15.414 14 9.293 9.293-1.414 1.414L14 15.414V23h-2V13a1 1 0 0 1 1-1h10v2zM68 13v10h-2v-7.586l-9.293 9.293-1.414-1.414L64.586 14H57v-2h10a1 1 0 0 1 1 1m-2 44h2v10a1 1 0 0 1-1 1H57v-2h7.586l-9.293-9.293 1.414-1.414L66 64.586zm-.5-17.787c0-3.319-3.832-6.598-10.25-8.771l.641-1.894C63.268 31.045 67.5 34.932 67.5 39.213c0 4.282-4.232 8.17-11.61 10.666l-.641-1.895c6.419-2.172 10.251-5.45 10.251-8.771m-50.944 0c0 3.18 3.587 6.372 9.596 8.54l-.679 1.881c-6.938-2.503-10.917-6.301-10.917-10.421s3.979-7.917 10.917-10.421l.679 1.881c-6.009 2.169-9.596 5.361-9.596 8.54m10.151 17.494L15.414 66H23v2H13a1 1 0 0 1-1-1V57h2v7.586l9.293-9.293zM40 31.286c-7.146 0-11-1.846-11-2.6 0-.755 3.854-2.6 11-2.6 7.145 0 11 1.845 11 2.6 0 .754-3.855 2.6-11 2.6m.029 7.745C33.187 39.031 29 37.162 29 36.145v-4.861c2.463 1.359 6.832 2.002 11 2.002s8.537-.643 11-2.002v4.861c0 1.018-4.165 2.886-10.971 2.886m0 7.636C33.187 46.667 29 44.798 29 43.781v-4.919c2.431 1.429 6.742 2.169 11.029 2.169 4.263 0 8.549-.739 10.971-2.164v4.914c0 1.018-4.165 2.886-10.971 2.886M40 53.518c-7.117 0-11-1.913-11-2.896v-4.124c2.431 1.429 6.742 2.169 11.029 2.169 4.263 0 8.549-.738 10.971-2.164v4.119c0 .983-3.883 2.896-11 2.896m0-29.432c-6.261 0-13 1.439-13 4.6v21.936c0 3.214 6.54 4.896 13 4.896s13-1.682 13-4.896V28.686c0-3.161-6.739-4.6-13-4.6\" /></g></svg>;\nexport default SvgRds;","import * as React from \"react\";\nconst SvgRedshiftData = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Redshiftct_64\"}</title><defs><linearGradient id=\"linearGradient-red\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Redshiftct_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-red)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Redshift_Icon_64_Squid\" fill=\"#fff\" d=\"M50.825 35.17a1.92 1.92 0 0 1-1.92-1.916 1.921 1.921 0 0 1 3.84 0 1.92 1.92 0 0 1-1.92 1.916m-4.866 11.655a1.92 1.92 0 0 1-1.92-1.917 1.92 1.92 0 0 1 3.841 0 1.92 1.92 0 0 1-1.92 1.917m-11.678-1.943a1.92 1.92 0 0 1-1.919-1.916 1.92 1.92 0 0 1 3.84 0 1.92 1.92 0 0 1-1.92 1.916m-4.865 10.683a1.92 1.92 0 0 1-1.92-1.916 1.92 1.92 0 0 1 3.84 0 1.92 1.92 0 0 1-1.92 1.916m21.407-26.222a3.92 3.92 0 0 0-3.919 3.911c0 1.322.665 2.488 1.675 3.197l-1.828 4.628a4 4 0 0 0-.794-.081c-1.718 0-3.165 1.117-3.692 2.657l-4.09-.928a3.91 3.91 0 0 0-3.895-3.672 3.92 3.92 0 0 0-3.916 3.911c0 1.008.393 1.92 1.024 2.613l-1.786 4.179c-.063-.004-.122-.02-.186-.02A3.92 3.92 0 0 0 25.5 53.65a3.92 3.92 0 0 0 7.836 0 3.9 3.9 0 0 0-1.817-3.29l1.576-3.686c.377.12.77.203 1.187.203a3.91 3.91 0 0 0 3.503-2.193l4.334.983a3.919 3.919 0 0 0 7.76-.758 3.89 3.89 0 0 0-1.338-2.919l1.92-4.861c.122.012.24.037.364.037a3.92 3.92 0 0 0 3.918-3.91 3.92 3.92 0 0 0-3.918-3.912M40 66.006c-9.731 0-17.002-2.921-17.002-5.533V23.152c3.31 2.69 10.317 4.111 17.023 4.111 6.676 0 13.653-1.41 16.981-4.077v37.287c0 2.612-7.272 5.533-17.002 5.533m.021-52.012c10.007 0 16.981 2.971 16.981 5.638s-6.974 5.637-16.981 5.637S23.04 22.3 23.04 19.632s6.973-5.638 16.981-5.638M59 19.632C59 14.675 49.222 12 40.021 12s-18.979 2.675-18.979 7.632l.002.025H21v40.816C21 65.362 30.79 68 40 68s19-2.638 19-7.527V19.657h-.002z\" /></g></svg>;\nexport default SvgRedshiftData;","import * as React from \"react\";\nconst SvgRedshift = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Redshiftct_64\"}</title><defs><linearGradient id=\"linearGradient-red\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Redshiftct_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-red)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Redshift_Icon_64_Squid\" fill=\"#fff\" d=\"M50.825 35.17a1.92 1.92 0 0 1-1.92-1.916 1.921 1.921 0 0 1 3.84 0 1.92 1.92 0 0 1-1.92 1.916m-4.866 11.655a1.92 1.92 0 0 1-1.92-1.917 1.92 1.92 0 0 1 3.841 0 1.92 1.92 0 0 1-1.92 1.917m-11.678-1.943a1.92 1.92 0 0 1-1.919-1.916 1.92 1.92 0 0 1 3.84 0 1.92 1.92 0 0 1-1.92 1.916m-4.865 10.683a1.92 1.92 0 0 1-1.92-1.916 1.92 1.92 0 0 1 3.84 0 1.92 1.92 0 0 1-1.92 1.916m21.407-26.222a3.92 3.92 0 0 0-3.919 3.911c0 1.322.665 2.488 1.675 3.197l-1.828 4.628a4 4 0 0 0-.794-.081c-1.718 0-3.165 1.117-3.692 2.657l-4.09-.928a3.91 3.91 0 0 0-3.895-3.672 3.92 3.92 0 0 0-3.916 3.911c0 1.008.393 1.92 1.024 2.613l-1.786 4.179c-.063-.004-.122-.02-.186-.02A3.92 3.92 0 0 0 25.5 53.65a3.92 3.92 0 0 0 7.836 0 3.9 3.9 0 0 0-1.817-3.29l1.576-3.686c.377.12.77.203 1.187.203a3.91 3.91 0 0 0 3.503-2.193l4.334.983a3.919 3.919 0 0 0 7.76-.758 3.89 3.89 0 0 0-1.338-2.919l1.92-4.861c.122.012.24.037.364.037a3.92 3.92 0 0 0 3.918-3.91 3.92 3.92 0 0 0-3.918-3.912M40 66.006c-9.731 0-17.002-2.921-17.002-5.533V23.152c3.31 2.69 10.317 4.111 17.023 4.111 6.676 0 13.653-1.41 16.981-4.077v37.287c0 2.612-7.272 5.533-17.002 5.533m.021-52.012c10.007 0 16.981 2.971 16.981 5.638s-6.974 5.637-16.981 5.637S23.04 22.3 23.04 19.632s6.973-5.638 16.981-5.638M59 19.632C59 14.675 49.222 12 40.021 12s-18.979 2.675-18.979 7.632l.002.025H21v40.816C21 65.362 30.79 68 40 68s19-2.638 19-7.527V19.657h-.002z\" /></g></svg>;\nexport default SvgRedshift;","import * as React from \"react\";\nconst SvgResourceGroups = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Service-Catalog_16\"}</title><defs><linearGradient id=\"linearGradient-rg\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Service-Catalog_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Management-Governance\" fill=\"url(#linearGradient-rg)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Service-Catalog_Icon_16_Squid\" fill=\"#fff\" d=\"M6.5 8a.5.5 0 1 1-.002 1.002A.5.5 0 0 1 6.5 8M6 11.5c0-.52.076-1.03.197-1.531q.147.03.303.031C7.327 10 8 9.327 8 8.5S7.327 7 6.5 7 5 7.673 5 8.5c0 .336.115.644.303.894A7.5 7.5 0 0 0 5 11.5a7.53 7.53 0 0 0 4.913 7.042l.346-.938A6.53 6.53 0 0 1 6 11.5m13-3a.5.5 0 1 1-1.002-.002A.5.5 0 0 1 19 8.5M12.5 5c1.969 0 3.773.868 5.014 2.379A1.49 1.49 0 0 0 17 8.5c0 .827.673 1.5 1.5 1.5S20 9.327 20 8.5 19.327 7 18.5 7h-.002A7.54 7.54 0 0 0 12.5 4c-1.869 0-3.66.692-5.043 1.949l.672.74A6.49 6.49 0 0 1 12.5 5m0 14a.5.5 0 1 1 .002-1.002A.5.5 0 0 1 12.5 19m6.465-8.187q.035.339.035.687a6.46 6.46 0 0 1-5.158 6.343A1.5 1.5 0 0 0 12.5 17c-.827 0-1.5.673-1.5 1.5s.673 1.5 1.5 1.5a1.5 1.5 0 0 0 1.454-1.147A7.47 7.47 0 0 0 20 11.5q0-.4-.041-.791zM10.5 14.941l-1.5-.75v-1.882l1.258-.629c.008.005.011.013.018.017l1.724.862v1.632zm2-6.632 1.5.75v1.632l-1.5.75-1.5-.75V9.059zm3.5 5.882-1.5.75-1.5-.75v-1.632l1.724-.862c.007-.004.01-.012.018-.017l1.258.629zm-1.724 1.756a.5.5 0 0 0 .448 0l2-1A.5.5 0 0 0 17 14.5V12a.5.5 0 0 0-.276-.447L15 10.691V8.75a.5.5 0 0 0-.276-.447l-2-1a.5.5 0 0 0-.448 0l-2 1A.5.5 0 0 0 10 8.75v1.941l-1.724.862A.5.5 0 0 0 8 12v2.5a.5.5 0 0 0 .276.447l2 1a.5.5 0 0 0 .448 0l1.776-.888z\" /></g></svg>;\nexport default SvgResourceGroups;","import * as React from \"react\";\nconst SvgResourcegroupstaggingapi = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Service-Catalog_16\"}</title><defs><linearGradient id=\"linearGradient-rg\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Service-Catalog_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Management-Governance\" fill=\"url(#linearGradient-rg)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Service-Catalog_Icon_16_Squid\" fill=\"#fff\" d=\"M6.5 8a.5.5 0 1 1-.002 1.002A.5.5 0 0 1 6.5 8M6 11.5c0-.52.076-1.03.197-1.531q.147.03.303.031C7.327 10 8 9.327 8 8.5S7.327 7 6.5 7 5 7.673 5 8.5c0 .336.115.644.303.894A7.5 7.5 0 0 0 5 11.5a7.53 7.53 0 0 0 4.913 7.042l.346-.938A6.53 6.53 0 0 1 6 11.5m13-3a.5.5 0 1 1-1.002-.002A.5.5 0 0 1 19 8.5M12.5 5c1.969 0 3.773.868 5.014 2.379A1.49 1.49 0 0 0 17 8.5c0 .827.673 1.5 1.5 1.5S20 9.327 20 8.5 19.327 7 18.5 7h-.002A7.54 7.54 0 0 0 12.5 4c-1.869 0-3.66.692-5.043 1.949l.672.74A6.49 6.49 0 0 1 12.5 5m0 14a.5.5 0 1 1 .002-1.002A.5.5 0 0 1 12.5 19m6.465-8.187q.035.339.035.687a6.46 6.46 0 0 1-5.158 6.343A1.5 1.5 0 0 0 12.5 17c-.827 0-1.5.673-1.5 1.5s.673 1.5 1.5 1.5a1.5 1.5 0 0 0 1.454-1.147A7.47 7.47 0 0 0 20 11.5q0-.4-.041-.791zM10.5 14.941l-1.5-.75v-1.882l1.258-.629c.008.005.011.013.018.017l1.724.862v1.632zm2-6.632 1.5.75v1.632l-1.5.75-1.5-.75V9.059zm3.5 5.882-1.5.75-1.5-.75v-1.632l1.724-.862c.007-.004.01-.012.018-.017l1.258.629zm-1.724 1.756a.5.5 0 0 0 .448 0l2-1A.5.5 0 0 0 17 14.5V12a.5.5 0 0 0-.276-.447L15 10.691V8.75a.5.5 0 0 0-.276-.447l-2-1a.5.5 0 0 0-.448 0l-2 1A.5.5 0 0 0 10 8.75v1.941l-1.724.862A.5.5 0 0 0 8 12v2.5a.5.5 0 0 0 .276.447l2 1a.5.5 0 0 0 .448 0l1.776-.888z\" /></g></svg>;\nexport default SvgResourcegroupstaggingapi;","import * as React from \"react\";\nconst SvgRoute53 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-Route-53_16\"}</title><defs><linearGradient id=\"linearGradient-r53\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-Route-53_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Networking-Content-Delivery\" fill=\"url(#linearGradient-r53)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-Route-53-Icon_16_Squid\" fill=\"#fff\" d=\"M14.243 12.133q.304.282.305.75-.001.507-.368.813-.364.3-.964.3c-.311 0-.623-.067-.927-.2l-.046-.019v-.54l.099.032c.665.219 1.15.223 1.391.023q.171-.14.17-.41c0-.219-.068-.509-.662-.509q-.231 0-.45.024l-.084.01v-.434l.917-1h-1.332v-.548h2.116v.488l-.893.944q.451.022.728.276m-2.804-.083c.211.196.318.47.318.813 0 .337-.124.614-.369.823-.24.206-.562.31-.952.31-.337 0-.658-.067-.954-.2l-.044-.02v-.54l.1.033c.668.216 1.165.227 1.407.021q.17-.143.17-.422 0-.309-.158-.44c-.191-.16-.595-.165-1.29-.09l-.084.01v-.403l.098-1.52h1.908v.548h-1.361l-.053.814q.217-.034.396-.034c.367 0 .659.1.868.297m3.555 3.371c-1.199.216-2.255.687-2.995 1.094-.738-.407-1.794-.878-2.994-1.094-.191-.034-1.872-.36-1.872-1.18 0-.382.122-.63.45-1.193.375-.647.89-1.532.89-2.777a4.94 4.94 0 0 0-.523-2.214c1.363.563 2.863.447 4.05-.25 1.186.697 2.685.813 4.05.25a4.94 4.94 0 0 0-.522 2.214c0 1.245.514 2.13.888 2.777.328.563.45.81.45 1.194 0 .82-1.68 1.145-1.872 1.179m1.541-5.15c0-.756.214-1.482.635-2.155a.5.5 0 0 0-.038-.587l-.396-.489a.505.505 0 0 0-.636-.124c-1.297.718-2.725.632-3.812-.122a.505.505 0 0 0-.576 0c-1.087.754-2.517.839-3.812.122a.506.506 0 0 0-.636.124l-.396.489a.5.5 0 0 0-.038.587c.421.673.635 1.399.635 2.155 0 .974-.4 1.664-.754 2.27-.314.543-.586 1.01-.586 1.7 0 1.057 1.01 1.868 2.702 2.172 1.2.216 2.25.726 2.92 1.116a.51.51 0 0 0 .505 0c.67-.39 1.72-.9 2.92-1.116 1.692-.304 2.702-1.115 2.702-2.171 0-.69-.271-1.158-.586-1.7-.353-.607-.753-1.297-.753-2.271m-.967 7.102c-1.61.29-2.98 1.11-3.569 1.506-.589-.396-1.958-1.216-3.567-1.506-.803-.144-3.425-.783-3.425-2.938 0-.909.35-1.51.718-2.147.366-.63.745-1.283.745-2.19 0-1.267-.65-2.202-1.08-2.68.412-.5 1.162-1.418 1.642-2.027.757.65 1.62 1.001 2.478 1.001.96 0 1.764-.36 2.49-1.122.726.762 1.53 1.122 2.49 1.122.858 0 1.72-.352 2.478-1 .48.608 1.23 1.525 1.642 2.026-.43.478-1.08 1.413-1.08 2.68 0 .907.379 1.56.745 2.19.368.637.718 1.238.718 2.147 0 2.155-2.622 2.794-3.425 2.938m3.577-5.59c-.325-.563-.608-1.049-.608-1.686 0-1.355 1.061-2.244 1.07-2.252a.5.5 0 0 0 .072-.712c-.018-.022-1.834-2.224-2.246-2.79a.503.503 0 0 0-.776-.048c-.657.702-1.426 1.09-2.167 1.09-.823 0-1.448-.359-2.09-1.198-.19-.25-.611-.25-.8 0-.642.84-1.267 1.197-2.09 1.197-.742 0-1.51-.387-2.168-1.09a.501.501 0 0 0-.775.048c-.412.567-2.228 2.769-2.247 2.79a.502.502 0 0 0 .073.713c.01.009 1.07.881 1.07 2.252 0 .637-.283 1.123-.608 1.685-.402.69-.855 1.473-.855 2.653 0 1.982 1.59 3.451 4.255 3.931 1.859.334 3.423 1.518 3.438 1.53a.5.5 0 0 0 .614 0c.016-.012 1.57-1.194 3.44-1.53 2.663-.48 4.253-1.95 4.253-3.93 0-1.181-.453-1.963-.855-2.654\" /></g></svg>;\nexport default SvgRoute53;","import * as React from \"react\";\nconst SvgRoute53Resolver = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-Route-53_16\"}</title><defs><linearGradient id=\"linearGradient-r53\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-Route-53_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Networking-Content-Delivery\" fill=\"url(#linearGradient-r53)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-Route-53-Icon_16_Squid\" fill=\"#fff\" d=\"M14.243 12.133q.304.282.305.75-.001.507-.368.813-.364.3-.964.3c-.311 0-.623-.067-.927-.2l-.046-.019v-.54l.099.032c.665.219 1.15.223 1.391.023q.171-.14.17-.41c0-.219-.068-.509-.662-.509q-.231 0-.45.024l-.084.01v-.434l.917-1h-1.332v-.548h2.116v.488l-.893.944q.451.022.728.276m-2.804-.083c.211.196.318.47.318.813 0 .337-.124.614-.369.823-.24.206-.562.31-.952.31-.337 0-.658-.067-.954-.2l-.044-.02v-.54l.1.033c.668.216 1.165.227 1.407.021q.17-.143.17-.422 0-.309-.158-.44c-.191-.16-.595-.165-1.29-.09l-.084.01v-.403l.098-1.52h1.908v.548h-1.361l-.053.814q.217-.034.396-.034c.367 0 .659.1.868.297m3.555 3.371c-1.199.216-2.255.687-2.995 1.094-.738-.407-1.794-.878-2.994-1.094-.191-.034-1.872-.36-1.872-1.18 0-.382.122-.63.45-1.193.375-.647.89-1.532.89-2.777a4.94 4.94 0 0 0-.523-2.214c1.363.563 2.863.447 4.05-.25 1.186.697 2.685.813 4.05.25a4.94 4.94 0 0 0-.522 2.214c0 1.245.514 2.13.888 2.777.328.563.45.81.45 1.194 0 .82-1.68 1.145-1.872 1.179m1.541-5.15c0-.756.214-1.482.635-2.155a.5.5 0 0 0-.038-.587l-.396-.489a.505.505 0 0 0-.636-.124c-1.297.718-2.725.632-3.812-.122a.505.505 0 0 0-.576 0c-1.087.754-2.517.839-3.812.122a.506.506 0 0 0-.636.124l-.396.489a.5.5 0 0 0-.038.587c.421.673.635 1.399.635 2.155 0 .974-.4 1.664-.754 2.27-.314.543-.586 1.01-.586 1.7 0 1.057 1.01 1.868 2.702 2.172 1.2.216 2.25.726 2.92 1.116a.51.51 0 0 0 .505 0c.67-.39 1.72-.9 2.92-1.116 1.692-.304 2.702-1.115 2.702-2.171 0-.69-.271-1.158-.586-1.7-.353-.607-.753-1.297-.753-2.271m-.967 7.102c-1.61.29-2.98 1.11-3.569 1.506-.589-.396-1.958-1.216-3.567-1.506-.803-.144-3.425-.783-3.425-2.938 0-.909.35-1.51.718-2.147.366-.63.745-1.283.745-2.19 0-1.267-.65-2.202-1.08-2.68.412-.5 1.162-1.418 1.642-2.027.757.65 1.62 1.001 2.478 1.001.96 0 1.764-.36 2.49-1.122.726.762 1.53 1.122 2.49 1.122.858 0 1.72-.352 2.478-1 .48.608 1.23 1.525 1.642 2.026-.43.478-1.08 1.413-1.08 2.68 0 .907.379 1.56.745 2.19.368.637.718 1.238.718 2.147 0 2.155-2.622 2.794-3.425 2.938m3.577-5.59c-.325-.563-.608-1.049-.608-1.686 0-1.355 1.061-2.244 1.07-2.252a.5.5 0 0 0 .072-.712c-.018-.022-1.834-2.224-2.246-2.79a.503.503 0 0 0-.776-.048c-.657.702-1.426 1.09-2.167 1.09-.823 0-1.448-.359-2.09-1.198-.19-.25-.611-.25-.8 0-.642.84-1.267 1.197-2.09 1.197-.742 0-1.51-.387-2.168-1.09a.501.501 0 0 0-.775.048c-.412.567-2.228 2.769-2.247 2.79a.502.502 0 0 0 .073.713c.01.009 1.07.881 1.07 2.252 0 .637-.283 1.123-.608 1.685-.402.69-.855 1.473-.855 2.653 0 1.982 1.59 3.451 4.255 3.931 1.859.334 3.423 1.518 3.438 1.53a.5.5 0 0 0 .614 0c.016-.012 1.57-1.194 3.44-1.53 2.663-.48 4.253-1.95 4.253-3.93 0-1.181-.453-1.963-.855-2.654\" /></g></svg>;\nexport default SvgRoute53Resolver;","import * as React from \"react\";\nconst SvgS3 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Simple-Storage-Service_64\"}</title><defs><linearGradient id=\"linearGradient-s3\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Simple-Storage-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-s3)\" d=\"M0 0h80v80H0z\" /><g id=\"Icon-Service/64/Amazon-Simple-Storage-Service_64\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Amazon-Simple-Storage-Service-Icon_64_Squid\" d=\"m52.836 34.893.384-2.704c3.54 2.12 3.587 2.997 3.586 3.02-.006.006-.61.51-3.97-.316m-1.943-.54C44.773 32.5 36.25 28.59 32.8 26.96q.002-.02.004-.041a2.406 2.406 0 0 0-2.404-2.403 2.406 2.406 0 0 0-2.402 2.403 2.406 2.406 0 0 0 2.402 2.403c.582 0 1.11-.217 1.527-.562 4.058 1.92 12.515 5.774 18.68 7.594L48.17 53.56a1 1 0 0 0-.01.14c0 1.516-6.707 4.299-17.666 4.299-11.075 0-17.853-2.783-17.853-4.298q0-.069-.01-.136L7.539 16.359c4.409 3.035 13.892 4.64 22.962 4.64 9.056 0 18.523-1.6 22.94-4.625zM7 12.478C7.072 11.162 14.634 6 30.5 6c15.864 0 23.427 5.16 23.5 6.478v.449C53.13 15.877 43.33 19 30.5 19 17.648 19 7.843 15.868 7 12.913zm49 .022C56 9.035 46.066 4 30.5 4S5 9.035 5 12.5l.094.754 5.548 40.524C10.775 58.31 22.86 60 30.494 60c9.472 0 19.535-2.178 19.665-6.22l2.396-16.896c1.333.319 2.43.482 3.31.482 1.184 0 1.984-.29 2.469-.867a1.95 1.95 0 0 0 .436-1.66c-.26-1.383-1.902-2.875-5.248-4.784l2.376-16.762z\" /></g></g></svg>;\nexport default SvgS3;","import * as React from \"react\";\nconst SvgS3Control = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Simple-Storage-Service_64\"}</title><defs><linearGradient id=\"linearGradient-s3\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Simple-Storage-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-s3)\" d=\"M0 0h80v80H0z\" /><g id=\"Icon-Service/64/Amazon-Simple-Storage-Service_64\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Amazon-Simple-Storage-Service-Icon_64_Squid\" d=\"m52.836 34.893.384-2.704c3.54 2.12 3.587 2.997 3.586 3.02-.006.006-.61.51-3.97-.316m-1.943-.54C44.773 32.5 36.25 28.59 32.8 26.96q.002-.02.004-.041a2.406 2.406 0 0 0-2.404-2.403 2.406 2.406 0 0 0-2.402 2.403 2.406 2.406 0 0 0 2.402 2.403c.582 0 1.11-.217 1.527-.562 4.058 1.92 12.515 5.774 18.68 7.594L48.17 53.56a1 1 0 0 0-.01.14c0 1.516-6.707 4.299-17.666 4.299-11.075 0-17.853-2.783-17.853-4.298q0-.069-.01-.136L7.539 16.359c4.409 3.035 13.892 4.64 22.962 4.64 9.056 0 18.523-1.6 22.94-4.625zM7 12.478C7.072 11.162 14.634 6 30.5 6c15.864 0 23.427 5.16 23.5 6.478v.449C53.13 15.877 43.33 19 30.5 19 17.648 19 7.843 15.868 7 12.913zm49 .022C56 9.035 46.066 4 30.5 4S5 9.035 5 12.5l.094.754 5.548 40.524C10.775 58.31 22.86 60 30.494 60c9.472 0 19.535-2.178 19.665-6.22l2.396-16.896c1.333.319 2.43.482 3.31.482 1.184 0 1.984-.29 2.469-.867a1.95 1.95 0 0 0 .436-1.66c-.26-1.383-1.902-2.875-5.248-4.784l2.376-16.762z\" /></g></g></svg>;\nexport default SvgS3Control;","import * as React from \"react\";\nconst SvgSagemakerRuntime = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-SageMaker_64\"}</title><defs><linearGradient id=\"linearGradient-sgm\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#055f4e\" /><stop offset=\"100%\" stopColor=\"#56c0a7\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-SageMaker_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Machine-Learning\" fill=\"url(#linearGradient-sgm)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-SageMaker_Icon_64_Squid\" fill=\"#fff\" d=\"M54.034 26.034a1.017 1.017 0 1 1-1.017-1.016c.561 0 1.017.456 1.017 1.016M48.002 36a1.001 1.001 0 0 1 2 0 1.001 1.001 0 0 1-2 0m0 19a1.001 1.001 0 0 1 2 0 1.001 1.001 0 0 1-2 0m10-13a1.001 1.001 0 0 1-2 0 1.001 1.001 0 0 1 2 0M65 45.272l-5.037-2.89c.016-.126.039-.25.039-.382 0-1.654-1.346-3-3-3-1.655 0-3 1.346-3 3s1.345 3 3 3c.799 0 1.521-.319 2.059-.829l4.825 2.768-4.331 2.166c-.339.17-.553.516-.553.895v8.441l-12.019 7.396-5.98-3.417V56h5.183a3 3 0 0 0 2.816 2c1.654 0 3-1.346 3-3 0-1.655-1.346-3-3-3a2.995 2.995 0 0 0-2.816 2h-5.183V40c0-.35-.185-.677-.486-.858l-5.001-3-1.029 1.715 4.516 2.71v2.94l-6.001 4.616V44a1 1 0 0 0-.375-.78l-4.625-3.7v-4.985l5.554-3.702a1 1 0 0 0 .446-.832v-6h-2v5.465l-4.989 3.324-5.011-3.326v-7.89l5-2.915V27h2v-9.51l4.003-2.334 5.996 3.459L39.002 31c0 .359.192.69.504.867l6.536 3.735c-.018.131-.04.261-.04.397 0 1.654 1.345 3 3 3 1.654 0 3-1.346 3-3s-1.346-3-3-3c-.794 0-1.512.315-2.049.82l-5.951-3.4-.001-11.802 5.963-3.441 11.038 7.359V25h-2.151a3.02 3.02 0 0 0-2.834-1.983 3.02 3.02 0 0 0-3.015 3.016 3.02 3.02 0 0 0 3.015 3.016A3.02 3.02 0 0 0 55.875 27h2.127v3c0 .36.192.69.504.869L65 34.58zM33.02 65.837l-3.153-1.94 5.716-4.083-1.162-1.628-6.403 4.573-7.016-4.318v-7.875l4.514-2.709-1.029-1.715-4.529 2.718-4.956-2.478-.001-5.765 5.448-2.723-.894-1.789-4.554 2.276.001-3.8 5.961-3.406 5.039 3.344v4.961l-5.553 3.687 1.106 1.666 5.403-3.588 4.044 3.235v5.182l-4.61 3.545 1.219 1.585 11.392-8.762v16.39zm33.476-32.705-6.494-3.711V22a1 1 0 0 0-.446-.832l-12-8a1 1 0 0 0-1.054-.034l-6.498 3.75-6.502-3.75a1 1 0 0 0-1.004.002l-12 7a1 1 0 0 0-.496.864v8.42l-6.496 3.711a1 1 0 0 0-.504.868v.417L13 34.48v10.884l.002.06V47c0 .38.214.725.553.894l5.447 2.724V59c0 .347.179.67.475.851l13 8a1 1 0 0 0 1.021.017l6.505-3.716 6.503 3.716c.315.181.707.174 1.02-.017l13-8a1 1 0 0 0 .476-.85v-8.383l5.445-2.724A1 1 0 0 0 67 47V34a1 1 0 0 0-.504-.868\" /></g></svg>;\nexport default SvgSagemakerRuntime;","import * as React from \"react\";\nconst SvgSagemaker = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-SageMaker_64\"}</title><defs><linearGradient id=\"linearGradient-sgm\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#055f4e\" /><stop offset=\"100%\" stopColor=\"#56c0a7\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-SageMaker_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Machine-Learning\" fill=\"url(#linearGradient-sgm)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-SageMaker_Icon_64_Squid\" fill=\"#fff\" d=\"M54.034 26.034a1.017 1.017 0 1 1-1.017-1.016c.561 0 1.017.456 1.017 1.016M48.002 36a1.001 1.001 0 0 1 2 0 1.001 1.001 0 0 1-2 0m0 19a1.001 1.001 0 0 1 2 0 1.001 1.001 0 0 1-2 0m10-13a1.001 1.001 0 0 1-2 0 1.001 1.001 0 0 1 2 0M65 45.272l-5.037-2.89c.016-.126.039-.25.039-.382 0-1.654-1.346-3-3-3-1.655 0-3 1.346-3 3s1.345 3 3 3c.799 0 1.521-.319 2.059-.829l4.825 2.768-4.331 2.166c-.339.17-.553.516-.553.895v8.441l-12.019 7.396-5.98-3.417V56h5.183a3 3 0 0 0 2.816 2c1.654 0 3-1.346 3-3 0-1.655-1.346-3-3-3a2.995 2.995 0 0 0-2.816 2h-5.183V40c0-.35-.185-.677-.486-.858l-5.001-3-1.029 1.715 4.516 2.71v2.94l-6.001 4.616V44a1 1 0 0 0-.375-.78l-4.625-3.7v-4.985l5.554-3.702a1 1 0 0 0 .446-.832v-6h-2v5.465l-4.989 3.324-5.011-3.326v-7.89l5-2.915V27h2v-9.51l4.003-2.334 5.996 3.459L39.002 31c0 .359.192.69.504.867l6.536 3.735c-.018.131-.04.261-.04.397 0 1.654 1.345 3 3 3 1.654 0 3-1.346 3-3s-1.346-3-3-3c-.794 0-1.512.315-2.049.82l-5.951-3.4-.001-11.802 5.963-3.441 11.038 7.359V25h-2.151a3.02 3.02 0 0 0-2.834-1.983 3.02 3.02 0 0 0-3.015 3.016 3.02 3.02 0 0 0 3.015 3.016A3.02 3.02 0 0 0 55.875 27h2.127v3c0 .36.192.69.504.869L65 34.58zM33.02 65.837l-3.153-1.94 5.716-4.083-1.162-1.628-6.403 4.573-7.016-4.318v-7.875l4.514-2.709-1.029-1.715-4.529 2.718-4.956-2.478-.001-5.765 5.448-2.723-.894-1.789-4.554 2.276.001-3.8 5.961-3.406 5.039 3.344v4.961l-5.553 3.687 1.106 1.666 5.403-3.588 4.044 3.235v5.182l-4.61 3.545 1.219 1.585 11.392-8.762v16.39zm33.476-32.705-6.494-3.711V22a1 1 0 0 0-.446-.832l-12-8a1 1 0 0 0-1.054-.034l-6.498 3.75-6.502-3.75a1 1 0 0 0-1.004.002l-12 7a1 1 0 0 0-.496.864v8.42l-6.496 3.711a1 1 0 0 0-.504.868v.417L13 34.48v10.884l.002.06V47c0 .38.214.725.553.894l5.447 2.724V59c0 .347.179.67.475.851l13 8a1 1 0 0 0 1.021.017l6.505-3.716 6.503 3.716c.315.181.707.174 1.02-.017l13-8a1 1 0 0 0 .476-.85v-8.383l5.445-2.724A1 1 0 0 0 67 47V34a1 1 0 0 0-.504-.868\" /></g></svg>;\nexport default SvgSagemaker;","import * as React from \"react\";\nconst SvgScheduler = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 48 48\" fill=\"currentColor\" {...props}><title>{\"Icon-Resource/Application-Integration/Res_Amazon-EventBridge_Scheduler_48\"}</title><g id=\"Icon-Resource/Application-Integration/Res_Amazon-EventBridge_Scheduler_48\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Fill-1\" fill=\"#e7157b\" d=\"M15 16h3.92v-2h-3v-3H14v4a1 1 0 0 0 1 1m-9.707 8.293 1.414 1.414 3-3-1.414-1.414zm3.414-16-3-3-1.414 1.414 3 3zM15.92 6H16V2h-2v4zm9.787.707-1.414-1.414-3 3 1.414 1.414zM8.92 15c0 3.309 2.691 6 6 6s6-2.691 6-6-2.691-6-6-6-6 2.691-6 6m-2 0c0-4.411 3.589-8 8-8s8 3.589 8 8-3.589 8-8 8-8-3.589-8-8M18 38h4v-2h-4zm0-5h4v-2h-4zm0-5h4v-2h-4zm18 10h4v-2h-4zm0-5h4v-2h-4zm0-5h4v-2h-4zm-9 10h4v-2h-4zm0-5h4v-2h-4zm0-5h4v-2h-4zm18-16h-3v-2h-2v2h-4.08v-2H34v2h-4.08v-2H28v2h-3v2h3v2h1.92v-2H34v2h1.92v-2H40v2h1.92v-2H44v4H25v2h19v23H14V26h-2v18a1 1 0 0 0 1 1h32a1 1 0 0 0 1-1V13a1 1 0 0 0-1-1M2 17h3.976v-2H2z\" /></g></svg>;\nexport default SvgScheduler;","import * as React from \"react\";\nconst SvgSecretsmanager = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Secrets-Manager_64\"}</title><defs><linearGradient id=\"linearGradient-asm\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Secrets-Manager_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"url(#linearGradient-asm)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Secrets-Manager_Icon_64_Squid\" fill=\"#fff\" d=\"M38.76 43.36A1.241 1.241 0 1 0 40 42.12c-.683 0-1.24.556-1.24 1.24m-2 0A3.243 3.243 0 0 1 40 40.12a3.243 3.243 0 0 1 3.24 3.24A3.23 3.23 0 0 1 41 46.426V49h-2v-2.574a3.23 3.23 0 0 1-2.24-3.066M49 38H31v13h18v-3h-3v-2h3v-3h-3v-2h3zm-15-2h11.999L46 31c.001-2.616-2.857-4.998-5.996-5h-.003a6.6 6.6 0 0 0-4.238 1.575c-1.12.962-1.763 2.211-1.763 3.426zm14-4.999L47.999 36H50a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H30a1 1 0 0 1-1-1V37a1 1 0 0 1 1-1h2v-5c.001-1.798.897-3.599 2.459-4.942A8.63 8.63 0 0 1 40.001 24h.003c4.261.002 7.997 3.273 7.996 7.001M19.207 55.049l1.621-1.172c-2.735-3.78-4.247-8.215-4.432-12.877H19v-2h-2.601c.199-4.634 1.709-9.043 4.429-12.802l-1.621-1.173c-2.968 4.103-4.608 8.917-4.808 13.975H12v2h2.396c.186 5.086 1.828 9.926 4.811 14.049m34.631 4.159c-3.769 2.728-8.19 4.238-12.838 4.431V61h-2v2.639c-4.648-.192-9.07-1.702-12.841-4.431l-1.171 1.62c4.112 2.977 8.94 4.617 14.012 4.811V68h2v-2.361c5.072-.194 9.898-1.834 14.01-4.811zM26.159 20.866c3.771-2.728 8.193-4.238 12.841-4.43V19h2v-2.564c4.648.192 9.069 1.702 12.838 4.43l1.172-1.62c-4.112-2.976-8.938-4.616-14.01-4.81V12h-2v2.436c-5.072.193-9.9 1.833-14.012 4.81zM65.599 39c-.2-5.058-1.84-9.872-4.809-13.975l-1.621 1.173C61.89 29.957 63.4 34.366 63.599 39H61v2h2.602c-.186 4.662-1.697 9.097-4.433 12.877l1.621 1.172c2.984-4.123 4.625-8.963 4.812-14.049H68v-2zm-9.213-13.936 7.84-7.84-1.414-1.414-7.84 7.84zM23.612 55.01l-7.84 7.84 1.414 1.414 7.84-7.84zm5.054-27.757-14.841-14.84-1.414 1.414 14.841 14.84zM54.193 52.78l13.393 13.393-1.414 1.414-13.393-13.393z\" /></g></svg>;\nexport default SvgSecretsmanager;","import * as React from \"react\";\nconst SvgServerlessrepo = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Serverless-Application-Repository_16\"}</title><defs><linearGradient id=\"linearGradient-slr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Serverless-Application-Repository_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Compute\" fill=\"url(#linearGradient-slr)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Serverless-Application-Repository_Icon_16_Squid\" fill=\"#fff\" d=\"M16.989 16.036H8.292c-.988 0-2.082-.955-2.285-1.929h7.526a1.362 1.362 0 0 0 .535 1.255 1.4 1.4 0 0 0 1.221.231 1.36 1.36 0 0 0 .992-1.486h2.728c-.176 1.571-1.49 1.929-2.02 1.929M7.53 11.812a.483.483 0 0 0 .365-.526 3 3 0 0 1-.022-.369c0-1.099.794-2.283 1.807-2.696q.344-.139.662-.2v2.184c0 .197.12.374.306.447a.49.49 0 0 0 .532-.115.423.423 0 0 1 .624.03c.047.06.118.185.073.366a.412.412 0 0 1-.696.17.49.49 0 0 0-.533-.115.48.48 0 0 0-.306.447v1.708H6.043c.236-.885 1-1.211 1.487-1.33m3.784-3.83c.906.111 1.547.617 1.847.907.363.349.662.82.864 1.364a.487.487 0 0 0 .842.125c.197-.255.487-.403.798-.403.463 0 1.026.355 1.086 1.352a.484.484 0 0 0 .388.445c.996.198 1.602.658 1.81 1.37h-3.422a.49.49 0 0 0-.45.304.48.48 0 0 0 .115.528.41.41 0 0 1 .106.438.39.39 0 0 1-.265.25.43.43 0 0 1-.374-.066.406.406 0 0 1-.035-.622.48.48 0 0 0 .116-.528.49.49 0 0 0-.45-.303h-2.976v-.957c.204.023.42.002.629-.068a1.37 1.37 0 0 0 .625-2.145 1.39 1.39 0 0 0-1.254-.518zm6.366 2.927c-.221-1.301-1.165-1.898-2.015-1.898-.361 0-.708.098-1.01.28a4.3 4.3 0 0 0-.818-1.095C12.602 7.003 10.91 6.68 9.312 7.33c-1.374.56-2.41 2.101-2.41 3.588v.078C5.704 11.435 5 12.43 5 13.725c0 .07.003.134.007.2C5.097 15.507 6.692 17 8.292 17h8.697C18.153 17 20 16.117 20 13.748c0-1.433-.82-2.431-2.32-2.84\" /></g></svg>;\nexport default SvgServerlessrepo;","import * as React from \"react\";\nconst SvgServicediscovery = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Application-Discovery-Service_16\"}</title><defs><linearGradient id=\"linearGradient-ads\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#055f4e\" /><stop offset=\"100%\" stopColor=\"#56c0a7\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Application-Discovery-Service_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Migration-Transfer\" fill=\"url(#linearGradient-ads)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Application-Discovery-Service_Icon_16_Squid\" fill=\"#fff\" d=\"M7.992 12.029h3.006v-1.001H7.992zm10.913 5.322-4.04-3.804a6.1 6.1 0 0 1-1.31 1.302l3.817 3.983c.07.07.277.135.564.105.288-.027.562-.14.715-.292.159-.16.29-.45.332-.742.042-.283-.01-.486-.078-.552m-8.95-2.325c2.802 0 5.082-2.252 5.082-5.021 0-2.76-2.28-5.004-5.081-5.004-2.778 0-4.954 2.198-4.954 5.004 0 2.816 2.176 5.021 4.954 5.021m10.02 3.022c-.074.506-.303.993-.616 1.305-.318.318-.802.53-1.326.58a3 3 0 0 1-.231.012c-.469 0-.88-.145-1.146-.412l-3.977-4.15a6.1 6.1 0 0 1-2.723.644C6.616 16.027 4 13.382 4 10.005 4 6.638 6.616 4 9.956 4c3.354 0 6.083 2.694 6.083 6.005 0 .96-.235 1.865-.64 2.67l4.204 3.958c.324.324.456.835.372 1.415M12.517 6.956H7.992v1.001h4.024v5.036h1.002V7.456a.5.5 0 0 0-.501-.5m-1.498 12.043h-4.03v-3.003H5.989v3.503a.5.5 0 0 0 .5.501h5.032a.5.5 0 0 0 .5-.5v-2.503H11.02zm-4.03-8.978h4.009V9.02H6.99z\" /></g></svg>;\nexport default SvgServicediscovery;","import * as React from \"react\";\nconst SvgSes = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Simple-Email-Service_64\"}</title><defs><linearGradient id=\"linearGradient-ses\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Simple-Email-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-ses)\" d=\"M0 0h80v80H0z\" /><path id=\"Amazon-Simple-Email-Service_Icon_64_Squid\" fill=\"#fff\" d=\"M57 61c0-1.626-1.374-3-3-3s-3 1.374-3 3 1.374 3 3 3 3-1.374 3-3m-17-1c-1.626 0-3 1.374-3 3s1.374 3 3 3 3-1.374 3-3-1.374-3-3-3m-14-2c-1.626 0-3 1.374-3 3s1.374 3 3 3 3-1.374 3-3-1.374-3-3-3m2.605-15h22.79l-7.656-6.89-3.09 2.648a.99.99 0 0 1-1.3 0L36.26 36.11zM27 28.173v13.582l7.729-6.957zM51.297 27H28.703l11.296 9.683zM53 41.755V28.173l-7.729 6.624zM59 61c0 2.71-2.29 5-5 5s-5-2.29-5-5c0-2.37 1.75-4.416 4-4.894V53H41v5.106c2.25.478 4 2.525 4 4.894 0 2.71-2.29 5-5 5s-5-2.29-5-5c0-2.37 1.75-4.416 4-4.894V53H27v3.106c2.25.478 4 2.525 4 4.894 0 2.71-2.29 5-5 5s-5-2.29-5-5c0-2.37 1.75-4.416 4-4.894V52a1 1 0 0 1 1-1h13v-6H26a1 1 0 0 1-1-1V26a1 1 0 0 1 1-1h28a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H41v6h13a1 1 0 0 1 1 1v4.106c2.25.478 4 2.525 4 4.894m9-21c0 5.907-1.823 11.56-5.273 16.345l-1.623-1.17A25.8 25.8 0 0 0 66 40c0-14.336-11.663-26-25.999-26C25.664 14 14 25.664 14 40a25.8 25.8 0 0 0 4.896 15.175l-1.623 1.17A27.8 27.8 0 0 1 12 39.999C12 24.561 24.561 12 39.999 12 55.438 12 68 24.561 68 40\" /></g></svg>;\nexport default SvgSes;","import * as React from \"react\";\nconst SvgSesv2 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Simple-Email-Service_64\"}</title><defs><linearGradient id=\"linearGradient-ses\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Simple-Email-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-ses)\" d=\"M0 0h80v80H0z\" /><path id=\"Amazon-Simple-Email-Service_Icon_64_Squid\" fill=\"#fff\" d=\"M57 61c0-1.626-1.374-3-3-3s-3 1.374-3 3 1.374 3 3 3 3-1.374 3-3m-17-1c-1.626 0-3 1.374-3 3s1.374 3 3 3 3-1.374 3-3-1.374-3-3-3m-14-2c-1.626 0-3 1.374-3 3s1.374 3 3 3 3-1.374 3-3-1.374-3-3-3m2.605-15h22.79l-7.656-6.89-3.09 2.648a.99.99 0 0 1-1.3 0L36.26 36.11zM27 28.173v13.582l7.729-6.957zM51.297 27H28.703l11.296 9.683zM53 41.755V28.173l-7.729 6.624zM59 61c0 2.71-2.29 5-5 5s-5-2.29-5-5c0-2.37 1.75-4.416 4-4.894V53H41v5.106c2.25.478 4 2.525 4 4.894 0 2.71-2.29 5-5 5s-5-2.29-5-5c0-2.37 1.75-4.416 4-4.894V53H27v3.106c2.25.478 4 2.525 4 4.894 0 2.71-2.29 5-5 5s-5-2.29-5-5c0-2.37 1.75-4.416 4-4.894V52a1 1 0 0 1 1-1h13v-6H26a1 1 0 0 1-1-1V26a1 1 0 0 1 1-1h28a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H41v6h13a1 1 0 0 1 1 1v4.106c2.25.478 4 2.525 4 4.894m9-21c0 5.907-1.823 11.56-5.273 16.345l-1.623-1.17A25.8 25.8 0 0 0 66 40c0-14.336-11.663-26-25.999-26C25.664 14 14 25.664 14 40a25.8 25.8 0 0 0 4.896 15.175l-1.623 1.17A27.8 27.8 0 0 1 12 39.999C12 24.561 24.561 12 39.999 12 55.438 12 68 24.561 68 40\" /></g></svg>;\nexport default SvgSesv2;","import * as React from \"react\";\nconst SvgShield = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Shield_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-Shield_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"#dd344c\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Shield_Icon_64_Squid\" fill=\"#fff\" d=\"M54.01 50h-2v4h-4v2h4v4h2v-4h4v-2h-4zm7 5c0-4.411-3.588-8-8-8-4.41 0-8 3.589-8 8s3.59 8 8 8c4.412 0 8-3.59 8-8m2 0c0 5.514-4.485 10-10 10-5.513 0-10-4.486-10-10s4.487-10 10-10c5.515 0 10 4.486 10 10m-27 2.97V22.457l-11 4.23V47c.013.414.397 10.38 11 10.971m13-14.27V26.686l-11-4.23v35.507a13.7 13.7 0 0 0 3.237-.6c.135.67.334 1.315.575 1.938-1.465.46-3.07.698-4.811.698-13.56 0-13.997-12.848-14-12.977V26c0-.415.255-.785.64-.934l13-5a1 1 0 0 1 .719 0l13 5c.386.149.64.52.64.934v17.18q-1.031.176-2 .52m-4.254 19.987a12 12 0 0 0 1.817 1.422c-2.755 1.248-5.958 1.879-9.562 1.879-6.327 0-11.371-1.925-14.991-5.721-6.431-6.744-6.03-16.887-6.008-17.315L16.01 22c0-.41.249-.776.629-.93l20-8c.238-.094.504-.094.742 0l20 8c.38.154.629.52.629.93v22l.004.106a12 12 0 0 0-2.003-.712l-.001-20.717-19-7.6-19 7.6v21.322c-.006.143-.375 9.784 5.466 15.898 3.227 3.378 7.78 5.09 13.534 5.09 2.888 0 5.475-.441 7.745-1.3\" /></g></svg>;\nexport default SvgShield;","import * as React from \"react\";\nconst SvgSns = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Simple-Notification-Service_64\"}</title><defs><linearGradient id=\"linearGradient-sns\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Simple-Notification-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Application-Integration\" fill=\"url(#linearGradient-sns)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Simple-Notification-Service_Icon_64_Squid\" fill=\"#fff\" d=\"M17 38c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m24 26c-11.686 0-21.711-8.534-23.806-20.02A3.98 3.98 0 0 0 20.857 41H27v-2h-6.143a3.985 3.985 0 0 0-3.662-2.98C19.285 24.71 29.511 16 41 16c4.313 0 8.832 1.622 13.429 4.821l1.142-1.642C50.633 15.743 45.73 14 41 14c-12.73 0-24.051 9.865-25.937 22.521C13.839 37.207 13 38.5 13 40s.839 2.793 2.063 3.478C16.97 56.341 28.056 66 41 66c5.407 0 10.942-1.843 15.585-5.189l-1.17-1.622C51.11 62.292 45.991 64 41 64M30.101 36.442c1.854.453 4.174.558 5.899.558 1.642 0 3.823-.095 5.629-.494l-4.524 9.047A1 1 0 0 0 37 46v4.453c-.801.511-2.167 1.359-3 1.533V46a1 1 0 0 0-.077-.385zM36 33c4.025 0 6.174.604 6.841 1-.667.396-2.816 1-6.841 1s-6.174-.604-6.841-1c.667-.396 2.816-1 6.841-1m-3 21h1q.065 0 .128-.008c1.224-.159 2.781-1.105 4.144-1.979l.263-.168c.289-.184.465-.503.465-.845v-4.764l5.559-11.116c.274-.319.441-.686.441-1.12 0-2.61-5.639-3-9-3s-9 .39-9 3c0 .366.12.684.32.967L32 46.2V53a1 1 0 0 0 1 1m29-1c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m0-30c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m2 15c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m-10 3h6.143c.446 1.72 1.999 3 3.857 3 2.206 0 4-1.794 4-4s-1.794-4-4-4c-1.858 0-3.411 1.28-3.857 3H54V26h4.143c.446 1.72 1.999 3 3.857 3 2.206 0 4-1.794 4-4s-1.794-4-4-4c-1.858 0-3.411 1.28-3.857 3H53a1 1 0 0 0-1 1v14h-7v2h7v14a1 1 0 0 0 1 1h5.143c.446 1.72 1.999 3 3.857 3 2.206 0 4-1.794 4-4s-1.794-4-4-4c-1.858 0-3.411 1.28-3.857 3H54z\" /></g></svg>;\nexport default SvgSns;","import * as React from \"react\";\nconst SvgSqs = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Simple-Queue-Service_64\"}</title><defs><linearGradient id=\"linearGradient-sqs\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Simple-Queue-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Application-Integration\" fill=\"url(#linearGradient-sqs)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Simple-Queue-Service_Icon_64_Squid\" fill=\"#fff\" d=\"m28.717 43.688 3.002-2.966a.99.99 0 0 0 .004-1.406l-3.002-3-1.419 1.402 1.288 1.288h-4.581v1.988h4.597l-1.3 1.284zm22.91.09 4.003-2.985c.25-.188.4-.482.4-.794a1 1 0 0 0-.4-.796l-4.003-2.981-1.201 1.59 1.601 1.194h-4.003v1.988h4.002l-1.601 1.193zM35.209 40c0 2.11-.365 4.101-1.048 5.833 1.8-.692 3.831-1.038 5.86-1.038 2.028 0 4.058.346 5.857 1.038-.681-1.732-1.047-3.722-1.047-5.833 0-2.11.366-4.1 1.047-5.833-3.6 1.383-8.116 1.383-11.717 0 .683 1.733 1.048 3.722 1.048 5.833m-4.902 9.651a.99.99 0 0 1 0-1.406c1.816-1.804 2.9-4.887 2.9-8.245s-1.084-6.44-2.9-8.245a.99.99 0 0 1 0-1.406 1.004 1.004 0 0 1 1.415 0c3.877 3.853 12.72 3.853 16.597 0a1.004 1.004 0 0 1 1.415 0 .99.99 0 0 1 0 1.406c-1.817 1.804-2.901 4.887-2.901 8.245s1.084 6.44 2.9 8.245a.99.99 0 0 1 0 1.406 1 1 0 0 1-1.414 0c-3.878-3.853-12.72-3.853-16.597 0a1.004 1.004 0 0 1-1.415 0m35.695-9.646c0-.927-.363-1.798-1.023-2.453a3.5 3.5 0 0 0-2.468-1.014c-.894 0-1.788.337-2.469 1.014a3.456 3.456 0 0 0 0 4.906 3.51 3.51 0 0 0 4.937 0 3.44 3.44 0 0 0 1.023-2.453m.392 3.859a5.5 5.5 0 0 1-3.883 1.595 5.5 5.5 0 0 1-3.884-1.595 5.437 5.437 0 0 1 0-7.718 5.52 5.52 0 0 1 7.767 0 5.437 5.437 0 0 1 0 7.718M20.98 40.028c0-.927-.363-1.798-1.023-2.453a3.48 3.48 0 0 0-2.468-1.016c-.932 0-1.808.36-2.469 1.016A3.43 3.43 0 0 0 14 40.028c0 .925.362 1.796 1.021 2.453 1.32 1.31 3.619 1.31 4.937 0a3.44 3.44 0 0 0 1.023-2.453m.392 3.859a5.5 5.5 0 0 1-3.883 1.595 5.5 5.5 0 0 1-3.884-1.595 5.44 5.44 0 0 1 0-7.718c2.143-2.128 5.626-2.128 7.767 0a5.44 5.44 0 0 1 0 7.718m33.524 10.97c-3.995 3.97-9.307 6.154-14.957 6.154s-10.963-2.185-14.957-6.155c-2.74-2.721-4.248-5.973-5.03-8.221l-1.892.65c.852 2.446 2.498 5.988 5.507 8.977C27.939 60.608 33.753 63 39.939 63c6.185 0 11.999-2.392 16.372-6.738 2.526-2.509 4.539-5.698 5.668-8.98l-1.893-.644c-1.033 3-2.876 5.92-5.19 8.218M19.95 33.366l-1.889-.653c1.21-3.464 3.168-6.653 5.512-8.98C27.943 19.39 33.755 17 39.939 17s11.996 2.391 16.366 6.733c2.466 2.45 4.535 5.724 5.672 8.981l-1.889.652c-1.044-2.982-2.938-5.981-5.198-8.227-3.992-3.967-9.302-6.15-14.95-6.15-5.65 0-10.96 2.183-14.952 6.15-2.134 2.12-3.923 5.043-5.038 8.227\" /></g></svg>;\nexport default SvgSqs;","import * as React from \"react\";\nconst SvgSsm = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Systems-Manager_64\"}</title><defs><linearGradient id=\"linearGradient-ssm\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Systems-Manager_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Management-Governance\" fill=\"url(#linearGradient-ssm)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Systems-Manager_Icon_64_Squid\" fill=\"#fff\" d=\"M47 54.998h13v2H47v2h-2v-2h-4v-2h4v-1h2zm4-6h9v2h-9v2h-2v-2h-8v-2h8v-1.001h2zm5-6.002h4v2h-4v2h-2v-2H41v-2h13v-1h2zm-35 4h9v2.001h-9c-1.255 0-2.596-.377-3.587-1.008-2.02-1.28-5.413-4.274-5.413-9.947 0-6.881 4.665-9.407 7.38-10.292l-.054-.916c-.002-5.668 3.748-11.48 8.72-13.577 5.823-2.476 11.99-1.25 16.499 3.28 1.399 1.402 2.551 3.11 3.433 5.094a6.74 6.74 0 0 1 6.422-1.245c2.847.934 4.619 3.565 4.827 7.108 2.838.68 8.773 3.014 8.773 10.638 0 .285-.011.56-.022.823l-1.999-.053c.01-.267.021-.513.021-.77 0-6.734-5.557-8.426-7.946-8.84a1 1 0 0 1-.808-1.194c-.029-2.981-1.29-5.097-3.47-5.812-1.953-.643-4.099.066-5.342 1.758a1 1 0 0 1-.952.396 1 1 0 0 1-.796-.654c-.833-2.343-2.03-4.306-3.557-5.835-3.913-3.932-9.262-4.996-14.303-2.852-4.208 1.774-7.502 6.903-7.502 11.676l.099 1.654a1 1 0 0 1-.752 1.027C18.18 30.09 14 32.05 14 38.042c0 4.48 2.438 6.963 4.485 8.258.675.43 1.638.697 2.515.697m45 5.322-1.764-.101a1.01 1.01 0 0 0-1.032.779 13.4 13.4 0 0 1-1.748 4.22 1 1 0 0 0 .181 1.282l1.317 1.174-3.281 3.282-1.171-1.313a1 1 0 0 0-1.28-.18 13.4 13.4 0 0 1-4.225 1.75 1 1 0 0 0-.777 1.033l.1 1.756h-4.64l.1-1.758a1 1 0 0 0-.777-1.033 13.4 13.4 0 0 1-4.223-1.751.996.996 0 0 0-1.28.18l-1.174 1.315-3.28-3.281 1.315-1.172a1 1 0 0 0 .18-1.28 13.4 13.4 0 0 1-1.747-4.224c-.107-.478-.585-.804-1.032-.78L34 52.319v-4.641l1.768.101A1.02 1.02 0 0 0 36.8 47a13.4 13.4 0 0 1 1.75-4.215 1 1 0 0 0-.18-1.281l-1.324-1.181 3.281-3.282 1.181 1.324a1 1 0 0 0 1.279.179c1.3-.82 2.718-1.407 4.216-1.745a1 1 0 0 0 .777-1.033l-.1-1.771h4.64l-.1 1.773a1 1 0 0 0 .777 1.032c1.495.34 2.912.926 4.214 1.747a1 1 0 0 0 1.279-.18l1.183-1.326 3.281 3.282-1.321 1.178a1 1 0 0 0-.18 1.281A13.4 13.4 0 0 1 63.202 47c.108.476.561.804 1.032.778L66 47.677zm.943-6.698-2.001.114a15.4 15.4 0 0 0-1.363-3.289l1.497-1.335a1 1 0 0 0 .041-1.453l-4.778-4.779a.99.99 0 0 0-.735-.292 1 1 0 0 0-.718.333l-1.34 1.502a15.4 15.4 0 0 0-3.283-1.36l.114-2.01a1 1 0 0 0-.272-.743 1 1 0 0 0-.726-.313h-6.758a1 1 0 0 0-.726.313c-.19.2-.288.469-.272.744l.114 2.006a15.4 15.4 0 0 0-3.285 1.36l-1.338-1.499a1 1 0 0 0-.718-.333.96.96 0 0 0-.735.292l-4.778 4.779a1 1 0 0 0 .041 1.453l1.5 1.338a15.4 15.4 0 0 0-1.364 3.286l-2.003-.114a1 1 0 0 0-1.057.998v6.759a1 1 0 0 0 1.057.998l1.996-.114c.325 1.148.781 2.25 1.362 3.293l-1.491 1.33a1 1 0 0 0-.041 1.454l4.778 4.779a.999.999 0 0 0 1.453-.041l1.33-1.493a15.4 15.4 0 0 0 3.292 1.368l-.113 1.992A1 1 0 0 0 46.621 68h6.758a1 1 0 0 0 .998-1.057l-.113-1.99a15.4 15.4 0 0 0 3.294-1.367l1.328 1.49a1 1 0 0 0 1.453.04l4.778-4.778a1 1 0 0 0-.042-1.454l-1.493-1.332a15.4 15.4 0 0 0 1.363-3.291l1.998.114A1 1 0 0 0 68 53.377v-6.76a1 1 0 0 0-1.057-.997\" /></g></svg>;\nexport default SvgSsm;","import * as React from \"react\";\nconst SvgSsoAdmin = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-IAM-Identity-Center_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-IAM-Identity-Center_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"#dd344c\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-IAM-Identity-Center_Icon_64_Squid\" fill=\"#fff\" d=\"M67.438 62.325 52.56 47.447a1 1 0 0 1-.181-1.167c2.078-4.003 1.28-9.048-1.94-12.268a10.45 10.45 0 0 0-8.691-3c-3.23.392-6.078 2.256-7.812 5.117-2.038 3.359-1.947 7.668.23 10.979 3.021 4.595 8.91 6.184 13.698 3.7.387-.2.858-.127 1.168.182l2.468 2.468a1 1 0 0 1 .292.707v3.243h3.243c.264 0 .519.105.707.292l1.415 1.414c.187.188.293.442.293.708v3.242h3.242c.266 0 .519.106.707.293l1.855 1.856 3.942.263zm2.029-.305-.353 4.596a1 1 0 0 1-.996.923q-.034 0-.068-.002l-5.303-.354a1 1 0 0 1-.641-.29l-1.828-1.83H56.45a1 1 0 0 1-1-1v-3.827l-.829-.828h-3.829a1 1 0 0 1-1-1v-3.83l-1.672-1.672c-5.574 2.486-12.179.544-15.626-4.7-2.598-3.951-2.703-9.1-.269-13.114 2.056-3.39 5.44-5.6 9.282-6.064a12.44 12.44 0 0 1 10.346 3.57c3.653 3.653 4.683 9.286 2.622 13.936l14.702 14.702a1 1 0 0 1 .29.784M45.423 41.346a2.48 2.48 0 0 0-.733-1.768 2.48 2.48 0 0 0-1.768-.733c-.667 0-1.295.26-1.767.732a2.503 2.503 0 0 0 0 3.536c.974.975 2.56.975 3.535 0 .473-.473.733-1.1.733-1.767m.681-3.183a4.47 4.47 0 0 1 1.319 3.183 4.47 4.47 0 0 1-1.319 3.18v.002a4.49 4.49 0 0 1-3.182 1.315 4.48 4.48 0 0 1-3.181-1.316 4.506 4.506 0 0 1 0-6.364 4.47 4.47 0 0 1 3.181-1.318c1.203 0 2.332.468 3.182 1.318m-24.103 6.759H28v2h-6c-5.854-.013-10.674-4.165-10.976-9.454-.013-.25-.024-.481-.024-.713 0-6.524 4.627-8.95 7.351-9.81a14 14 0 0 1-.027-.875c0-5.35 3.757-10.888 8.739-12.881 5.807-2.344 11.965-1.178 16.463 3.118 1.187 1.12 2.705 2.794 3.769 4.835 1.136-.998 2.419-1.487 3.888-1.487 2.903 0 6.157 2.336 6.748 7.442C63.95 28.472 67 31.775 67 36.922c0 5.427-3.222 9.068-8.839 9.987l-.323-1.974C61.105 44.4 65 42.575 65 36.922c0-4.381-2.603-6.93-8.192-8.018a1 1 0 0 1-.807-.922c-.224-3.725-2.206-6.327-4.818-6.327-1.335 0-2.382.58-3.394 1.88-.223.287-.58.429-.941.376a1 1 0 0 1-.785-.638c-.872-2.33-2.609-4.285-3.913-5.515-3.919-3.742-9.278-4.754-14.342-2.713-4.198 1.679-7.484 6.522-7.484 11.025 0 .505.03.99.093 1.485q.006.056.007.113v.014c0 .505-.374.927-.86.996-2.499.634-6.564 2.52-6.564 8.077 0 .197.01.394.02.583.242 4.249 4.188 7.574 8.981 7.584\" /></g></svg>;\nexport default SvgSsoAdmin;","import * as React from \"react\";\nconst SvgStepfunctions = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Step-Functions_64\"}</title><defs><linearGradient id=\"linearGradient-stf\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Step-Functions_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Application-Integration\" fill=\"url(#linearGradient-stf)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS_Step_Functions_Icon_64_Squid\" fill=\"#fff\" d=\"M45 44h21v-7H45zm22-9H44a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h23a1 1 0 0 0 1-1v-9a1 1 0 0 0-1-1M43.5 62.5c0 1.93-1.57 3.5-3.5 3.5s-3.5-1.57-3.5-3.5S38.07 59 40 59s3.5 1.57 3.5 3.5M14 47h18v-4H14zm0-10h18v-4H14zm22.5-19.5c0-1.93 1.57-3.5 3.5-3.5s3.5 1.57 3.5 3.5S41.93 21 40 21s-3.5-1.57-3.5-3.5M56 53H24v-4h9a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-9v-2h9a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-9v-3h32v4h2v-5a1 1 0 0 0-1-1H41v-3.096c2.556-.472 4.5-2.713 4.5-5.404 0-3.033-2.468-5.5-5.5-5.5a5.506 5.506 0 0 0-5.5 5.5c0 2.691 1.944 4.932 4.5 5.404V26H23a1 1 0 0 0-1 1v4h-9a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h9v2h-9a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h9v5a1 1 0 0 0 1 1h16v2.096c-2.556.472-4.5 2.713-4.5 5.404 0 3.033 2.468 5.5 5.5 5.5s5.5-2.467 5.5-5.5c0-2.691-1.944-4.932-4.5-5.404V55h16a1 1 0 0 0 1-1v-4.973h-2z\" /></g></svg>;\nexport default SvgStepfunctions;","import * as React from \"react\";\nconst SvgSts = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 48 48\" fill=\"currentColor\" {...props}><title>{\"Icon-Resource/General-Resource/Res_SAML-token_48_Light\"}</title><defs><linearGradient id=\"linearGradient-sts\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><path id=\"Icon-Resource/General-Resource/Res_SAML-token_48\" fill=\"url(#linearGradient-sts)\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1} d=\"M23.886 24.573a1 1 0 0 0-.175 1.18c1.068 1.994.728 4.39-.845 5.963a5.07 5.07 0 0 1-7.16 0 5.03 5.03 0 0 1-1.481-3.58c0-1.352.526-2.623 1.482-3.579a4.97 4.97 0 0 1 3.53-1.462c.824 0 1.66.203 2.435.617.388.206.866.136 1.179-.175l1.322-1.323a1 1 0 0 0 .292-.742l-.042-1.245 1.246.042a.95.95 0 0 0 .74-.292l.747-.745c.196-.196.3-.465.292-.74l-.043-1.247 1.246.043c.26.01.545-.097.74-.292l.866-.865 1.31-.128.04.85zm9.287-10.425a1.01 1.01 0 0 0-.752-.239l-2.716.267a1 1 0 0 0-.61.288l-.81.81-1.882-.064c-.255-.032-.546.095-.742.292a1 1 0 0 0-.292.741l.065 1.883-.131.13-1.882-.064a.94.94 0 0 0-.741.292 1 1 0 0 0-.292.741l.063 1.882-.518.52c-2.628-1.076-5.616-.507-7.64 1.516a7.01 7.01 0 0 0-2.068 4.993c0 1.886.734 3.66 2.068 4.994a7.04 7.04 0 0 0 4.994 2.065 7.04 7.04 0 0 0 4.994-2.065c2.022-2.023 2.59-5.012 1.515-7.639l7.536-7.536a1 1 0 0 0 .292-.752l-.106-2.344a1 1 0 0 0-.345-.71M18.579 30.04a.845.845 0 1 1-1.192-1.196.845.845 0 0 1 1.192 1.196m-2.608-2.61a2.85 2.85 0 0 0 0 4.024 2.84 2.84 0 0 0 2.012.832c.727 0 1.456-.277 2.01-.832a2.85 2.85 0 0 0 0-4.024c-1.075-1.075-2.95-1.072-4.022 0m22.57-15.604a1.777 1.777 0 0 1-2.51 0l-.001-.002a1.76 1.76 0 0 1-.516-1.255 1.766 1.766 0 0 1 1.772-1.77h.002a1.76 1.76 0 0 1 1.77 1.773c0 .476-.184.922-.517 1.254m-3.922-3.928a3.75 3.75 0 0 0-1.106 2.67 3.75 3.75 0 0 0 1.102 2.67 3.76 3.76 0 0 0 2.67 1.106c.966 0 1.932-.368 2.668-1.102a3.78 3.78 0 0 0 .005-5.339 3.78 3.78 0 0 0-5.34-.005M20.255 43.574 4.414 27.706 28.139 4.02l15.134.733.708 15.133zM45.228 3.751a1 1 0 0 0-.95-.952l-16.484-.798a.97.97 0 0 0-.755.291L2.294 26.997a1 1 0 0 0-.002 1.414l17.254 17.283a.997.997 0 0 0 1.414.002L45.706 20.99a1 1 0 0 0 .293-.755z\" /></svg>;\nexport default SvgSts;","import * as React from \"react\";\nconst SvgSupport = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Support_16\"}</title><defs><linearGradient id=\"linearGradient-spr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Support_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Customer-Enablement\" fill=\"url(#linearGradient-spr)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Support_16_Squid\" fill=\"#fff\" d=\"M15.878 16.096a1 1 0 0 1-.7.307h-.02a1 1 0 1 1 .721-.307m-2.162-2.08c-.37.386-.568.892-.558 1.426s.23 1.032.614 1.403c.375.36.865.558 1.384.558h.04a2.003 2.003 0 0 0 1.348-3.442 2.004 2.004 0 0 0-2.828.055m4.375 3.093-.988-.198a.5.5 0 0 0-.395.087l-.504.369a.5.5 0 0 0-.2.345l-.117.996-1.465-.002-.114-.987a.5.5 0 0 0-.2-.344l-.51-.378a.51.51 0 0 0-.396-.089l-.98.196-.452-1.393.92-.421a.5.5 0 0 0 .265-.299l.193-.587a.5.5 0 0 0-.04-.401l-.494-.88 1.185-.86.678.737a.5.5 0 0 0 .368.161h.003l.635-.004a.5.5 0 0 0 .366-.161l.672-.73 1.184.861-.492.876a.5.5 0 0 0-.04.397l.188.594c.043.134.14.244.268.303l.915.42zm1.275-2.116-1.119-.513-.056-.177.603-1.073a.5.5 0 0 0-.142-.65l-1.903-1.385a.5.5 0 0 0-.662.066l-.827.897-.197.001-.83-.9a.5.5 0 0 0-.662-.066l-1.905 1.382a.5.5 0 0 0-.142.65l.604 1.076-.056.171-1.124.516a.5.5 0 0 0-.266.608l.725 2.24a.5.5 0 0 0 .574.336l1.2-.24.158.118.141 1.213a.5.5 0 0 0 .496.443l2.354.002h.001c.254 0 .467-.19.496-.442l.144-1.221.151-.11 1.208.242a.5.5 0 0 0 .574-.335l.73-2.239a.5.5 0 0 0-.268-.61M6.841 7.495A2.5 2.5 0 0 1 9.336 5a2.5 2.5 0 0 1 2.495 2.495 2.5 2.5 0 0 1-2.495 2.496 2.5 2.5 0 0 1-2.495-2.496m2.584 3.54c.776 0 1.483.245 2.104.728l.615-.789a4.5 4.5 0 0 0-.924-.544 3.49 3.49 0 0 0 1.611-2.935A3.5 3.5 0 0 0 9.336 4a3.5 3.5 0 0 0-3.495 3.495c0 1.266.683 2.367 1.693 2.98-2.009.944-3.499 3.316-3.534 6.019a.5.5 0 0 0 .145.357A.5.5 0 0 0 4.5 17h5.336v-1H5.024c.257-2.991 2.41-4.965 4.401-4.965\" /></g></svg>;\nexport default SvgSupport;","import * as React from \"react\";\nconst SvgSwf = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Step-Functions_16\"}</title><defs><linearGradient id=\"linearGradient-swf\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Step-Functions_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Application-Integration\" fill=\"url(#linearGradient-swf)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS_Step_Functions_Icon_16_Squid\" fill=\"#fff\" d=\"M14 13h5v-2h-5zm2 2H8v-2h2.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H8V9h8v1h-2.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5H16zM5 12h5v-1H5zm7.5 7a.5.5 0 1 1 .002-1.002A.5.5 0 0 1 12.5 19m0-14a.5.5 0 1 1-.002 1.002A.5.5 0 0 1 12.5 5m7 5H17V8.5a.5.5 0 0 0-.5-.5H13V6.908c.581-.207 1-.757 1-1.408 0-.827-.673-1.5-1.5-1.5S11 4.673 11 5.5c0 .651.419 1.201 1 1.408V8H7.5a.5.5 0 0 0-.5.5V10H4.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H7v2.5a.5.5 0 0 0 .5.5H12v1.092c-.581.207-1 .757-1 1.408 0 .827.673 1.5 1.5 1.5s1.5-.673 1.5-1.5c0-.651-.419-1.201-1-1.408V16h3.5a.5.5 0 0 0 .5-.5V14h2.5a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5\" /></g></svg>;\nexport default SvgSwf;","import * as React from \"react\";\nconst SvgTextract = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Textract_64\"}</title><g id=\"Icon-Architecture/64/Arch_Amazon-Textract_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Machine-Learning\" fill=\"#01a88d\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Textract_Icon_64_Squid\" fill=\"#fff\" d=\"M22.062 50c2.314 3.603 6.348 6 10.938 6 7.167 0 13-5.832 13-13s-5.833-13-13-13c-5.397 0-10.034 3.307-11.998 8h2.212c1.825-3.556 5.522-6 9.786-6 6.065 0 11 4.935 11 11s-4.935 11-11 11a10.99 10.99 0 0 1-8.479-4zM37 45v-2h5c0-4.962-4.038-9-9-9-4.963 0-9 4.038-9 9h5v2H24.23c.913 4.002 4.494 7 8.77 7a8.95 8.95 0 0 0 5.643-2H34v-2h6.478a9 9 0 0 0 1.29-3zm-15.998 3h2.212A10.9 10.9 0 0 1 22 43c0-1.041.155-2.045.426-3h-2.063A13 13 0 0 0 20 43c0 1.771.36 3.46 1.003 5m-1.259 2H17v-2h1.874c-.34-.96-.585-1.962-.725-3h-2.735l1.293 1.293-1.415 1.414-3-3a1 1 0 0 1 0-1.414l3-3 1.415 1.414L15.414 43H18c0-1.027.104-2.03.302-3H17v-2h1.874C20.94 32.184 26.484 28 33 28c4.427 0 8.4 1.939 11.148 5H59v2H45.666A14.9 14.9 0 0 1 48 43H59v2H47.85c-.982 7.327-7.259 13-14.85 13-5.744 0-10.738-3.248-13.257-8M37 39a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v2h2v-1h1v3h-1v2h4v-2h-1v-3h1v1h2zm12 1h10v-2H49zm0 10h10v-2H49zm8-23h3.585L57 23.414zm6.707.293c.187.187.293.442.293.707v35a1 1 0 0 1-1 1H32a1 1 0 0 1-1-1v-4h2v3h29V29h-6a1 1 0 0 1-1-1v-6H33v5h-2v-6a1 1 0 0 1 1-1h24a1 1 0 0 1 .707.293zM68 24.166V61a1 1 0 0 1-1 1h-2v-2h1V24.612L58.617 18H36v1h-2v-2a1 1 0 0 1 1-1h24c.246 0 .483.091.666.255l8 7.165c.212.19.334.461.334.746\" /></g></svg>;\nexport default SvgTextract;","import * as React from \"react\";\nconst SvgTimestreamQuery = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Timestream_64\"}</title><defs><linearGradient id=\"linearGradient-tsd\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Timestream_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-tsd)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Timestream_Icon_64_Squid\" fill=\"#fff\" d=\"M60.92 52.293 62.201 51H56.25l-1.574-1.586-2.976 3-8.638-8.707 1.402-1.414 7.236 7.293 2.976-3L57.071 49h5.131l-1.283-1.293 1.403-1.414L66 50l-3.678 3.707zM51.7 36.586 53.273 35h3.138l2.972 3.332-1.477 1.336L55.527 37h-1.432L51.7 39.414 49.305 37h-5.542v-2h6.363zM62.202 36H60.63v-2h4.96v5h-1.984v-1.586L61.04 40l2.566 2.586V41h1.984v5h-4.96v-2h1.573l-2.565-2.586L57.07 44h-5.953l-1.693 1.707-1.403-1.414L50.297 42h5.953zm-19.14 13.293 1.984-2 1.403 1.414-1.985 2zM32.85 14c9.94 0 16.866 3.162 16.866 6s-6.926 6-16.866 6-16.866-3.162-16.866-6 6.926-6 16.866-6m9.92 19h-1.983v22c0 .552.443 1 .992 1h7.937v4c0 2.838-6.926 6-16.866 6-9.623 0-16.866-3.479-16.866-5.735v-7.591C19.017 55.284 25.267 57 32.85 57c2.464 0 4.858-.189 7.112-.563l-.321-1.974A42 42 0 0 1 32.85 55c-9.94 0-16.866-3.162-16.866-6V38.674C19.017 41.284 25.267 43 32.85 43c2.464 0 4.858-.189 7.112-.563l-.321-1.974A42 42 0 0 1 32.85 41c-9.94 0-16.866-3.162-16.866-6V23.674C19.017 26.284 25.267 28 32.85 28s13.833-1.716 16.866-4.326V34H51.7V20c0-4.561-8.104-8-18.85-8S14 15.439 14 20v40.265C14 64.385 22.809 68 32.85 68c10.746 0 18.85-3.439 18.85-8v-4h13.89v-2H42.77z\" /></g></svg>;\nexport default SvgTimestreamQuery;","import * as React from \"react\";\nconst SvgTimestreamWrite = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Timestream_64\"}</title><defs><linearGradient id=\"linearGradient-tsd\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Timestream_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-tsd)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Timestream_Icon_64_Squid\" fill=\"#fff\" d=\"M60.92 52.293 62.201 51H56.25l-1.574-1.586-2.976 3-8.638-8.707 1.402-1.414 7.236 7.293 2.976-3L57.071 49h5.131l-1.283-1.293 1.403-1.414L66 50l-3.678 3.707zM51.7 36.586 53.273 35h3.138l2.972 3.332-1.477 1.336L55.527 37h-1.432L51.7 39.414 49.305 37h-5.542v-2h6.363zM62.202 36H60.63v-2h4.96v5h-1.984v-1.586L61.04 40l2.566 2.586V41h1.984v5h-4.96v-2h1.573l-2.565-2.586L57.07 44h-5.953l-1.693 1.707-1.403-1.414L50.297 42h5.953zm-19.14 13.293 1.984-2 1.403 1.414-1.985 2zM32.85 14c9.94 0 16.866 3.162 16.866 6s-6.926 6-16.866 6-16.866-3.162-16.866-6 6.926-6 16.866-6m9.92 19h-1.983v22c0 .552.443 1 .992 1h7.937v4c0 2.838-6.926 6-16.866 6-9.623 0-16.866-3.479-16.866-5.735v-7.591C19.017 55.284 25.267 57 32.85 57c2.464 0 4.858-.189 7.112-.563l-.321-1.974A42 42 0 0 1 32.85 55c-9.94 0-16.866-3.162-16.866-6V38.674C19.017 41.284 25.267 43 32.85 43c2.464 0 4.858-.189 7.112-.563l-.321-1.974A42 42 0 0 1 32.85 41c-9.94 0-16.866-3.162-16.866-6V23.674C19.017 26.284 25.267 28 32.85 28s13.833-1.716 16.866-4.326V34H51.7V20c0-4.561-8.104-8-18.85-8S14 15.439 14 20v40.265C14 64.385 22.809 68 32.85 68c10.746 0 18.85-3.439 18.85-8v-4h13.89v-2H42.77z\" /></g></svg>;\nexport default SvgTimestreamWrite;","import * as React from \"react\";\nconst SvgTranscribe = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-Transcribe_16\"}</title><defs><linearGradient id=\"linearGradient-trs\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#055f4e\" /><stop offset=\"100%\" stopColor=\"#56c0a7\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-Transcribe_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Machine-Learning\" fill=\"url(#linearGradient-trs)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-Transcribe_Icon_16_Squid\" fill=\"#fff\" d=\"M18.263 7.952 15.97 5.701v2.251zM20 16.512a.5.5 0 0 1-.505.5h-4.54V16.01h4.036l-.003-7.055h-3.523a.503.503 0 0 1-.504-.501V5.003h-3.1v2.978h-1.008V4.502c0-.276.226-.501.504-.501L15.465 4c.13 0 .257.05.354.144l4.028 3.953c.098.096.15.225.15.357zM6.93 15h1.008v-2.006H6.93zm1.988 1.003h1.01v-4.012h-1.01zM10.912 15h1.01v-2.006h-1.01zm2.266 1.457.841.554c-.992 1.49-2.504 2.346-4.15 2.346a5.7 5.7 0 0 1-2.56-.633l-2.46 1.227a.5.5 0 0 1-.233.048c-.168 0-.35-.06-.454-.166a.58.58 0 0 1-.092-.675l1.266-2.38c-.347-.589-.788-1.537-.788-2.574 0-2.814 2.292-4.936 5.332-4.936 1.124 0 1.93.397 2.632.826l-.53.855c-.683-.419-1.275-.678-2.102-.678-2.096 0-4.323 1.379-4.323 3.933 0 .689.285 1.52.784 2.281.1.153.108.347.023.509l-.784 1.47 1.518-.755a.51.51 0 0 1 .49.02c.635.386 1.509.625 2.28.625 1.78 0 2.838-1.188 3.31-1.897\" /></g></svg>;\nexport default SvgTranscribe;","import * as React from \"react\";\nconst SvgTransfer = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Transfer-Family_16\"}</title><defs><linearGradient id=\"linearGradient-atf\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#055f4e\" /><stop offset=\"100%\" stopColor=\"#56c0a7\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Transfer-Family_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Migration-Transfer\" fill=\"url(#linearGradient-atf)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Transfer-Family_Icon-atf6_Squid\" fill=\"#fff\" d=\"m9.186 13.857 2.036 2c.094.092.22.143.351.143.155.025.262-.054.356-.15l1.964-2-.713-.7-1.107 1.127V9.5h-1v4.808l-1.186-1.165zM14 6.723V11.5h1V6.692l1.186 1.165.701-.714-2.036-2A.5.5 0 0 0 14.5 5c-.096.021-.261.054-.356.15l-1.964 2 .713.7zM19 9v9a.5.5 0 0 1-.5.5h-13A.5.5 0 0 1 5 18V8a.5.5 0 0 1 .5-.5H7c.141 0 .276.06.371.164l.758.836h1.668v1H7.908a.5.5 0 0 1-.37-.164L6.779 8.5H6v9h12v-8h-2v-1h2.5a.5.5 0 0 1 .5.5\" /></g></svg>;\nexport default SvgTransfer;","import * as React from \"react\";\nconst SvgVerifiedpermissions = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Verified-Permissions_64\"}</title><g id=\"Icon-Architecture/64/Arch_Amazon-Verified-Permissions_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"#dd344c\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Fill-1\" fill=\"#fff\" d=\"M48 48h10v2H48v4h10v2H48v3h-2V45h2zm18 5.522-1.515-.086c-.471-.034-.924.3-1.032.778a12.2 12.2 0 0 1-1.582 3.821 1 1 0 0 0 .18 1.279l1.132 1.01-2.859 2.859-1.006-1.127a.996.996 0 0 0-1.28-.18 12.2 12.2 0 0 1-3.825 1.584 1 1 0 0 0-.777 1.033L53.521 66h-4.042l.085-1.508a1 1 0 0 0-.777-1.033 12.2 12.2 0 0 1-3.822-1.586 1 1 0 0 0-1.28.18l-1.008 1.13-2.86-2.859 1.129-1.007a1 1 0 0 0 .181-1.28 12.2 12.2 0 0 1-1.582-3.823 1.01 1.01 0 0 0-1.032-.778L37 53.522v-4.044l1.518.086c.479.019.922-.3 1.032-.777.306-1.353.84-2.637 1.585-3.815a1 1 0 0 0-.18-1.281l-1.138-1.014 2.86-2.86 1.014 1.137c.328.364.869.439 1.28.179a12.2 12.2 0 0 1 3.815-1.579 1 1 0 0 0 .778-1.032L49.479 37h4.042l-.085 1.523c-.029.488.3.925.777 1.032 1.354.307 2.638.839 3.813 1.581.412.26.954.184 1.281-.179l1.016-1.14 2.86 2.86-1.135 1.012a1 1 0 0 0-.18 1.28 12.1 12.1 0 0 1 1.583 3.818c.108.477.563.796 1.032.777L66 49.478zm1.687-5.83c-.2-.188-.47-.287-.744-.271l-1.754.1a14 14 0 0 0-1.196-2.887l1.312-1.17a1 1 0 0 0 .041-1.453l-4.357-4.356a.98.98 0 0 0-.735-.293 1 1 0 0 0-.718.334l-1.175 1.316a14 14 0 0 0-2.882-1.195l.099-1.76A1 1 0 0 0 54.58 35h-6.16a1 1 0 0 0-.998 1.057l.099 1.758c-1.003.291-1.968.69-2.884 1.194l-1.173-1.313a1 1 0 0 0-.718-.334.98.98 0 0 0-.735.293l-4.357 4.356a1 1 0 0 0 .041 1.453l1.315 1.173a14.2 14.2 0 0 0-1.198 2.884l-1.755-.1a1 1 0 0 0-1.057.998v6.162a1 1 0 0 0 1.057.998l1.749-.1a14 14 0 0 0 1.197 2.892l-1.307 1.165a1 1 0 0 0-.042 1.453l4.357 4.357a.97.97 0 0 0 .735.292 1 1 0 0 0 .718-.334l1.166-1.306c.919.506 1.887.907 2.891 1.199l-.099 1.746A1 1 0 0 0 48.42 68h6.16a1 1 0 0 0 .998-1.057l-.099-1.744A14 14 0 0 0 58.373 64l1.163 1.304a1 1 0 0 0 .718.334.96.96 0 0 0 .735-.292l4.357-4.357a1.002 1.002 0 0 0-.041-1.453l-1.31-1.168c.505-.918.905-1.885 1.196-2.889l1.752.1A1.002 1.002 0 0 0 68 54.581v-6.162c0-.274-.113-.538-.313-.727M31.742 36.218l-7.545 7.545a.996.996 0 0 1-1.414 0l-3.771-3.772 1.414-1.414 3.064 3.065 6.838-6.838zm0-14.392-7.545 7.544a.996.996 0 0 1-1.414 0l-3.771-3.772 1.414-1.414 3.064 3.065 6.838-6.837zm-1.886 30.529-3.537 3.537 3.537 3.537-1.414 1.414-3.537-3.537-3.537 3.537-1.414-1.414 3.537-3.537-3.537-3.537 1.414-1.414 3.537 3.537 3.537-3.537zM45 15.659 50.973 21H45zM14 14h29v8a1 1 0 0 0 1 1h8v10h2V21.471c0-.285-.121-.556-.333-.746l-9.474-8.471a1 1 0 0 0-.667-.254H13a1 1 0 0 0-1 1v54a1 1 0 0 0 1 1h25v-2H14z\" /></g></svg>;\nexport default SvgVerifiedpermissions;","import * as React from \"react\";\nconst SvgWafv2 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-WAF_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-WAF_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"#dd344c\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><g id=\"Icon-Service/64/AWS-WAF_64\" fill=\"#fff\" transform=\"translate(12 12)\"><path id=\"AWS-WAF_Icon_64_Squid\" d=\"M2.396 29H0v-2h2.399c.2-5.059 1.84-9.872 4.809-13.975l1.621 1.173C6.108 17.957 4.598 22.366 4.399 27H7v2H4.396c.186 4.662 1.697 9.097 4.433 12.876l-1.621 1.173C4.224 38.926 2.583 34.085 2.396 29M43.01 48.828c-4.112 2.977-8.938 4.617-14.01 4.811V56h-2v-2.361c-5.072-.194-9.9-1.834-14.012-4.811l1.172-1.62c3.77 2.729 8.192 4.239 12.84 4.431V49h2v2.639c4.648-.193 9.069-1.703 12.838-4.431zM12.988 7.246C17.1 4.269 21.928 2.629 27 2.436V0h2v2.436c5.072.193 9.898 1.834 14.01 4.81l-1.172 1.62C38.069 6.138 33.648 4.628 29 4.436V7h-2V4.436c-4.648.191-9.07 1.702-12.84 4.43zM56 27v2h-2.398c-.186 5.085-1.828 9.926-4.811 14.049l-1.622-1.173c2.736-3.779 4.248-8.214 4.433-12.876H49v-2h2.599c-.199-4.634-1.709-9.043-4.43-12.802l1.622-1.173c2.968 4.103 4.608 8.916 4.808 13.975zM42.972 11.65l7.84-7.84 1.414 1.414-7.84 7.84zM13.026 44.424l-7.84 7.84-1.414-1.414 7.84-7.84zm2.226-27.757L.412 1.827 1.826.413l14.841 14.84zm25.455 22.626 14.879 14.88-1.414 1.414-14.88-14.879zM19.664 28.735q.113-.2.241-.401c1.681-2.641 1.199-6.245.665-8.422 1.441.947 2.74 2.904 3.183 3.726a.99.99 0 0 0 .959.523c.395-.031.734-.291.866-.664 1.489-4.23.732-7.41-.318-9.471a7.2 7.2 0 0 1 2.912 3.166c1.416 2.942 1.101 6.969-.824 10.508-2.629 4.836-2.102 9.906-1.504 12.634-1.501-.647-2.837-1.378-3.99-2.182-3.027-2.11-3.99-6.245-2.19-9.417m13.43-.337a1.002 1.002 0 0 0 1.615.938c.081-.065 1.721-1.419 2.515-4.694.957 1.392 1.958 4.201.626 9.361-1.318 5.105-7.57 6.541-9.801 6.894-.539-1.933-1.632-7.298 1.057-12.242 1.908-3.51 2.414-7.479 1.458-10.754 1.81 2.126 3.337 5.472 2.53 10.497m-15.172-.648c-2.302 4.06-1.078 9.349 2.788 12.043 1.75 1.22 3.87 2.279 6.3 3.148q.167.06.337.059c.021 0 .039-.011.059-.012l.001.009c.425-.033 10.419-.901 12.379-8.494 2.522-9.766-2.529-12.663-2.745-12.782a1 1 0 0 0-1.475.774 13 13 0 0 1-.316 1.807c-.692-7.668-6.771-10.788-8-11.343-1.26-.965-2.792-1.628-4.568-1.943a1.002 1.002 0 0 0-.815 1.752c.15.127 3.266 2.829 2.377 7.971-1.161-1.523-3.009-3.359-5.183-3.359a1.001 1.001 0 0 0-.933 1.361c.022.054 2.06 5.425.089 8.52a13 13 0 0 0-.295.489\" /></g></g></svg>;\nexport default SvgWafv2;","import * as React from \"react\";\nconst SvgXray = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-X-Ray_64\"}</title><defs><linearGradient id=\"linearGradient-xry\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-X-Ray_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"url(#linearGradient-xry)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-X-Ray_Icon_64_Squid\" fill=\"#fff\" d=\"M47.5 42.2h-2v13.883h-4v-9.916h-2v9.916h-4v-6.941h-2v6.941h-2v1.984h18v-1.984h-2zm8 7.438c0-7.929-6.505-14.38-14.5-14.38s-14.5 6.451-14.5 14.38c0 7.928 6.505 14.379 14.5 14.379s14.5-6.451 14.5-14.38m2 0C57.5 58.66 50.098 66 41 66s-16.5-7.34-16.5-16.362S31.902 33.275 41 33.275s16.5 7.34 16.5 16.363M68 38.702c0 5.657-3.132 9.336-8.591 10.092l-.277-1.965C62.266 46.396 66 44.634 66 38.702c0-5.568-4.247-7.583-7.809-8.292a.99.99 0 0 1-.801-.916c-.234-4.073-2.645-5.896-4.932-5.896-1.437 0-2.777.671-3.676 1.842-.22.288-.585.433-.943.38a1 1 0 0 1-.79-.637c-.81-2.168-2.01-4.06-3.47-5.469-3.838-3.711-9.09-4.72-14.049-2.695-4.117 1.675-7.342 6.495-7.342 10.974 0 .503.031 1.003.091 1.488a.99.99 0 0 1-.752 1.084c-2.437.6-6.527 2.443-6.527 8.06 0 .212.011.403.021.604.183 3.292 3.047 6.315 6.966 7.351l-.515 1.916c-4.744-1.254-8.218-5.02-8.448-9.16a13 13 0 0 1-.024-.71c0-6.491 4.538-8.898 7.216-9.752a14 14 0 0 1-.028-.881c0-5.312 3.69-10.817 8.582-12.808 5.718-2.337 11.778-1.175 16.205 3.11 1.338 1.29 2.481 2.924 3.351 4.778a6.56 6.56 0 0 1 4.132-1.459c3.072 0 6.295 2.177 6.862 7.013 5.606 1.35 8.68 4.904 8.68 10.075\" /></g></svg>;\nexport default SvgXray;","import type { FC, ReactNode } from 'react'\nimport { Box } from '@mui/material'\n\ninterface PillCellProps {\n backgroundColor?: string\n borderColor?: string\n borderWidth?: string\n children: ReactNode\n height?: number | string\n paddingBottom?: number | string\n paddingTop?: number | string\n}\n\nexport const PillCell: FC<PillCellProps> = ({\n backgroundColor,\n borderColor,\n borderWidth = '1px',\n children,\n height = '24px',\n paddingBottom,\n paddingTop,\n}) => {\n return (\n <Box\n sx={{\n alignItems: 'center',\n backgroundColor: backgroundColor ?? (theme => theme.palette.background.paper),\n borderColor: borderColor ?? (theme => theme.palette.divider),\n borderRadius: '16px',\n borderStyle: 'solid',\n borderWidth,\n display: 'inline-flex',\n height: paddingTop || paddingBottom ? 'auto' : height,\n maxWidth: '100%',\n ...(paddingTop && { paddingTop }),\n ...(paddingBottom && { paddingBottom }),\n overflow: 'hidden',\n }}\n >\n {children}\n </Box>\n )\n}\n","export interface Logger {\n debug: LoggerFunction\n error: LoggerFunction\n info: LoggerFunction\n warn: LoggerFunction\n}\n\ntype LoggerFunction = (message: string, data?: unknown) => void\n\nconst getIsDevelopment = (): boolean => {\n try {\n return import.meta.env.DEV || false\n }\n catch {\n return false\n }\n}\n\nconst isDevelopment = getIsDevelopment()\n\nexport const logger: Logger = {\n debug: (message: string, data?: unknown): void => {\n if (isDevelopment) {\n console.debug(`[DEBUG] ${message}`, data === undefined ? '' : data)\n }\n },\n\n error: (message: string, data?: unknown): void => {\n if (isDevelopment) {\n console.error(`[ERROR] ${message}`, data === undefined ? '' : data)\n }\n // In production, you might want to send errors to a monitoring service\n },\n\n info: (message: string, data?: unknown): void => {\n if (isDevelopment) {\n console.info(`[INFO] ${message}`, data === undefined ? '' : data)\n }\n },\n\n warn: (message: string, data?: unknown): void => {\n if (isDevelopment) {\n console.warn(`[WARN] ${message}`, data === undefined ? '' : data)\n }\n },\n}\n\nexport const isLoggerEnabled = (): boolean => isDevelopment\n\nexport const createScopedLogger = (scope: string): Logger => ({\n debug: (message: string, data?: unknown) => { logger.debug(`[${scope}] ${message}`, data) },\n error: (message: string, data?: unknown) => { logger.error(`[${scope}] ${message}`, data) },\n info: (message: string, data?: unknown) => { logger.info(`[${scope}] ${message}`, data) },\n warn: (message: string, data?: unknown) => { logger.warn(`[${scope}] ${message}`, data) },\n})\n","export interface SearchableObject {\n [key: string]: SearchableValue\n}\n\nexport type SearchableValue = boolean | null | number | SearchableObject | SearchableValue[] | string | undefined\n\nexport const searchInObject = (object: SearchableValue, searchTerm: string, skipKeys: string[] = []): boolean => {\n if (!object) return false\n if (!searchTerm || searchTerm.trim() === '') return true\n\n const normalizedSearchTerm = searchTerm.toLowerCase().trim()\n\n if (typeof object === 'string') {\n return object.toLowerCase().includes(normalizedSearchTerm)\n }\n\n if (typeof object === 'number') {\n return String(object).toLowerCase().includes(normalizedSearchTerm)\n }\n\n if (typeof object === 'boolean') {\n return String(object).toLowerCase().includes(normalizedSearchTerm)\n }\n\n if (Array.isArray(object)) {\n return object.some(item => searchInObject(item, searchTerm, skipKeys))\n }\n\n if (typeof object === 'object') {\n return Object.entries(object)\n .filter(([key]) => !skipKeys.includes(key))\n .some(([, value]) => searchInObject(value, searchTerm, skipKeys))\n }\n\n return false\n}\n","import type { FC } from 'react'\nimport { ErrorOutline, InfoOutlined } from '@mui/icons-material'\nimport { Alert, AlertTitle, Box, Button, Link, Typography } from '@mui/material'\n\nimport type { StatusResponse } from '@/types/api.ts'\nimport { AppInspectorNotFoundError, ConnectionError } from '@/api/errors.ts'\nimport { APPINSPECTOR_API_PREFIX } from '@/config.ts'\n\nexport interface StatusMessageProps {\n error?: Error\n onRetry?: () => void\n status?: StatusResponse\n}\n\n/**\n * Component to display helpful messages for connection/status issues\n */\nexport const StatusMessage: FC<StatusMessageProps> = ({\n error,\n onRetry,\n status,\n}) => {\n // App Inspector extension not found (404)\n if (error instanceof AppInspectorNotFoundError) {\n return (\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n justifyContent: 'center',\n p: 4,\n }}\n >\n <Alert\n icon={<ErrorOutline fontSize=\"large\" />}\n severity=\"error\"\n sx={{ maxWidth: 600, width: '100%' }}\n >\n <AlertTitle sx={{ fontWeight: 'bold' }}>App Inspector Not Available</AlertTitle>\n <Typography sx={{ mb: 2 }} variant=\"body2\">\n The App Inspector extension is not licensed or not enabled in LocalStack.\n </Typography>\n <Typography sx={{ mb: 1 }} variant=\"body2\">\n <strong>To enable App Inspector:</strong>\n </Typography>\n <Typography sx={{ mb: 1 }} variant=\"body2\">\n Set the environment variable and restart LocalStack:\n </Typography>\n <Box\n component=\"pre\"\n sx={{\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n borderRadius: 1,\n fontSize: '0.875rem',\n p: 1,\n }}\n >\n LOCALSTACK_APPINSPECTOR_ENABLE=1\n </Box>\n <Typography sx={{ fontStyle: 'italic', mb: 1, mt: 2 }} variant=\"body2\">\n Runtime changes can be made via endpoint\n {' '}\n <code>\n {APPINSPECTOR_API_PREFIX}\n /status\n </code>\n . For persistent default state across restarts, adjust the\n {' '}\n <code>LOCALSTACK_APPINSPECTOR_ENABLE</code>\n {' '}\n environment variable in your\n {' '}\n <code>~/.localstack</code>\n {' '}\n profile files.\n {' '}\n <Link\n href=\"https://docs.localstack.cloud/aws/capabilities/config/configuration/#profiles\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Learn more about LocalStack profiles\n </Link>\n </Typography>\n\n <Typography sx={{ mb: 1, mt: 2 }} variant=\"body2\">\n <strong>For more information:</strong>\n </Typography>\n <Link\n href=\"https://docs.localstack.cloud/user-guide/tools/application-inspector/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n App Inspector Documentation\n </Link>\n {onRetry && (\n <Box sx={{ display: 'flex', justifyContent: 'flex-start', mt: 2 }}>\n <Button\n aria-label=\"Check App Inspector status again\"\n onClick={onRetry}\n variant=\"outlined\"\n >\n Check Again\n </Button>\n </Box>\n )}\n </Alert>\n </Box>\n )\n }\n\n // Connection error\n if (error instanceof ConnectionError) {\n return (\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n justifyContent: 'center',\n p: 4,\n }}\n >\n <Alert\n icon={<ErrorOutline fontSize=\"large\" />}\n severity=\"error\"\n sx={{ maxWidth: 600, width: '100%' }}\n >\n <AlertTitle sx={{ fontWeight: 'bold' }}>Connection Error</AlertTitle>\n <Typography sx={{ mb: 2 }} variant=\"body2\">\n Failed to connect to LocalStack. Please ensure LocalStack is running and accessible.\n </Typography>\n <Typography sx={{ mb: 1 }} variant=\"body2\">\n <strong>To start LocalStack:</strong>\n </Typography>\n <Box\n component=\"pre\"\n sx={{\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n borderRadius: 1,\n fontSize: '0.875rem',\n p: 1,\n }}\n >\n localstack start\n </Box>\n {onRetry && (\n <Box sx={{ display: 'flex', justifyContent: 'flex-start', mt: 2 }}>\n <Button\n aria-label=\"Retry connection to LocalStack\"\n onClick={onRetry}\n variant=\"outlined\"\n >\n Retry Connection\n </Button>\n </Box>\n )}\n </Alert>\n </Box>\n )\n }\n\n // App Inspector disabled\n if (status?.status === 'DISABLED') {\n return (\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n justifyContent: 'center',\n p: 4,\n }}\n >\n <Alert\n icon={<InfoOutlined fontSize=\"large\" />}\n severity=\"warning\"\n sx={{ maxWidth: 600, width: '100%' }}\n >\n <AlertTitle sx={{ fontWeight: 'bold' }}>App Inspector is Disabled</AlertTitle>\n <Typography sx={{ mb: 2 }} variant=\"body2\">\n App Inspector is currently disabled. Please enable it to view traces and spans.\n </Typography>\n <Typography sx={{ mb: 1 }} variant=\"body2\">\n <strong>To enable App Inspector at runtime:</strong>\n </Typography>\n <Box\n component=\"pre\"\n sx={{\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n borderRadius: 1,\n fontSize: '0.875rem',\n overflowX: 'auto',\n p: 1,\n }}\n >\n {String.raw`curl -X PUT http://localhost:4566${APPINSPECTOR_API_PREFIX}/status \\\n -H \"Content-Type: application/json\" \\\n -d '{\"status\": \"ENABLED\"}'`}\n </Box>\n <Typography sx={{ mb: 1, mt: 2 }} variant=\"body2\">\n <strong>To enable App Inspector persistently across restarts:</strong>\n </Typography>\n <Typography sx={{ mb: 1 }} variant=\"body2\">\n Set the environment variable:\n </Typography>\n <Box\n component=\"pre\"\n sx={{\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n borderRadius: 1,\n fontSize: '0.875rem',\n p: 1,\n }}\n >\n APPINSPECTOR=1\n </Box>\n {Boolean(status.note) && (\n <Typography sx={{ display: 'block', fontStyle: 'italic', mt: 2 }} variant=\"caption\">\n {status.note}\n </Typography>\n )}\n {onRetry && (\n <Box sx={{ display: 'flex', justifyContent: 'flex-start', mt: 2 }}>\n <Button\n aria-label=\"Check if App Inspector is enabled\"\n onClick={onRetry}\n variant=\"outlined\"\n >\n Check Status Again\n </Button>\n </Box>\n )}\n </Alert>\n </Box>\n )\n }\n\n // Generic error\n if (error) {\n return (\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n justifyContent: 'center',\n p: 4,\n }}\n >\n <Alert\n icon={<ErrorOutline fontSize=\"large\" />}\n severity=\"error\"\n sx={{ maxWidth: 600, width: '100%' }}\n >\n <AlertTitle sx={{ fontWeight: 'bold' }}>Error</AlertTitle>\n <Typography sx={{ mb: 2 }} variant=\"body2\">\n {error.message}\n </Typography>\n {onRetry && (\n <Box sx={{ display: 'flex', justifyContent: 'flex-start', mt: 2 }}>\n <Button\n aria-label=\"Retry operation\"\n onClick={onRetry}\n variant=\"outlined\"\n >\n Retry\n </Button>\n </Box>\n )}\n </Alert>\n </Box>\n )\n }\n\n return <></>\n}\n","/**\n * Custom error classes for API error handling\n */\n\n/**\n * Error thrown when App Inspector is disabled\n */\nexport class AppInspectorDisabledError extends Error {\n constructor(message: string, cause?: Error) {\n super(message)\n this.name = 'AppInspectorDisabledError'\n this.cause = cause\n }\n}\n\n/**\n * Error thrown when App Inspector extension is not found (404 from AppInspector endpoints)\n */\nexport class AppInspectorNotFoundError extends Error {\n constructor(message: string, cause?: Error) {\n super(message)\n this.name = 'AppInspectorNotFoundError'\n this.cause = cause\n }\n}\n\n/**\n * Error thrown when connection to LocalStack fails (network errors)\n */\nexport class ConnectionError extends Error {\n constructor(message: string, cause?: Error) {\n super(message)\n this.name = 'ConnectionError'\n this.cause = cause\n }\n}\n","// AppInspector configuration\n\n/**\n * API Configuration\n */\nexport const APPINSPECTOR_API_PREFIX = '/_localstack/appinspector'\n\nexport const API_VERSION = 'v1'\n\nexport const API_ENDPOINTS = {\n EVENTS: '/traces/*/spans/*/events',\n ROOT: '/',\n SPANS: '/traces/*/spans',\n STATUS: '/status',\n TRACES: '/traces',\n} as const\n\nexport const getApiV1Endpoint = (endpoint: string): string => {\n return `/${API_VERSION}${endpoint}`\n}\n\nexport const getApiEndpoint = (endpoint: string): string => {\n // Status and root endpoints don't use versioning\n if (endpoint === API_ENDPOINTS.ROOT || endpoint === API_ENDPOINTS.STATUS) {\n return endpoint\n }\n // All other endpoints use v1 prefix\n return getApiV1Endpoint(endpoint)\n}\n\nexport type EndpointKey = keyof typeof API_ENDPOINTS\n\nexport const getAppInspectorApiUrl = (localstackEndpoint: string, endpoint: string): string => {\n return `${localstackEndpoint}${APPINSPECTOR_API_PREFIX}${getApiEndpoint(endpoint)}`\n}\n","import type { FC, PropsWithChildren, ReactNode } from 'react'\nimport { createContext, useContext } from 'react'\nimport { useCallback, useMemo } from 'react'\n\nimport { createApiClientMock } from './api/client-mock.ts'\nimport { createApiClient } from './api/client.ts'\nimport { ApiProvider } from './api/use-api.tsx'\n\ninterface AppInspectorContextValue {\n /**\n * A component that renders a link.\n */\n linkComponent: FC<{ children: ReactNode, to: string }>\n\n /**\n * The endpoint to LocalStack.\n */\n localstackEndpoint: string\n\n /**\n * A function that resolves a link URL.\n */\n resolveLink: (options: ResolveLinkOptions) => string\n}\n\ntype ResolveLinkOptions\n = | {\n to: 'settings'\n }\n | {\n to: 'spans-list'\n }\n | {\n to: 'trace-graph'\n traceId: string\n }\n\nconst AppInspectorContext = createContext<AppInspectorContextValue | undefined>(undefined)\n\nexport const useAppInspector = () => {\n const context = useContext(AppInspectorContext)\n if (!context) {\n throw new Error('@localstack-studio/ui: components must be used within a <AppInspectorContextProvider>')\n }\n return context\n}\n\ninterface AppInspectorContextProviderProps {\n /**\n * A component that renders a link.\n */\n linkComponent: FC<{ children: ReactNode, to: string }>\n\n /**\n * The endpoint to LocalStack.\n */\n localstackEndpoint: string\n\n /**\n * The prefix for the event studio routes.\n */\n routePrefix: string\n}\n\nexport const AppInspectorContextProvider = (props: PropsWithChildren<AppInspectorContextProviderProps>) => {\n const api = useMemo(() => {\n return import.meta.env.VITE_LOCALSTACK_API_MOCK === 'true'\n ? createApiClientMock()\n : createApiClient({ localstackEndpoint: props.localstackEndpoint })\n }, [props.localstackEndpoint])\n\n const resolveLink = useCallback(\n (options: ResolveLinkOptions) => {\n if (options.to === 'settings') {\n return `${props.routePrefix}/settings`\n }\n if (options.to === 'trace-graph') {\n return `${props.routePrefix}/traces/${options.traceId}`\n }\n return `${props.routePrefix}/spans`\n },\n [props.routePrefix],\n )\n\n const contextValue = useMemo(\n () => ({\n linkComponent: props.linkComponent,\n localstackEndpoint: props.localstackEndpoint,\n resolveLink,\n }),\n [props.linkComponent, props.localstackEndpoint, resolveLink],\n )\n\n return (\n <ApiProvider api={api}>\n <AppInspectorContext.Provider value={contextValue}>\n {props.children}\n </AppInspectorContext.Provider>\n </ApiProvider>\n )\n}\n","/**\n * Error message constants for consistent error handling\n */\n\nexport const ERROR_MESSAGES = {\n APP_INSPECTOR_DISABLED: 'App Inspector is currently disabled.',\n APP_INSPECTOR_NOT_FOUND: 'App Inspector extension not found. Please ensure App Inspector is licensed and enabled.',\n CONNECTION_FAILED: 'Failed to connect to LocalStack. Please ensure LocalStack is running and accessible.',\n} as const\n","import type { DeleteSpansResponse, EventsRequest, EventsResponse, SpansRequest, SpansResponse, StatusResponse } from '../types/api'\nimport type { Api } from './api.ts'\n\nimport { API_ENDPOINTS, getAppInspectorApiUrl } from '../config.ts'\nimport { ERROR_MESSAGES } from '../constants/error-messages.ts'\nimport { createScopedLogger } from '../utils/logger.ts'\nimport { AppInspectorNotFoundError, ConnectionError } from './errors.ts'\n\nconst apiLogger = createScopedLogger('API')\n\nconst makeRequest = async <T>(options: {\n endpoint: string\n localstackEndpoint: string\n request?: RequestInit\n}): Promise<T> => {\n const url = getAppInspectorApiUrl(options.localstackEndpoint, options.endpoint)\n\n try {\n apiLogger.info('Making request to:', { options, url })\n\n const headers = new Headers(options.request?.headers)\n headers.set('Content-Type', 'application/json')\n\n const response = await fetch(url, {\n ...options.request,\n headers,\n })\n\n if (!response.ok) {\n if (response.status === 404) {\n // All endpoints in this app are AppInspector endpoints\n // 404 means extension is not licensed or not enabled\n throw new AppInspectorNotFoundError(\n ERROR_MESSAGES.APP_INSPECTOR_NOT_FOUND,\n new Error(`404 from ${url}: ${response.statusText}`),\n )\n }\n throw new Error(`API request failed: ${response.status.toString()} ${response.statusText}`)\n }\n\n return (await response.json()) as T\n }\n catch (error: unknown) {\n // Global error handling for all endpoints\n if (error instanceof TypeError) {\n // Network/connection errors - TypeErrors from fetch indicate network failures\n const message = error.message.toLowerCase()\n const isNetworkError = message.includes('fetch')\n || message.includes('network')\n || message.includes('failed to fetch')\n\n if (isNetworkError) {\n throw new ConnectionError(ERROR_MESSAGES.CONNECTION_FAILED, error)\n }\n }\n if (error instanceof Error) {\n throw error\n }\n throw new Error('Unknown error occurred')\n }\n}\n\nconst buildSpansEndpoint = (request?: SpansRequest): string => {\n if (!request) {\n return API_ENDPOINTS.SPANS\n }\n\n const queryParameters = new URLSearchParams()\n\n // Add pagination parameters\n if (request.limit !== undefined) {\n queryParameters.set('limit', request.limit.toString())\n }\n if (request.pagination_token) {\n queryParameters.set('pagination_token', request.pagination_token)\n }\n\n // Add filter parameters (only if they have values)\n for (const [key, value] of Object.entries(request)) {\n if (value !== undefined && key !== 'limit' && key !== 'pagination_token' && value !== null) {\n queryParameters.set(key, String(value))\n }\n }\n\n const queryString = queryParameters.toString()\n return queryString ? `${API_ENDPOINTS.SPANS}?${queryString}` : API_ENDPOINTS.SPANS\n}\n\nconst buildEventsEndpoint = (request?: EventsRequest): string => {\n if (!request) {\n return API_ENDPOINTS.EVENTS\n }\n\n // Always use wildcard path for events endpoints\n const basePath = API_ENDPOINTS.EVENTS\n\n const queryParameters = new URLSearchParams()\n\n // Add pagination parameters\n if (request.limit !== undefined) {\n queryParameters.set('limit', request.limit.toString())\n }\n if (request.pagination_token) {\n queryParameters.set('pagination_token', request.pagination_token)\n }\n\n // Add filter parameters (all filters go in query string)\n for (const [key, value] of Object.entries(request)) {\n if (\n value !== undefined\n && key !== 'limit'\n && key !== 'pagination_token'\n && value !== null\n ) {\n queryParameters.set(key, String(value))\n }\n }\n\n const queryString = queryParameters.toString()\n return queryString ? `${basePath}?${queryString}` : basePath\n}\n\nexport interface ApiClientOptions {\n localstackEndpoint: string\n}\n\nexport const createApiClient = ({ localstackEndpoint }: ApiClientOptions): Api => {\n return {\n deleteSpans: async (_request): Promise<DeleteSpansResponse> => {\n return makeRequest<DeleteSpansResponse>({\n endpoint: API_ENDPOINTS.SPANS,\n localstackEndpoint,\n request: {\n method: 'DELETE',\n },\n })\n },\n getEvents: async (request): Promise<EventsResponse> => {\n const endpoint = buildEventsEndpoint(request)\n return makeRequest<EventsResponse>({ endpoint, localstackEndpoint })\n },\n getIamEvents: async (request): Promise<EventsResponse> => {\n const iamEventsRequest: EventsRequest = {\n ...request,\n event_type: 'iam.policy_evaluation',\n }\n const endpoint = buildEventsEndpoint(iamEventsRequest)\n return makeRequest<EventsResponse>({ endpoint, localstackEndpoint })\n },\n getSpans: async (request): Promise<SpansResponse> => {\n const endpoint = buildSpansEndpoint(request)\n return makeRequest<SpansResponse>({ endpoint, localstackEndpoint })\n },\n getStatus: async () => {\n return makeRequest<StatusResponse>({\n endpoint: API_ENDPOINTS.STATUS,\n localstackEndpoint,\n })\n },\n }\n}\n","import { useCallback, useEffect, useState } from 'react'\n\n/**\n * Custom hook for managing state that persists in localStorage\n * @param key - localStorage key\n * @param initialValue - default value if key doesn't exist\n * @returns [value, setValue] tuple similar to useState\n */\nexport function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T) => void] {\n // Get initial value from localStorage or use default\n const [storedValue, setStoredValue] = useState<T>(() => {\n try {\n const item = globalThis.localStorage.getItem(key)\n return item ? (JSON.parse(item) as T) : initialValue\n }\n catch (error) {\n console.error(`Error reading localStorage key \"${key}\":`, error)\n return initialValue\n }\n })\n\n // Update localStorage when state changes\n const setValue = useCallback((value: T) => {\n try {\n setStoredValue(value)\n globalThis.localStorage.setItem(key, JSON.stringify(value))\n\n // Dispatch custom event to sync across tabs/components\n globalThis.dispatchEvent(new StorageEvent('storage', {\n key,\n newValue: JSON.stringify(value),\n }))\n }\n catch (error) {\n console.error(`Error setting localStorage key \"${key}\":`, error)\n }\n }, [key])\n\n // Listen for changes from other tabs/windows\n useEffect(() => {\n const handleStorageChange = (event: StorageEvent) => {\n if (event.key === key && event.newValue !== null) {\n try {\n setStoredValue(JSON.parse(event.newValue) as T)\n }\n catch (error) {\n console.error(`Error parsing localStorage key \"${key}\":`, error)\n }\n }\n }\n\n globalThis.addEventListener('storage', handleStorageChange)\n return () => {\n globalThis.removeEventListener('storage', handleStorageChange)\n }\n }, [key])\n\n return [storedValue, setValue]\n}\n","import { useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { StatusResponse } from '@/types/api.ts'\nimport { useAppInspectorApi } from '@/api/use-api.tsx'\n\nexport interface Status {\n checking: boolean\n error: Error | undefined\n status: StatusResponse | undefined\n}\n\n/**\n * Hook to check status\n * Returns status information and whether it's currently checking\n */\nexport const useStatus = (): Status & { checkStatus: () => Promise<void> } => {\n const api = useAppInspectorApi()\n const [checking, setChecking] = useState(true) // Initialize as true since check runs on mount\n const [status, setStatus] = useState<StatusResponse | undefined>()\n const [error, setError] = useState<Error | undefined>()\n const hasFetchedReference = useRef(false)\n const abortControllerReference = useRef<AbortController | null>(null)\n\n const checkStatus = useCallback(async () => {\n // Cancel any in-flight request to prevent race conditions\n if (abortControllerReference.current) {\n abortControllerReference.current.abort()\n }\n\n const abortController = new AbortController()\n abortControllerReference.current = abortController\n\n setChecking(true)\n try {\n const response = await api.getStatus()\n // Only update state if this request wasn't aborted\n if (!abortController.signal.aborted) {\n setStatus(response)\n setError(undefined)\n }\n }\n catch (error_) {\n // Only update state if this request wasn't aborted\n if (!abortController.signal.aborted) {\n setError(error_ instanceof Error ? error_ : new Error('Unknown error'))\n setStatus(undefined)\n }\n }\n finally {\n // Only update state if this request wasn't aborted\n if (!abortController.signal.aborted) {\n setChecking(false)\n }\n }\n }, [api])\n\n useEffect(() => {\n // Only fetch once on mount to prevent infinite loop\n if (!hasFetchedReference.current) {\n hasFetchedReference.current = true\n void checkStatus()\n }\n }, [checkStatus])\n\n return { checking, checkStatus, error, status }\n}\n","import type { FC } from 'react'\nimport { ArrowBack } from '@mui/icons-material'\nimport { Box, Button, Drawer, Paper } from '@mui/material'\nimport { styled } from '@mui/material/styles'\nimport { ReactFlowProvider } from '@xyflow/react'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useNavigate, useParams, useSearchParams } from 'react-router-dom'\n\nimport type { StatusResponse } from '@/types/api.ts'\nimport type { Span } from '@/types/spans.ts'\nimport { useAppInspectorApi } from '@/api/use-api.tsx'\nimport { EventDetails } from '@/components/event-details/event-details.tsx'\nimport { StatusMessage } from '@/components/status-message/status-message.tsx'\nimport { TraceGraph } from '@/components/trace-graph/trace-graph.tsx'\nimport { useAppInspector } from '@/context.tsx'\nimport { useStatus } from '@/hooks/use-status.tsx'\n\nconst HEADER_HEIGHT = 56\nconst DRAWER_WIDTH = '35%'\n\nconst Main = styled('main', { shouldForwardProp: property => property !== 'open' })<{\n open?: boolean\n}>(({ open, theme }) => ({\n flexGrow: 1,\n marginRight: `-${DRAWER_WIDTH}`,\n transition: theme.transitions.create('margin', {\n duration: theme.transitions.duration.leavingScreen,\n easing: theme.transitions.easing.sharp,\n }),\n ...(open && {\n marginRight: 0,\n transition: theme.transitions.create('margin', {\n duration: theme.transitions.duration.enteringScreen,\n easing: theme.transitions.easing.easeOut,\n }),\n }),\n}))\n\nconst StyledDrawer = styled(Drawer)(() => ({\n '& .MuiDrawer-paper': {\n bottom: 0,\n boxSizing: 'border-box',\n height: `calc(100% - ${HEADER_HEIGHT.toString()}px)`,\n overflowY: 'auto',\n top: 'auto',\n width: DRAWER_WIDTH,\n },\n 'flexShrink': 0,\n 'position': 'relative',\n 'width': DRAWER_WIDTH,\n}))\n\nexport const TraceGraphView: FC<{\n fetchError: Error | undefined\n fetchSpans: () => void\n handleClose: () => void\n handleEventSelect: (event: Span) => void\n handleRetry: () => void\n loading: boolean\n navigateToSpansList: () => void\n open: boolean\n selectedEvent: Span | undefined\n spanId: string | undefined\n spans: Span[] | undefined\n status: StatusResponse | undefined\n statusError: Error | undefined\n traceId: string | undefined\n viewPortPixelWidth: number\n}> = ({\n fetchError,\n fetchSpans,\n handleClose,\n handleEventSelect,\n handleRetry,\n loading,\n navigateToSpansList,\n open,\n selectedEvent,\n spanId,\n spans,\n status,\n statusError,\n traceId,\n viewPortPixelWidth,\n}) => {\n // Show helpful message if connection failed or AppInspector is disabled\n const shouldShowStatusMessage = Boolean(statusError) || (status?.status === 'DISABLED')\n\n return (\n <Box\n data-testid=\"trace-graph-page\"\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n gap: 2,\n overflow: 'hidden',\n }}\n >\n <Box sx={{ display: 'flex', width: '100%' }}>\n <Button onClick={() => { navigateToSpansList() }} startIcon={<ArrowBack />}>\n Go back\n </Button>\n <Box sx={{ flexGrow: 1 }} />\n </Box>\n <Paper\n sx={{\n display: 'flex',\n flexGrow: 1,\n overflow: 'hidden',\n position: 'relative',\n width: '100%',\n }}\n >\n {shouldShowStatusMessage\n ? (\n <StatusMessage\n error={statusError}\n onRetry={handleRetry}\n status={status}\n />\n )\n : (\n <>\n <Main open={open}>\n <Box\n sx={{\n height: '100%',\n overflow: 'auto',\n }}\n >\n {traceId !== undefined && (\n <ReactFlowProvider>\n <TraceGraph\n initialFocusEventId={spanId}\n onEventSelect={handleEventSelect}\n onRefresh={() => { fetchSpans() }}\n spans={{\n data: spans,\n error: fetchError,\n loading,\n }}\n viewPortPixelWidth={viewPortPixelWidth}\n />\n </ReactFlowProvider>\n )}\n </Box>\n </Main>\n <StyledDrawer anchor=\"right\" open={open} variant=\"persistent\">\n <EventDetails onClose={handleClose} selectedEvent={selectedEvent} />\n </StyledDrawer>\n </>\n )}\n </Paper>\n </Box>\n )\n}\n\nexport const TraceGraphPage: FC = () => {\n const { traceId } = useParams<{ traceId: string }>()\n const [searchParameters] = useSearchParams()\n const spanId = searchParameters.get('spanId')\n\n const api = useAppInspectorApi()\n const [spans, setSpans] = useState<Span[]>()\n const [loading, setLoading] = useState(false)\n\n const [fetchError, setFetchError] = useState<Error>()\n const fetchSpans = useCallback(async () => {\n setLoading(true)\n try {\n const response = await api.getSpans({\n trace_id: traceId,\n })\n setSpans(response.spans)\n setFetchError(undefined)\n }\n catch (error) {\n console.error(error)\n setFetchError(error instanceof Error ? error : new Error('Unknown error', { cause: error }))\n }\n finally {\n setLoading(false)\n }\n }, [api, traceId])\n\n useEffect(() => {\n void fetchSpans()\n }, [fetchSpans])\n\n const [open, setOpen] = useState(true)\n const [selectedEvent, setSelectedEvent] = useState<Span>()\n const [viewPortPixelWidth, setViewPortPixelWidth] = useState(0)\n\n const { checkStatus, error: statusError, status } = useStatus()\n\n const calculateDrawerWidth = useCallback(() => {\n const percentageMatch = /(\\d+)%/.exec(DRAWER_WIDTH)\n if (percentageMatch && open) {\n const percentage = Number.parseInt(percentageMatch[1], 10)\n return (window.innerWidth * percentage) / 100\n }\n return 0\n }, [open])\n\n // Update viewport width on drawer state change and window resize\n useEffect(() => {\n const updateViewportWidth = () => {\n const totalWidth = window.innerWidth\n const drawerPixelWidth = open ? calculateDrawerWidth() : 0\n setViewPortPixelWidth(totalWidth - drawerPixelWidth)\n }\n\n updateViewportWidth()\n const timeoutId = setTimeout(updateViewportWidth, 50)\n window.addEventListener('resize', updateViewportWidth)\n\n return () => {\n window.removeEventListener('resize', updateViewportWidth)\n clearTimeout(timeoutId)\n }\n }, [open, calculateDrawerWidth])\n\n const handleEventSelect = useCallback((event: Span) => {\n setSelectedEvent(event)\n setOpen(true)\n }, [])\n\n const handleRetry = useCallback(() => {\n void checkStatus()\n }, [checkStatus])\n\n const navigate = useNavigate()\n const { resolveLink } = useAppInspector()\n const navigateToSpansList = useCallback(() => {\n const url = resolveLink({ to: 'spans-list' })\n navigate(url)\n }, [navigate, resolveLink])\n\n return (\n <TraceGraphView\n fetchError={fetchError}\n fetchSpans={() => void fetchSpans()}\n handleClose={() => { setOpen(false) }}\n handleEventSelect={handleEventSelect}\n handleRetry={handleRetry}\n loading={loading}\n navigateToSpansList={navigateToSpansList}\n open={open}\n selectedEvent={selectedEvent}\n spanId={spanId ?? undefined}\n spans={spans}\n status={status}\n statusError={statusError}\n traceId={traceId}\n viewPortPixelWidth={viewPortPixelWidth}\n />\n )\n}\n","import type { FC, JSX } from 'react'\nimport { Box, Chip, Divider, Stack, Typography } from '@mui/material'\nimport { useMemo } from 'react'\n\nimport type { Span } from '@/types/spans.ts'\nimport { getEventGroupsByType } from '@/utils/event-utils.ts'\nimport { unixNanoToDate } from '@/utils/time.ts'\n\nimport { EventDetailsHeader } from './event-details-header.tsx'\nimport { EventSection } from './event-section.tsx'\nimport { ToggleSection } from './toggle-section.tsx'\n\ninterface EventDetailsProps {\n onClose?: () => void\n selectedEvent: Span | undefined\n}\n\nexport const EventDetails: FC<EventDetailsProps> = ({ onClose, selectedEvent }) => {\n const attributes = useMemo(() => {\n const attributes = Object.entries(selectedEvent?.attributes ?? {})\n return attributes.filter(([key]) => key !== 'localstack.aws.account_id' && key !== 'localstack.aws.service')\n }, [selectedEvent?.attributes])\n\n if (!selectedEvent) {\n return (\n <Box sx={{ p: 3, textAlign: 'center' }}>\n <Typography color=\"text.secondary\" variant=\"body2\">\n Select an event to view details\n </Typography>\n </Box>\n )\n }\n\n return (\n <Box data-testid=\"event-details\" sx={{ display: 'flex', flexDirection: 'column', height: '100%' }}>\n <EventDetailsHeader event={selectedEvent} onClose={onClose} />\n\n <Box sx={{ flexGrow: 1, overflow: 'auto', p: 2 }}>\n <Stack spacing={2}>\n {/* Basic Information */}\n <ToggleSection headline=\"Basic Information\">\n <Stack spacing={1}>\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Span ID\n </Typography>\n <Typography variant=\"body2\">{selectedEvent.span_id}</Typography>\n </Box>\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Trace ID\n </Typography>\n <Typography variant=\"body2\">\n {selectedEvent.trace_id}\n </Typography>\n </Box>\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Operation\n </Typography>\n <Typography variant=\"body2\">{selectedEvent.operation_name}</Typography>\n </Box>\n </Stack>\n </ToggleSection>\n\n <Divider />\n\n {/* Service Information */}\n <ToggleSection headline=\"Service Information\">\n <Stack spacing={1}>\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Service\n </Typography>\n <Typography variant=\"body2\">{selectedEvent.service_name}</Typography>\n </Box>\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Resource\n </Typography>\n <Typography variant=\"body2\">{selectedEvent.resource_name}</Typography>\n </Box>\n {Boolean(selectedEvent.region) && (\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Region\n </Typography>\n <Typography variant=\"body2\">{selectedEvent.region}</Typography>\n </Box>\n )}\n </Stack>\n </ToggleSection>\n\n <Divider />\n\n {/* Timing Information */}\n <ToggleSection headline=\"Timing\">\n <Stack spacing={1}>\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Start Time\n </Typography>\n <Typography variant=\"body2\">\n {unixNanoToDate(selectedEvent.start_time_unix_nano)?.toISOString()}\n </Typography>\n </Box>\n {Boolean(selectedEvent.end_time_unix_nano) && (\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Duration\n </Typography>\n <Typography variant=\"body2\">\n {((BigInt(selectedEvent.end_time_unix_nano) - BigInt(selectedEvent.start_time_unix_nano)) / BigInt('1000000')).toString()}\n {' '}\n ms\n </Typography>\n </Box>\n )}\n </Stack>\n </ToggleSection>\n\n <Divider />\n\n {/* Status */}\n <ToggleSection headline=\"Status\">\n <Stack direction=\"row\" spacing={1}>\n <Chip\n color={selectedEvent.status_code === 2 ? 'error' : (selectedEvent.status_code === 1 ? 'success' : 'default')}\n label={selectedEvent.status_code === 2 ? 'Error' : (selectedEvent.status_code === 1 ? 'OK' : 'Unset')}\n size=\"small\"\n />\n {Boolean(selectedEvent.status_message) && <Typography variant=\"body2\">{selectedEvent.status_message}</Typography>}\n </Stack>\n </ToggleSection>\n\n {/* Events */}\n {selectedEvent.events.length > 0 && (\n <>\n <Divider />\n <EventSection\n eventGroups={getEventGroupsByType(selectedEvent.events)}\n headline=\"Events\"\n />\n </>\n )}\n\n {/* Attributes */}\n {attributes.length > 0 && (\n <>\n <Divider />\n <ToggleSection headline=\"Attributes\">\n <Stack spacing={1}>\n {attributes.map(([key, value]) => (\n <Box key={key}>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n {key}\n </Typography>\n {renderKeyValue(key, value)}\n </Box>\n ))}\n </Stack>\n </ToggleSection>\n </>\n )}\n </Stack>\n </Box>\n </Box>\n )\n}\n\nfunction renderKeyValue(key: string, value: unknown): JSX.Element {\n if (typeof value === 'string' && (key === 'localstack.aws.service.request' || key === 'localstack.aws.service.response' || key === 'localstack.aws.service.exception')) {\n return (\n <Box sx={{ backgroundColor: theme => theme.palette.background.default, borderRadius: 1, p: 1 }}>\n <pre style={{ margin: 0, overflow: 'auto' }}>\n <Typography variant=\"body2\">\n {JSON.stringify(JSON.parse(value), undefined, 2)}\n </Typography>\n </pre>\n </Box>\n )\n }\n\n if (typeof value === 'boolean') {\n return <Typography variant=\"body2\">{value ? 'yes' : 'no'}</Typography>\n }\n\n return <Typography variant=\"body2\">{value}</Typography>\n}\n","export type IAMPermissionStatus\n = | 'explicitly_allowed'\n | 'explicitly_denied'\n | 'implicitly_allowed'\n | 'implicitly_denied'\n\nexport interface IAMPolicyEvaluationPayload {\n explicit_allow_count?: number\n explicit_allows?: {\n account: string\n action: string\n resource: string\n }[]\n explicit_denies?: {\n account: string\n action: string\n resource: string\n }[]\n explicit_deny_count?: number\n implicit_denies?: {\n action: string\n resource: string\n }[]\n implicit_deny_count?: number\n is_allowed: boolean\n operation: string\n principal_account: string\n principal_arn: string\n service: string\n}\n\nexport interface ParsedIAMEvent {\n details: {\n actions?: string[]\n explicitAllows?: number\n explicitDenies?: number\n implicitDenies?: number\n resources?: string[]\n }\n operation: string\n permission: IAMPermissionStatus\n principal: string\n service: string\n}\n\n/**\n * Determines the permission status based on IAM policy evaluation\n */\nexport function determinePermissionStatus(payload: IAMPolicyEvaluationPayload): IAMPermissionStatus {\n // If explicitly denied, that takes precedence\n if (payload.explicit_deny_count && payload.explicit_deny_count > 0) {\n return 'explicitly_denied'\n }\n\n // If allowed and has explicit allows\n if (payload.is_allowed && payload.explicit_allow_count && payload.explicit_allow_count > 0) {\n return 'explicitly_allowed'\n }\n\n // If allowed but no explicit allows (implicitly allowed)\n if (payload.is_allowed) {\n return 'implicitly_allowed'\n }\n\n // If not allowed and no explicit denies, it's implicitly denied\n return 'implicitly_denied'\n}\n\n/**\n * Format permission status for display\n */\nexport function formatPermissionStatus(status: IAMPermissionStatus): string {\n switch (status) {\n case 'explicitly_allowed': {\n return 'Explicitly Allowed'\n }\n case 'explicitly_denied': {\n return 'Explicitly Denied'\n }\n case 'implicitly_allowed': {\n return 'Implicitly Allowed'\n }\n case 'implicitly_denied': {\n return 'Implicitly Denied'\n }\n }\n}\n\n/**\n * Get MUI theme color for permission status.\n *\n * Returns MUI theme color paths that resolve to specific colors in the theme:\n * - 'success.main': Green color for allowed permissions\n * - 'error.main': Red color for denied permissions\n * - 'warning.main': Orange/yellow color for implicitly denied permissions\n *\n * These values are used with MUI's sx prop and resolve to actual colors from the theme.\n */\nexport function getPermissionStatusColor(status: IAMPermissionStatus): string {\n switch (status) {\n case 'explicitly_allowed':\n case 'implicitly_allowed': {\n return 'success.main'\n }\n case 'explicitly_denied': {\n return 'error.main'\n }\n case 'implicitly_denied': {\n return 'warning.main'\n }\n }\n}\n\n/**\n * Parse IAM policy evaluation event payload\n */\nexport function parseIAMEvent(payloadString: string): ParsedIAMEvent | undefined {\n try {\n const payload = JSON.parse(payloadString) as IAMPolicyEvaluationPayload\n\n const permission = determinePermissionStatus(payload)\n\n // Extract actions and resources\n const actions: string[] = []\n const resources: string[] = []\n\n if (payload.explicit_allows) {\n for (const allow of payload.explicit_allows) {\n if (!actions.includes(allow.action)) actions.push(allow.action)\n if (!resources.includes(allow.resource)) resources.push(allow.resource)\n }\n }\n\n if (payload.explicit_denies) {\n for (const deny of payload.explicit_denies) {\n if (!actions.includes(deny.action)) actions.push(deny.action)\n if (!resources.includes(deny.resource)) resources.push(deny.resource)\n }\n }\n\n if (payload.implicit_denies) {\n for (const deny of payload.implicit_denies) {\n if (!actions.includes(deny.action)) actions.push(deny.action)\n if (!resources.includes(deny.resource)) resources.push(deny.resource)\n }\n }\n\n return {\n details: {\n actions,\n explicitAllows: payload.explicit_allow_count,\n explicitDenies: payload.explicit_deny_count,\n implicitDenies: payload.implicit_deny_count,\n resources,\n },\n operation: payload.operation,\n permission,\n principal: payload.principal_arn,\n service: payload.service,\n }\n }\n catch (error) {\n console.error('Error parsing IAM event payload:', error)\n return undefined\n }\n}\n","import type { Event } from '@/types/events'\n\nimport { formatPermissionStatus, parseIAMEvent } from './iam-utils.ts'\n\nexport interface ParsedEventMessage {\n details: string\n headline: string\n message: string\n}\n\n// Event parser for IAM-related events\nconst iamEventParser = (eventName: string, attributes: null | Record<string, unknown>): ParsedEventMessage => {\n // Try to parse IAM policy evaluation payload\n if (attributes?.payload && typeof attributes.payload === 'string') {\n const parsedIAM = parseIAMEvent(attributes.payload)\n\n if (parsedIAM) {\n const headline = `${parsedIAM.service}:${parsedIAM.operation} - ${formatPermissionStatus(parsedIAM.permission)}`\n\n const messageParts = [`Principal: ${parsedIAM.principal}`]\n\n if (parsedIAM.details.actions && parsedIAM.details.actions.length > 0) {\n messageParts.push(`Actions: ${parsedIAM.details.actions.join(', ')}`)\n }\n\n if (parsedIAM.details.resources && parsedIAM.details.resources.length > 0) {\n messageParts.push(`Resources: ${parsedIAM.details.resources.join(', ')}`)\n }\n\n const detailsParts = []\n if (parsedIAM.details.explicitAllows !== undefined) {\n detailsParts.push(`Explicit Allows: ${String(parsedIAM.details.explicitAllows)}`)\n }\n if (parsedIAM.details.explicitDenies !== undefined) {\n detailsParts.push(`Explicit Denies: ${String(parsedIAM.details.explicitDenies)}`)\n }\n if (parsedIAM.details.implicitDenies !== undefined) {\n detailsParts.push(`Implicit Denies: ${String(parsedIAM.details.implicitDenies)}`)\n }\n\n return {\n details: detailsParts.join('\\n'),\n headline,\n message: messageParts.join('\\n'),\n }\n }\n }\n\n // Fallback to simple parsing\n const headline = eventName || 'IAM Event'\n const message = typeof attributes?.message === 'string' ? attributes.message : ''\n const details = typeof attributes?.details === 'string' ? attributes.details : ''\n\n return { details, headline, message }\n}\n\n// Default event parser for generic events\nconst defaultEventParser = (eventName: string, attributes: null | Record<string, unknown>): ParsedEventMessage => {\n const headline = eventName || 'Event'\n const message = typeof attributes?.message === 'string' ? attributes.message : ''\n const details = JSON.stringify(attributes ?? {}, undefined, 2)\n\n return { details, headline, message }\n}\n\n// Map event types to their specific parsers\nconst eventParsers: Record<string, (name: string, attributes: null | Record<string, unknown>) => ParsedEventMessage> = {\n 'iam.error': iamEventParser,\n 'iam.event': iamEventParser,\n 'iam.warning': iamEventParser,\n}\n\nexport const parseEventMessage = (event: Event): ParsedEventMessage => {\n if (event.event_type && event.name) {\n try {\n const parser = eventParsers[event.event_type] ?? defaultEventParser\n return parser(event.name, event.attributes)\n }\n catch (error) {\n console.error(`Error parsing event for type ${event.event_type}:`, error)\n return {\n details: '',\n headline: event.name || 'Unknown Event',\n message: JSON.stringify(event.attributes),\n }\n }\n }\n\n return {\n details: JSON.stringify(event.attributes ?? {}),\n headline: event.name || 'Event',\n message: typeof event.attributes?.message === 'string' ? event.attributes.message : '',\n }\n}\n\n// TODO: Consider aligning EventLevel numeric values with status system\n// or migrating to string literals ('error' | 'info' | 'warning' | 'permission')\n// for easier maintenance\nexport const EventLevel = {\n LevelError: 4,\n LevelInfo: 1,\n LevelNone: 0,\n LevelPermission: 2,\n LevelWarning: 3,\n} as const\n\nexport type EventGroup = 'error' | 'info' | 'permission' | 'warning'\n\nexport type EventLevel = typeof EventLevel[keyof typeof EventLevel]\n\nexport const getEventLevel = (eventType: null | string | undefined): EventLevel => {\n if (!eventType) return EventLevel.LevelInfo\n\n if (eventType.includes('error')) return EventLevel.LevelError\n if (eventType.includes('warning')) return EventLevel.LevelWarning\n if (eventType.includes('iam')) return EventLevel.LevelPermission\n\n return EventLevel.LevelInfo\n}\n\nexport const getEventGroup = (eventType: null | string | undefined): EventGroup => {\n if (!eventType) return 'info'\n\n if (eventType.includes('error')) return 'error'\n if (eventType.includes('warning')) return 'warning'\n if (eventType.includes('iam')) return 'permission'\n\n return 'info'\n}\n\nexport interface GroupedEvents {\n errors?: Event[]\n info?: Event[]\n permissions?: Event[]\n warnings?: Event[]\n}\n\nexport const getEventGroupsByType = (events: Event[]): GroupedEvents => {\n if (events.length === 0) {\n return {}\n }\n\n const groups: GroupedEvents = {}\n\n for (const event of events) {\n const group = getEventGroup(event.event_type)\n\n switch (group) {\n case 'error': {\n groups.errors = [...(groups.errors ?? []), event]\n break\n }\n case 'permission': {\n groups.permissions = [...(groups.permissions ?? []), event]\n break\n }\n case 'warning': {\n groups.warnings = [...(groups.warnings ?? []), event]\n break\n }\n default: {\n groups.info = [...(groups.info ?? []), event]\n }\n }\n }\n\n return groups\n}\n\nexport const calculateHighestEventLevel = (events: Event[]): EventLevel => {\n if (events.length === 0) return EventLevel.LevelNone\n\n const eventLevels = events.map(event => getEventLevel(event.event_type))\n return Math.max(...eventLevels) as EventLevel\n}\n","import type { FC } from 'react'\nimport { Close } from '@mui/icons-material'\nimport { Box, IconButton, Typography } from '@mui/material'\n\nimport type { Span } from '@/types/spans.ts'\n\ninterface EventDetailsHeaderProps {\n event: Span\n onClose?: () => void\n}\n\nexport const EventDetailsHeader: FC<EventDetailsHeaderProps> = ({ event, onClose }) => {\n return (\n <Box\n sx={{\n alignItems: 'center',\n borderBottom: '1px solid',\n borderColor: 'divider',\n display: 'flex',\n justifyContent: 'space-between',\n p: 2,\n }}\n >\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"h6\">\n Event Details\n </Typography>\n <Typography color=\"text.secondary\" variant=\"body2\">\n {event.service_name}\n {' '}\n -\n {event.operation_name}\n </Typography>\n </Box>\n {onClose && (\n <IconButton onClick={onClose} size=\"small\">\n <Close />\n </IconButton>\n )}\n </Box>\n )\n}\n","import type { FC } from 'react'\nimport { Box } from '@mui/material'\n\nimport type { GroupedEvents } from '@/utils/event-utils.ts'\n\nimport { EventDetail } from './event-detail.tsx'\nimport { ToggleSection } from './toggle-section.tsx'\n\ninterface EventSectionProps {\n eventGroups: GroupedEvents\n headline: string\n}\n\nexport const EventSection: FC<EventSectionProps> = ({\n eventGroups,\n headline,\n}) => (\n <ToggleSection headline={headline}>\n <Box>\n {eventGroups.errors && (\n <EventDetail\n displayText=\"Error\"\n events={eventGroups.errors}\n type=\"error\"\n />\n )}\n {eventGroups.warnings && (\n <EventDetail\n displayText=\"Warning\"\n events={eventGroups.warnings}\n type=\"warning\"\n />\n )}\n {eventGroups.permissions && (\n <EventDetail\n displayText=\"IAM Permission\"\n events={eventGroups.permissions}\n type=\"permission\"\n />\n )}\n {eventGroups.info && (\n <EventDetail\n displayText=\"Info\"\n events={eventGroups.info}\n type=\"info\"\n />\n )}\n </Box>\n </ToggleSection>\n)\n","import type { FC } from 'react'\nimport { KeyboardArrowDown, KeyboardArrowRight } from '@mui/icons-material'\nimport { Box, Grid, IconButton, Typography } from '@mui/material'\nimport { useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { Event } from '@/types/events'\nimport type { EventGroup } from '@/utils/event-utils.ts'\nimport { EventLevel, parseEventMessage } from '@/utils/event-utils.ts'\n\nimport { StatusIcon } from '../status-icon.tsx'\nimport { IAMEventDetail } from './iam-event-detail.tsx'\nimport { IAMPermissionDetail } from './iam-permission-detail.tsx'\n\ninterface DetailRowProps {\n content: React.ReactNode | string\n label: string\n}\n\nconst DetailRow: FC<DetailRowProps> = ({ content, label }) => (\n <Grid container spacing={0} sx={{ mb: 1 }}>\n <Grid item sx={{ pr: 1 }} xs={3}>\n <Typography\n sx={{\n color: 'text.primary',\n fontWeight: 600,\n }}\n variant=\"body1\"\n >\n {label}\n </Typography>\n </Grid>\n <Grid item xs={9}>\n {typeof content === 'string'\n ? (\n <Typography\n sx={{\n color: 'text.primary',\n whiteSpace: 'pre-wrap',\n }}\n variant=\"body1\"\n >\n {content}\n </Typography>\n )\n : (\n content\n )}\n </Grid>\n </Grid>\n)\n\ninterface EventMessageProps {\n event: Event\n}\n\nconst EventMessage: FC<EventMessageProps> = ({ event }) => {\n const [isOpen, setIsOpen] = useState(false)\n const [isOverflowing, setIsOverflowing] = useState(false)\n const textReference = useRef<HTMLDivElement>(null)\n\n const parsedMessage = useMemo(() => parseEventMessage(event), [event])\n\n // Check if this is an IAM policy evaluation event\n const isIAMPolicyEvent = useMemo(\n () => event.event_type === 'iam.policy_evaluation'\n && event.attributes?.payload\n && typeof event.attributes.payload === 'string',\n [event],\n )\n\n useEffect(() => {\n const checkOverflow = () => {\n const element = textReference.current\n if (element) {\n setIsOverflowing(element.scrollWidth > element.clientWidth)\n }\n }\n\n checkOverflow()\n window.addEventListener('resize', checkOverflow)\n return () => {\n window.removeEventListener('resize', checkOverflow)\n }\n }, [parsedMessage.headline])\n\n // Show toggle if headline overflows OR if additional content exists\n const hasAdditionalContent = useMemo(\n () => parsedMessage.message || parsedMessage.details || isIAMPolicyEvent,\n [parsedMessage.message, parsedMessage.details, isIAMPolicyEvent],\n )\n const shouldShowToggle = useMemo(\n () => isOverflowing || hasAdditionalContent,\n [isOverflowing, hasAdditionalContent],\n )\n\n return (\n <Box sx={{ display: 'flex', flexDirection: 'column' }}>\n <Box sx={{ alignItems: 'flex-start', display: 'flex' }}>\n {Boolean(shouldShowToggle) && (\n <IconButton\n onClick={() => { setIsOpen(!isOpen) }}\n size=\"small\"\n sx={{ mr: 1, mt: -0.5, p: 0 }}\n >\n {isOpen ? <KeyboardArrowDown /> : <KeyboardArrowRight />}\n </IconButton>\n )}\n <Typography\n ref={textReference}\n sx={{\n color: 'text.primary',\n fontWeight: 600,\n maxWidth: '100%',\n ml: shouldShowToggle ? 0 : 4,\n overflow: 'hidden',\n textOverflow: isOpen ? 'clip' : 'ellipsis',\n whiteSpace: isOpen ? 'pre-wrap' : 'nowrap',\n }}\n variant=\"body1\"\n >\n {parsedMessage.headline}\n </Typography>\n </Box>\n\n {isOpen && (\n <Box sx={{ ml: 4, mt: 1 }}>\n {/* Show IAM-specific detailed view if available */}\n {isIAMPolicyEvent\n ? (\n <IAMEventDetail event={event} />\n )\n : (\n <>\n {/* Only show message and details if they exist */}\n {Boolean(parsedMessage.message) && (\n <DetailRow content={parsedMessage.message} label=\"Message:\" />\n )}\n {Boolean(parsedMessage.details) && (\n <DetailRow content={parsedMessage.details} label=\"Details:\" />\n )}\n </>\n )}\n </Box>\n )}\n </Box>\n )\n}\n\n// Map EventGroup to EventLevel\nconst getEventLevelFromGroup = (group: EventGroup): EventLevel => {\n switch (group) {\n case 'error': {\n return EventLevel.LevelError\n }\n case 'info': {\n return EventLevel.LevelInfo\n }\n case 'permission': {\n return EventLevel.LevelPermission\n }\n case 'warning': {\n return EventLevel.LevelWarning\n }\n default: {\n return EventLevel.LevelNone\n }\n }\n}\n\ninterface EventDetailProps {\n displayText: string\n events: Event[]\n type: EventGroup\n}\n\nexport const EventDetail: FC<EventDetailProps> = ({\n displayText,\n events,\n type,\n}) => {\n // Special handling for IAM permission events\n if (type === 'permission') {\n return (\n <Box>\n <Box\n sx={{\n alignItems: 'left',\n display: 'flex',\n mb: 1,\n }}\n >\n <Typography\n sx={{\n alignItems: 'left',\n display: 'flex',\n flexGrow: 1,\n fontWeight: 600,\n }}\n variant=\"subtitle1\"\n >\n {displayText}\n </Typography>\n </Box>\n\n <IAMPermissionDetail events={events} />\n </Box>\n )\n }\n\n const eventLevel = getEventLevelFromGroup(type)\n\n return (\n <Box>\n <Box\n sx={{\n alignItems: 'left',\n cursor: 'pointer',\n display: 'flex',\n mb: 1,\n }}\n >\n <StatusIcon errorLevel={eventLevel} />\n <Typography\n sx={{\n alignItems: 'left',\n color: 'text.secondary',\n display: 'flex',\n flexGrow: 1,\n fontWeight: 600,\n ml: 1,\n mr: 2,\n }}\n variant=\"subtitle1\"\n >\n {displayText}\n </Typography>\n </Box>\n\n <Box sx={{ mt: 2 }}>\n {events.map(event => (\n <Box\n key={`${event.span_id}-${event.event_id}`}\n sx={{\n maxWidth: '100%',\n mb: 1,\n }}\n >\n <EventMessage event={event} />\n </Box>\n ))}\n </Box>\n </Box>\n )\n}\n","import type { FC } from 'react'\nimport { Cancel, CheckCircle, Error, Info, RemoveCircle } from '@mui/icons-material'\nimport { Box } from '@mui/material'\n\nimport type { Event } from '@/types/events'\nimport type { EventLevel } from '@/utils/event-utils.ts'\nimport { calculateHighestEventLevel, EventLevel as EL } from '@/utils/event-utils.ts'\n\ninterface StatusIconProps {\n errorLevel: EventLevel\n}\n\nexport const StatusIcon: FC<StatusIconProps> = ({ errorLevel }) => {\n switch (errorLevel) {\n case EL.LevelError: {\n return <Cancel sx={{ color: 'red' }} />\n }\n case EL.LevelInfo: {\n return <Info sx={{ color: 'gray' }} />\n }\n case EL.LevelPermission: {\n return <RemoveCircle sx={{ color: 'blue' }} />\n }\n case EL.LevelWarning: {\n return <Error sx={{ color: 'orange' }} />\n }\n default: {\n return <CheckCircle sx={{ color: 'lightgray' }} />\n }\n }\n}\n\ninterface StatusCellProps {\n events: Event[]\n}\n\nexport const StatusCell: FC<StatusCellProps> = ({ events }) => (\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n height: '100%',\n justifyContent: 'center',\n width: '100%',\n }}\n >\n <StatusIcon errorLevel={calculateHighestEventLevel(events)} />\n </Box>\n)\n","import type { FC } from 'react'\nimport { CheckCircle, Error as ErrorIcon, Warning } from '@mui/icons-material'\nimport { Box, Chip, Grid, Typography } from '@mui/material'\n\nimport type { Event } from '@/types/events'\nimport type { IAMPermissionStatus } from '@/utils/iam-utils.ts'\nimport { formatPermissionStatus, getPermissionStatusColor, parseIAMEvent } from '@/utils/iam-utils.ts'\n\ninterface IAMEventDetailProps {\n event: Event\n}\n\nconst DetailRow: FC<{ content: React.ReactNode | string, label: string }> = ({ content, label }) => (\n <Grid container spacing={0} sx={{ mb: 1 }}>\n <Grid item sx={{ pr: 1 }} xs={3}>\n <Typography\n sx={{\n color: 'text.secondary',\n fontWeight: 600,\n }}\n variant=\"body2\"\n >\n {label}\n </Typography>\n </Grid>\n <Grid item xs={9}>\n {typeof content === 'string'\n ? (\n <Typography\n sx={{\n color: 'text.primary',\n wordBreak: 'break-word',\n }}\n variant=\"body2\"\n >\n {content}\n </Typography>\n )\n : (\n content\n )}\n </Grid>\n </Grid>\n)\n\nconst PermissionIcon: FC<{ status: IAMPermissionStatus }> = ({ status }) => {\n switch (status) {\n case 'explicitly_allowed':\n case 'implicitly_allowed': {\n return <CheckCircle sx={{ color: 'success.main', fontSize: '1rem' }} />\n }\n case 'explicitly_denied': {\n return <ErrorIcon sx={{ color: 'error.main', fontSize: '1rem' }} />\n }\n case 'implicitly_denied': {\n return <Warning sx={{ color: 'warning.main', fontSize: '1rem' }} />\n }\n }\n}\n\nexport const IAMEventDetail: FC<IAMEventDetailProps> = ({ event }) => {\n // Parse IAM event payload\n const payloadString = event.attributes?.payload as string | undefined\n if (!payloadString) {\n return (\n <Box sx={{ p: 2 }}>\n <Typography sx={{ fontWeight: 600 }} variant=\"body2\">\n No IAM policy evaluation data available\n </Typography>\n </Box>\n )\n }\n\n const parsedIAM = parseIAMEvent(payloadString)\n\n if (!parsedIAM) {\n return (\n <Box sx={{ p: 2 }}>\n <Typography sx={{ fontWeight: 600 }} variant=\"body2\">\n Failed to parse IAM event data\n </Typography>\n </Box>\n )\n }\n\n return (\n <Box sx={{ p: 2 }}>\n {/* Permission Status */}\n <Box sx={{ mb: 2 }}>\n <Chip\n icon={<PermissionIcon status={parsedIAM.permission} />}\n label={formatPermissionStatus(parsedIAM.permission)}\n size=\"small\"\n sx={{\n borderColor: getPermissionStatusColor(parsedIAM.permission),\n color: getPermissionStatusColor(parsedIAM.permission),\n }}\n variant=\"outlined\"\n />\n </Box>\n\n {/* Basic Info */}\n <DetailRow content={`${parsedIAM.service}:${parsedIAM.operation}`} label=\"Operation\" />\n <DetailRow content={parsedIAM.principal} label=\"Principal\" />\n\n {/* Actions */}\n {parsedIAM.details.actions && parsedIAM.details.actions.length > 0 && (\n <DetailRow\n content={(\n <Box>\n {parsedIAM.details.actions.map(action => (\n <Typography\n key={action}\n sx={{\n color: 'text.primary',\n }}\n variant=\"body2\"\n >\n {action}\n </Typography>\n ))}\n </Box>\n )}\n label=\"Actions\"\n />\n )}\n\n {/* Resources */}\n {parsedIAM.details.resources && parsedIAM.details.resources.length > 0 && (\n <DetailRow\n content={(\n <Box>\n {parsedIAM.details.resources.map(resource => (\n <Typography\n key={resource}\n sx={{\n color: 'text.primary',\n wordBreak: 'break-all',\n }}\n variant=\"body2\"\n >\n {resource}\n </Typography>\n ))}\n </Box>\n )}\n label=\"Resources\"\n />\n )}\n\n {/* Policy Counts */}\n <Box sx={{ mt: 2 }}>\n <Typography sx={{ fontWeight: 600, mb: 1 }} variant=\"caption\">\n Policy Evaluation\n </Typography>\n <Grid container spacing={2}>\n {parsedIAM.details.explicitAllows !== undefined && (\n <Grid item xs={4}>\n <Box sx={{ textAlign: 'center' }}>\n <Typography color=\"success.main\" sx={{ fontWeight: 'bold' }} variant=\"h6\">\n {parsedIAM.details.explicitAllows}\n </Typography>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Explicit Allows\n </Typography>\n </Box>\n </Grid>\n )}\n {parsedIAM.details.explicitDenies !== undefined && (\n <Grid item xs={4}>\n <Box sx={{ textAlign: 'center' }}>\n <Typography color=\"error.main\" sx={{ fontWeight: 'bold' }} variant=\"h6\">\n {parsedIAM.details.explicitDenies}\n </Typography>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Explicit Denies\n </Typography>\n </Box>\n </Grid>\n )}\n {parsedIAM.details.implicitDenies !== undefined && (\n <Grid item xs={4}>\n <Box sx={{ textAlign: 'center' }}>\n <Typography color=\"warning.main\" sx={{ fontWeight: 'bold' }} variant=\"h6\">\n {parsedIAM.details.implicitDenies}\n </Typography>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Implicit Denies\n </Typography>\n </Box>\n </Grid>\n )}\n </Grid>\n </Box>\n </Box>\n )\n}\n","import type { FC } from 'react'\nimport { KeyboardArrowDown, KeyboardArrowRight } from '@mui/icons-material'\nimport { Box, Chip, IconButton, Typography } from '@mui/material'\nimport { useMemo, useState } from 'react'\n\nimport type { Event } from '@/types/events'\nimport type { IAMPermissionStatus } from '@/utils/iam-utils.ts'\nimport { formatPermissionStatus, parseIAMEvent } from '@/utils/iam-utils.ts'\n\ninterface IAMPermissionDetailProps {\n events: Event[]\n}\n\n// Determine chip color based on permission status\nconst getChipColors = (status: IAMPermissionStatus) => {\n const isAllowed = status === 'explicitly_allowed' || status === 'implicitly_allowed'\n return {\n backgroundColor: isAllowed ? 'success.main' : 'error.main',\n color: 'white',\n }\n}\n\nconst IAMPermissionItem: FC<{ event: Event }> = ({ event }) => {\n const [isOpen, setIsOpen] = useState(false)\n\n // Parse IAM event payload\n const parsedData = useMemo(() => {\n const payloadString = event.attributes?.payload as string | undefined\n if (!payloadString) {\n return\n }\n\n const parsedIAM = parseIAMEvent(payloadString)\n if (!parsedIAM) {\n return\n }\n\n return {\n chipColors: getChipColors(parsedIAM.permission),\n parsedIAM,\n }\n }, [event.attributes?.payload])\n\n if (!parsedData) {\n // eslint-disable-next-line unicorn/no-null\n return null\n }\n\n const { chipColors, parsedIAM } = parsedData\n\n return (\n <Box sx={{ mb: 1 }}>\n <Box sx={{ alignItems: 'center', display: 'flex' }}>\n <IconButton onClick={() => { setIsOpen(!isOpen) }} size=\"small\" sx={{ mr: 1, p: 0 }}>\n {isOpen ? <KeyboardArrowDown /> : <KeyboardArrowRight />}\n </IconButton>\n\n <Chip\n label={formatPermissionStatus(parsedIAM.permission)}\n size=\"small\"\n sx={{\n ...chipColors,\n fontWeight: 500,\n }}\n />\n </Box>\n\n {isOpen && (\n <Box sx={{ ml: 4, mt: 1 }}>\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Principal\n </Typography>\n <Typography variant=\"body2\">\n {parsedIAM.principal}\n </Typography>\n </Box>\n </Box>\n )}\n </Box>\n )\n}\n\nexport const IAMPermissionDetail: FC<IAMPermissionDetailProps> = ({ events }) => (\n <Box sx={{ mt: 2 }}>\n {events.map(event => (\n <IAMPermissionItem event={event} key={`${event.span_id}-${event.event_id}`} />\n ))}\n </Box>\n)\n","import type { FC, ReactNode } from 'react'\nimport { KeyboardArrowDown, KeyboardArrowRight } from '@mui/icons-material'\nimport { Box, Typography } from '@mui/material'\nimport { useState } from 'react'\n\nexport interface ToggleSectionProps {\n children: ReactNode\n headline: string\n initialOpen?: boolean\n}\n\nexport const ToggleSection: FC<ToggleSectionProps> = ({ children, headline, initialOpen = true }) => {\n const [isOpen, setIsOpen] = useState(initialOpen)\n\n return (\n <Box sx={{ mt: 4 }}>\n {/* <Divider sx={{ mb: 2, mx: -2 }} /> */}\n <Box\n onClick={() => { setIsOpen(!isOpen) }}\n sx={{\n cursor: 'pointer',\n mb: 1,\n }}\n >\n <Box\n role=\"button\"\n sx={{\n alignItems: 'center',\n display: 'flex',\n gap: 1,\n }}\n >\n <Typography sx={{ fontWeight: 600 }} variant=\"subtitle2\">\n {headline}\n </Typography>\n {isOpen\n ? (\n <KeyboardArrowDown sx={{ color: 'text.secondary', height: 20, width: 20 }} />\n )\n : (\n <KeyboardArrowRight sx={{ color: 'text.secondary', height: 20, width: 20 }} />\n )}\n </Box>\n </Box>\n {isOpen && <Box>{children}</Box>}\n </Box>\n )\n}\n","import '@xyflow/react/dist/base.css'\n\nimport type { Edge, NodeMouseHandler, NodeTypes } from '@xyflow/react'\nimport type { FC, ReactElement } from 'react'\nimport { Alert, Button } from '@mui/material'\nimport { Background, ReactFlow, useReactFlow } from '@xyflow/react'\nimport { useCallback, useEffect, useState } from 'react'\n\nimport type { Span } from '@/types/spans.ts'\nimport type { ServiceNodeData } from './service-node.tsx'\n\nimport { ServiceNode } from './service-node.tsx'\nimport { calculateCenterX, generateNodesAndEdges, getLayoutedNodesAndEdges, getNodesMinMaxX } from './utils.ts'\nimport { Controls } from './xyflow/controls.tsx'\n\nconst nodeTypes = {\n service: ServiceNode,\n} satisfies NodeTypes\n\ntype SpanWithChildren = Span & {\n children?: SpanWithChildren[]\n}\n\ninterface TraceGraphProps {\n initialFocusEventId?: string\n onEventSelect: (event: Span) => void\n onRefresh: () => void\n spans: {\n data: Span[] | undefined\n error: Error | undefined\n loading: boolean\n }\n viewPortPixelWidth: number\n}\n\nexport const TraceGraph: FC<TraceGraphProps> = ({\n initialFocusEventId,\n onEventSelect,\n onRefresh,\n spans,\n viewPortPixelWidth,\n}): ReactElement => {\n const [nodes, setNodes] = useState<ServiceNodeData[]>([])\n const [edges, setEdges] = useState<Edge[]>([])\n const [initialViewSet, setInitialViewSet] = useState(false)\n const { fitView, setCenter } = useReactFlow()\n\n const updateSelectedNode = useCallback((nodeId: string | undefined) => {\n const toSelect = new Set(nodeId ? [nodeId] : [])\n\n // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\n setNodes((previousNodes) => {\n return previousNodes.map(node => ({ ...node, selected: toSelect.has(node.id) }))\n })\n }, [])\n\n useEffect(() => {\n const spansMap = new Map<string, SpanWithChildren>()\n const rootSpans: SpanWithChildren[] = []\n\n // First pass: create map of all spans\n for (const span of spans.data ?? []) {\n spansMap.set(span.span_id, { ...span, children: [] })\n }\n\n // Second pass: build hierarchy\n for (const span of spans.data ?? []) {\n const currentSpan = spansMap.get(span.span_id)\n if (!currentSpan) continue\n\n if (span.parent_span_id && spansMap.has(span.parent_span_id)) {\n const parentSpan = spansMap.get(span.parent_span_id)\n if (parentSpan) {\n parentSpan.children ??= []\n parentSpan.children.push(currentSpan)\n }\n }\n else {\n // This is a root span (no parent or parent not in trace)\n rootSpans.push(currentSpan)\n }\n }\n\n // Generate nodes and edges from the hierarchical structure\n let allNodes: ServiceNodeData[] = []\n let allEdges: Edge[] = []\n\n for (const rootSpan of rootSpans) {\n const { edges: newEdges, nodes: newNodes } = generateNodesAndEdges(rootSpan)\n allNodes = [...allNodes, ...newNodes]\n allEdges = [...allEdges, ...newEdges]\n }\n\n const { edges: layoutedEdges, nodes: layoutedNodes } = getLayoutedNodesAndEdges(allNodes, allEdges)\n\n for (const node of layoutedNodes) {\n if (node.id === initialFocusEventId) {\n node.selected = true\n }\n }\n\n setNodes(layoutedNodes)\n setEdges(layoutedEdges)\n }, [spans.data, initialFocusEventId])\n\n useEffect(() => {\n const shouldSetInitialView = !spans.loading && nodes.length > 0 && !initialViewSet\n\n if (shouldSetInitialView) {\n if (initialFocusEventId) {\n const focusNode = nodes.find(node => node.id === initialFocusEventId)\n if (focusNode) {\n const { maxX, minX } = getNodesMinMaxX(nodes)\n const centerX = calculateCenterX(focusNode.position.x, viewPortPixelWidth, minX, maxX)\n void setCenter(centerX, focusNode.position.y, {\n duration: 500,\n zoom: 0.8,\n })\n\n onEventSelect(focusNode.data.event)\n }\n }\n else {\n void fitView({ duration: 500 })\n }\n setInitialViewSet(true)\n }\n }, [spans.loading, nodes, initialFocusEventId, viewPortPixelWidth, setCenter, fitView, onEventSelect, initialViewSet])\n\n // Update selected node on initial focus event change\n useEffect(() => {\n if (initialFocusEventId) {\n updateSelectedNode(initialFocusEventId)\n }\n }, [initialFocusEventId, updateSelectedNode])\n\n const onNodeClick = useCallback<NodeMouseHandler<ServiceNodeData>>((_event, node) => {\n onEventSelect(node.data.event)\n updateSelectedNode(node.id)\n }, [onEventSelect, updateSelectedNode])\n\n return (\n <>\n {spans.error && (\n <Alert\n action={\n <Button onClick={() => { onRefresh() }}>Retry</Button>\n }\n severity=\"error\"\n >\n Unexpected error:\n {' '}\n {spans.error.message}\n </Alert>\n )}\n\n <ReactFlow\n data-testid=\"trace-graph\"\n defaultViewport={{ x: 0, y: 0, zoom: 1 }}\n edges={edges}\n fitView\n maxZoom={1.5}\n minZoom={0.1}\n nodes={nodes}\n nodeTypes={nodeTypes}\n onNodeClick={onNodeClick}\n selectNodesOnDrag={false}\n >\n <Controls />\n <Background />\n </ReactFlow>\n </>\n )\n}\n","import type { Node, NodeProps } from '@xyflow/react'\nimport type { CSSProperties, FC } from 'react'\nimport { Box, Stack, Typography } from '@mui/material'\nimport '@xyflow/react/dist/style.css'\nimport { Handle, Position } from '@xyflow/react'\nimport { memo } from 'react'\n\nimport type { Span } from '@/types/spans.ts'\n\nimport { ServiceCell } from '../cells/service-cell.tsx'\nimport { ProblemIndicator } from './problem-indicator.tsx'\n\nconst handleStyle: CSSProperties = {\n backgroundColor: 'white',\n borderColor: 'lightgray',\n opacity: 0,\n}\n\nexport type ServiceNodeData = Node<{\n data: Record<string, Span>\n event: Span\n height: number\n id: string\n position: {\n x: number\n y: number\n }\n width: number\n}>\n\nexport const ServiceNode: FC<NodeProps<ServiceNodeData>> = memo(({ data, selected }) => {\n const hasErrors = (data.event.errors && data.event.errors.length > 0) ?? false\n\n return (\n <Box sx={{ maxWidth: 200 }}>\n <Box\n role=\"button\"\n sx={{\n '&:hover': {\n opacity: 1,\n },\n 'alignItems': 'flex-start',\n 'borderRadius': 1,\n 'cursor': 'pointer',\n 'display': 'flex',\n 'flexDirection': 'column',\n 'maxWidth': '100%',\n 'opacity': selected ? 1 : 0.7,\n 'position': 'relative',\n 'transition': 'all 0.3s ease',\n 'width': 'min-content',\n }}\n tabIndex={0}\n >\n <Handle position={Position.Left} style={handleStyle} type=\"target\" />\n <Handle position={Position.Right} style={handleStyle} type=\"source\" />\n\n <ServiceCell\n height=\"32px\"\n resource={data.event.resource_name}\n selected={selected}\n service={data.event.service_name}\n width=\"32px\"\n />\n </Box>\n\n <Stack\n alignItems=\"center\"\n direction=\"row\"\n spacing={0.5}\n sx={{\n ml: 1,\n mt: 0.5,\n }}\n >\n {hasErrors && (\n <Stack\n direction=\"row\"\n spacing={0.5}\n sx={{\n flexWrap: 'wrap',\n gap: '2px',\n }}\n >\n {data.event.errors?.map(error => (\n <ProblemIndicator error={error} key={error.span_id} />\n ))}\n </Stack>\n )}\n <Typography\n sx={{\n fontSize: '0.9rem',\n maxWidth: '100%',\n ml: hasErrors ? 2 : 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }}\n variant=\"caption\"\n >\n {data.event.operation_name}\n </Typography>\n </Stack>\n </Box>\n )\n})\n","import type { FC } from 'react'\nimport { Error as ErrorIcon, Info, Warning } from '@mui/icons-material'\nimport { Box, Tooltip } from '@mui/material'\nimport { useMemo } from 'react'\n\ninterface ProblemIndicatorProps {\n error: {\n level?: 'error' | 'info' | 'warning'\n message?: string\n span_id: string\n }\n}\n\nexport const ProblemIndicator: FC<ProblemIndicatorProps> = ({ error }) => {\n const icon = useMemo(() => {\n switch (error.level) {\n case 'error': {\n return <ErrorIcon sx={{ color: '#d32f2f', fontSize: '14px' }} />\n }\n case 'warning': {\n return <Warning sx={{ color: '#ff9800', fontSize: '14px' }} />\n }\n default: {\n return <Info sx={{ color: '#2196f3', fontSize: '14px' }} />\n }\n }\n }, [error.level])\n\n const color = useMemo(() => {\n switch (error.level) {\n case 'error': {\n return '#d32f2f'\n }\n case 'warning': {\n return '#ff9800'\n }\n default: {\n return '#2196f3'\n }\n }\n }, [error.level])\n\n return (\n <Tooltip arrow title={error.message ?? 'Issue detected'}>\n <Box\n sx={{\n alignItems: 'center',\n backgroundColor: `${color}15`,\n border: `1px solid ${color}`,\n borderRadius: '50%',\n cursor: 'pointer',\n display: 'inline-flex',\n height: '18px',\n justifyContent: 'center',\n width: '18px',\n }}\n >\n {icon}\n </Box>\n </Tooltip>\n )\n}\n","import type { Edge } from '@xyflow/react'\nimport dagre from '@dagrejs/dagre'\nimport { MarkerType, Position } from '@xyflow/react'\n\nimport type { Span } from '@/types/spans.ts'\nimport type { ServiceNodeData } from './service-node.tsx'\n\ninterface NodesAndEdges {\n edges: Edge[]\n nodes: ServiceNodeData[]\n}\n\nexport const generateNodesAndEdges = (\n event: Span,\n parentId?: string,\n): NodesAndEdges => {\n const nodes: ServiceNodeData[] = []\n const edges: Edge[] = []\n\n nodes.push({\n data: {\n data: { [event.span_id]: event },\n event,\n height: 28,\n id: event.span_id,\n position: { x: 0, y: 0 },\n width: 28,\n },\n id: event.span_id,\n position: { x: 0, y: 0 }, // Will be set by layout\n sourcePosition: Position.Right,\n targetPosition: Position.Left,\n type: 'service',\n })\n\n if (parentId) {\n edges.push({\n animated: false,\n id: `e-${parentId}-${event.span_id}`,\n markerEnd: {\n color: 'lightgray',\n height: 16,\n type: MarkerType.Arrow,\n width: 16,\n },\n source: parentId,\n style: {\n stroke: 'lightgray',\n strokeWidth: 1,\n },\n target: event.span_id,\n })\n }\n\n // Process children if they exist\n if (event.children && event.children.length > 0) {\n for (const child of event.children) {\n const { edges: childEdges, nodes: childNodes } = generateNodesAndEdges(child,\n event.span_id)\n nodes.push(...childNodes)\n edges.push(...childEdges)\n }\n }\n\n return { edges, nodes }\n}\n\nexport const getLayoutedNodesAndEdges = (inputNodes: ServiceNodeData[], inputEdges: Edge[]): NodesAndEdges => {\n const dagreGraph = new dagre.graphlib.Graph().setDefaultEdgeLabel(() => ({}))\n\n const direction = 'LR' // Left to Right layout\n const nodeWidth = 200\n const nodeHeight = 70\n\n dagreGraph.setGraph({ rankdir: direction })\n\n for (const node of inputNodes) {\n dagreGraph.setNode(node.id, { height: nodeHeight, width: nodeWidth })\n }\n\n for (const edge of inputEdges) {\n dagreGraph.setEdge(edge.source, edge.target)\n }\n\n dagre.layout(dagreGraph)\n\n const layoutedNodes = inputNodes.map((node) => {\n const nodeWithPosition = dagreGraph.node(node.id)\n return {\n ...node,\n position: {\n x: nodeWithPosition.x - nodeWidth / 2,\n y: nodeWithPosition.y - nodeHeight / 2,\n },\n selectable: true,\n }\n })\n\n return { edges: inputEdges, nodes: layoutedNodes }\n}\n\nexport const getNodesMinMaxX = (nodes: ServiceNodeData[]): { maxX: number, minX: number } => {\n if (nodes.length === 0) return { maxX: 0, minX: 0 }\n\n let minX = Number.POSITIVE_INFINITY\n let maxX = Number.NEGATIVE_INFINITY\n\n for (const node of nodes) {\n minX = Math.min(minX, node.position.x)\n maxX = Math.max(maxX, node.position.x)\n }\n\n return { maxX, minX }\n}\n\nexport const calculateCenterX = (\n focusNodeX: number,\n viewPortPixelWidth: number,\n minX: number,\n maxX: number,\n): number => {\n const nodeWidth = 200\n const desiredCenter = focusNodeX + viewPortPixelWidth / 2\n\n return Math.min(Math.max(desiredCenter, minX + viewPortPixelWidth / 2), maxX - viewPortPixelWidth / 2 + nodeWidth)\n}\n","import type { ReactFlowState } from '@xyflow/react'\nimport type { FC } from 'react'\nimport { Add, FitScreen, Remove } from '@mui/icons-material'\nimport { Box, IconButton } from '@mui/material'\nimport { useReactFlow, useStore } from '@xyflow/react'\nimport { memo } from 'react'\nimport { shallow } from 'zustand/shallow'\n\nconst selector = (s: ReactFlowState) => ({\n isInteractive: s.nodesDraggable || s.nodesConnectable || s.elementsSelectable,\n maxZoomReached: s.transform[2] >= s.maxZoom,\n minZoomReached: s.transform[2] <= s.minZoom,\n})\n\nexport const Controls: FC = memo(() => {\n const { maxZoomReached, minZoomReached } = useStore(selector, shallow)\n const { fitView, zoomIn, zoomOut } = useReactFlow()\n\n const onZoomInHandler = () => {\n void zoomIn()\n }\n\n const onZoomOutHandler = () => {\n void zoomOut()\n }\n\n const onFitViewHandler = () => {\n void fitView()\n }\n\n return (\n <Box\n sx={{\n bottom: 0,\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n left: 0,\n m: 2,\n position: 'absolute',\n zIndex: 5,\n }}\n >\n <IconButton\n className=\"react-flow__controls-zoomin\"\n disabled={maxZoomReached}\n onClick={onZoomInHandler}\n size=\"small\"\n >\n <Add />\n </IconButton>\n <IconButton\n className=\"react-flow__controls-zoomout\"\n disabled={minZoomReached}\n onClick={onZoomOutHandler}\n size=\"small\"\n >\n <Remove />\n </IconButton>\n\n <IconButton\n className=\"react-flow__controls-fitview\"\n onClick={onFitViewHandler}\n size=\"small\"\n >\n <FitScreen />\n </IconButton>\n </Box>\n )\n})\n","function shallow$1(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [key, value] of objA) {\n if (!Object.is(value, objB.get(key))) {\n return false;\n }\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const value of objA) {\n if (!objB.has(value)) {\n return false;\n }\n }\n return true;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (const keyA of keysA) {\n if (!Object.prototype.hasOwnProperty.call(objB, keyA) || !Object.is(objA[keyA], objB[keyA])) {\n return false;\n }\n }\n return true;\n}\n\nvar shallow = (objA, objB) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] Default export is deprecated. Instead use `import { shallow } from 'zustand/shallow'`.\"\n );\n }\n return shallow$1(objA, objB);\n};\n\nexport { shallow as default, shallow$1 as shallow };\n","type RoutesMap = Record<string, string>\n\nexport const routes = {\n APP_INSPECTOR_SPANS_LIST: 'spans',\n APP_INSPECTOR_TRACE_GRAPH: 'traces/:traceId',\n} as const satisfies RoutesMap\n","import type { FC } from 'react'\n\nimport { SpansListPage } from './pages/spans-list-page.tsx'\nimport { TraceGraphPage } from './pages/trace-graph-page.tsx'\nimport { routes } from './routes.ts'\n\nexport { AppInspectorContextProvider } from './context.tsx'\n\nexport type PagesMap = Record<keyof typeof routes, readonly [string, FC]>\n\nexport const pages = {\n APP_INSPECTOR_SPANS_LIST: [routes.APP_INSPECTOR_SPANS_LIST, SpansListPage],\n APP_INSPECTOR_TRACE_GRAPH: [routes.APP_INSPECTOR_TRACE_GRAPH, TraceGraphPage],\n} as const satisfies PagesMap\n"],"mappings":"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","names":["Box","useCallback","useEffect","useMemo","useRef","useState","Box","Button","Box","Tooltip","Typography","useMemo","useState","jsx","jsx","Box","Tooltip","jsx","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","jsx","jsx","Tooltip","Box","jsx","Fragment","jsx","jsxs","Box","Fragment","jsx","jsxs","Tooltip","useState","useMemo","Box","Typography","jsx","jsxs","Box","Button","Alert","Box","Button","Typography","Fragment","jsx","jsxs","Box","Alert","Typography","Button","createContext","useContext","useCallback","useMemo","jsx","createContext","useContext","useMemo","useCallback","useCallback","useEffect","useState","useCallback","useEffect","useRef","useState","useState","useRef","useCallback","useEffect","jsx","useState","useRef","useMemo","useCallback","useEffect","Box","Box","Button","Paper","useCallback","useEffect","useState","useNavigate","Box","Chip","Divider","Stack","Typography","useMemo","headline","Box","Typography","jsx","jsxs","Box","KeyboardArrowDown","KeyboardArrowRight","Box","Grid","IconButton","Typography","useEffect","useMemo","useRef","useState","Error","Box","jsx","Error","CheckCircle","Box","Grid","Typography","jsx","jsxs","Grid","Typography","CheckCircle","Box","Box","Chip","IconButton","Typography","useMemo","useState","jsx","jsxs","useState","useMemo","parsedIAM","Box","IconButton","Chip","Typography","Fragment","jsx","jsxs","DetailRow","Grid","Typography","useState","useRef","useMemo","useEffect","Box","IconButton","KeyboardArrowDown","KeyboardArrowRight","KeyboardArrowDown","KeyboardArrowRight","Box","Typography","useState","jsx","jsxs","jsx","jsxs","Box","Fragment","jsx","jsxs","useMemo","attributes","Box","Typography","Stack","Divider","Chip","Alert","Button","useReactFlow","useCallback","useEffect","useState","Box","Stack","Typography","memo","ErrorIcon","Info","Warning","Box","Tooltip","useMemo","jsx","jsx","jsxs","memo","Box","Stack","Typography","Position","Box","IconButton","memo","jsx","jsxs","memo","Box","IconButton","Fragment","jsx","jsxs","useState","useReactFlow","useCallback","useEffect","Alert","Button","Fragment","jsx","jsxs","Box","Button","Paper","useState","useCallback","useEffect","useNavigate"]}
|
|
1
|
+
{"version":3,"sources":["../src/pages/spans-list-page.tsx","../src/api/use-api.tsx","../src/components/spans-list/spans-list.tsx","../src/components/spans-list/spans-data-grid.tsx","../src/components/cells/event-indicator-cell.tsx","../src/components/cells/responsive-timestamp-cell.tsx","../src/utils/time.ts","../src/components/cells/service-cell.tsx","../src/components/aws-service-icon/aws-service-icon.tsx","../src/utils/wrap-in-component.tsx","../src/components/aws-service-icon/icons/index.tsx","../src/types/service-names.ts","../src/components/aws-service-icon/icons/account.svg","../src/components/aws-service-icon/icons/acm-pca.svg","../src/components/aws-service-icon/icons/acm.svg","../src/components/aws-service-icon/icons/amplify.svg","../src/components/aws-service-icon/icons/apigateway.svg","../src/components/aws-service-icon/icons/apigatewaymanagementapi.svg","../src/components/aws-service-icon/icons/apigatewayv2.svg","../src/components/aws-service-icon/icons/appconfig.svg","../src/components/aws-service-icon/icons/application-autoscaling.svg","../src/components/aws-service-icon/icons/appsync.svg","../src/components/aws-service-icon/icons/athena.svg","../src/components/aws-service-icon/icons/autoscaling.svg","../src/components/aws-service-icon/icons/backup.svg","../src/components/aws-service-icon/icons/batch.svg","../src/components/aws-service-icon/icons/bedrock.svg","../src/components/aws-service-icon/icons/ce.svg","../src/components/aws-service-icon/icons/cloudcontrol.svg","../src/components/aws-service-icon/icons/cloudformation.svg","../src/components/aws-service-icon/icons/cloudfront.svg","../src/components/aws-service-icon/icons/cloudtrail.svg","../src/components/aws-service-icon/icons/cloudwatch.svg","../src/components/aws-service-icon/icons/codeartifact.svg","../src/components/aws-service-icon/icons/codebuild.svg","../src/components/aws-service-icon/icons/codecommit.svg","../src/components/aws-service-icon/icons/codeconnections.svg","../src/components/aws-service-icon/icons/codedeploy.svg","../src/components/aws-service-icon/icons/codepipeline.svg","../src/components/aws-service-icon/icons/codestar-connections.svg","../src/components/aws-service-icon/icons/cognito-identity.svg","../src/components/aws-service-icon/icons/cognito-idp.svg","../src/components/aws-service-icon/icons/config.svg","../src/components/aws-service-icon/icons/dms.svg","../src/components/aws-service-icon/icons/docdb.svg","../src/components/aws-service-icon/icons/dynamodb.svg","../src/components/aws-service-icon/icons/dynamodbstreams.svg","../src/components/aws-service-icon/icons/ec2.svg","../src/components/aws-service-icon/icons/ecr.svg","../src/components/aws-service-icon/icons/ecs.svg","../src/components/aws-service-icon/icons/efs.svg","../src/components/aws-service-icon/icons/eks.svg","../src/components/aws-service-icon/icons/elasticache.svg","../src/components/aws-service-icon/icons/elasticbeanstalk.svg","../src/components/aws-service-icon/icons/elasticsearch.svg","../src/components/aws-service-icon/icons/elastictranscoder.svg","../src/components/aws-service-icon/icons/elb.svg","../src/components/aws-service-icon/icons/elbv2.svg","../src/components/aws-service-icon/icons/emr-serverless.svg","../src/components/aws-service-icon/icons/emr.svg","../src/components/aws-service-icon/icons/events.svg","../src/components/aws-service-icon/icons/firehose.svg","../src/components/aws-service-icon/icons/fis.svg","../src/components/aws-service-icon/icons/glacier.svg","../src/components/aws-service-icon/icons/glue.svg","../src/components/aws-service-icon/icons/iam.svg","../src/components/aws-service-icon/icons/identitystore.svg","../src/components/aws-service-icon/icons/infrastructure.svg","../src/components/aws-service-icon/icons/iot-data.svg","../src/components/aws-service-icon/icons/iot.svg","../src/components/aws-service-icon/icons/iotanalytics.svg","../src/components/aws-service-icon/icons/iotwireless.svg","../src/components/aws-service-icon/icons/kafka.svg","../src/components/aws-service-icon/icons/kinesis.svg","../src/components/aws-service-icon/icons/kinesisanalytics.svg","../src/components/aws-service-icon/icons/kinesisanalyticsv2.svg","../src/components/aws-service-icon/icons/kms.svg","../src/components/aws-service-icon/icons/lakeformation.svg","../src/components/aws-service-icon/icons/lambda.svg","../src/components/aws-service-icon/icons/logs.svg","../src/components/aws-service-icon/icons/managedblockchain.svg","../src/components/aws-service-icon/icons/mediaconvert.svg","../src/components/aws-service-icon/icons/mediastore-data.svg","../src/components/aws-service-icon/icons/mediastore.svg","../src/components/aws-service-icon/icons/memorydb.svg","../src/components/aws-service-icon/icons/mq.svg","../src/components/aws-service-icon/icons/mwaa.svg","../src/components/aws-service-icon/icons/neptune.svg","../src/components/aws-service-icon/icons/opensearch.svg","../src/components/aws-service-icon/icons/organizations.svg","../src/components/aws-service-icon/icons/pinpoint.svg","../src/components/aws-service-icon/icons/pipes.svg","../src/components/aws-service-icon/icons/qldb-session.svg","../src/components/aws-service-icon/icons/qldb.svg","../src/components/aws-service-icon/icons/ram.svg","../src/components/aws-service-icon/icons/rds-data.svg","../src/components/aws-service-icon/icons/rds.svg","../src/components/aws-service-icon/icons/redshift-data.svg","../src/components/aws-service-icon/icons/redshift.svg","../src/components/aws-service-icon/icons/resource-groups.svg","../src/components/aws-service-icon/icons/resourcegroupstaggingapi.svg","../src/components/aws-service-icon/icons/route53.svg","../src/components/aws-service-icon/icons/route53resolver.svg","../src/components/aws-service-icon/icons/s3.svg","../src/components/aws-service-icon/icons/s3control.svg","../src/components/aws-service-icon/icons/sagemaker-runtime.svg","../src/components/aws-service-icon/icons/sagemaker.svg","../src/components/aws-service-icon/icons/scheduler.svg","../src/components/aws-service-icon/icons/secretsmanager.svg","../src/components/aws-service-icon/icons/serverlessrepo.svg","../src/components/aws-service-icon/icons/servicediscovery.svg","../src/components/aws-service-icon/icons/ses.svg","../src/components/aws-service-icon/icons/sesv2.svg","../src/components/aws-service-icon/icons/shield.svg","../src/components/aws-service-icon/icons/sns.svg","../src/components/aws-service-icon/icons/sqs.svg","../src/components/aws-service-icon/icons/ssm.svg","../src/components/aws-service-icon/icons/sso-admin.svg","../src/components/aws-service-icon/icons/stepfunctions.svg","../src/components/aws-service-icon/icons/sts.svg","../src/components/aws-service-icon/icons/support.svg","../src/components/aws-service-icon/icons/swf.svg","../src/components/aws-service-icon/icons/textract.svg","../src/components/aws-service-icon/icons/timestream-query.svg","../src/components/aws-service-icon/icons/timestream-write.svg","../src/components/aws-service-icon/icons/transcribe.svg","../src/components/aws-service-icon/icons/transfer.svg","../src/components/aws-service-icon/icons/verifiedpermissions.svg","../src/components/aws-service-icon/icons/wafv2.svg","../src/components/aws-service-icon/icons/xray.svg","../src/components/cells/pill-cell.tsx","../src/utils/logger.ts","../src/utils/search-in-object.ts","../src/components/status-message/status-message.tsx","../src/api/errors.ts","../src/config.ts","../src/context.tsx","../src/constants/error-messages.ts","../src/api/client.ts","../src/hooks/use-local-storage.tsx","../src/hooks/use-status.tsx","../src/pages/trace-graph-page.tsx","../src/components/event-details/event-details.tsx","../src/utils/iam-utils.ts","../src/utils/event-utils.ts","../src/components/event-details/event-details-header.tsx","../src/components/event-details/event-section.tsx","../src/components/event-details/event-detail.tsx","../src/components/status-icon.tsx","../src/components/event-details/iam-event-detail.tsx","../src/components/event-details/iam-permission-detail.tsx","../src/components/event-details/toggle-section.tsx","../src/components/trace-graph/trace-graph.tsx","../src/components/trace-graph/service-node.tsx","../src/components/trace-graph/problem-indicator.tsx","../src/components/trace-graph/utils.ts","../src/components/trace-graph/xyflow/controls.tsx","../node_modules/zustand/esm/shallow.mjs","../src/routes.ts","../src/index.ts"],"sourcesContent":["import type { FC } from 'react'\nimport { Box } from '@mui/material'\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { useNavigate } from 'react-router-dom'\n\nimport type { SpansRequest } from '@/types/api.ts'\nimport type { Span } from '@/types/spans.ts'\nimport { useAppInspectorApi } from '@/api/use-api.tsx'\nimport { SpansList } from '@/components/spans-list/spans-list.tsx'\nimport { StatusMessage } from '@/components/status-message/status-message.tsx'\nimport { useAppInspector } from '@/context.tsx'\nimport { useLocalStorage } from '@/hooks/use-local-storage.tsx'\nimport { useStatus } from '@/hooks/use-status.tsx'\n\nconst spansPerPageOptions = [25, 50, 100]\n\nexport const SpansListPage: FC = () => {\n const api = useAppInspectorApi()\n const [spans, setSpans] = useState<Span[]>()\n const [loading, setLoading] = useState(false)\n const hasFetched = useRef(false)\n const [filterWriteOperations, setFilterWriteOperations] = useLocalStorage('filterWriteOperations', true)\n\n const mapPageToNextCursor = useRef<Record<number, string>>({})\n const [page, setPage] = useState(0)\n const [pageSize, setPageSize] = useState(100)\n const [spanCount, setSpanCount] = useState(0)\n const queryOptions = useMemo<SpansRequest>(() => {\n return {\n is_write_operation: filterWriteOperations ? true : undefined,\n limit: pageSize,\n pagination_token: mapPageToNextCursor.current[page - 1],\n }\n }, [filterWriteOperations, pageSize, page])\n\n const [fetchError, setFetchError] = useState<Error>()\n const { checkStatus, error: statusError, status } = useStatus()\n const fetchSpans = useCallback(async () => {\n setLoading(true)\n try {\n const response = await api.getSpans(queryOptions)\n setSpans(response.spans)\n setSpanCount(response.pagination.total_count)\n setFetchError(undefined)\n if (response.pagination.cursor) {\n mapPageToNextCursor.current[page] = response.pagination.cursor\n }\n }\n catch (error) {\n console.error(error)\n setFetchError(error instanceof Error ? error : new Error('Unknown error', { cause: error }))\n }\n finally {\n setLoading(false)\n }\n }, [api, page, queryOptions])\n\n const fetchSpansSync = useCallback(() => {\n void fetchSpans()\n }, [fetchSpans])\n\n useEffect(() => {\n if (hasFetched.current) return\n // Only fetch spans if status is ENABLED (avoid redundant API calls when disabled)\n if (status?.status !== 'ENABLED') return\n\n hasFetched.current = true\n void fetchSpans()\n }, [fetchSpans, status])\n\n // Re-fetch when filter changes\n useEffect(() => {\n if (!hasFetched.current) return\n void fetchSpans()\n }, [fetchSpans])\n\n const navigate = useNavigate()\n const { resolveLink } = useAppInspector()\n const navigateToSpan = useCallback((span: Span) => {\n const url = resolveLink({ to: 'trace-graph', traceId: span.trace_id })\n navigate(`${url}?spanId=${span.span_id}`)\n }, [navigate, resolveLink])\n\n const clearSpans = useCallback(async () => {\n setLoading(true)\n try {\n await api.deleteSpans()\n setSpans([])\n setFetchError(undefined)\n // Refresh the list after deletion\n await fetchSpans()\n }\n catch (error) {\n console.error('Failed to delete spans:', error)\n setFetchError(error instanceof Error ? error : new Error('Failed to delete spans', { cause: error }))\n }\n finally {\n setLoading(false)\n }\n }, [api, fetchSpans])\n\n const handleRetry = useCallback(() => {\n // Check status first, then fetch spans only if no error\n void checkStatus()\n // Fetch will happen automatically via useEffect when status changes to ENABLED\n }, [checkStatus])\n\n // Show helpful message if connection failed or AppInspector is disabled\n const shouldShowStatusMessage = Boolean(statusError) || (status?.status === 'DISABLED')\n\n return (\n <Box\n data-testid=\"spans-list-page\"\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n width: '100%',\n }}\n >\n {shouldShowStatusMessage\n ? (\n <StatusMessage\n error={statusError}\n onRetry={handleRetry}\n status={status}\n />\n )\n : (\n <SpansList\n filterWriteOperations={filterWriteOperations}\n onClearSpans={() => { void clearSpans() }}\n onFilterWriteOperationsChange={(value) => { setFilterWriteOperations(value) }}\n onPageChange={setPage}\n onPageSizeChange={setPageSize}\n onRefresh={() => { fetchSpansSync() }}\n onSpanClick={(span) => { navigateToSpan(span) }}\n page={page}\n pageSize={pageSize}\n spanCount={spanCount}\n spans={{\n data: spans,\n error: fetchError,\n loading,\n }}\n spansPerPageOptions={spansPerPageOptions}\n />\n )}\n </Box>\n )\n}\n","import type { FC, PropsWithChildren } from 'react'\nimport { createContext, useContext } from 'react'\n\nimport type { Api } from './api.ts'\n\nconst AppInspectorApiContext = createContext<Api | undefined>(undefined)\n\nexport interface ApiProviderProps {\n api: Api\n}\n\nexport const ApiProvider: FC<PropsWithChildren<ApiProviderProps>> = (props) => {\n return <AppInspectorApiContext.Provider value={props.api}>{props.children}</AppInspectorApiContext.Provider>\n}\n\nexport const useAppInspectorApi = (): Api => {\n const api = useContext(AppInspectorApiContext)\n if (!api) {\n throw new Error('useAppInspectorApi must be used within AppInspectorApiProvider')\n }\n return api\n}\n","import type { FC } from 'react'\nimport { Alert, Box, Button } from '@mui/material'\n\nimport type { Span } from '@/types/spans.ts'\nimport { SpansDataGrid } from '@/components/spans-list/spans-data-grid.tsx'\n\ninterface SpansListProps {\n filterWriteOperations: boolean\n onClearSpans: () => void\n onFilterWriteOperationsChange: (filterWriteOperations: boolean) => void\n onPageChange: (page: number) => void\n onPageSizeChange: (pageSize: number) => void\n onRefresh: () => void\n onSpanClick: (span: Span) => void\n page: number\n pageSize: number\n spanCount: number\n spans: {\n data: Span[] | undefined\n error: Error | undefined\n loading: boolean\n }\n spansPerPageOptions: number[]\n}\n\nexport const SpansList: FC<SpansListProps> = (props) => {\n return (\n <Box data-testid=\"spans-data-grid\" sx={{ display: 'flex', flexDirection: 'column', flexGrow: 1, gap: 2, width: '100%' }}>\n {props.spans.error && (\n <Alert\n action={\n <Button onClick={props.onRefresh}>Retry</Button>\n }\n severity=\"error\"\n >\n Unexpected error:\n {' '}\n {props.spans.error.message}\n </Alert>\n )}\n {(props.spans.data !== undefined || props.spans.loading) && (\n <SpansDataGrid\n filterWriteOperations={props.filterWriteOperations}\n loading={props.spans.loading}\n onClearSpans={props.onClearSpans}\n onFilterWriteOperationsChange={props.onFilterWriteOperationsChange}\n onPageChange={props.onPageChange}\n onPageSizeChange={props.onPageSizeChange}\n onRefresh={props.onRefresh}\n onSpanClick={props.onSpanClick}\n page={props.page}\n pageSize={props.pageSize}\n rowCount={props.spanCount}\n rows={props.spans.data ?? []}\n rowsPerPageOptions={props.spansPerPageOptions}\n sortingOption={{ field: 'start_time_unix_nano', sort: 'asc' }}\n />\n )}\n </Box>\n )\n}\n","import type { GridComparatorFn, GridRowParams, GridSortItem, GridSortModel } from '@mui/x-data-grid'\nimport type { GridColDef } from '@mui/x-data-grid'\nimport type { ChangeEvent, FC } from 'react'\nimport { Cached, DeleteForeverOutlined, Search } from '@mui/icons-material'\nimport { Box, Button, FormControlLabel, Grid, Paper, Switch, TextField, Tooltip, Typography } from '@mui/material'\nimport { DataGrid } from '@mui/x-data-grid'\nimport { useCallback, useMemo, useState } from 'react'\n\nimport type { Span } from '@/types/spans.ts'\nimport type { SearchableObject } from '@/utils/search-in-object.ts'\nimport { EventIndicatorCell } from '@/components/cells/event-indicator-cell.tsx'\nimport { ResponsiveTimestampCell } from '@/components/cells/responsive-timestamp-cell.tsx'\nimport { ServiceCell } from '@/components/cells/service-cell.tsx'\nimport { logger } from '@/utils/logger.ts'\nimport { searchInObject } from '@/utils/search-in-object.ts'\n\nconst resourceNameComparator: GridComparatorFn<string> = (v1 = '', v2 = '') => {\n return v1.localeCompare(v2)\n}\n\ninterface SortingOption {\n field: string\n sort: 'asc' | 'desc'\n}\n\ninterface SpansDataGridProps {\n filterWriteOperations?: boolean\n loading: boolean\n onClearSpans: () => void\n onFilterWriteOperationsChange?: (checked: boolean) => void\n onPageChange: (page: number) => void\n onPageSizeChange: (pageSize: number) => void\n onRefresh: () => void\n onSpanClick: (span: Span) => void\n page: number\n pageSize: number\n rowCount: number\n rows: Span[]\n rowsPerPageOptions: number[]\n sortingOption?: SortingOption\n}\n\nconst columns: GridColDef<Span>[] = [\n // {\n // field: 'status',\n // renderHeader: () => null,\n // width: 50,\n // renderCell: (parameters) => <StatusCell span={parameters.row} />,\n // },\n {\n field: 'trace_id',\n headerName: 'Trace',\n renderCell: (parameters) => {\n return (\n <Tooltip arrow title={String(parameters.value)}>\n <span style={{\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }}\n >\n {parameters.value}\n </span>\n </Tooltip>\n )\n },\n type: 'string',\n width: 120,\n },\n {\n field: 'start_time_unix_nano',\n headerName: 'Time',\n renderCell: parameters => (\n <ResponsiveTimestampCell value={parameters.value as string} />\n ),\n type: 'string',\n width: 180,\n },\n {\n field: 'producer',\n headerName: 'Producer',\n renderCell: (parameters) => {\n // Only render if row has parent_span_id and parent_service_name\n if (!parameters.row.parent_service_name || !parameters.row.parent_resource_name) {\n return\n }\n return (\n <ServiceCell resource={parameters.row.parent_resource_name} service={parameters.row.parent_service_name} />\n )\n },\n sortable: true,\n sortComparator: resourceNameComparator,\n width: 260,\n },\n {\n field: 'operation_name',\n headerName: 'Action',\n type: 'string',\n width: 130,\n },\n {\n field: 'consumer',\n flex: 1,\n headerName: 'Consumer',\n maxWidth: 260,\n renderCell: (parameters) => {\n return <ServiceCell resource={parameters.row.resource_name} service={parameters.row.service_name} />\n },\n sortComparator: resourceNameComparator,\n },\n {\n align: 'right',\n field: 'events',\n headerName: 'Events',\n minWidth: 120,\n renderCell: parameters => <EventIndicatorCell events={parameters.row.events} />,\n sortable: false,\n },\n]\n\nconst defaultSortingOption: GridSortItem = { field: 'start_time_unix_nano', sort: 'asc' }\n\nexport const SpansDataGrid: FC<SpansDataGridProps> = ({\n filterWriteOperations = true,\n loading,\n onClearSpans,\n onFilterWriteOperationsChange,\n onPageChange,\n onPageSizeChange,\n onRefresh,\n onSpanClick,\n page,\n pageSize,\n rowCount,\n rows,\n rowsPerPageOptions,\n // setRows,\n sortingOption = defaultSortingOption,\n}) => {\n const [searchTerm, setSearchTerm] = useState(() => localStorage.getItem('spansSearchTerm') ?? '')\n\n // Initialize sorting from localStorage or fallback to the provided sortingOption\n const [sortModel, setSortModel] = useState<GridSortModel>(() => {\n const savedSorting = localStorage.getItem('spansSortModel')\n if (savedSorting) {\n try {\n return JSON.parse(savedSorting) as GridSortModel\n }\n catch (error) {\n logger.error('Error parsing saved sort model', error)\n }\n }\n return [\n {\n field: sortingOption.field,\n sort: sortingOption.sort,\n },\n ]\n })\n\n const handleRowClick = useCallback((parameters: GridRowParams<Span>) => {\n onSpanClick(parameters.row)\n }, [onSpanClick])\n\n const handleSearchTermChange = useCallback((span: ChangeEvent<HTMLInputElement>) => {\n const newValue = span.target.value\n setSearchTerm(newValue)\n localStorage.setItem('spansSearchTerm', newValue)\n }, [])\n\n const handleSortModelChange = useCallback((newSortModel: GridSortModel) => {\n setSortModel(newSortModel)\n localStorage.setItem('spansSortModel', JSON.stringify(newSortModel))\n }, [])\n\n // const clearSpans = useCallback(() => {\n // setRows([])\n // // TODO call backend to delete spans\n // logger.info('Cleared all spans')\n // }, [setRows])\n\n const filterSpansBySearchTerm = useCallback(\n (span: Span): boolean => {\n if (searchTerm.length === 0) return true\n return searchInObject(span as unknown as SearchableObject, searchTerm)\n },\n [searchTerm],\n )\n\n const filtersToApply = useMemo(() => [filterSpansBySearchTerm], [filterSpansBySearchTerm])\n\n // TODO add filters to api call\n const filteredRows = useMemo(\n () => rows.filter(row => filtersToApply.every(filter => filter(row))),\n [filtersToApply, rows],\n )\n\n return (\n <>\n <Grid item xs={12}>\n <Box sx={{ alignItems: 'center', display: 'flex', gap: '0.5rem' }}>\n <TextField\n label={(\n <Box sx={{ display: 'flex', gap: '0.25rem' }}>\n <Search fontSize=\"small\" />\n <Typography>Search Spans</Typography>\n </Box>\n )}\n onChange={handleSearchTermChange}\n size=\"small\"\n sx={{ minWidth: '200px' }}\n value={searchTerm}\n />\n <Box sx={{ flexGrow: 1 }} />\n {onFilterWriteOperationsChange && (\n <FormControlLabel\n control={(\n <Switch\n checked={filterWriteOperations}\n onChange={(event) => { onFilterWriteOperationsChange(event.target.checked) }}\n size=\"small\"\n />\n )}\n label=\"Only Write Operations\"\n />\n )}\n <Button onClick={onClearSpans} startIcon={<DeleteForeverOutlined />}>\n Clear Spans\n </Button>\n <Button disabled={loading} onClick={onRefresh} startIcon={<Cached />}>\n Refresh\n </Button>\n </Box>\n </Grid>\n <div style={{ display: 'flex', flexDirection: 'column', flexGrow: 1 }}>\n <Paper\n sx={{\n boxShadow: 2,\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n minHeight: 120,\n p: 2,\n }}\n >\n <DataGrid\n columns={columns}\n disableColumnMenu\n getRowId={(row: Span) => row.span_id}\n initialState={{\n pagination: {\n page,\n pageSize,\n },\n }}\n loading={loading}\n onPageChange={(newPage) => { onPageChange(newPage) }}\n onPageSizeChange={(newPageSize) => { onPageSizeChange(newPageSize) }}\n onRowClick={handleRowClick}\n onSortModelChange={handleSortModelChange}\n page={page}\n pageSize={pageSize}\n paginationMode=\"server\"\n rowCount={rowCount}\n rowHeight={40}\n rows={filteredRows}\n rowsPerPageOptions={rowsPerPageOptions}\n sortModel={sortModel}\n sx={{ flexGrow: 1 }}\n />\n </Paper>\n </div>\n </>\n )\n}\n","import type { FC } from 'react'\nimport { Box, Stack, Tooltip } from '@mui/material'\n\nimport type { Event } from '@/types/events'\n\ninterface EventIndicatorCellProps {\n events: Event[]\n}\n\nconst getEventColor = (event: Event): string => {\n // Check if it's an IAM event\n if (event.event_type?.toLowerCase().includes('iam')) {\n return '#2196f3' // Blue for IAM events\n }\n return '#9e9e9e' // Gray for generic events\n}\n\nconst getEventTooltip = (event: Event): string => {\n const type = event.event_type ?? 'generic'\n return `${event.name} (${type})`\n}\n\nexport const EventIndicatorCell: FC<EventIndicatorCellProps> = ({ events }) => {\n if (events.length === 0) {\n return <></>\n }\n\n return (\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n height: '100%',\n justifyContent: 'flex-end',\n paddingRight: 2,\n width: '100%',\n }}\n >\n <Stack alignItems=\"center\" direction=\"row\" spacing={0.5}>\n {events.map(event => (\n <Tooltip key={event.event_id} title={getEventTooltip(event)}>\n <Box\n data-testid=\"event-indicator-dot\"\n sx={{\n backgroundColor: getEventColor(event),\n borderRadius: '50%',\n height: 8,\n width: 8,\n }}\n />\n </Tooltip>\n ))}\n </Stack>\n </Box>\n )\n}\n","import type { FC } from 'react'\nimport { useEffect, useMemo, useRef, useState } from 'react'\n\nimport { unixNanoToDate } from '@/utils/time.ts'\n\ninterface ResponsiveTimestampCellProps {\n locale?: string\n value?: string\n}\n\nexport const ResponsiveTimestampCell: FC<ResponsiveTimestampCellProps> = ({ locale, value }) => {\n const [columnWidth, setColumnWidth] = useState<number>(0)\n const cellReference = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const updateWidth = () => {\n if (cellReference.current) {\n const width = cellReference.current.offsetWidth\n setColumnWidth(width)\n }\n }\n\n updateWidth()\n window.addEventListener('resize', updateWidth)\n\n if (cellReference.current) {\n const resizeObserver = new ResizeObserver(updateWidth)\n resizeObserver.observe(cellReference.current)\n\n return () => {\n resizeObserver.disconnect()\n window.removeEventListener('resize', updateWidth)\n }\n }\n }, [])\n\n const formattedTime = useMemo(() => {\n if (!value) return\n\n const date = unixNanoToDate(value)\n if (!date) return\n\n if (columnWidth < 100) {\n // Narrow: HH:MM:SS\n const formatter = new Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n hour12: false,\n minute: '2-digit',\n second: '2-digit',\n })\n return formatter.format(date)\n }\n else if (columnWidth < 160) {\n // Medium: add milliseconds - HH:MM:SS:MMM\n const formatter = new Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n hour12: false,\n minute: '2-digit',\n second: '2-digit',\n })\n const timeString = formatter.format(date)\n const ms = date.getMilliseconds().toString().padStart(3, '0')\n return `${timeString}:${ms}`\n }\n else {\n // Wide: add date with locale-aware formatting\n const dateFormatter = new Intl.DateTimeFormat(locale, {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n })\n const timeFormatter = new Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n hour12: false,\n minute: '2-digit',\n second: '2-digit',\n })\n const dateString = dateFormatter.format(date)\n const timeString = timeFormatter.format(date)\n const ms = date.getMilliseconds().toString().padStart(3, '0')\n return `${dateString} - ${timeString}:${ms}`\n }\n }, [value, columnWidth, locale])\n\n if (!formattedTime) return <span>N/A</span>\n\n return (\n <div ref={cellReference} style={{ width: '100%' }}>\n {formattedTime}\n </div>\n )\n}\n","/**\n * Converts a Unix nanosecond timestamp string to a JavaScript Date object\n * @param unixNanoString Unix timestamp in nanoseconds as a string\n * @returns Date object or undefined if input is null/empty\n */\nexport function unixNanoToDate(unixNanoString: null | string): Date | undefined {\n if (!unixNanoString) return undefined\n // Use BigInt to safely handle large nanosecond values, then convert to milliseconds\n const milliseconds = Number(BigInt(unixNanoString) / BigInt('1000000'))\n return new Date(milliseconds)\n}\n","import type { FC } from 'react'\nimport { Box, Divider, Typography } from '@mui/material'\n\nimport type { SERVICE_NAME } from '@/types/service-names.ts'\n\nimport { AwsServiceIcon } from '../aws-service-icon/aws-service-icon.tsx'\nimport { PillCell } from './pill-cell.tsx'\n\ninterface ServiceCellProps {\n height?: string\n resource?: string\n selected?: boolean\n service: SERVICE_NAME | (string & {})\n showIcon?: boolean\n width?: string\n}\n\nexport const ServiceCell: FC<ServiceCellProps> = ({\n height = '24px',\n resource,\n selected,\n service,\n showIcon = true,\n width = '32px',\n}) => {\n const borderColor = selected ? 'text.primary' : 'background.dark'\n const borderWidth = selected ? '2px' : undefined\n return (\n <Box sx={{ width: '100%' }}>\n <PillCell borderColor={borderColor} borderWidth={borderWidth} height={height}>\n {showIcon\n ? (\n <>\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexShrink: 0,\n height,\n justifyContent: 'center',\n overflow: 'hidden',\n padding: 0,\n width,\n }}\n >\n <AwsServiceIcon hideTooltip service={service} size=\"large\" />\n </Box>\n <Divider orientation=\"vertical\" />\n </>\n )\n : undefined}\n <Typography\n sx={{\n flexShrink: 0,\n fontWeight: 'bold',\n overflow: 'hidden',\n padding: '1px 8px',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n ...(showIcon\n ? {}\n : {\n borderBottomLeftRadius: '15px',\n borderTopLeftRadius: '15px',\n ...(!resource && {\n borderBottomRightRadius: '15px',\n borderTopRightRadius: '15px',\n }),\n }),\n }}\n variant=\"body2\"\n >\n {service}\n </Typography>\n {resource\n ? (\n <>\n <Box sx={{ height: '100%', paddingY: 0.5 }}>\n <Divider orientation=\"vertical\" />\n </Box>\n\n <Typography\n sx={{\n borderBottomRightRadius: '15px',\n borderTopRightRadius: '15px',\n overflow: 'hidden',\n padding: '1px 8px',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }}\n variant=\"body2\"\n >\n {resource}\n </Typography>\n </>\n )\n : undefined}\n </PillCell>\n </Box>\n )\n}\n\nServiceCell.displayName = 'ServiceCell'\n","import type { FC, ReactElement } from 'react'\nimport { Tooltip } from '@mui/material'\n\nimport { WrapInComponent } from '@/utils/wrap-in-component.tsx'\nimport type { AnyServiceName } from './icons/index.tsx'\n\nimport { AwsServiceIconBase } from './icons/index.tsx'\n\nexport { supportedServiceNames } from './icons/index.tsx'\n\nconst sizes = { large: [32, 32], medium: [22, 22], small: [11, 11] }\n\ninterface AwsServiceIconProps {\n hideTooltip?: boolean\n service: AnyServiceName\n size?: 'large' | 'medium' | 'small'\n title?: string\n}\n\nexport const AwsServiceIcon: FC<AwsServiceIconProps> = ({ hideTooltip, service, size = 'medium', title }) => {\n const [width, height] = sizes[size]\n\n return (\n <WrapInComponent\n wrap={!hideTooltip}\n wrapperFn={(child: ReactElement) => (\n <Tooltip placement=\"top\" title={title ?? service}>\n {child}\n </Tooltip>\n )}\n >\n <AwsServiceIconBase height={height} service={service} style={{ display: 'block' }} width={width} />\n </WrapInComponent>\n )\n}\n","import type { FC, ReactElement } from 'react'\n\ninterface WrapInComponentProps {\n children: ReactElement\n wrap: boolean\n wrapperFn: (children: ReactElement) => ReactElement\n}\n\nexport const WrapInComponent: FC<WrapInComponentProps> = ({ children, wrap, wrapperFn }) => {\n if (wrap) {\n return wrapperFn(children)\n }\n return children\n}\n","import type { FC, SVGProps } from 'react'\nimport { memo } from 'react'\n\nimport { SERVICE_NAME } from '@/types/service-names.ts'\n\nimport account from './account.svg'\nimport acmPca from './acm-pca.svg'\nimport acm from './acm.svg'\nimport amplify from './amplify.svg'\nimport apigateway from './apigateway.svg'\nimport apigatewaymanagementapi from './apigatewaymanagementapi.svg'\nimport apigatewayv2 from './apigatewayv2.svg'\nimport appconfig from './appconfig.svg'\nimport applicationautoscaling from './application-autoscaling.svg'\nimport appsync from './appsync.svg'\nimport athena from './athena.svg'\nimport autoscaling from './autoscaling.svg'\nimport backup from './backup.svg'\nimport batch from './batch.svg'\nimport bedrock from './bedrock.svg'\nimport ce from './ce.svg'\nimport cloudcontrol from './cloudcontrol.svg'\nimport cloudformation from './cloudformation.svg'\nimport cloudfront from './cloudfront.svg'\nimport cloudtrail from './cloudtrail.svg'\nimport cloudwatch from './cloudwatch.svg'\nimport codeartifact from './codeartifact.svg'\nimport codebuild from './codebuild.svg'\nimport codecommit from './codecommit.svg'\nimport codeconnections from './codeconnections.svg'\nimport codedeploy from './codedeploy.svg'\nimport codepipeline from './codepipeline.svg'\nimport codestarConnections from './codestar-connections.svg'\nimport cognitoidentity from './cognito-identity.svg'\nimport cognitoidp from './cognito-idp.svg'\nimport config from './config.svg'\nimport dms from './dms.svg'\nimport docdb from './docdb.svg'\nimport dynamodb from './dynamodb.svg'\nimport dynamodbstreams from './dynamodbstreams.svg'\nimport ec2 from './ec2.svg'\nimport ecr from './ecr.svg'\nimport ecs from './ecs.svg'\nimport efs from './efs.svg'\nimport eks from './eks.svg'\nimport elasticache from './elasticache.svg'\nimport elasticbeanstalk from './elasticbeanstalk.svg'\nimport elasticsearch from './elasticsearch.svg'\nimport elastictranscoder from './elastictranscoder.svg'\nimport elb from './elb.svg'\nimport elbv2 from './elbv2.svg'\nimport emrserverless from './emr-serverless.svg'\nimport emr from './emr.svg'\nimport events from './events.svg'\nimport firehose from './firehose.svg'\nimport fis from './fis.svg'\nimport glacier from './glacier.svg'\nimport glue from './glue.svg'\nimport iam from './iam.svg'\nimport identitystore from './identitystore.svg'\nimport infrastructure from './infrastructure.svg'\nimport iotdata from './iot-data.svg'\nimport iot from './iot.svg'\nimport iotanalytics from './iotanalytics.svg'\nimport iotwireless from './iotwireless.svg'\nimport kafka from './kafka.svg'\nimport kinesis from './kinesis.svg'\nimport kinesisanalytics from './kinesisanalytics.svg'\nimport kinesisanalyticsv2 from './kinesisanalyticsv2.svg'\nimport kms from './kms.svg'\nimport lakeformation from './lakeformation.svg'\nimport lambda from './lambda.svg'\nimport logs from './logs.svg'\nimport managedblockchain from './managedblockchain.svg'\nimport mediaconvert from './mediaconvert.svg'\nimport mediastoredata from './mediastore-data.svg'\nimport mediastore from './mediastore.svg'\nimport memorydb from './memorydb.svg'\nimport mq from './mq.svg'\nimport mwaa from './mwaa.svg'\nimport neptune from './neptune.svg'\nimport opensearch from './opensearch.svg'\nimport organizations from './organizations.svg'\nimport pinpoint from './pinpoint.svg'\nimport pipes from './pipes.svg'\nimport qldbsession from './qldb-session.svg'\nimport qldb from './qldb.svg'\nimport ram from './ram.svg'\nimport rdsdata from './rds-data.svg'\nimport rds from './rds.svg'\nimport redshiftdata from './redshift-data.svg'\nimport redshift from './redshift.svg'\nimport resourcegroups from './resource-groups.svg'\nimport resourcegroupstaggingapi from './resourcegroupstaggingapi.svg'\nimport route53 from './route53.svg'\nimport route53resolver from './route53resolver.svg'\nimport s3 from './s3.svg'\nimport s3control from './s3control.svg'\nimport sagemakerruntime from './sagemaker-runtime.svg'\nimport sagemaker from './sagemaker.svg'\nimport scheduler from './scheduler.svg'\nimport secretsmanager from './secretsmanager.svg'\nimport serverlessrepo from './serverlessrepo.svg'\nimport servicediscovery from './servicediscovery.svg'\nimport ses from './ses.svg'\nimport sesv2 from './sesv2.svg'\nimport shield from './shield.svg'\nimport sns from './sns.svg'\nimport sqs from './sqs.svg'\nimport ssm from './ssm.svg'\nimport ssoadmin from './sso-admin.svg'\nimport stepfunctions from './stepfunctions.svg'\nimport sts from './sts.svg'\nimport support from './support.svg'\nimport swf from './swf.svg'\nimport textract from './textract.svg'\nimport timestreamquery from './timestream-query.svg'\nimport timestreamwrite from './timestream-write.svg'\nimport transcribe from './transcribe.svg'\nimport transfer from './transfer.svg'\nimport verifiedpermissions from './verifiedpermissions.svg'\nimport wafv2 from './wafv2.svg'\nimport xray from './xray.svg'\n\nexport type AnyServiceName = SERVICE_NAME | (string & {})\n\nexport type IconComponent = FC<React.SVGProps<SVGSVGElement>>\n\nconst ICONS_MAP = {\n [SERVICE_NAME.ACCOUNT]: account,\n [SERVICE_NAME.ACM]: acm,\n [SERVICE_NAME.ACMPCA]: acmPca,\n [SERVICE_NAME.AMPLIFY]: amplify,\n [SERVICE_NAME.APIGATEWAY]: apigateway,\n [SERVICE_NAME.APIGATEWAYMANAGEMENTAPI]: apigatewaymanagementapi,\n [SERVICE_NAME.APIGATEWAYV2]: apigatewayv2,\n [SERVICE_NAME.APPCONFIG]: appconfig,\n [SERVICE_NAME.APPCONFIGDATA]: appconfig,\n [SERVICE_NAME.APPLICATIONAUTOSCALING]: applicationautoscaling,\n [SERVICE_NAME.APPSYNC]: appsync,\n [SERVICE_NAME.ATHENA]: athena,\n [SERVICE_NAME.AUTOSCALING]: autoscaling,\n [SERVICE_NAME.BACKUP]: backup,\n [SERVICE_NAME.BATCH]: batch,\n [SERVICE_NAME.BEDROCK]: bedrock,\n [SERVICE_NAME.BEDROCKRUNTIME]: bedrock,\n [SERVICE_NAME.CE]: ce,\n [SERVICE_NAME.CLOUDCONTROL]: cloudcontrol,\n [SERVICE_NAME.CLOUDFORMATION]: cloudformation,\n [SERVICE_NAME.CLOUDFRONT]: cloudfront,\n [SERVICE_NAME.CLOUDTRAIL]: cloudtrail,\n [SERVICE_NAME.CLOUDWATCH]: cloudwatch,\n [SERVICE_NAME.CODEARTIFACT]: codeartifact,\n [SERVICE_NAME.CODEBUILD]: codebuild,\n [SERVICE_NAME.CODECOMMIT]: codecommit,\n [SERVICE_NAME.CODECONNECTIONS]: codeconnections,\n [SERVICE_NAME.CODEDEPLOY]: codedeploy,\n [SERVICE_NAME.CODEPIPELINE]: codepipeline,\n [SERVICE_NAME.CODESTARCONNECTIONS]: codestarConnections,\n [SERVICE_NAME.COGNITOIDENTITY]: cognitoidentity,\n [SERVICE_NAME.COGNITOIDP]: cognitoidp,\n [SERVICE_NAME.CONFIG]: config,\n [SERVICE_NAME.DMS]: dms,\n [SERVICE_NAME.DOCDB]: docdb,\n [SERVICE_NAME.DYNAMODB]: dynamodb,\n [SERVICE_NAME.DYNAMODBSTREAMS]: dynamodbstreams,\n [SERVICE_NAME.EC2]: ec2,\n [SERVICE_NAME.ECR]: ecr,\n [SERVICE_NAME.ECS]: ecs,\n [SERVICE_NAME.EFS]: efs,\n [SERVICE_NAME.EKS]: eks,\n [SERVICE_NAME.ELASTICACHE]: elasticache,\n [SERVICE_NAME.ELASTICBEANSTALK]: elasticbeanstalk,\n [SERVICE_NAME.ELASTICTRANSCODER]: elastictranscoder,\n [SERVICE_NAME.ELB]: elb,\n [SERVICE_NAME.ELBV2]: elbv2,\n [SERVICE_NAME.EMR]: emr,\n [SERVICE_NAME.EMRSERVERLESS]: emrserverless,\n [SERVICE_NAME.ES]: elasticsearch,\n [SERVICE_NAME.EVENTS]: events,\n [SERVICE_NAME.FIREHOSE]: firehose,\n [SERVICE_NAME.FIS]: fis,\n [SERVICE_NAME.GLACIER]: glacier,\n [SERVICE_NAME.GLUE]: glue,\n [SERVICE_NAME.IAM]: iam,\n [SERVICE_NAME.IDENTITYSTORE]: identitystore,\n [SERVICE_NAME.INFRASTRUCTURE]: infrastructure,\n [SERVICE_NAME.IOT]: iot,\n [SERVICE_NAME.IOTANALYTICS]: iotanalytics,\n [SERVICE_NAME.IOTDATA]: iotdata,\n [SERVICE_NAME.IOTWIRELESS]: iotwireless,\n [SERVICE_NAME.KAFKA]: kafka,\n [SERVICE_NAME.KINESIS]: kinesis,\n [SERVICE_NAME.KINESISANALYTICS]: kinesisanalytics,\n [SERVICE_NAME.KINESISANALYTICSV2]: kinesisanalyticsv2,\n [SERVICE_NAME.KMS]: kms,\n [SERVICE_NAME.LAKEFORMATION]: lakeformation,\n [SERVICE_NAME.LAMBDA]: lambda,\n [SERVICE_NAME.LOGS]: logs,\n [SERVICE_NAME.MANAGEDBLOCKCHAIN]: managedblockchain,\n [SERVICE_NAME.MEDIACONVERT]: mediaconvert,\n [SERVICE_NAME.MEDIASTORE]: mediastore,\n [SERVICE_NAME.MEDIASTOREDATA]: mediastoredata,\n [SERVICE_NAME.MEMORYDB]: memorydb,\n [SERVICE_NAME.MQ]: mq,\n [SERVICE_NAME.MWAA]: mwaa,\n [SERVICE_NAME.NEPTUNE]: neptune,\n [SERVICE_NAME.OPENSEARCH]: opensearch,\n [SERVICE_NAME.ORGANIZATIONS]: organizations,\n [SERVICE_NAME.PINPOINT]: pinpoint,\n [SERVICE_NAME.PIPES]: pipes,\n [SERVICE_NAME.QLDB]: qldb,\n [SERVICE_NAME.QLDBSESSION]: qldbsession,\n [SERVICE_NAME.RAM]: ram,\n [SERVICE_NAME.RDS]: rds,\n [SERVICE_NAME.RDSDATA]: rdsdata,\n [SERVICE_NAME.REDSHIFT]: redshift,\n [SERVICE_NAME.REDSHIFTDATA]: redshiftdata,\n [SERVICE_NAME.RESOURCEGROUPS]: resourcegroups,\n [SERVICE_NAME.RESOURCEGROUPSTAGGINGAPI]: resourcegroupstaggingapi,\n [SERVICE_NAME.ROUTE53]: route53,\n [SERVICE_NAME.ROUTE53RESOLVER]: route53resolver,\n [SERVICE_NAME.S3]: s3,\n [SERVICE_NAME.S3CONTROL]: s3control,\n [SERVICE_NAME.SAGEMAKER]: sagemaker,\n [SERVICE_NAME.SAGEMAKERRUNTIME]: sagemakerruntime,\n [SERVICE_NAME.SCHEDULER]: scheduler,\n [SERVICE_NAME.SECRETSMANAGER]: secretsmanager,\n [SERVICE_NAME.SERVERLESSREPO]: serverlessrepo,\n [SERVICE_NAME.SERVICEDISCOVERY]: servicediscovery,\n [SERVICE_NAME.SES]: ses,\n [SERVICE_NAME.SESV2]: sesv2,\n [SERVICE_NAME.SHIELD]: shield,\n [SERVICE_NAME.SNS]: sns,\n [SERVICE_NAME.SQS]: sqs,\n [SERVICE_NAME.SSM]: ssm,\n [SERVICE_NAME.SSOADMIN]: ssoadmin,\n [SERVICE_NAME.STEPFUNCTIONS]: stepfunctions,\n [SERVICE_NAME.STS]: sts,\n [SERVICE_NAME.SUPPORT]: support,\n [SERVICE_NAME.SWF]: swf,\n [SERVICE_NAME.TEXTRACT]: textract,\n [SERVICE_NAME.TIMESTREAMQUERY]: timestreamquery,\n [SERVICE_NAME.TIMESTREAMWRITE]: timestreamwrite,\n [SERVICE_NAME.TRANSCRIBE]: transcribe,\n [SERVICE_NAME.TRANSFER]: transfer,\n [SERVICE_NAME.VERIFIEDPERMISSIONS]: verifiedpermissions,\n [SERVICE_NAME.WAFV2]: wafv2,\n [SERVICE_NAME.XRAY]: xray,\n} as const satisfies Partial<Record<string, IconComponent>>\n\nexport const AwsServiceIconBase: FC<SVGProps<SVGSVGElement> & { service: AnyServiceName }> = memo((props) => {\n const Icon = (ICONS_MAP as Record<string, IconComponent>)[props.service] ?? ICONS_MAP.infrastructure\n return <Icon {...props} />\n})\n\nexport const supportedServiceNames = Object.keys(ICONS_MAP) as (keyof typeof ICONS_MAP)[]\n","export const SERVICE_NAME = {\n ACCESSANALYZER: 'accessanalyzer',\n ACCOUNT: 'account',\n ACM: 'acm',\n ACMPCA: 'acm-pca',\n ALEXAFORBUSINESS: 'alexaforbusiness',\n AMP: 'amp',\n AMPLIFY: 'amplify',\n AMPLIFYBACKEND: 'amplifybackend',\n AMPLIFYUIBUILDER: 'amplifyuibuilder',\n APIGATEWAY: 'apigateway',\n APIGATEWAYMANAGEMENTAPI: 'apigatewaymanagementapi',\n APIGATEWAYV2: 'apigatewayv2',\n APPCONFIG: 'appconfig',\n APPCONFIGDATA: 'appconfigdata',\n APPFABRIC: 'appfabric',\n APPFLOW: 'appflow',\n APPINTEGRATIONS: 'appintegrations',\n APPLICATIONAUTOSCALING: 'application-autoscaling',\n APPLICATIONCOSTPROFILER: 'applicationcostprofiler',\n APPLICATIONINSIGHTS: 'application-insights',\n APPMESH: 'appmesh',\n APPRUNNER: 'apprunner',\n APPSTREAM: 'appstream',\n APPSYNC: 'appsync',\n ARCZONALSHIFT: 'arc-zonal-shift',\n ATHENA: 'athena',\n AUDITMANAGER: 'auditmanager',\n AUTOSCALING: 'autoscaling',\n AUTOSCALINGPLANS: 'autoscaling-plans',\n BACKUP: 'backup',\n BACKUPGATEWAY: 'backup-gateway',\n BACKUPSTORAGE: 'backupstorage',\n BATCH: 'batch',\n BEDROCK: 'bedrock',\n BEDROCKRUNTIME: 'bedrock-runtime',\n BILLINGCONDUCTOR: 'billingconductor',\n BRAKET: 'braket',\n BUDGETS: 'budgets',\n CE: 'ce',\n CHIME: 'chime',\n CHIMESDKIDENTITY: 'chime-sdk-identity',\n CHIMESDKMEDIAPIPELINES: 'chime-sdk-media-pipelines',\n CHIMESDKMEETINGS: 'chime-sdk-meetings',\n CHIMESDKMESSAGING: 'chime-sdk-messaging',\n CHIMESDKVOICE: 'chime-sdk-voice',\n CLEANROOMS: 'cleanrooms',\n CLOUD9: 'cloud9',\n CLOUDCONTROL: 'cloudcontrol',\n CLOUDDIRECTORY: 'clouddirectory',\n CLOUDFORMATION: 'cloudformation',\n CLOUDFRONT: 'cloudfront',\n CLOUDFRONTKEYVALUESTORE: 'cloudfront-keyvaluestore',\n CLOUDHSM: 'cloudhsm',\n CLOUDHSMV2: 'cloudhsmv2',\n CLOUDSEARCH: 'cloudsearch',\n CLOUDSEARCHDOMAIN: 'cloudsearchdomain',\n CLOUDTRAIL: 'cloudtrail',\n CLOUDTRAILDATA: 'cloudtrail-data',\n CLOUDWATCH: 'cloudwatch',\n CODEARTIFACT: 'codeartifact',\n CODEBUILD: 'codebuild',\n CODECATALYST: 'codecatalyst',\n CODECOMMIT: 'codecommit',\n CODECONNECTIONS: 'codeconnections',\n CODEDEPLOY: 'codedeploy',\n CODEGURUPROFILER: 'codeguruprofiler',\n CODEGURUREVIEWER: 'codeguru-reviewer',\n CODEGURUSECURITY: 'codeguru-security',\n CODEPIPELINE: 'codepipeline',\n CODESTAR: 'codestar',\n CODESTARCONNECTIONS: 'codestar-connections',\n CODESTARNOTIFICATIONS: 'codestar-notifications',\n COGNITOIDENTITY: 'cognito-identity',\n COGNITOIDP: 'cognito-idp',\n COGNITOSYNC: 'cognito-sync',\n COMPREHEND: 'comprehend',\n COMPREHENDMEDICAL: 'comprehendmedical',\n COMPUTEOPTIMIZER: 'compute-optimizer',\n CONFIG: 'config',\n CONNECT: 'connect',\n CONNECTCAMPAIGNS: 'connectcampaigns',\n CONNECTCASES: 'connectcases',\n CONNECTCONTACTLENS: 'connect-contact-lens',\n CONNECTPARTICIPANT: 'connectparticipant',\n CONTROLTOWER: 'controltower',\n CUR: 'cur',\n CUSTOMERPROFILES: 'customer-profiles',\n DATABREW: 'databrew',\n DATAEXCHANGE: 'dataexchange',\n DATAPIPELINE: 'datapipeline',\n DATASYNC: 'datasync',\n DATAZONE: 'datazone',\n DAX: 'dax',\n DETECTIVE: 'detective',\n DEVICEFARM: 'devicefarm',\n DEVOPSGURU: 'devops-guru',\n DIRECTCONNECT: 'directconnect',\n DISCOVERY: 'discovery',\n DLM: 'dlm',\n DMS: 'dms',\n DOCDB: 'docdb',\n DOCDBELASTIC: 'docdb-elastic',\n DRS: 'drs',\n DS: 'ds',\n DYNAMODB: 'dynamodb',\n DYNAMODBSTREAMS: 'dynamodbstreams',\n EBS: 'ebs',\n EC2: 'ec2',\n EC2INSTANCECONNECT: 'ec2-instance-connect',\n ECR: 'ecr',\n ECRPUBLIC: 'ecr-public',\n ECS: 'ecs',\n EFS: 'efs',\n EKS: 'eks',\n ELASTICACHE: 'elasticache',\n ELASTICBEANSTALK: 'elasticbeanstalk',\n ELASTICINFERENCE: 'elastic-inference',\n ELASTICTRANSCODER: 'elastictranscoder',\n ELB: 'elb',\n ELBV2: 'elbv2',\n EMR: 'emr',\n EMRCONTAINERS: 'emr-containers',\n EMRSERVERLESS: 'emr-serverless',\n ENTITYRESOLUTION: 'entityresolution',\n ES: 'es',\n EVENTS: 'events',\n EVIDENTLY: 'evidently',\n FINSPACE: 'finspace',\n FINSPACEDATA: 'finspace-data',\n FIREHOSE: 'firehose',\n FIS: 'fis',\n FMS: 'fms',\n FORECAST: 'forecast',\n FORECASTQUERY: 'forecastquery',\n FRAUDDETECTOR: 'frauddetector',\n FSX: 'fsx',\n GAMELIFT: 'gamelift',\n GLACIER: 'glacier',\n GLOBALACCELERATOR: 'globalaccelerator',\n GLUE: 'glue',\n GRAFANA: 'grafana',\n GREENGRASS: 'greengrass',\n GREENGRASSV2: 'greengrassv2',\n GROUNDSTATION: 'groundstation',\n GUARDDUTY: 'guardduty',\n HEALTH: 'health',\n HEALTHLAKE: 'healthlake',\n HONEYCODE: 'honeycode',\n IAM: 'iam',\n IDENTITYSTORE: 'identitystore',\n IMAGEBUILDER: 'imagebuilder',\n IMPORTEXPORT: 'importexport',\n INFRASTRUCTURE: 'infrastructure',\n INSPECTOR: 'inspector',\n INSPECTOR2: 'inspector2',\n INSPECTORSCAN: 'inspector-scan',\n INTERNETMONITOR: 'internetmonitor',\n IOT: 'iot',\n IOT1CLICKDEVICES: 'iot1click-devices',\n IOT1CLICKPROJECTS: 'iot1click-projects',\n IOTANALYTICS: 'iotanalytics',\n IOTDATA: 'iot-data',\n IOTDEVICEADVISOR: 'iotdeviceadvisor',\n IOTEVENTS: 'iotevents',\n IOTEVENTSDATA: 'iotevents-data',\n IOTFLEETHUB: 'iotfleethub',\n IOTFLEETWISE: 'iotfleetwise',\n IOTJOBSDATA: 'iot-jobs-data',\n IOTROBORUNNER: 'iot-roborunner',\n IOTSECURETUNNELING: 'iotsecuretunneling',\n IOTSITEWISE: 'iotsitewise',\n IOTTHINGSGRAPH: 'iotthingsgraph',\n IOTTWINMAKER: 'iottwinmaker',\n IOTWIRELESS: 'iotwireless',\n IVS: 'ivs',\n IVSCHAT: 'ivschat',\n IVSREALTIME: 'ivs-realtime',\n KAFKA: 'kafka',\n KAFKACONNECT: 'kafkaconnect',\n KENDRA: 'kendra',\n KENDRARANKING: 'kendra-ranking',\n KEYSPACES: 'keyspaces',\n KINESIS: 'kinesis',\n KINESISANALYTICS: 'kinesisanalytics',\n KINESISANALYTICSV2: 'kinesisanalyticsv2',\n KINESISVIDEO: 'kinesisvideo',\n KINESISVIDEOARCHIVEDMEDIA: 'kinesis-video-archived-media',\n KINESISVIDEOMEDIA: 'kinesis-video-media',\n KINESISVIDEOSIGNALING: 'kinesis-video-signaling',\n KINESISVIDEOWEBRTCSTORAGE: 'kinesis-video-webrtc-storage',\n KMS: 'kms',\n LAKEFORMATION: 'lakeformation',\n LAMBDA: 'lambda',\n LAUNCHWIZARD: 'launch-wizard',\n LEXMODELS: 'lex-models',\n LEXRUNTIME: 'lex-runtime',\n LEXV2MODELS: 'lexv2-models',\n LEXV2RUNTIME: 'lexv2-runtime',\n LICENSEMANAGER: 'license-manager',\n LICENSEMANAGERLINUXSUBSCRIPTIONS: 'license-manager-linux-subscriptions',\n LICENSEMANAGERUSERSUBSCRIPTIONS: 'license-manager-user-subscriptions',\n LIGHTSAIL: 'lightsail',\n LOCATION: 'location',\n LOGS: 'logs',\n LOOKOUTEQUIPMENT: 'lookoutequipment',\n LOOKOUTMETRICS: 'lookoutmetrics',\n LOOKOUTVISION: 'lookoutvision',\n M2: 'm2',\n MACHINELEARNING: 'machinelearning',\n MACIE2: 'macie2',\n MANAGEDBLOCKCHAIN: 'managedblockchain',\n MANAGEDBLOCKCHAINQUERY: 'managedblockchain-query',\n MARKETPLACECATALOG: 'marketplace-catalog',\n MARKETPLACECOMMERCEANALYTICS: 'marketplacecommerceanalytics',\n MARKETPLACEENTITLEMENT: 'marketplace-entitlement',\n MEDIACONNECT: 'mediaconnect',\n MEDIACONVERT: 'mediaconvert',\n MEDIALIVE: 'medialive',\n MEDIAPACKAGE: 'mediapackage',\n MEDIAPACKAGEV2: 'mediapackagev2',\n MEDIAPACKAGEVOD: 'mediapackage-vod',\n MEDIASTORE: 'mediastore',\n MEDIASTOREDATA: 'mediastore-data',\n MEDIATAILOR: 'mediatailor',\n MEDICALIMAGING: 'medical-imaging',\n MEMORYDB: 'memorydb',\n METERINGMARKETPLACE: 'meteringmarketplace',\n MGH: 'mgh',\n MGN: 'mgn',\n MIGRATIONHUBCONFIG: 'migrationhub-config',\n MIGRATIONHUBORCHESTRATOR: 'migrationhuborchestrator',\n MIGRATIONHUBREFACTORSPACES: 'migration-hub-refactor-spaces',\n MIGRATIONHUBSTRATEGY: 'migrationhubstrategy',\n MOBILE: 'mobile',\n MQ: 'mq',\n MTURK: 'mturk',\n MWAA: 'mwaa',\n NEPTUNE: 'neptune',\n NEPTUNEDATA: 'neptunedata',\n NETWORKFIREWALL: 'network-firewall',\n NETWORKMANAGER: 'networkmanager',\n NIMBLE: 'nimble',\n OAM: 'oam',\n OMICS: 'omics',\n OPENSEARCH: 'opensearch',\n OPENSEARCHSERVERLESS: 'opensearchserverless',\n OPSWORKS: 'opsworks',\n OPSWORKSCM: 'opsworkscm',\n ORGANIZATIONS: 'organizations',\n OSIS: 'osis',\n OUTPOSTS: 'outposts',\n PANORAMA: 'panorama',\n PAYMENTCRYPTOGRAPHY: 'payment-cryptography',\n PAYMENTCRYPTOGRAPHYDATA: 'payment-cryptography-data',\n PCACONNECTORAD: 'pca-connector-ad',\n PERSONALIZE: 'personalize',\n PERSONALIZEEVENTS: 'personalize-events',\n PERSONALIZERUNTIME: 'personalize-runtime',\n PI: 'pi',\n PINPOINT: 'pinpoint',\n PINPOINTEMAIL: 'pinpoint-email',\n PINPOINTSMSVOICE: 'pinpoint-sms-voice',\n PINPOINTSMSVOICEV2: 'pinpoint-sms-voice-v2',\n PIPES: 'pipes',\n POLLY: 'polly',\n PRICING: 'pricing',\n PRIVATENETWORKS: 'privatenetworks',\n PROTON: 'proton',\n QLDB: 'qldb',\n QLDBSESSION: 'qldb-session',\n QUICKSIGHT: 'quicksight',\n RAM: 'ram',\n RBIN: 'rbin',\n RDS: 'rds',\n RDSDATA: 'rds-data',\n REDSHIFT: 'redshift',\n REDSHIFTDATA: 'redshift-data',\n REDSHIFTSERVERLESS: 'redshift-serverless',\n REKOGNITION: 'rekognition',\n RESILIENCEHUB: 'resiliencehub',\n RESOURCEEXPLORER2: 'resource-explorer-2',\n RESOURCEGROUPS: 'resource-groups',\n RESOURCEGROUPSTAGGINGAPI: 'resourcegroupstaggingapi',\n ROBOMAKER: 'robomaker',\n ROLESANYWHERE: 'rolesanywhere',\n ROUTE53: 'route53',\n ROUTE53DOMAINS: 'route53domains',\n ROUTE53RECOVERYCLUSTER: 'route53-recovery-cluster',\n ROUTE53RECOVERYCONTROLCONFIG: 'route53-recovery-control-config',\n ROUTE53RECOVERYREADINESS: 'route53-recovery-readiness',\n ROUTE53RESOLVER: 'route53resolver',\n RUM: 'rum',\n S3: 's3',\n S3CONTROL: 's3control',\n S3OUTPOSTS: 's3outposts',\n SAGEMAKER: 'sagemaker',\n SAGEMAKERA2IRUNTIME: 'sagemaker-a2i-runtime',\n SAGEMAKEREDGE: 'sagemaker-edge',\n SAGEMAKERFEATURESTORERUNTIME: 'sagemaker-featurestore-runtime',\n SAGEMAKERGEOSPATIAL: 'sagemaker-geospatial',\n SAGEMAKERMETRICS: 'sagemaker-metrics',\n SAGEMAKERRUNTIME: 'sagemaker-runtime',\n SAVINGSPLANS: 'savingsplans',\n SCHEDULER: 'scheduler',\n SCHEMAS: 'schemas',\n SDB: 'sdb',\n SECRETSMANAGER: 'secretsmanager',\n SECURITYHUB: 'securityhub',\n SECURITYLAKE: 'securitylake',\n SERVERLESSREPO: 'serverlessrepo',\n SERVICECATALOG: 'servicecatalog',\n SERVICECATALOGAPPREGISTRY: 'servicecatalog-appregistry',\n SERVICEDISCOVERY: 'servicediscovery',\n SERVICEQUOTAS: 'service-quotas',\n SES: 'ses',\n SESV2: 'sesv2',\n SHIELD: 'shield',\n SIGNER: 'signer',\n SIMSPACEWEAVER: 'simspaceweaver',\n SMS: 'sms',\n SMSVOICE: 'sms-voice',\n SNOWBALL: 'snowball',\n SNOWDEVICEMANAGEMENT: 'snow-device-management',\n SNOWFLAKE: 'snowflake', // special service that is about our snowflake emulator\n SNS: 'sns',\n SQS: 'sqs',\n SSM: 'ssm',\n SSMCONTACTS: 'ssm-contacts',\n SSMINCIDENTS: 'ssm-incidents',\n SSMSAP: 'ssm-sap',\n SSO: 'sso',\n SSOADMIN: 'sso-admin',\n SSOOIDC: 'sso-oidc',\n STEPFUNCTIONS: 'stepfunctions',\n STORAGEGATEWAY: 'storagegateway',\n STS: 'sts',\n SUPPORT: 'support',\n SUPPORTAPP: 'support-app',\n SWF: 'swf',\n SYNTHETICS: 'synthetics',\n TEXTRACT: 'textract',\n TIMESTREAMQUERY: 'timestream-query',\n TIMESTREAMWRITE: 'timestream-write',\n TNB: 'tnb',\n TRANSCRIBE: 'transcribe',\n TRANSFER: 'transfer',\n TRANSLATE: 'translate',\n TRUSTEDADVISOR: 'trustedadvisor',\n VERIFIEDPERMISSIONS: 'verifiedpermissions',\n VOICEID: 'voice-id',\n VPCLATTICE: 'vpc-lattice',\n WAF: 'waf',\n WAFREGIONAL: 'waf-regional',\n WAFV2: 'wafv2',\n WELLARCHITECTED: 'wellarchitected',\n WISDOM: 'wisdom',\n WORKDOCS: 'workdocs',\n WORKLINK: 'worklink',\n WORKMAIL: 'workmail',\n WORKMAILMESSAGEFLOW: 'workmailmessageflow',\n WORKSPACES: 'workspaces',\n WORKSPACESWEB: 'workspaces-web',\n XRAY: 'xray',\n} as const\n\nexport type SERVICE_NAME = (typeof SERVICE_NAME)[keyof typeof SERVICE_NAME]\n","import * as React from \"react\";\nconst SvgAccount = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 40 40\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture-Group/32/AWS-Account_32\"}</title><g id=\"Icon-Architecture-Group/32/AWS-Account_32\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"#e7157b\" d=\"M0 0h40v40H0z\" /><path id=\"Fill-1\" fill=\"#fff\" d=\"M24.5 22c1.93 0 3.5 1.57 3.5 3.5S26.43 29 24.5 29 21 27.43 21 25.5s1.57-3.5 3.5-3.5m0 8c2.481 0 4.5-2.019 4.5-4.5S26.981 21 24.5 21a4.505 4.505 0 0 0-4.5 4.5c0 2.481 2.019 4.5 4.5 4.5m1.523-19.12L29.084 17h-6.121zM22.154 18h7.739a.502.502 0 0 0 .447-.724l-3.869-7.738c-.17-.338-.725-.338-.895 0l-3.869 7.738a.503.503 0 0 0 .447.724M11 23h7v-7h-7zm-.5 1h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5M8 32h24V8H8zM32.5 7h-25a.5.5 0 0 0-.5.5v25a.5.5 0 0 0 .5.5h25a.5.5 0 0 0 .5-.5v-25a.5.5 0 0 0-.5-.5\" /></g></svg>;\nexport default SvgAccount;","import * as React from \"react\";\nconst SvgAcmPca = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Private-Certificate-Authority_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-Private-Certificate-Authority_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"#dd344c\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Fill-8\" fill=\"#fff\" d=\"M67 17h-3v2h2v47h-5v2h6a1 1 0 0 0 1-1V18a1 1 0 0 0-1-1M19 64h-2v3a1 1 0 0 0 1 1h35v-2H19zm16.5-24a1 1 0 0 0 .707-.293l8-8-1.414-1.414-7.293 7.293-3.293-3.293-1.414 1.414 4 4A1 1 0 0 0 35.5 40M26 34.5C26 40.841 31.159 46 37.5 46S49 40.841 49 34.5 43.841 23 37.5 23 26 28.159 26 34.5m-2 0C24 27.056 30.056 21 37.5 21S51 27.056 51 34.5 44.944 48 37.5 48 24 41.944 24 34.5M14 17h46v-3H14zm46 43V19H14v41h34v2H13a1 1 0 0 1-1-1V13a1 1 0 0 1 1-1h48a1 1 0 0 1 1 1v48a1 1 0 0 1-1 1h-5v-2zm-33-3v-9h2v7.473l8.101-3.533a1 1 0 0 1 .798 0L46 55.473V48h2v9a1 1 0 0 1-1.399.917L37.5 53.948l-9.101 3.969A.999.999 0 0 1 27 57\" /></g></svg>;\nexport default SvgAcmPca;","import * as React from \"react\";\nconst SvgAcm = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 40 40\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/32/Arch_AWS-Certificate-Manager_32\"}</title><defs><linearGradient id=\"linearGradient-acm\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/32/Arch_AWS-Certificate-Manager_32\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/32/Security-Identity-Compliance\" fill=\"url(#linearGradient-acm)\"><path id=\"Rectangle\" d=\"M0 0h40v40H0z\" /></g><path id=\"AWS-Certificate-Manager_Icon_32_Squid\" fill=\"#fff\" d=\"M17.832 19.63c.133.12.19.3.152.476l-.513 2.362 2.27-1.391a.5.5 0 0 1 .52 0l2.252 1.388-.498-2.367a.5.5 0 0 1 .15-.47l2.014-1.84-2.665-.515a.5.5 0 0 1-.352-.27l-1.166-2.387-1.194 2.394a.5.5 0 0 1-.35.265l-2.657.518zm-1.58 3.765.701-3.22-2.562-2.312a.498.498 0 0 1 .237-.856l3.393-.66 1.534-3.075c.085-.17.286-.306.447-.276.19.001.362.11.445.28l1.5 3.068 3.39.656a.498.498 0 0 1 .241.854l-2.533 2.316.68 3.223a.498.498 0 0 1-.748.525L20 22.083l-3.002 1.84a.49.49 0 0 1-.548-.018.5.5 0 0 1-.198-.51m16.727-13.3-.003-2.101H6.994v2.101zM34 32.502a.496.496 0 0 1-.497.498h-3.566v-.994h3.07L32.98 11.09H6.994v20.917h18.968V33H6.497a.5.5 0 0 1-.352-.145.5.5 0 0 1-.145-.352V7.497C6 7.223 6.222 7 6.497 7H33.47c.276 0 .497.223.497.497zm-22.942-2.527h3.974v-.993h-3.974zm5.962.023h6.955v-.993H17.02zm-5.962-3h3.974v-.993h-3.974zm5.962 0h10.93v-.993H17.02z\" /></g></svg>;\nexport default SvgAcm;","import * as React from \"react\";\nconst SvgAmplify = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Amplify-Console_64\"}</title><defs><linearGradient id=\"linearGradient-amp\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Amplify-Console_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Mobile\" fill=\"url(#linearGradient-amp)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Amplify-Console_Icon_64_Squid\" fill=\"#fff\" d=\"M59.61 59.179 39.508 20h5.75l20.106 39.179zm8.279.543-21.13-41.178a1 1 0 0 0-.89-.544h-8a1 1 0 0 0-.89 1.457l21.13 41.179c.172.333.516.543.89.543h8a.998.998 0 0 0 .89-1.457m-20.29-.543L32.215 30.332l3.15-5.211 17.976 34.058zm-11.29-36.555a1 1 0 0 0-.854-.533 1 1 0 0 0-.885.482l-4.36 7.211a1 1 0 0 0-.028.988L46.117 60.65c.174.325.514.529.883.529h8a1 1 0 0 0 .884-1.467zM14.774 59.179 28.885 35.84l2.875 5.389-6.626 11.449A1.002 1.002 0 0 0 26 54.179h12.667l2.666 5zm25.376-6.471a1 1 0 0 0-.883-.529H27.734l6.035-10.429a1 1 0 0 0 .018-.971l-3.964-7.433a1 1 0 0 0-.856-.529.96.96 0 0 0-.882.482L12.144 59.661A1.003 1.003 0 0 0 13 61.179h30a1 1 0 0 0 .882-1.471z\" /></g></svg>;\nexport default SvgAmplify;","import * as React from \"react\";\nconst SvgApigateway = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_ Amazon-API-Gateway_64\"}</title><defs><linearGradient id=\"linearGradient-agw\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_-Amazon-API-Gateway_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-agw)\" d=\"M0 0h80v80H0z\" /><g id=\"Icon-Service/64/Amazon-API-Gateway_64\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Amazon-API-Gateway_Icon_64_Squid\" d=\"M26.065 47.632H29v-2.017h-2.935zm4.935 0h3v-2.017h-3zM19 6.63 6 13.082v40.111l13 4.397zm2 12.764v26.222h3v2.017h-3v11.36c0 .324-.155.629-.416.818a1 1 0 0 1-.902.138l-15-5.072A1.01 1.01 0 0 1 4 53.92V12.454c0-.384.217-.735.559-.905l15-7.445a.99.99 0 0 1 .969.049c.293.183.472.507.472.856v12.367h3v2.017zm15 28.24h3v-2.018h-3zm.065-28.24H39v-2.017h-2.935zm-5 0H34v-2.017h-2.935zm-5 0H29v-2.017h-2.935zM58 13.083 45 6.628v50.96l13-4.396zm2 40.837c0 .432-.274.817-.682.956l-15 5.072a.99.99 0 0 1-.902-.138 1.01 1.01 0 0 1-.416-.819V47.632h-1.935v-2.017H43V19.393h-1.935v-2.017H43V5.01c0-.35.179-.673.472-.856a.99.99 0 0 1 .969-.049l15 7.445c.342.17.559.521.559.905zM34.934 25.807l-1.868-.724-5 13.11 1.868.725zm6.773 6.402a1.013 1.013 0 0 0 0-1.426l-4-4.034-1.414 1.426 3.293 3.32-3.293 3.322 1.414 1.426zm-15.414 4.034-4-4.034a1.013 1.013 0 0 1 0-1.426l4-4.034 1.414 1.426-3.293 3.32 3.293 3.322z\" /></g></g></svg>;\nexport default SvgApigateway;","import * as React from \"react\";\nconst SvgApigatewaymanagementapi = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_ Amazon-API-Gateway_64\"}</title><defs><linearGradient id=\"linearGradient-agw\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_-Amazon-API-Gateway_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-agw)\" d=\"M0 0h80v80H0z\" /><g id=\"Icon-Service/64/Amazon-API-Gateway_64\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Amazon-API-Gateway_Icon_64_Squid\" d=\"M26.065 47.632H29v-2.017h-2.935zm4.935 0h3v-2.017h-3zM19 6.63 6 13.082v40.111l13 4.397zm2 12.764v26.222h3v2.017h-3v11.36c0 .324-.155.629-.416.818a1 1 0 0 1-.902.138l-15-5.072A1.01 1.01 0 0 1 4 53.92V12.454c0-.384.217-.735.559-.905l15-7.445a.99.99 0 0 1 .969.049c.293.183.472.507.472.856v12.367h3v2.017zm15 28.24h3v-2.018h-3zm.065-28.24H39v-2.017h-2.935zm-5 0H34v-2.017h-2.935zm-5 0H29v-2.017h-2.935zM58 13.083 45 6.628v50.96l13-4.396zm2 40.837c0 .432-.274.817-.682.956l-15 5.072a.99.99 0 0 1-.902-.138 1.01 1.01 0 0 1-.416-.819V47.632h-1.935v-2.017H43V19.393h-1.935v-2.017H43V5.01c0-.35.179-.673.472-.856a.99.99 0 0 1 .969-.049l15 7.445c.342.17.559.521.559.905zM34.934 25.807l-1.868-.724-5 13.11 1.868.725zm6.773 6.402a1.013 1.013 0 0 0 0-1.426l-4-4.034-1.414 1.426 3.293 3.32-3.293 3.322 1.414 1.426zm-15.414 4.034-4-4.034a1.013 1.013 0 0 1 0-1.426l4-4.034 1.414 1.426-3.293 3.32 3.293 3.322z\" /></g></g></svg>;\nexport default SvgApigatewaymanagementapi;","import * as React from \"react\";\nconst SvgApigatewayv2 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_ Amazon-API-Gateway_64\"}</title><defs><linearGradient id=\"linearGradient-agw\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_-Amazon-API-Gateway_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-agw)\" d=\"M0 0h80v80H0z\" /><g id=\"Icon-Service/64/Amazon-API-Gateway_64\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Amazon-API-Gateway_Icon_64_Squid\" d=\"M26.065 47.632H29v-2.017h-2.935zm4.935 0h3v-2.017h-3zM19 6.63 6 13.082v40.111l13 4.397zm2 12.764v26.222h3v2.017h-3v11.36c0 .324-.155.629-.416.818a1 1 0 0 1-.902.138l-15-5.072A1.01 1.01 0 0 1 4 53.92V12.454c0-.384.217-.735.559-.905l15-7.445a.99.99 0 0 1 .969.049c.293.183.472.507.472.856v12.367h3v2.017zm15 28.24h3v-2.018h-3zm.065-28.24H39v-2.017h-2.935zm-5 0H34v-2.017h-2.935zm-5 0H29v-2.017h-2.935zM58 13.083 45 6.628v50.96l13-4.396zm2 40.837c0 .432-.274.817-.682.956l-15 5.072a.99.99 0 0 1-.902-.138 1.01 1.01 0 0 1-.416-.819V47.632h-1.935v-2.017H43V19.393h-1.935v-2.017H43V5.01c0-.35.179-.673.472-.856a.99.99 0 0 1 .969-.049l15 7.445c.342.17.559.521.559.905zM34.934 25.807l-1.868-.724-5 13.11 1.868.725zm6.773 6.402a1.013 1.013 0 0 0 0-1.426l-4-4.034-1.414 1.426 3.293 3.32-3.293 3.322 1.414 1.426zm-15.414 4.034-4-4.034a1.013 1.013 0 0 1 0-1.426l4-4.034 1.414 1.426-3.293 3.32 3.293 3.322z\" /></g></g></svg>;\nexport default SvgApigatewayv2;","import * as React from \"react\";\nconst SvgAppconfig = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-App-Config_64\"}</title><defs><linearGradient id=\"linearGradient-1\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-App-Config_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Management-Governance\" fill=\"url(#linearGradient-1)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-App-Config_Icon_64_Squid\" fill=\"#fff\" d=\"M50.871 37.366c0 4.687-3.813 8.5-8.5 8.5s-8.5-3.813-8.5-8.5 3.813-8.5 8.5-8.5 8.5 3.813 8.5 8.5m2 0c0-5.79-4.71-10.5-10.5-10.5s-10.5 4.71-10.5 10.5 4.71 10.5 10.5 10.5 10.5-4.71 10.5-10.5M47.91 62.418a1 1 0 0 0 .272-.744l-.183-3.201a21.7 21.7 0 0 0 5.266-2.182l2.135 2.394c.183.205.443.326.718.334a.94.94 0 0 0 .735-.293l6.849-6.848a1 1 0 0 0-.041-1.453l-2.402-2.142a21.7 21.7 0 0 0 2.178-5.26l3.212.184a.997.997 0 0 0 1.058-.998v-9.685a1.005 1.005 0 0 0-1.057-.999l-3.216.183a21.7 21.7 0 0 0-2.179-5.255l2.406-2.146a1 1 0 0 0 .041-1.453l-6.849-6.848a.96.96 0 0 0-.735-.293 1 1 0 0 0-.718.334l-2.153 2.413a21.6 21.6 0 0 0-5.248-2.176l.183-3.227a1 1 0 0 0-.272-.743 1 1 0 0 0-.727-.314h-9.684a1 1 0 0 0-.998 1.057l.182 3.225a21.7 21.7 0 0 0-5.251 2.174l-2.15-2.409a1 1 0 0 0-.718-.334.98.98 0 0 0-.735.293l-6.849 6.848a1.002 1.002 0 0 0 .041 1.453l2.412 2.151a21.7 21.7 0 0 0-2.182 5.25l-3.219-.183a1 1 0 0 0-1.057.999v9.685a1 1 0 0 0 1.059.998l3.951-.231-.117-1.997-2.893.17v-7.567l2.991.17c.488.024.923-.301 1.032-.777a19.7 19.7 0 0 1 2.565-6.176 1 1 0 0 0-.179-1.281l-2.241-1.999 5.352-5.351 1.997 2.239a1 1 0 0 0 1.279.179 19.7 19.7 0 0 1 6.178-2.556 1 1 0 0 0 .778-1.033L38.558 14h7.567l-.17 2.999a1 1 0 0 0 .777 1.033 19.6 19.6 0 0 1 6.174 2.559c.411.258.954.185 1.28-.18l2.001-2.243 5.352 5.351-2.235 1.994a1 1 0 0 0-.18 1.28 19.7 19.7 0 0 1 2.562 6.181 1.01 1.01 0 0 0 1.033.778l2.988-.17v7.568l-2.984-.171a1.01 1.01 0 0 0-1.034.778 19.7 19.7 0 0 1-2.561 6.185 1 1 0 0 0 .18 1.28l2.231 1.99-5.351 5.352-1.984-2.224a1 1 0 0 0-1.28-.18 19.7 19.7 0 0 1-6.192 2.565 1 1 0 0 0-.777 1.033l.17 2.973h-7.534l.136-1.546-1.992-.176-.232 2.634a1 1 0 0 0 .996 1.088h9.684a1 1 0 0 0 .727-.313m-10.809-7.864-1.375-1.452-12.511 11.854 1.375 1.452zm-11.855-7.9-1.371-1.456L12.68 55.735l1.371 1.456zM13.414 67.706 12 66.292l19.756-19.756 1.414 1.414z\" /></g></svg>;\nexport default SvgAppconfig;","import * as React from \"react\";\nconst SvgApplicationAutoscaling = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Auto-Scaling_16\"}</title><defs><linearGradient id=\"linearGradient-asc\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Auto-Scaling_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Management-Governance\" fill=\"url(#linearGradient-asc)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Auto-Scaling_Icon_16_Squid\" fill=\"#fff\" d=\"M10.987 13.484h3v-3h-3zm3.5-4a.5.5 0 0 1 .5.5v4c0 .277-.223.5-.5.5h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5zM20 11.46h-1.949l1.337-1.644-.776-.63-2 2.46a.5.5 0 0 0-.005.623l2 2.541.786-.618-1.363-1.732H20zM6.388 9.185l-.776.63 1.337 1.644H5v1h1.97l-1.363 1.732.786.618 2-2.54a.5.5 0 0 0-.005-.625zm6.599 8.278V15.5h-1v1.956l-1.674-1.346-.626.78 2.487 2a.5.5 0 0 0 .625.001l2.513-2-.624-.782zM10.313 7.89l-.626-.78 2.487-2a.5.5 0 0 1 .624-.001l2.513 1.988-.622.784-1.702-1.347V8.5h-1V6.543z\" /></g></svg>;\nexport default SvgApplicationAutoscaling;","import * as React from \"react\";\nconst SvgAppsync = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-AppSync_64\"}</title><defs><linearGradient id=\"linearGradient-app\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-AppSync_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Application-Integration\" fill=\"url(#linearGradient-app)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><g id=\"Icon-Service/64/AWS-AppSync\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"AWS-AppSync-Icon_64_Squid\" d=\"m58.52 19.98-5.506-1.39c5.464 9.526 4.596 22.01-2.388 30.012C45.854 54.071 38.772 57 31.652 57c-4.143 0-8.299-.992-12.021-3.051l.952-1.758c9.329 5.163 21.606 3.05 28.556-4.914 6.46-7.4 7.225-18.982 2.1-27.795l-1.429 5.78-1.922-.486 1.982-8.014a.987.987 0 0 1 1.201-.728L59 18.037zM12.758 43.588 14.19 37.8l1.922.486L14.13 46.3a.99.99 0 0 1-1.201.73L5 45.025l.48-1.944 5.497 1.389c-5.421-9.366-4.536-20.968 2.482-29.01 7.658-8.772 20.658-11.02 30.911-5.345l-.952 1.757c-9.449-5.228-21.423-3.162-28.472 4.914-6.475 7.42-7.261 18.156-2.188 26.8m10.638-7.867c1.267 0 2.298 1.042 2.298 2.323s-1.031 2.322-2.298 2.322-2.298-1.042-2.298-2.322 1.03-2.323 2.298-2.323m7.468-8.87c.364.101.74.173 1.136.173.372 0 .726-.063 1.07-.154l3.698 7.984a4.3 4.3 0 0 0-1.286 2.188h-7.934a4.3 4.3 0 0 0-1.253-2.16zM32 20.374c1.268 0 2.298 1.041 2.298 2.322S33.268 25.02 32 25.02c-1.267 0-2.297-1.042-2.297-2.323s1.03-2.322 2.297-2.322m9.932 17.668c0 1.28-1.03 2.322-2.298 2.322-1.267 0-2.298-1.042-2.298-2.322s1.03-2.323 2.298-2.323c1.267 0 2.298 1.042 2.298 2.323M23.396 42.37c2.017 0 3.703-1.423 4.152-3.324h7.934c.45 1.901 2.135 3.324 4.152 3.324 2.36 0 4.28-1.94 4.28-4.326s-1.92-4.327-4.28-4.327c-.392 0-.765.072-1.125.172l-3.688-7.963a4.32 4.32 0 0 0 1.46-3.228c0-2.386-1.921-4.326-4.281-4.326s-4.28 1.94-4.28 4.326a4.32 4.32 0 0 0 1.408 3.184l-4.563 8.02a4.2 4.2 0 0 0-1.169-.185c-2.36 0-4.28 1.94-4.28 4.327 0 2.385 1.92 4.326 4.28 4.326\" /></g></g></svg>;\nexport default SvgAppsync;","import * as React from \"react\";\nconst SvgAthena = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Athena_64\"}</title><defs><linearGradient id=\"linearGradient-ath\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Athena_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-ath)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Athena_Icon_64_Squid\" fill=\"#fff\" d=\"M38.295 27.227c4.492 0 6.953 1.006 7.401 1.51-.448.506-2.909 1.512-7.4 1.512-4.493 0-6.954-1.006-7.402-1.511.448-.505 2.909-1.511 7.401-1.511m-.511 8.055a.509.509 0 0 1 .222-.96c.08 0 .154.022.223.058zm5.783 8.309c-.074.06-.245.177-.596.318a8 8 0 0 1-1.103.337c-1.115.262-2.487.406-3.863.406-3.008 0-5.104-.65-5.556-1.053L31.116 31.15c2.044.836 5.054 1.113 7.18 1.113 2.088 0 5.033-.269 7.076-1.073l-.797 5.475c-1.502-.567-3.376-1.389-5.151-2.253a1.484 1.484 0 0 0-1.418-1.088c-.818 0-1.483.676-1.483 1.505 0 .831.665 1.506 1.483 1.506.194 0 .378-.04.547-.109 2.481 1.225 4.33 2.011 5.722 2.496zM28.872 28.847l1.607 15.003c.113 2.784 7.22 2.817 7.526 2.817 1.522 0 3.052-.164 4.31-.458.515-.12.981-.264 1.385-.426 1.174-.471 1.789-1.114 1.832-1.909l.669-4.598c.455.094.827.135 1.124.135.934 0 1.18-.383 1.35-.647.179-.278.23-.62.147-.963-.19-.79-1.305-1.83-2.05-2.447l.941-6.469-.009-.001c.004-.05.02-.096.02-.146 0-2.784-5.927-3.526-9.429-3.526s-9.43.742-9.43 3.526c0 .037.014.07.016.108zm8.964-8.787c8.65 0 15.689 7.144 15.689 15.925 0 8.78-7.038 15.924-15.69 15.924s-15.69-7.143-15.69-15.924 7.038-15.925 15.69-15.925m-24.85 21.775v2.015h8.932v-.12c2.856 6.02 8.908 10.194 15.918 10.194 9.744 0 17.674-8.047 17.674-17.94 0-9.892-7.93-17.94-17.674-17.94-7.583 0-14.045 4.88-16.55 11.701h-8.3v2.015h7.69a18 18 0 0 0-.506 4.03H11v2.015h9.252c.14 1.4.454 2.743.893 4.03zm54.094 24.2c-1.201 1.221-3.283 1.228-4.483.011L51.933 55.221a24 24 0 0 0 4.56-4.545l10.599 10.81c.596.606.925 1.414.923 2.273a3.21 3.21 0 0 1-.935 2.276m1.417-5.972L57.662 49.01a24.1 24.1 0 0 0 3.803-13.025c0-13.226-10.6-23.985-23.63-23.985-9.362 0-17.852 5.62-21.631 14.317l1.816.812c3.461-7.966 11.239-13.114 19.816-13.114 11.935 0 21.644 9.855 21.644 21.97 0 12.113-9.71 21.97-21.644 21.97-7.974 0-15.279-4.43-19.067-11.561l-1.747.957c4.134 7.783 12.11 12.618 20.814 12.618a23.2 23.2 0 0 0 12.424-3.595l10.934 11.098A5.07 5.07 0 0 0 64.828 69c1.38 0 2.679-.547 3.653-1.537a5.23 5.23 0 0 0 1.519-3.7 5.22 5.22 0 0 0-1.503-3.7\" /></g></svg>;\nexport default SvgAthena;","import * as React from \"react\";\nconst SvgAutoscaling = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Auto-Scaling_16\"}</title><defs><linearGradient id=\"linearGradient-asc\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Auto-Scaling_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Management-Governance\" fill=\"url(#linearGradient-asc)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Auto-Scaling_Icon_16_Squid\" fill=\"#fff\" d=\"M10.987 13.484h3v-3h-3zm3.5-4a.5.5 0 0 1 .5.5v4c0 .277-.223.5-.5.5h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5zM20 11.46h-1.949l1.337-1.644-.776-.63-2 2.46a.5.5 0 0 0-.005.623l2 2.541.786-.618-1.363-1.732H20zM6.388 9.185l-.776.63 1.337 1.644H5v1h1.97l-1.363 1.732.786.618 2-2.54a.5.5 0 0 0-.005-.625zm6.599 8.278V15.5h-1v1.956l-1.674-1.346-.626.78 2.487 2a.5.5 0 0 0 .625.001l2.513-2-.624-.782zM10.313 7.89l-.626-.78 2.487-2a.5.5 0 0 1 .624-.001l2.513 1.988-.622.784-1.702-1.347V8.5h-1V6.543z\" /></g></svg>;\nexport default SvgAutoscaling;","import * as React from \"react\";\nconst SvgBackup = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Backup_64\"}</title><defs><linearGradient id=\"linearGradient-bak\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Backup_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Storage\" fill=\"url(#linearGradient-bak)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Backup_Icon_64_Squid\" fill=\"#fff\" d=\"M52.241 40.363a11.4 11.4 0 0 1-2.156 8.522 11.41 11.41 0 0 1-7.551 4.502q-.845.123-1.683.122a11.4 11.4 0 0 1-6.839-2.278 11.4 11.4 0 0 1-4.624-9.139l2-.014a9.43 9.43 0 0 0 3.819 7.549 9.4 9.4 0 0 0 7.038 1.781 9.42 9.42 0 0 0 6.236-3.718 9.42 9.42 0 0 0 1.781-7.038 9.43 9.43 0 0 0-3.717-6.237c-3.563-2.655-8.796-2.272-12.213.581l1.667-.002.002 2-4 .006H32a.997.997 0 0 1-1-1v-3.987h2v1.5a12.4 12.4 0 0 1 5.968-2.733c3.157-.511 6.354.229 8.772 2.032a11.4 11.4 0 0 1 4.501 7.551M54 58a5 5 0 0 0-1.362.19l-2.837-3.79-1.602 1.199 2.634 3.516A4.78 4.78 0 0 0 49.095 62H30.917c-.2-1.261-.794-2.264-1.679-2.956l2.565-3.448-1.606-1.193-2.808 3.774A6 6 0 0 0 26 58.005c-.43 0-.832.049-1.217.125l-5.819-19.447a4.26 4.26 0 0 0 2.104-1.542l4.567 1.79.73-1.862-4.507-1.767c.084-.409.142-.837.142-1.302 0-1.096-.264-2.045-.733-2.819l15.084-10.558c.671.675 1.574 1.118 2.649 1.288V27h2v-5.086c1.091-.165 1.996-.6 2.665-1.273L58.694 31.3c-.439.757-.694 1.664-.694 2.7 0 .42.056.843.16 1.259l-4.531 1.812.742 1.857 4.64-1.856a4.66 4.66 0 0 0 2.606 1.749l-7.314 19.204C54.2 58.02 54.105 58 54 58m0 8c-1.963 0-3-1.038-3-3 0-1.878 1.525-3 3-3 1.934 0 3 1.065 3 3 0 1.962-1.037 3-3 3m-28 0c-1.906 0-3-1.094-3-3 0-1.931 1.065-2.995 3-2.995 2.479 0 3 1.629 3 2.995 0 1.934-1.066 3-3 3M14 34c0-1.935 1.065-3 3-3 1.934 0 3 1.065 3 3 0 1.962-1.037 3-3 3-1.99 0-3-1.01-3-3m26-20c1.963 0 3 1.037 3 3 0 1.959-1.037 2.994-3 2.994-1.935 0-3-1.063-3-2.994 0-1.935 1.065-3 3-3m23 17c1.934 0 3 1.065 3 3 0 1.934-1.066 3-3 3-1.948 0-3-1.546-3-3 0-1.907 1.094-3 3-3m5 3c0-3.038-1.963-5-5-5-1.14 0-2.134.295-2.932.822L44.695 18.92A6 6 0 0 0 45 17c0-3.084-1.916-5-5-5-3.037 0-5 1.962-5 5 0 .699.115 1.334.312 1.908L19.837 29.741C19.059 29.265 18.103 29 17 29c-3.037 0-5 1.962-5 5 0 3.073 1.904 4.985 4.97 4.997l5.959 19.912C21.714 59.766 21 61.184 21 63c0 3.037 1.963 5 5 5 2.687 0 4.527-1.541 4.917-4h18.166c.389 2.459 2.229 4 4.917 4 3.037 0 5-1.963 5-5 0-2.183-1.026-3.796-2.723-4.539l7.435-19.52C66.333 38.651 68 36.789 68 34\" /></g></svg>;\nexport default SvgBackup;","import * as React from \"react\";\nconst SvgBatch = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Batch_64\"}</title><defs><linearGradient id=\"linearGradient-bat\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Batch_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Compute\" fill=\"url(#linearGradient-bat)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Batch_Icon_64_Squid\" fill=\"#fff\" d=\"M40.226 58.897c1.239 0 2.245.997 2.245 2.227a2.237 2.237 0 0 1-2.245 2.227 2.237 2.237 0 0 1-2.245-2.227 2.237 2.237 0 0 1 2.245-2.227M21.3 40.876a2.237 2.237 0 0 1-2.245 2.227 2.237 2.237 0 0 1-2.245-2.227 2.237 2.237 0 0 1 2.245-2.227c1.24 0 2.245.998 2.245 2.227M61.38 66c-2.582 0-4.604-1.934-4.604-4.402 0-2.518 2.066-4.567 4.604-4.567 2.54 0 4.605 2.049 4.605 4.567 0 2.468-2.022 4.402-4.605 4.402m-4.604-25c0-2.518 2.066-4.567 4.604-4.567 2.54 0 4.605 2.049 4.605 4.567s-2.066 4.567-4.605 4.567c-2.538 0-4.604-2.049-4.604-4.567m-16.55 4.567c-2.539 0-4.603-2.049-4.603-4.567s2.064-4.567 4.604-4.567S44.83 38.482 44.83 41s-2.065 4.567-4.604 4.567M45.266 61c0 2.851-2.166 5-5.04 5s-5.04-2.149-5.04-5 2.166-5 5.04-5 5.04 2.149 5.04 5M34.177 21c0-3.14 2.882-6 6.049-6 3.166 0 6.048 2.86 6.048 6s-2.882 6-6.048 6-6.049-2.86-6.049-6m-15.12 25c-2.875 0-5.04-2.149-5.04-5 0-2.894 2.26-5.248 5.04-5.248 2.779 0 5.04 2.354 5.04 5.248 0 2.851-2.167 5-5.04 5m4.588 15.564c0 2.487-2.022 4.436-4.605 4.436-2.581 0-4.604-1.949-4.604-4.436 0-2.519 2.066-4.567 4.604-4.567 2.54 0 4.605 2.048 4.605 4.567m38.742-6.449v-7.633C65.56 46.999 68 44.28 68 41c0-3.621-2.97-6.567-6.621-6.567-3.306 0-6.047 2.42-6.534 5.567H46.76c-.436-2.82-2.683-5.049-5.526-5.482v-5.595c3.86-.526 7.056-3.999 7.056-7.923 0-4.262-3.768-8-8.064-8s-8.065 3.738-8.065 8c0 3.924 3.197 7.397 7.057 7.923v5.595c-2.843.433-5.09 2.662-5.526 5.482h-7.654c-.478-3.523-3.422-6.248-6.982-6.248C15.166 33.752 12 37.004 12 41c0 3.584 2.587 6.451 6.048 6.924v7.155c-3.179.477-5.628 3.199-5.628 6.485 0 3.609 2.909 6.436 6.62 6.436 3.713 0 6.621-2.827 6.621-6.436 0-3.275-2.431-5.99-5.596-6.48v-7.16c3.13-.428 5.54-2.817 5.971-5.924h7.656c.436 2.82 2.683 5.049 5.526 5.482v6.594c-3.462.473-6.049 3.34-6.049 6.924 0 3.925 3.1 7 7.057 7 3.956 0 7.056-3.075 7.056-7 0-3.584-2.586-6.451-6.048-6.924v-6.594c2.843-.433 5.09-2.662 5.526-5.482h8.085c.437 2.82 2.683 5.049 5.526 5.482v7.633c-3.171.484-5.612 3.203-5.612 6.483 0 3.59 2.908 6.402 6.62 6.402S68 65.188 68 61.598c0-3.28-2.44-5.999-5.613-6.483\" /></g></svg>;\nexport default SvgBatch;","import * as React from \"react\";\nconst SvgBedrock = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Bedrock_64\"}</title><g id=\"Icon-Architecture/64/Arch_Amazon-Bedrock_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Machine-Learning\" fill=\"#01a88d\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><g id=\"Icon-Service/64/Amazon-Bedrock_64\" fill=\"#fff\" transform=\"translate(12 12)\"><path id=\"Fill-1\" d=\"M52 27c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2M20.113 53.908l-3.248-1.894 6.665-4.166-1.06-1.696-7.557 4.723L9 47.425v-8.89l5.555-3.703-1.11-1.664-5.486 3.657L2 33.42v-4.84l6.496-3.712-.992-1.736L2 26.277V22.58l6-3.428 6 3.428v3.854l-4.515 2.709 1.03 1.714L15 28.166l4.485 2.69 1.03-1.713L16 26.433v-3.898l5.555-3.703c.278-.186.445-.498.445-.832v-7h-2v6.465l-5.041 3.36L9 17.42V8.574l5-2.916V14h2V4.49l4.113-2.398L28 4.72v28.713l-14.515 8.709 1.03 1.714L28 35.766v15.513zM50 38c0 1.103-.897 2-2 2s-2-.897-2-2 .897-2 2-2 2 .897 2 2M40 48c0 1.103-.897 2-2 2s-2-.897-2-2 .897-2 2-2 2 .897 2 2M39 8c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2-2-.897-2-2m13 13c-1.859 0-3.411 1.28-3.858 3H30v-5h11a1 1 0 0 0 1-1v-6.142c1.72-.447 3-2 3-3.858 0-2.206-1.794-4-4-4s-4 1.794-4 4c0 1.858 1.28 3.41 3 3.858V17H30V4a1 1 0 0 0-.684-.95l-9-3a1 1 0 0 0-.82.086l-12 7A1 1 0 0 0 7 8v9.42L.504 21.132A1 1 0 0 0 0 22v12c0 .359.192.69.504.868L7 38.58V48a1 1 0 0 0 .496.864l12 7a1 1 0 0 0 .82.085l9-3a1 1 0 0 0 .684-.95V40h7v4.143c-1.72.447-3 2-3 3.858 0 2.206 1.794 4 4 4s4-1.794 4-4c0-1.858-1.28-3.411-3-3.858V39a1 1 0 0 0-1-1h-8v-5h12.5l2.138 2.85A3.97 3.97 0 0 0 44 38c0 2.206 1.794 4 4 4s4-1.794 4-4-1.794-4-4-4a3.94 3.94 0 0 0-1.881.492L43.8 31.4a1 1 0 0 0-.8-.4H30v-5h18.142c.447 1.72 1.999 3 3.858 3 2.206 0 4-1.794 4-4s-1.794-4-4-4\" /></g></g></svg>;\nexport default SvgBedrock;","import * as React from \"react\";\nconst SvgCe = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Cost-Explorer_16\"}</title><defs><linearGradient id=\"linearGradient-ace\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Cost-Explorer_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/AWS-Cost-Management\" fill=\"url(#linearGradient-ace)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Cost-Explorer_Icon_16_Squid\" fill=\"#fff\" d=\"M18 17.989a.387.387 0 0 1-.548 0l-1.431-1.431q.308-.24.547-.548l1.431 1.431a.39.39 0 0 1 .001.548M11.983 14.1a2.13 2.13 0 0 1 2.127-2.128 2.13 2.13 0 0 1 2.127 2.128 2.13 2.13 0 0 1-2.127 2.127 2.13 2.13 0 0 1-2.127-2.127m6.724 2.634-1.645-1.645c.105-.312.175-.642.175-.989a3.13 3.13 0 0 0-3.127-3.128 3.13 3.13 0 0 0-3.127 3.128 3.13 3.13 0 0 0 3.127 3.127c.348 0 .677-.07.991-.175l1.643 1.644c.262.262.61.406.981.407h.001a1.386 1.386 0 0 0 .981-2.369M5.579 9.047c.286 0 .578.294.578.581s-.292.579-.578.579c-.287 0-.579-.292-.579-.579s.292-.581.579-.581m2.997 2.025c.287 0 .579.292.579.579 0 .286-.292.579-.579.579-.286 0-.578-.293-.578-.579 0-.287.292-.579.578-.579M12.59 7.05c.287 0 .579.292.579.579 0 .286-.292.579-.579.579s-.579-.293-.579-.579c0-.287.292-.579.579-.579M16.61 5c.287 0 .579.293.579.579 0 .287-.292.579-.579.579-.286 0-.578-.292-.578-.579 0-.286.292-.579.578-.579M6.079 11.112q.14-.051.268-.126l.666.529c-.004.045-.015.09-.015.136 0 .841.737 1.579 1.578 1.579s1.579-.738 1.579-1.579c0-.214-.049-.42-.133-.61l1.963-1.964c.188.084.393.131.605.131.841 0 1.579-.738 1.579-1.579q-.001-.147-.031-.287l1.367-.659c.29.29.684.475 1.105.475.841 0 1.579-.738 1.579-1.579S17.451 4 16.61 4c-.84 0-1.578.738-1.578 1.579 0 .072.013.141.023.211l-1.42.684a1.57 1.57 0 0 0-1.045-.424c-.841 0-1.579.738-1.579 1.579 0 .28.088.546.228.78l-1.887 1.888a1.5 1.5 0 0 0-.776-.225c-.435 0-.841.201-1.133.509l-.422-.336a1.5 1.5 0 0 0 .136-.617c0-.668-.467-1.264-1.078-1.485V4.1h-1v4.043C4.467 8.364 4 8.96 4 9.628s.467 1.263 1.079 1.484V18.1h6.031v-1H6.079z\" /></g></svg>;\nexport default SvgCe;","import * as React from \"react\";\nconst SvgCloudcontrol = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Cloud-Control-API_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-Cloud-Control-API_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"#c925d1\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><g id=\"Icon-Service/64/AWS-Cloud-Control-API_64\" fill=\"#fff\" transform=\"translate(12 18.15)\"><path id=\"Fill-1\" d=\"M2.053 28.764a7.1 7.1 0 0 1 1.712-5.556 6.94 6.94 0 0 1 5.186-2.34h24.506l-5.293 5.292 1.414 1.415 7-7a1 1 0 0 0 0-1.415l-7-7-1.414 1.415 5.293 5.293H8.951a8.94 8.94 0 0 0-6.683 3.014 9.1 9.1 0 0 0-2.2 7.123c.544 4.483 4.506 7.863 9.216 7.863h1.667v-2H9.284c-3.7 0-6.809-2.625-7.23-6.104m53.945-2.644c0 9.897-9.949 10.738-10.049 10.745l-27.368.002 5.293 5.293-1.414 1.415-7-7a1 1 0 0 1 0-1.415l7-7 1.414 1.415-5.293 5.293h27.295c.26-.023 8.122-.726 8.122-8.748 0-1.464-.274-2.784-.814-3.922-.696-1.465-1.84-2.659-3.399-3.548a11.2 11.2 0 0 0-1.876-.846 12.3 12.3 0 0 0-1.973-.512 1 1 0 0 1-.82-1.135l.005-.034a9 9 0 0 0-.256-2.125c-.534-2.09-1.902-3.498-3.754-3.859-1.794-.352-3.669.395-4.777 1.897a1 1 0 0 1-1.748-.261c-.823-2.333-2.013-4.294-3.539-5.828-1.873-1.885-7.016-5.938-14.27-2.855-4.195 1.781-7.48 6.914-7.48 11.683h-2c0-5.603 3.738-11.418 8.698-13.524 5.815-2.468 11.971-1.24 16.47 3.285 1.398 1.406 2.544 3.113 3.42 5.09 1.551-1.28 3.615-1.84 5.608-1.45 2.604.508 4.588 2.5 5.31 5.328.158.623.258 1.288.298 1.985q.741.173 1.467.426c.783.273 1.526.61 2.208.998 1.922 1.096 3.34 2.585 4.214 4.427.67 1.408 1.008 3.017 1.008 4.78\" /></g></g></svg>;\nexport default SvgCloudcontrol;","import * as React from \"react\";\nconst SvgCloudformation = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CloudFormation_64\"}</title><defs><linearGradient id=\"linearGradient-clf\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-CloudFormation_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Management-Governance\" fill=\"url(#linearGradient-clf)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-CloudFormation_Icon_64_Squid\" fill=\"#fff\" d=\"M53 39.963h5V37.96h-5zM28 51.982h5v-2.003h-5zm-10 0h7v-2.003h-7zm0-6.01h12V43.97H18zm0-12.018h9v-2.003h-9zm0 6.01h33V37.96H18zm19 22.033H14V27.945h23v8.012h2v-9.014c0-.553-.448-1.001-1-1.001H13a1 1 0 0 0-1 1.001v36.055A1 1 0 0 0 13 64h25c.552 0 1-.449 1-1.002v-20.03h-2zm31-25.038c0 6.472-5.827 8.723-8.908 9.01L43 45.971V43.97h16c.195-.023 7-.757 7-7.01 0-5.695-5.137-6.85-6.166-7.025a1 1 0 0 1-.825-1.126c-.055-3.218-2.028-4.223-2.883-4.508-1.596-.53-3.375-.023-4.316 1.24a1 1 0 0 1-1.742-.262c-.621-1.742-1.522-2.87-2.775-4.125-3.134-3.114-7.388-3.975-11.368-2.3-2.088.88-3.913 2.875-5.003 5.474l-1.844-.777c1.292-3.076 3.506-5.461 6.072-6.543 4.755-2.002 9.821-.981 13.554 2.727 1.07 1.073 1.956 2.117 2.646 3.47 1.493-1.106 3.507-1.437 5.407-.805 2.432.81 3.97 2.922 4.218 5.73 3.406.86 7.025 3.583 7.025 8.83\" /></g></svg>;\nexport default SvgCloudformation;","import * as React from \"react\";\nconst SvgCloudfront = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-CloudFront_64\"}</title><defs><linearGradient id=\"linearGradient-cfr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-CloudFront_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Networking-Content-Delivery\" fill=\"url(#linearGradient-cfr)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-CloudFront_Icon_64_Squid\" fill=\"#fff\" d=\"M55.122 52.123c0-1.654-1.346-3-3-3s-3 1.346-3 3 1.346 3 3 3 3-1.346 3-3m2 0c0 2.757-2.243 5-5 5s-5-2.243-5-5 2.243-5 5-5 5 2.243 5 5m-26.73-14.431c0-1.654-1.346-3-3-3-1.655 0-3 1.346-3 3s1.345 3 3 3c1.654 0 3-1.346 3-3m2 0c0 2.757-2.244 5-5 5-2.757 0-5-2.243-5-5s2.243-5 5-5c2.756 0 5 2.243 5 5m7.338-15.685c0 1.654 1.346 3 3 3 1.655 0 3-1.346 3-3 0-1.655-1.345-3-3-3-1.654 0-3 1.345-3 3m-2 0c0-2.757 2.244-5 5-5 2.757 0 5 2.243 5 5s-2.243 5-5 5c-2.756 0-5-2.243-5-5M66 40c0-9.273-4.972-17.852-12.988-22.491-1.437.29-2.827.687-4.561 1.314l-.68-1.881c.905-.326 1.715-.59 2.495-.816A25.95 25.95 0 0 0 40 14c-1.689 0-3.351.175-4.975.492a32 32 0 0 1 3.232 2.142l-1.209 1.593c-1.428-1.082-2.908-1.999-4.851-3.017-9.819 3.088-16.891 11.748-18.014 21.918a35 35 0 0 1 6.231-.698l.049 1.999c-2.3.057-4.276.301-6.436.776-.009.265-.027.533-.027.795a25.94 25.94 0 0 0 11.327 21.447c-1.253-3.731-1.877-7.257-1.877-10.701 0-1.964.338-3.577.695-5.284.083-.395.167-.797.249-1.214l1.963.387q-.127.635-.254 1.238c-.35 1.672-.653 3.116-.653 4.873 0 3.908.858 7.949 2.604 12.337A25.7 25.7 0 0 0 40 66c2.756 0 5.446-.44 8.012-1.286a33.5 33.5 0 0 0 2.378-6.015l1.921.557a36 36 0 0 1-1.602 4.421 25.4 25.4 0 0 0 4.574-2.672 36 36 0 0 0-1.124-2.506l1.789-.895c.348.696.667 1.408.972 2.124C62.705 54.775 66 47.66 66 40m2 0c0 8.727-3.966 16.799-10.879 22.149a27.5 27.5 0 0 1-5.532 3.323c-.833.378-1.681.728-2.553 1.022A27.5 27.5 0 0 1 40 68c-4.6 0-9.168-1.146-13.212-3.314A27.95 27.95 0 0 1 12 40c0-.686.018-1.208.059-1.691.681-11.684 8.697-21.797 19.942-25.143A27.7 27.7 0 0 1 40 12a27.87 27.87 0 0 1 13.684 3.579A28.03 28.03 0 0 1 68 40M37.314 25.463 36 23.956c-2.242 1.956-3.986 4.033-6.023 7.17l1.678 1.089c1.928-2.971 3.568-4.927 5.659-6.752m-3.039 12.964-.65 1.891c4.593 1.577 8.6 4.093 12.609 7.918l1.381-1.447c-4.226-4.031-8.465-6.688-13.34-8.362m13.371-11.759c3.752 5.722 5.865 12.003 6.279 18.67l-1.996.124c-.393-6.316-2.396-12.27-5.954-17.697z\" /></g></svg>;\nexport default SvgCloudfront;","import * as React from \"react\";\nconst SvgCloudtrail = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Cloud-Trail_64\"}</title><defs><linearGradient id=\"linearGradient-ctr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Cloud-Trail_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Management-Governance\" fill=\"url(#linearGradient-ctr)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Cloud-Trail_Icon_64_Squid\" fill=\"#fff\" d=\"M25 52.996h4v-2.002h-4zm34.971-14.833c-.225-3.037-1.71-5.273-4.069-6.063-1.899-.633-3.991-.186-5.584 1.113-.966-1.905-2.418-3.771-3.616-4.953-4.296-4.24-9.034-5.322-14.086-3.215C28.106 26.922 24 33.087 24 37.981v.19c-2.707.915-4.891 2.903-5.926 5.438l1.852.757c1.319-3.23 4.406-4.244 5.321-4.477.443-.113.753-.512.753-.97v-.938c0-4.045 3.657-9.536 7.385-11.088 4.295-1.79 8.193-.882 11.913 2.792 1.582 1.56 3.129 3.876 3.762 5.633a.999.999 0 0 0 1.739.262c1.105-1.47 2.897-2.106 4.47-1.58 1.735.58 2.731 2.397 2.731 4.982a1 1 0 0 0 .836.987c.733.122 7.164 1.383 7.164 8.022 0 6.877-6.719 7.005-7 7.007H36V57h23.002C62.114 56.994 68 55.104 68 47.991c0-6.207-4.721-9.002-8.029-9.828M31 52.996h14v-2.002H31zM27 57h6v-2.002h-6zm-15 0h3v-2.002h-3zm3-8.008h9V46.99h-9zm-2 4.004h10v-2.002H13zm14-4.004h7V46.99h-7zM17 57h8v-2.002h-8z\" /></g></svg>;\nexport default SvgCloudtrail;","import * as React from \"react\";\nconst SvgCloudwatch = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-CloudWatch_64\"}</title><defs><linearGradient id=\"linearGradient-cwl\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-CloudWatch_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Management-Governance\" fill=\"url(#linearGradient-cwl)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-CloudWatch_Icon_64_Squid\" fill=\"#fff\" d=\"M55.06 46.777c0-3.909-3.202-7.09-7.138-7.09s-7.136 3.181-7.136 7.09c0 3.91 3.2 7.09 7.136 7.09s7.137-3.18 7.137-7.09m2.01 0c0 5.011-4.103 9.087-9.147 9.087-5.043 0-9.147-4.076-9.147-9.087 0-5.01 4.104-9.086 9.147-9.086s9.148 4.076 9.148 9.086m8.44 13.697L58.5 54.203a13 13 0 0 1-1.947 2.16l6.998 6.27a1.474 1.474 0 0 0 2.066-.107 1.453 1.453 0 0 0-.108-2.052m-17.588-2.812c6.043 0 10.958-4.883 10.958-10.885s-4.915-10.884-10.958-10.884c-6.041 0-10.957 4.882-10.957 10.884s4.916 10.885 10.957 10.885m19.19 6.2A3.48 3.48 0 0 1 64.529 65a3.48 3.48 0 0 1-2.322-.883L54.931 57.6a12.94 12.94 0 0 1-7.009 2.06c-7.15 0-12.967-5.779-12.967-12.882s5.817-12.881 12.967-12.881 12.969 5.779 12.969 12.881c0 2.038-.492 3.96-1.344 5.674l7.309 6.54a3.444 3.444 0 0 1 .256 4.872M21.28 29.393c0 .519.032 1.036.094 1.536a.994.994 0 0 1-.823 1.106c-2.472.634-6.54 2.553-6.54 8.31 0 4.348 2.413 6.748 4.439 7.996.691.433 1.51.664 2.373.673l12.122.011-.002 1.997-12.131-.01c-1.246-.014-2.428-.351-3.428-.977C15.377 48.797 12 45.89 12 40.345c0-6.683 4.6-9.153 7.3-10.026q-.03-.462-.03-.926c0-5.46 3.728-11.123 8.672-13.171 5.782-2.407 11.908-1.214 16.384 3.189 1.388 1.364 2.529 3.02 3.404 4.937a6.5 6.5 0 0 1 4.154-1.502c3.002 0 6.382 2.264 6.984 7.215 2.812.644 8.753 2.894 8.753 10.362 0 2.981-.941 5.444-2.798 7.319l-1.433-1.401c1.473-1.488 2.22-3.479 2.22-5.918 0-6.532-5.504-8.157-7.873-8.551a1 1 0 0 1-.823-1.157c-.329-4.055-2.753-5.872-5.03-5.872-1.437 0-2.784.695-3.697 1.907a1.006 1.006 0 0 1-1.75-.258c-.823-2.266-2.01-4.171-3.525-5.661-3.88-3.816-9.184-4.85-14.195-2.766-4.17 1.727-7.437 6.702-7.437 11.328\" /></g></svg>;\nexport default SvgCloudwatch;","import * as React from \"react\";\nconst SvgCodeartifact = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CodeArtifact_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-CodeArtifact_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"#c925d1\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><g id=\"Icon-Service/64/AWS-CodeArtifact_64\" fill=\"#fff\" transform=\"translate(13 12)\"><path id=\"AWS-CodeArtifact_Icon_64_Squid\" d=\"m23.848 34.128 5.925-13.235 1.826.818-5.925 13.234zm8.295-4.031 3.559-2.596-3.135-3.18 1.424-1.404 3.949 4.005a.999.999 0 0 1-.122 1.51l-4.495 3.28zm-8.839-5.69-3.61 2.635 3.144 3.18-1.422 1.406-3.962-4.005a1.002 1.002 0 0 1 .122-1.511l4.548-3.32zM22.152 1.721 2 13.636v23.235H0V13.066a1 1 0 0 1 .492-.861L21.134 0zM55 18.871v24.064a1 1 0 0 1-.501.867L33.873 55.678l-.998-1.733L53 42.357V18.871zM43 36.664l-15.08 8.575L13 36.496V19.172l14.91-8.573L43 19.347zm2 .582V18.771a1 1 0 0 0-.498-.866L28.414 8.579a1 1 0 0 0-1-.002l-15.912 9.15a1 1 0 0 0-.502.867v18.475c0 .355.189.683.494.863l15.913 9.325a1 1 0 0 0 1 .006l16.087-9.148a1 1 0 0 0 .506-.869\" /></g></g></svg>;\nexport default SvgCodeartifact;","import * as React from \"react\";\nconst SvgCodebuild = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CodeBuild_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-CodeBuild_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"#c925d1\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-CodeBuild_Icon_64_Squid\" fill=\"#fff\" d=\"m65.44 22-5.954-5.451L53.526 22zm-8.238-6.062-12.078.018 6.451 5.127zM51.755 33.5 42.248 37h18.287zM37.798 57h26.798V39H37.798zm11.725-35-6.586-5.234L36.396 22zm-15.214-.885 6.44-5.152-12.837.019zM32.225 22l-6.572-5.274L19.08 22h13.145m-4.352 2h-8.03l8.03 7.965zm0 11.083-9.425 8.582 9.425 9.224zm0 21.054-9.925 9.702V66h9.925zm-9.925-10.174v17.09l8.736-8.54zm0-4.539 8.672-7.896-8.672-8.6zm-.993-20.276 6.43-5.159-6.43.01zM14.97 14h-1.985v10h1.985V14m53.963 9.36a.99.99 0 0 1-.926.64H52.686v8l13.278 5.074-.001.002a1 1 0 0 1 .618.924v20c0 .552-.444 1-.992 1H36.805a.997.997 0 0 1-.992-1V38c0-.428.27-.787.646-.929l-.003-.007L50.701 32v-8H29.858v43c0 .552-.444 1-.993 1h-11.91a.997.997 0 0 1-.992-1V26h-3.97A.997.997 0 0 1 11 25V13c0-.552.445-1 .993-1h3.97c.548 0 .992.448.992 1v.999L59.633 14l9.042 8.26c.303.278.406.715.258 1.1M48.34 55.308l5.776-13.225-1.816-.806-5.777 13.225zm5.426-4.42 1.283 1.527 4.288-3.658a1.007 1.007 0 0 0 .064-1.465l-3.579-3.659-1.413 1.405 2.826 2.89zM40.87 47.984a1 1 0 0 1 .08-1.541l4.87-3.631 1.182 1.607L43.1 47.33l3.275 3.024-1.342 1.475z\" /></g></svg>;\nexport default SvgCodebuild;","import * as React from \"react\";\nconst SvgCodecommit = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CodeCommit_64\"}</title><defs><linearGradient id=\"linearGradient-com\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-CodeCommit_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"url(#linearGradient-com)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-CodeCommit_Icon_64_Squid\" fill=\"#fff\" d=\"M26.628 28.105h-2.017v-6.982c0-.558.36-.99.926-.99l7.144-.007v1.994H27.95l4.862 4.819-1.445 1.434-4.806-4.728zm28.07 10.867 1.869.827-6.541 14.446-1.868-.827zm1.311 10.493 4.003-2.89-3.526-3.535 1.458-1.422 4.36 4.373a1.002 1.002 0 0 1-.126 1.527l-4.963 3.58zm-9.043-8.802 1.205 1.633-4.061 2.932 3.538 3.536-1.454 1.424-4.374-4.373a1 1 0 0 1 .124-1.528zM69 24.13v42.858c0 .56-.458 1.012-1.024 1.012h-31.26c-.272 0-.53-.107-.723-.297a.96.96 0 0 1-.285-.7V55.034h2.018v10.971h29.256V25.113H37.726v-1.995h30.25c.566 0 1.024.453 1.024 1.012M33.182 34.588c0-1.927 1.585-3.495 3.535-3.495s3.535 1.568 3.535 3.495-1.585 3.495-3.535 3.495-3.535-1.568-3.535-3.495M17.549 66.009c-1.95 0-3.535-1.568-3.535-3.495s1.585-3.494 3.535-3.494 3.535 1.567 3.535 3.494-1.585 3.495-3.535 3.495m-3.535-23.442c0-1.927 1.585-3.495 3.535-3.495 1.982 0 3.535 1.535 3.535 3.495 0 1.927-1.585 3.495-3.535 3.495s-3.535-1.568-3.535-3.495m.004-25.081c0-1.925 1.584-3.491 3.53-3.491 1.948 0 3.532 1.566 3.532 3.49s-1.584 3.491-3.531 3.491-3.531-1.566-3.531-3.49m23.708 29.762v-7.276c2.57-.477 4.535-2.708 4.535-5.384 0-3.022-2.487-5.482-5.544-5.482s-5.545 2.46-5.545 5.482c0 2.676 1.966 4.907 4.536 5.384v7.276c0 1.163-.786 2.218-1.98 2.686l-10.451 4.1c-1.673.657-2.903 1.948-3.434 3.496-.433-.195-.801-.336-1.285-.416v-9.146c2.623-.433 4.535-2.687 4.535-5.401 0-2.764-1.878-4.972-4.535-5.393V22.889c2.626-.431 4.54-2.688 4.54-5.403 0-3.025-2.49-5.486-5.55-5.486S12 14.46 12 17.486c0 2.64 2.022 4.85 4.54 5.369v14.347c-2.515.518-4.536 2.727-4.536 5.365s2.02 4.846 4.536 5.365v9.217c-2.515.52-4.536 2.727-4.536 5.365 0 3.022 2.488 5.482 5.545 5.482s5.544-2.46 5.544-5.482a5.43 5.43 0 0 0-1.458-3.693c.167-1.27 1.066-2.384 2.397-2.905l10.45-4.1c1.98-.777 3.244-2.57 3.244-4.568\" /></g></svg>;\nexport default SvgCodecommit;","import * as React from \"react\";\nconst SvgCodeconnections = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CodeStar_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-CodeStar_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"#c925d1\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-CodeStar_Icon_64_Squid\" fill=\"#fff\" d=\"M62.95 34.806a4.116 4.116 0 0 0-2.07-7.683 4.1 4.1 0 0 0-2.055.553 4.1 4.1 0 0 0-1.924 2.5 4.08 4.08 0 0 0 .412 3.123 4.136 4.136 0 0 0 5.637 1.507m2.56 4.21.994 1.719-4.83 2.781-1.204-6.203c-1.96-.137-3.824-1.2-4.879-3.022a6.05 6.05 0 0 1-.611-4.63 6.07 6.07 0 0 1 2.85-3.703 6.08 6.08 0 0 1 4.64-.61 6.07 6.07 0 0 1 3.712 2.843 6.1 6.1 0 0 1-2.238 8.333 6 6 0 0 1-1.483.612l.634 3.27zm-6.95 12.018a4.1 4.1 0 0 0-3.13-.412 4.1 4.1 0 0 0-2.505 1.919c-.778 1.343-.69 2.938.061 4.182l.855.984-.02.017c.19.161.391.313.614.44.955.55 2.067.696 3.13.412a4.116 4.116 0 0 0 .995-7.542m3.232 6.615a6.07 6.07 0 0 1-3.712 2.843 6.086 6.086 0 0 1-4.64-.61 6 6 0 0 1-1.134-.85l-1.428 1.236 2.415 1.389-.995 1.72-4.833-2.784 3.636-3.143a6.08 6.08 0 0 1 .102-5.901 6.07 6.07 0 0 1 3.712-2.842 6.08 6.08 0 0 1 4.64.609 6.06 6.06 0 0 1 2.848 3.704 6.05 6.05 0 0 1-.61 4.629m-21.652 4.25a4.128 4.128 0 0 0-8.253 0 4.127 4.127 0 0 0 8.253 0m1.989 0c0 3.364-2.743 6.101-6.116 6.101-3.371 0-6.114-2.737-6.114-6.101 0-.473.058-.932.162-1.374l-2.564-.886v2.99H25.51v-5.777l5.313 1.838a6.112 6.112 0 0 1 11.307 3.209m-19.37-15.927a4.1 4.1 0 0 0-2.504-1.919 4.1 4.1 0 0 0-3.13.412 4.1 4.1 0 0 0-1.923 2.5 4.07 4.07 0 0 0 .413 3.123 4.1 4.1 0 0 0 2.504 1.918 4.1 4.1 0 0 0 3.131-.411 4.115 4.115 0 0 0 1.51-5.623m-.514 7.34a6.08 6.08 0 0 1-4.64.61 6.07 6.07 0 0 1-3.713-2.842 6.05 6.05 0 0 1-.61-4.63 6.06 6.06 0 0 1 2.848-3.704c.286-.165.584-.298.887-.414L16.4 39.16l-2.404 1.388L13 38.831l4.821-2.784 1.143 5.885c.6-.022 1.209.046 1.805.204a6.07 6.07 0 0 1 3.714 2.844c1.685 2.912.68 6.651-2.238 8.333m1.932-30.746a4.131 4.131 0 0 0-5.636 1.507 4.08 4.08 0 0 0-.414 3.124 4.1 4.1 0 0 0 1.924 2.5c.954.55 2.065.697 3.13.41a4.116 4.116 0 0 0 .995-7.542m3.187.448a6.093 6.093 0 0 1-3.668 9.01 6.097 6.097 0 0 1-4.64-.61 6.07 6.07 0 0 1-2.85-3.703 6.05 6.05 0 0 1 .612-4.63c1.686-2.913 5.434-3.915 8.353-2.233.33.19.631.41.912.648l2.537-2.199-2.407-1.39.996-1.718 4.816 2.783zm20.092-4.912a4.128 4.128 0 0 0-8.254 0 4.127 4.127 0 0 0 4.127 4.117 4.126 4.126 0 0 0 4.127-4.117m6.377 4.597-5.097-1.754a6.12 6.12 0 0 1-5.407 3.258c-3.373 0-6.116-2.737-6.116-6.1 0-3.365 2.743-6.103 6.116-6.103s6.116 2.738 6.116 6.102c0 .327-.033.646-.084.96l2.484.855v-2.545h1.988zm-9.829 9.927-1.821-.797-7.006 15.92 1.822.798zm7.56 7.595-5.741-5.594-1.388 1.42 4.08 3.975-4.563 3.416 1.195 1.586zm-18.109 4.045-5.74-5.593 6.417-4.804 1.194 1.587-4.562 3.415 4.079 3.976z\" /></g></svg>;\nexport default SvgCodeconnections;","import * as React from \"react\";\nconst SvgCodedeploy = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CodeDeploy_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-CodeDeploy_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"#c925d1\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-CodeDeploy_Icon_64_Squid\" fill=\"#fff\" d=\"M28 66.982h26.001v-17.15h-26zm27.001-19.168h-28c-.554 0-1 .452-1 1.009v19.168c0 .557.446 1.009 1 1.009h28c.553 0 1-.452 1-1.009V48.823c0-.557-.447-1.009-1-1.009M37.096 65.2l6.056-13.872 1.83.814-6.056 13.872zm11.441-6.688-3.406-3.344 1.394-1.447 4.246 4.169a1.016 1.016 0 0 1-.099 1.531L45.925 63l-1.197-1.615zm-17.147-.352a1.012 1.012 0 0 1 .098-1.53l4.748-3.58 1.198 1.614-3.81 2.873 3.407 3.346-1.394 1.446zM66.044 35.05c-1.92-1.872-4.472-2.903-7.19-2.903-3.542 0-6.435 1.26-8.228 3.36-.44-9.668-2.65-17.446-5.81-21.15 11.31 1.709 19.895 10.065 21.794 21.251a59 59 0 0 0-.566-.558m-17.978.347-.358-.347c-1.919-1.872-4.477-2.903-7.201-2.903-3.465 0-6.285 1.166-8.08 3.152.66-12.71 4.556-21.274 8.089-21.281h.017c3.591.022 7.554 8.884 8.11 21.95a40 40 0 0 0-.577-.57m-17.679.674a38 38 0 0 0-.845-.845l-.18-.176c-1.92-1.872-4.477-2.903-7.202-2.903-3.093 0-5.701.937-7.505 2.573 2.377-10.716 10.78-18.675 21.564-20.358-3.218 3.778-5.453 11.783-5.832 21.71M40.527 12C24.857 12 12.602 23.942 12 39.78c-.014.378.198.72.507.91l10.242 6.734 1.092-1.691-9.688-6.36c.51-2.16 2.087-3.785 4.353-4.608 1.076-.39 2.307-.6 3.653-.6 2.203 0 4.267.829 5.811 2.336l.181.176c1.38 1.344 2.196 3.799 2.196 3.808.007.061 1.37 5.155 1.37 5.155l1.929-.528-1.299-4.836.008-.123c.485-4.416 4.528-5.989 8.15-5.989 2.204 0 4.267.83 5.811 2.337 0 0 2.18 1.675 2.34 3.647l.01.134-1.312 4.827 1.93.534 1.364-5.03q.01-.057.016-.124c.271-3.854 3.482-6.325 8.19-6.325 2.195 0 4.254.83 5.798 2.337 1.2 1.17 2.046 2.056 2.28 2.927l-8.638 6.068 1.143 1.656 9.135-6.418c.249-.197.428-.905.427-.943C68.72 23.948 56.497 12.01 40.527 12\" /></g></svg>;\nexport default SvgCodedeploy;","import * as React from \"react\";\nconst SvgCodepipeline = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CodePipeline_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-CodePipeline_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"#c925d1\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-CodePipeline_Icon_64_Squid\" fill=\"#fff\" d=\"M30 31h5v-2h-5zm6.667 30.166-1.85-.759 7.592-18.522 1.85.759zm8.904-5.386 5.497-4.822-5.493-4.761 1.311-1.512 6.359 5.513a1.002 1.002 0 0 1 .004 1.508l-6.359 5.578zm-20.062-4.732a1 1 0 0 1 .338-.755l6.337-5.602 1.324 1.499-5.479 4.843 5.449 4.697-1.307 1.515-6.316-5.446a1 1 0 0 1-.346-.751M62.535 35h-44.07A3.47 3.47 0 0 1 15 31.536V31h12v-2H15V18.464A3.47 3.47 0 0 1 18.465 15h44.07A3.47 3.47 0 0 1 66 18.464V29H38v2h28v.536A3.47 3.47 0 0 1 62.535 35M22 66h36V37H22zm40.535-53h-44.07A5.47 5.47 0 0 0 13 18.464v13.072A5.47 5.47 0 0 0 18.465 37H20v30a1 1 0 0 0 1 1h38a1 1 0 0 0 1-1V37h2.535A5.47 5.47 0 0 0 68 31.536V18.464A5.47 5.47 0 0 0 62.535 13\" /></g></svg>;\nexport default SvgCodepipeline;","import * as React from \"react\";\nconst SvgCodestarConnections = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-CodeStar_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-CodeStar_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"#c925d1\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-CodeStar_Icon_64_Squid\" fill=\"#fff\" d=\"M62.95 34.806a4.116 4.116 0 0 0-2.07-7.683 4.1 4.1 0 0 0-2.055.553 4.1 4.1 0 0 0-1.924 2.5 4.08 4.08 0 0 0 .412 3.123 4.136 4.136 0 0 0 5.637 1.507m2.56 4.21.994 1.719-4.83 2.781-1.204-6.203c-1.96-.137-3.824-1.2-4.879-3.022a6.05 6.05 0 0 1-.611-4.63 6.07 6.07 0 0 1 2.85-3.703 6.08 6.08 0 0 1 4.64-.61 6.07 6.07 0 0 1 3.712 2.843 6.1 6.1 0 0 1-2.238 8.333 6 6 0 0 1-1.483.612l.634 3.27zm-6.95 12.018a4.1 4.1 0 0 0-3.13-.412 4.1 4.1 0 0 0-2.505 1.919c-.778 1.343-.69 2.938.061 4.182l.855.984-.02.017c.19.161.391.313.614.44.955.55 2.067.696 3.13.412a4.116 4.116 0 0 0 .995-7.542m3.232 6.615a6.07 6.07 0 0 1-3.712 2.843 6.086 6.086 0 0 1-4.64-.61 6 6 0 0 1-1.134-.85l-1.428 1.236 2.415 1.389-.995 1.72-4.833-2.784 3.636-3.143a6.08 6.08 0 0 1 .102-5.901 6.07 6.07 0 0 1 3.712-2.842 6.08 6.08 0 0 1 4.64.609 6.06 6.06 0 0 1 2.848 3.704 6.05 6.05 0 0 1-.61 4.629m-21.652 4.25a4.128 4.128 0 0 0-8.253 0 4.127 4.127 0 0 0 8.253 0m1.989 0c0 3.364-2.743 6.101-6.116 6.101-3.371 0-6.114-2.737-6.114-6.101 0-.473.058-.932.162-1.374l-2.564-.886v2.99H25.51v-5.777l5.313 1.838a6.112 6.112 0 0 1 11.307 3.209m-19.37-15.927a4.1 4.1 0 0 0-2.504-1.919 4.1 4.1 0 0 0-3.13.412 4.1 4.1 0 0 0-1.923 2.5 4.07 4.07 0 0 0 .413 3.123 4.1 4.1 0 0 0 2.504 1.918 4.1 4.1 0 0 0 3.131-.411 4.115 4.115 0 0 0 1.51-5.623m-.514 7.34a6.08 6.08 0 0 1-4.64.61 6.07 6.07 0 0 1-3.713-2.842 6.05 6.05 0 0 1-.61-4.63 6.06 6.06 0 0 1 2.848-3.704c.286-.165.584-.298.887-.414L16.4 39.16l-2.404 1.388L13 38.831l4.821-2.784 1.143 5.885c.6-.022 1.209.046 1.805.204a6.07 6.07 0 0 1 3.714 2.844c1.685 2.912.68 6.651-2.238 8.333m1.932-30.746a4.131 4.131 0 0 0-5.636 1.507 4.08 4.08 0 0 0-.414 3.124 4.1 4.1 0 0 0 1.924 2.5c.954.55 2.065.697 3.13.41a4.116 4.116 0 0 0 .995-7.542m3.187.448a6.093 6.093 0 0 1-3.668 9.01 6.097 6.097 0 0 1-4.64-.61 6.07 6.07 0 0 1-2.85-3.703 6.05 6.05 0 0 1 .612-4.63c1.686-2.913 5.434-3.915 8.353-2.233.33.19.631.41.912.648l2.537-2.199-2.407-1.39.996-1.718 4.816 2.783zm20.092-4.912a4.128 4.128 0 0 0-8.254 0 4.127 4.127 0 0 0 4.127 4.117 4.126 4.126 0 0 0 4.127-4.117m6.377 4.597-5.097-1.754a6.12 6.12 0 0 1-5.407 3.258c-3.373 0-6.116-2.737-6.116-6.1 0-3.365 2.743-6.103 6.116-6.103s6.116 2.738 6.116 6.102c0 .327-.033.646-.084.96l2.484.855v-2.545h1.988zm-9.829 9.927-1.821-.797-7.006 15.92 1.822.798zm7.56 7.595-5.741-5.594-1.388 1.42 4.08 3.975-4.563 3.416 1.195 1.586zm-18.109 4.045-5.74-5.593 6.417-4.804 1.194 1.587-4.562 3.415 4.079 3.976z\" /></g></svg>;\nexport default SvgCodestarConnections;","import * as React from \"react\";\nconst SvgCognitoIdentity = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Cognito_64\"}</title><defs><linearGradient id=\"linearGradient-cgn\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Cognito_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"url(#linearGradient-cgn)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Cognito_Icon_64_Squid\" fill=\"#fff\" d=\"M16.964 35.808h12.905v-1.983H16.964zM61.376 50.23l1.403 1.402-7.372 7.36a.994.994 0 0 1-1.403 0l-3.71-3.702L51.7 53.89l3.006 3.001zm4.568 5.463a9.44 9.44 0 0 1-2.197 5.015 9.55 9.55 0 0 1-3.143 2.406 9.37 9.37 0 0 1-5.158.833 9.4 9.4 0 0 1-4.706-1.966 9.43 9.43 0 0 1-3.518-8.573 9.47 9.47 0 0 1 5.058-7.282 9.34 9.34 0 0 1 5.441-.972 9.43 9.43 0 0 1 7.26 5.088 9.45 9.45 0 0 1 .963 5.45m.806-6.35a11.406 11.406 0 0 0-15.381-4.978 11.45 11.45 0 0 0-6.118 8.805 11.4 11.4 0 0 0 4.254 10.364A11.38 11.38 0 0 0 56.592 66c1.68 0 3.338-.37 4.864-1.094a11.5 11.5 0 0 0 3.801-2.91 11.4 11.4 0 0 0 2.659-6.064 11.4 11.4 0 0 0-1.166-6.588m-39.86-7.588h3.972v-1.983H26.89zm-9.926 0h7.941v-1.983h-7.941zm-.858-25.773h44.402c1.17 0 2.12 1.156 2.12 2.578v7.334H59.65V20.94a.99.99 0 0 0-.993-.991H35.825a.99.99 0 0 0-.993.99v4.957H13.985v-7.334c0-1.398.972-2.578 2.12-2.578m31.15 9.625c2.305 0 4.18 1.853 4.18 4.131a4.11 4.11 0 0 1-2.163 3.608 4.25 4.25 0 0 1-4.043 0 4.11 4.11 0 0 1-2.154-3.608c0-2.278 1.874-4.131 4.18-4.131m-33.27 21.5v-19.23h20.846v16.851c0 .549.444.992.993.992h10.378v-1.983h-8.291a9.02 9.02 0 0 1 6.522-8.488c1.755.82 3.85.828 5.633-.001a9.1 9.1 0 0 1 5.226 4.005l1.699-1.027a11.1 11.1 0 0 0-5.147-4.432 6.05 6.05 0 0 0 1.577-4.056c0-3.37-2.767-6.114-6.166-6.114s-6.166 2.743-6.166 6.114c0 1.518.578 2.944 1.564 4.045a11 11 0 0 0-5.836 5.789V21.93h20.847v15.86h1.985v-9.912h2.978l.001 14.869h1.986l-.001-24.186c0-2.515-1.842-4.561-4.106-4.561H16.106C13.84 14 12 16.046 12 18.56v28.548c0 2.515 1.841 4.56 4.106 4.56h26.668v-1.982H16.106c-1.149 0-2.12-1.18-2.12-2.578\" /></g></svg>;\nexport default SvgCognitoIdentity;","import * as React from \"react\";\nconst SvgCognitoIdp = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Cognito_64\"}</title><defs><linearGradient id=\"linearGradient-cgn\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Cognito_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"url(#linearGradient-cgn)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Cognito_Icon_64_Squid\" fill=\"#fff\" d=\"M16.964 35.808h12.905v-1.983H16.964zM61.376 50.23l1.403 1.402-7.372 7.36a.994.994 0 0 1-1.403 0l-3.71-3.702L51.7 53.89l3.006 3.001zm4.568 5.463a9.44 9.44 0 0 1-2.197 5.015 9.55 9.55 0 0 1-3.143 2.406 9.37 9.37 0 0 1-5.158.833 9.4 9.4 0 0 1-4.706-1.966 9.43 9.43 0 0 1-3.518-8.573 9.47 9.47 0 0 1 5.058-7.282 9.34 9.34 0 0 1 5.441-.972 9.43 9.43 0 0 1 7.26 5.088 9.45 9.45 0 0 1 .963 5.45m.806-6.35a11.406 11.406 0 0 0-15.381-4.978 11.45 11.45 0 0 0-6.118 8.805 11.4 11.4 0 0 0 4.254 10.364A11.38 11.38 0 0 0 56.592 66c1.68 0 3.338-.37 4.864-1.094a11.5 11.5 0 0 0 3.801-2.91 11.4 11.4 0 0 0 2.659-6.064 11.4 11.4 0 0 0-1.166-6.588m-39.86-7.588h3.972v-1.983H26.89zm-9.926 0h7.941v-1.983h-7.941zm-.858-25.773h44.402c1.17 0 2.12 1.156 2.12 2.578v7.334H59.65V20.94a.99.99 0 0 0-.993-.991H35.825a.99.99 0 0 0-.993.99v4.957H13.985v-7.334c0-1.398.972-2.578 2.12-2.578m31.15 9.625c2.305 0 4.18 1.853 4.18 4.131a4.11 4.11 0 0 1-2.163 3.608 4.25 4.25 0 0 1-4.043 0 4.11 4.11 0 0 1-2.154-3.608c0-2.278 1.874-4.131 4.18-4.131m-33.27 21.5v-19.23h20.846v16.851c0 .549.444.992.993.992h10.378v-1.983h-8.291a9.02 9.02 0 0 1 6.522-8.488c1.755.82 3.85.828 5.633-.001a9.1 9.1 0 0 1 5.226 4.005l1.699-1.027a11.1 11.1 0 0 0-5.147-4.432 6.05 6.05 0 0 0 1.577-4.056c0-3.37-2.767-6.114-6.166-6.114s-6.166 2.743-6.166 6.114c0 1.518.578 2.944 1.564 4.045a11 11 0 0 0-5.836 5.789V21.93h20.847v15.86h1.985v-9.912h2.978l.001 14.869h1.986l-.001-24.186c0-2.515-1.842-4.561-4.106-4.561H16.106C13.84 14 12 16.046 12 18.56v28.548c0 2.515 1.841 4.56 4.106 4.56h26.668v-1.982H16.106c-1.149 0-2.12-1.18-2.12-2.578\" /></g></svg>;\nexport default SvgCognitoIdp;","import * as React from \"react\";\nconst SvgConfig = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Config_16\"}</title><defs><linearGradient id=\"linearGradient-cf\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Config_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Management-Governance\" fill=\"url(#linearGradient-cf)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Config_Icon_16_Squid\" fill=\"#fff\" d=\"M16.059 15.04a.547.547 0 1 0-1.076.198.547.547 0 0 0 1.076-.198m.984-.178a1.548 1.548 0 0 1-1.521 1.822A1.55 1.55 0 0 1 14 15.414a1.54 1.54 0 0 1 .251-1.157c.236-.339.589-.567.996-.64a1.55 1.55 0 0 1 1.796 1.245m1.546.908-.003-1.297-.899-.103a.5.5 0 0 1-.348-.203l-.338-.463a.5.5 0 0 1-.086-.392l.176-.889-1.235-.399-.372.816a.5.5 0 0 1-.304.269l-.562.179a.5.5 0 0 1-.396-.04l-.778-.436-.761 1.052.663.608a.5.5 0 0 1 .162.365l.004.58a.5.5 0 0 1-.16.371l-.664.615.766 1.048.786-.445a.5.5 0 0 1 .402-.04l.551.18c.132.044.239.14.298.266l.378.818 1.233-.404-.178-.873a.5.5 0 0 1 .083-.39l.343-.481a.5.5 0 0 1 .348-.206zm1.001.443a.5.5 0 0 1-.44.497l-1.114.133-.088.124.222 1.096a.5.5 0 0 1-.335.575l-2.078.681a.5.5 0 0 1-.609-.265l-.474-1.025-.135-.044-.981.555a.5.5 0 0 1-.649-.14l-1.29-1.766a.5.5 0 0 1 .063-.662l.828-.768v-.143l-.831-.761a.5.5 0 0 1-.067-.662l1.282-1.772a.5.5 0 0 1 .649-.143l.978.546.145-.046.465-1.019a.495.495 0 0 1 .609-.268l2.081.672a.5.5 0 0 1 .337.572l-.219 1.111.08.111 1.123.128a.5.5 0 0 1 .443.495zm-3.601-6.26V7.984H17v-1h-1.011V5.953h-1v1.031h-.957v1h.957v1.969zm-3.94 2V9.996H13v-1h-.951V5.953h-1v3.043h-1.017v1h1.017v1.957zm-4.023 3V8.91H9v-1h-.974V5.953h-1V7.91h-.994v1h.994v6.043zM5 15.984h5v1H4.5a.5.5 0 0 1-.5-.5V4.5a.5.5 0 0 1 .5-.5h14.047a.5.5 0 0 1 .5.5v5.453h-1V5H5z\" /></g></svg>;\nexport default SvgConfig;","import * as React from \"react\";\nconst SvgDms = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Database-Migration-Service_64\"}</title><defs><linearGradient id=\"linearGradient-dms\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#055f4e\" /><stop offset=\"100%\" stopColor=\"#56c0a7\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Database-Migration-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-dms)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Database-Migration-Service_Icon_64_Squid\" fill=\"#fff\" d=\"M44 67h2v-7h-2zm-9-.14h2V60h-2zM53 65h2v-6h-2zm-27 0h2v-6h-2zm14-30c-7.511 0-12-2.034-12-4v-7.641C30.32 25.022 34.533 26 40 26c4.983 0 10.225-.894 13-2.8V31c0 1.932-5.223 4-13 4m0 10c-7.511 0-12-2.034-12-4v-6.641C30.32 36.022 34.533 37 40 37c4.983 0 10.225-.894 13-2.8V41c0 1.932-5.223 4-13 4m0 10c-7.794 0-12-2.061-12-4v-6.641C30.32 46.022 34.533 47 40 47c4.983 0 10.225-.894 13-2.8V51c0 1.932-5.223 4-13 4m0-39c7.661 0 13 2.108 13 4s-5.339 4-13 4c-7.511 0-12-2.034-12-4s4.489-4 12-4m0-2c-8.505 0-14 2.355-14 6v31c0 3.645 5.495 6 14 6 7.225 0 15-1.877 15-6V20c0-4.123-7.775-6-15-6\" /></g></svg>;\nexport default SvgDms;","import * as React from \"react\";\nconst SvgDocdb = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-DocumentDB_16\"}</title><defs><linearGradient id=\"linearGradient-dcdb\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-DocumentDB_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Database\" fill=\"url(#linearGradient-dcdb)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-DocumentDB_Icon_16_Squid\" fill=\"#fff\" d=\"M9.5 5.032c2.747 0 4.5.917 4.5 1.549s-1.753 1.548-4.5 1.548S5 7.212 5 6.581c0-.632 1.753-1.549 4.5-1.549m0 7.742c1.019 0 2.007-.122 2.859-.352l-.254-.999c-.77.21-1.67.319-2.605.319-2.747 0-4.5-.917-4.5-1.548V8.107c1.061.69 2.813 1.054 4.5 1.054s3.439-.363 4.5-1.054v1.054h1V6.577C14.994 4.903 12.164 4 9.5 4c-2.605 0-5.364.866-5.488 2.47H4v11.174C4 19.191 6.552 20 9.073 20c1.167 0 2.298-.172 3.182-.485l-.324-.978c-.784.278-1.798.43-2.858.43-2.636 0-4.073-.874-4.073-1.323V15.85c1.061.69 2.813 1.054 4.5 1.054 1.019 0 2.007-.122 2.859-.352l-.254-.999c-.77.21-1.67.319-2.605.319-2.747 0-4.5-.917-4.5-1.548V11.72c1.061.69 2.813 1.054 4.5 1.054m9.5-.516h-1v-1.032h.1l.9.884zm0 6.194h-5v-7.226h3v1.548c0 .285.224.516.5.516H19zm.845-6.936-1.2-1.18a.5.5 0 0 0-.345-.142h-4.8c-.276 0-.5.23-.5.516v8.258c0 .285.224.516.5.516h6c.276 0 .5-.231.5-.516V11.89a.52.52 0 0 0-.155-.374\" /></g></svg>;\nexport default SvgDocdb;","import * as React from \"react\";\nconst SvgDynamodb = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-DynamoDB_64\"}</title><defs><linearGradient id=\"linearGradient-ddb\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-DynamoDB_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-ddb)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-DynamoDB_Icon_64_Squid\" fill=\"#fff\" d=\"M52.086 54.85c-3.338 2.699-10.341 4.125-17.042 4.125S21.337 57.548 18 54.85v5.436h.001c0 2.71 6.999 5.731 17.043 5.731 10.036 0 17.031-3.017 17.042-5.726zm.001-10.328 2-.01v.01c0 1.208-.605 2.336-1.783 3.369 1.428 1.256 1.783 2.489 1.783 3.367l-.001.017v9.01c0 5.01-9.811 7.715-19.042 7.715-9.209 0-18.994-2.693-19.041-7.68q-.002-.008-.003-.016v-9.05l.002-.007c.003-.878.359-2.106 1.785-3.36-1.417-1.251-1.777-2.472-1.786-3.343h.001l-.002-.01v-9.05l.002-.01c.003-.877.36-2.105 1.786-3.357-1.418-1.252-1.778-2.474-1.787-3.344h.001L16 28.76v-9.048l.002-.01C16.019 14.7 25.82 12 35.044 12c5.211 0 10.217.828 13.734 2.272l-.765 1.833c-3.283-1.348-8.01-2.121-12.969-2.121-10.044 0-17.043 3.02-17.043 5.733S25 25.45 35.044 25.45c.271.003.536 0 .804-.01l.084 1.982c-.296.012-.592.012-.888.012-6.702 0-13.707-1.427-17.044-4.126v5.432h.001v.023c.01 1.04 1.077 1.949 1.971 2.526 2.69 1.715 7.51 2.886 12.885 3.13l-.091 1.981c-5.445-.247-10.213-1.377-13.282-3.108-.756.565-1.483 1.33-1.483 2.197 0 2.711 6.999 5.732 17.043 5.732.985 0 1.963-.032 2.908-.098l.139 1.979c-.99.068-2.016.103-3.047.103-6.702 0-13.707-1.427-17.044-4.126v5.432h.001c.01 1.064 1.077 1.971 1.971 2.55 3.076 1.962 8.852 3.184 15.072 3.184h.44v1.984h-.44c-6.319 0-12.062-1.174-15.574-3.156-.752.564-1.469 1.325-1.469 2.185 0 2.712 6.999 5.734 17.043 5.734 10.036 0 17.031-3.018 17.042-5.727v-.011c-.002-.862-.722-1.623-1.476-2.187-.488.277-1.011.543-1.606.788l-.766-1.833c.726-.298 1.356-.62 1.873-.96.902-.588 1.976-1.507 1.976-2.54m8.566-14.505h-5.604a1 1 0 0 1-.827-.435.98.98 0 0 1-.103-.922l3.409-8.522H44.619l-6 11.902h6.382c.319 0 .619.152.808.407a.99.99 0 0 1 .145.886L40.258 51.09zm3.069-.305L38.723 55.54a1.006 1.006 0 0 1-1.233.165.99.99 0 0 1-.442-1.153l6.586-20.528h-6.633c-.347 0-.668-.178-.851-.47a.98.98 0 0 1-.043-.965l7-13.886a1 1 0 0 1 .894-.549h15c.33 0 .642.164.827.435a.98.98 0 0 1 .103.923l-3.41 8.521H63c.4 0 .763.238.92.603a.99.99 0 0 1-.198 1.076M19.455 60.674c1.417.799 3.201 1.47 5.302 1.994l.488-1.924c-1.899-.473-3.559-1.094-4.802-1.794zM24.757 46.8l.488-1.924c-1.899-.474-3.559-1.095-4.802-1.795l-.988 1.725c1.417.798 3.2 1.47 5.302 1.994m-5.302-17.863.988-1.725c1.241.7 2.902 1.32 4.802 1.795l-.488 1.923c-2.104-.525-3.887-1.196-5.302-1.993\" /></g></svg>;\nexport default SvgDynamodb;","import * as React from \"react\";\nconst SvgDynamodbstreams = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-DynamoDB_64\"}</title><defs><linearGradient id=\"linearGradient-ddb\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-DynamoDB_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-ddb)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-DynamoDB_Icon_64_Squid\" fill=\"#fff\" d=\"M52.086 54.85c-3.338 2.699-10.341 4.125-17.042 4.125S21.337 57.548 18 54.85v5.436h.001c0 2.71 6.999 5.731 17.043 5.731 10.036 0 17.031-3.017 17.042-5.726zm.001-10.328 2-.01v.01c0 1.208-.605 2.336-1.783 3.369 1.428 1.256 1.783 2.489 1.783 3.367l-.001.017v9.01c0 5.01-9.811 7.715-19.042 7.715-9.209 0-18.994-2.693-19.041-7.68q-.002-.008-.003-.016v-9.05l.002-.007c.003-.878.359-2.106 1.785-3.36-1.417-1.251-1.777-2.472-1.786-3.343h.001l-.002-.01v-9.05l.002-.01c.003-.877.36-2.105 1.786-3.357-1.418-1.252-1.778-2.474-1.787-3.344h.001L16 28.76v-9.048l.002-.01C16.019 14.7 25.82 12 35.044 12c5.211 0 10.217.828 13.734 2.272l-.765 1.833c-3.283-1.348-8.01-2.121-12.969-2.121-10.044 0-17.043 3.02-17.043 5.733S25 25.45 35.044 25.45c.271.003.536 0 .804-.01l.084 1.982c-.296.012-.592.012-.888.012-6.702 0-13.707-1.427-17.044-4.126v5.432h.001v.023c.01 1.04 1.077 1.949 1.971 2.526 2.69 1.715 7.51 2.886 12.885 3.13l-.091 1.981c-5.445-.247-10.213-1.377-13.282-3.108-.756.565-1.483 1.33-1.483 2.197 0 2.711 6.999 5.732 17.043 5.732.985 0 1.963-.032 2.908-.098l.139 1.979c-.99.068-2.016.103-3.047.103-6.702 0-13.707-1.427-17.044-4.126v5.432h.001c.01 1.064 1.077 1.971 1.971 2.55 3.076 1.962 8.852 3.184 15.072 3.184h.44v1.984h-.44c-6.319 0-12.062-1.174-15.574-3.156-.752.564-1.469 1.325-1.469 2.185 0 2.712 6.999 5.734 17.043 5.734 10.036 0 17.031-3.018 17.042-5.727v-.011c-.002-.862-.722-1.623-1.476-2.187-.488.277-1.011.543-1.606.788l-.766-1.833c.726-.298 1.356-.62 1.873-.96.902-.588 1.976-1.507 1.976-2.54m8.566-14.505h-5.604a1 1 0 0 1-.827-.435.98.98 0 0 1-.103-.922l3.409-8.522H44.619l-6 11.902h6.382c.319 0 .619.152.808.407a.99.99 0 0 1 .145.886L40.258 51.09zm3.069-.305L38.723 55.54a1.006 1.006 0 0 1-1.233.165.99.99 0 0 1-.442-1.153l6.586-20.528h-6.633c-.347 0-.668-.178-.851-.47a.98.98 0 0 1-.043-.965l7-13.886a1 1 0 0 1 .894-.549h15c.33 0 .642.164.827.435a.98.98 0 0 1 .103.923l-3.41 8.521H63c.4 0 .763.238.92.603a.99.99 0 0 1-.198 1.076M19.455 60.674c1.417.799 3.201 1.47 5.302 1.994l.488-1.924c-1.899-.473-3.559-1.094-4.802-1.794zM24.757 46.8l.488-1.924c-1.899-.474-3.559-1.095-4.802-1.795l-.988 1.725c1.417.798 3.2 1.47 5.302 1.994m-5.302-17.863.988-1.725c1.241.7 2.902 1.32 4.802 1.795l-.488 1.923c-2.104-.525-3.887-1.196-5.302-1.993\" /></g></svg>;\nexport default SvgDynamodbstreams;","import * as React from \"react\";\nconst SvgEc2 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-EC2_64\"}</title><defs><linearGradient id=\"linearGradient-ec2\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-EC2_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Compute\" fill=\"url(#linearGradient-ec2)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-EC2_Icon_64_Squid\" fill=\"#fff\" d=\"M27 53h25V28H27zm27-25h4v2h-4v4h4v2h-4v3h4v2h-4v4h4v2h-4v4h4v2h-4v.136A1.866 1.866 0 0 1 52.136 55H52v4h-2v-4h-4v4h-2v-4h-3v4h-2v-4h-4v4h-2v-4h-4v4h-2v-4h-.136A1.866 1.866 0 0 1 25 53.136V53h-3v-2h3v-4h-3v-2h3v-4h-3v-2h3v-3h-3v-2h3v-4h-3v-2h3v-.136c0-1.028.836-1.864 1.864-1.864H27v-4h2v4h4v-4h2v4h4v-4h2v4h3v-4h2v4h4v-4h2v4h.136c1.028 0 1.864.836 1.864 1.864zM41 65.876a.125.125 0 0 1-.124.124H14.124a.125.125 0 0 1-.124-.124V39.124c0-.068.056-.124.124-.124H20v-2h-5.876A2.127 2.127 0 0 0 12 39.124v26.752c0 1.171.953 2.124 2.124 2.124h26.752A2.127 2.127 0 0 0 43 65.876V61h-2zm27-51.752v26.752A2.127 2.127 0 0 1 65.876 43H60v-2h5.876a.125.125 0 0 0 .124-.124V14.124a.125.125 0 0 0-.124-.124H39.124a.125.125 0 0 0-.124.124V20h-2v-5.876c0-1.171.953-2.124 2.124-2.124h26.752c1.171 0 2.124.953 2.124 2.124\" /></g></svg>;\nexport default SvgEc2;","import * as React from \"react\";\nconst SvgEcr = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Elastic-Container-Registry_64\"}</title><defs><linearGradient id=\"linearGradient-ecr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Elastic-Container-Registry_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Containers\" fill=\"url(#linearGradient-ecr)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Elastic-Container-Registry_Icon_64_Squid\" fill=\"#fff\" d=\"M38.788 37.578a1.62 1.62 0 0 0-.802 1.396V66.72L16.999 54.984V27.708l23.558-13.65 20.928 10.37zM63.92 24.402c0-.574-.307-1.11-.86-1.427l-21.714-10.76a1.6 1.6 0 0 0-1.606 0L15.802 26.085A1.62 1.62 0 0 0 15 27.48v27.736c0 .573.308 1.108.817 1.404l21.757 12.165a1.607 1.607 0 0 0 2.41-1.396V39.201l23.134-13.403c.495-.287.802-.821.802-1.396m.05 30.645L44.98 66.661v-10.4l9.901-6.388.068-.449c.018-.117.025-.117.025-.658l.03-12.406L64 31.148zm1.227-25.975a1.6 1.6 0 0 0-1.608 0l-9.575 5.546c-.3.164-1.006.548-1.006 1.34l-.032 12.76-9.125 5.888c-.545.325-.869.84-.869 1.383v11.32c0 .566.305 1.082.816 1.378.267.154.564.232.86.232.29 0 .581-.074.844-.227l19.666-12.028c.494-.288.8-.822.8-1.393L66 30.466c0-.573-.308-1.108-.803-1.394\" /></g></svg>;\nexport default SvgEcr;","import * as React from \"react\";\nconst SvgEcs = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Elastic-Container-Service_64\"}</title><defs><linearGradient id=\"linearGradient-ecs\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Elastic-Container-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Containers\" fill=\"url(#linearGradient-ecs)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Elastic-Container-Service_Icon_64_Squid\" fill=\"#fff\" d=\"m64 48.234-8-4.801V32a1 1 0 0 0-.496-.864L44 24.426v-9.674l20 11.819zm1.509-23.095-22-13a1 1 0 0 0-1.005-.008c-.311.178-.504.51-.504.869v12c0 .355.189.684.496.864L54 32.574V44a1 1 0 0 0 .486.857l10 6A.997.997 0 0 0 66 50V26a1 1 0 0 0-.491-.861M40.445 66.863 17 54.399V26.571l20-11.819v9.699l-10.537 6.705A1 1 0 0 0 26 32v17a1 1 0 0 0 .538.887l13.453 7c.289.15.633.151.921.001l13.052-6.744 8.032 4.82zm24.07-12.721-10-6a1 1 0 0 0-.974-.03l-13.086 6.761L28 48.393V32.549l10.537-6.705c.288-.184.463-.502.463-.844V13a1 1 0 0 0-1.509-.861l-22 13A1 1 0 0 0 15 26v29c0 .369.204.709.53.883l24.454 13a1 1 0 0 0 .953-.008l23.547-13a1.002 1.002 0 0 0 .031-1.733\" /></g></svg>;\nexport default SvgEcs;","import * as React from \"react\";\nconst SvgEfs = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-Elastic-File-System_16\"}</title><defs><linearGradient id=\"linearGradient-efs\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-Elastic-File-System_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Storage\" fill=\"url(#linearGradient-efs)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-Elastic-File-System_Icon_16_Squid\" fill=\"#fff\" d=\"m19 18.293-1.646-1.646-.708.707L18.293 19H17v1h2.5a.5.5 0 0 0 .5-.5V17h-1zM6.646 16.647 5 18.293V17H4v2.5a.5.5 0 0 0 .5.5H7v-1H5.707l1.647-1.646zM19.5 4H17v1h1.293l-1.647 1.647.708.707L19 5.707V7h1V4.5a.5.5 0 0 0-.5-.5M5 5.707l1.646 1.647.708-.707L5.707 5H7V4H4.5a.5.5 0 0 0-.5.5V7h1zm10 6.41c0-.029-.024-.055-.038-.069-.039-.036-.09-.059-.108-.049L11.487 12a.5.5 0 0 1-.5-.5v-.007l-.536.005-.004.022c0 .275-.222.48-.499.48H9.25c-.147-.011-.248.031-.271.054L8.998 16H15zm.644-.8c.23.215.356.498.356.8V16.5a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5V12c0-.258.105-.499.297-.677.287-.268.695-.342.987-.322h.271c.094-.25.272-.501.601-.501h1.167c.314.057.48.279.567.5h2.93c.276-.026.59.099.824.317m.487-.345a.5.5 0 0 1-.397-.46c-.047-.802-.468-1.087-.816-1.087a.74.74 0 0 0-.59.312.501.501 0 0 1-.871-.131 3 3 0 0 0-.705-1.148c-.368-.367-1.384-1.153-2.808-.555-.803.338-1.458 1.348-1.458 2.252q.002.157.021.308a.5.5 0 0 1-.376.546c-.564.14-1.235.526-1.235 1.572l.004.128c.021.367.182.723.454.995l-.708.707a2.55 2.55 0 0 1-.745-1.653l-.005-.177c0-1.137.586-2.014 1.59-2.413v-.013c0-1.314.891-2.678 2.073-3.174 1.377-.577 2.834-.289 3.897.767q.385.38.657.881c.883-.475 2.289-.118 2.575 1.454 1.263.377 1.953 1.259 1.953 2.512 0 1.125-.518 1.948-1.457 2.319l-.368-.931c.563-.221.825-.663.825-1.388 0-.323 0-1.305-1.51-1.623\" /></g></svg>;\nexport default SvgEfs;","import * as React from \"react\";\nconst SvgEks = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Elastic-Container-Kubernetes_64\"}</title><defs><linearGradient id=\"linearGradient-eks\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Elastic-Container-Kubernetes_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Containers\" fill=\"url(#linearGradient-eks)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Elastic-Container-Kubernetes_Icon_64_Squid\" fill=\"#fff\" d=\"m46.842 32.199-6.829 7.921 7.428 8.664h-2.772L38 41v8h-2V32h2v7l6.181-6.801zM64 48.234l-8-4.801V32a1 1 0 0 0-.496-.864L44 24.426v-9.674l20 11.819zm1.509-23.095-22-13a1 1 0 0 0-1.005-.008c-.311.178-.504.51-.504.869v12c0 .355.189.684.496.864L54 32.574V44a1 1 0 0 0 .486.857l10 6A.997.997 0 0 0 66 50V26a1 1 0 0 0-.491-.861M40.445 66.863 17 54.399V26.571l20-11.819v9.699l-10.537 6.705A1 1 0 0 0 26 32v17a1 1 0 0 0 .538.887l13.453 7c.289.15.633.151.921.001l13.052-6.744 8.032 4.82zm24.07-12.721-10-6a1 1 0 0 0-.974-.03l-13.086 6.761L28 48.393V32.549l10.537-6.705c.288-.184.463-.502.463-.844V13a1 1 0 0 0-1.509-.861l-22 13A1 1 0 0 0 15 26v29c0 .369.204.709.53.883l24.454 13a1 1 0 0 0 .953-.008l23.547-13a1.002 1.002 0 0 0 .031-1.733\" /></g></svg>;\nexport default SvgEks;","import * as React from \"react\";\nconst SvgElasticache = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-ElastiCache_64\"}</title><defs><linearGradient id=\"linearGradient-elc\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-ElastiCache_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-elc)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-ElastiCache_Icon_64_Squid\" fill=\"#fff\" d=\"M51 61.555v-5.852c-2.534 1.637-7.096 2.41-11.444 2.41-4.74 0-8.435-.827-10.556-2.245v5.687C29 63.25 32.948 65 39.556 65 46.3 65 51 63.185 51 61.555M39.556 49.22c-4.74 0-8.435-.826-10.556-2.244v5.71c.031 1.688 3.973 3.427 10.556 3.427 6.723 0 11.413-1.804 11.444-3.43V46.81c-2.534 1.638-7.096 2.41-11.444 2.41M51 43.79v-6.76c-2.534 1.636-7.096 2.41-11.444 2.41-4.74 0-8.435-.827-10.556-2.245v6.6c.031 1.687 3.973 3.425 10.556 3.425 6.723 0 11.413-1.804 11.444-3.43m-22.003-9.797.001.009H29v.01c.031 1.688 3.973 3.427 10.556 3.427 7.342 0 11.413-2.022 11.444-3.43v-.007h.002l.001-.01c0-1.407-4.076-3.445-11.447-3.445-6.61 0-10.559 1.752-10.559 3.446M53 34.018v9.756h.003q-.001.013-.003.025v8.868h.003q-.001.013-.003.025v8.863C53 65.297 46.031 67 39.556 67 31.929 67 27 64.863 27 61.555v-8.857q-.002-.016-.003-.031H27v-8.862q-.002-.015-.003-.031H27v-9.75q-.002-.016-.003-.031c0-3.308 4.93-5.447 12.559-5.447 6.476 0 13.447 1.705 13.447 5.447q-.001.012-.003.025M67 21.12a1 1 0 0 0 1-1V15A1 1 0 0 0 67 14H13a1 1 0 0 0-1 1v5.12a1 1 0 0 0 1 1 2.21 2.21 0 0 1 2.214 2.2A2.21 2.21 0 0 1 13 25.522a1 1 0 0 0-1 1v20.482a1 1 0 0 0 1 1h10v-2h-5v-3h5v-2h-6a1 1 0 0 0-1 1v4h-2V27.401a4.21 4.21 0 0 0 3.214-4.08A4.21 4.21 0 0 0 14 19.239V16h52v3.24a4.21 4.21 0 0 0-3.214 4.08A4.21 4.21 0 0 0 66 27.402v18.602h-2v-4a1 1 0 0 0-1-1h-6v2h5v3h-5v2h10a1 1 0 0 0 1-1V26.521a1 1 0 0 0-1-1 2.21 2.21 0 0 1-2.214-2.2c0-1.213.993-2.2 2.214-2.2M28 28v-8a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v17.001a1 1 0 0 0 1 1h3v-2h-2V21.001h4v7zm30 8.001h-1v2h2a1 1 0 0 0 1-1V20.001a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v8h2v-7h4zm-8-9V20a1 1 0 0 0-1-1h-7a1 1 0 0 0-1 1v6h2v-5h5v6zm-13-1V21h-5v6h-2v-7a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v6z\" /></g></svg>;\nexport default SvgElasticache;","import * as React from \"react\";\nconst SvgElasticbeanstalk = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Elastic-Beanstalk_16\"}</title><defs><linearGradient id=\"linearGradient-ebs\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Elastic-Beanstalk_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Compute\" fill=\"url(#linearGradient-ebs)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Elastic-Beanstalk_Icon_16_Squid\" fill=\"#fff\" d=\"M14.999 13.643a.494.494 0 0 0-.5-.487c-.275 0-.5.218-.5.487s.225.487.5.487.5-.218.5-.487M11 9.747c0 .269.225.487.5.487s.5-.218.5-.487a.494.494 0 0 0-.5-.487c-.275 0-.5.218-.5.487m-2.998 2.922c0 .269.225.487.5.487s.5-.218.5-.487a.494.494 0 0 0-.5-.487c-.275 0-.5.218-.5.487m7.996.974c0 .634-.419 1.17-1 1.371v1.55a.494.494 0 0 1-.5.488H12V19h-1v-2.922H8.502a.494.494 0 0 1-.5-.487v-1.55c-.58-.202-1-.738-1-1.372 0-.806.673-1.461 1.5-1.461.826 0 1.499.655 1.499 1.46 0 .635-.419 1.17-1 1.372v1.064h2v-3.986c-.581-.201-1-.737-1-1.371 0-.806.673-1.461 1.5-1.461.826 0 1.499.655 1.499 1.46 0 .635-.42 1.17-1 1.372v4.96h1.999v-1.064c-.58-.201-1-.737-1-1.371 0-.806.673-1.461 1.5-1.461.826 0 1.499.655 1.499 1.46M20 12.06c0 1.746-1.103 2.88-2.95 3.03l-.083-.97c.927-.076 2.033-.495 2.033-2.06 0-1.122-.685-1.825-2.036-2.09a.49.49 0 0 1-.401-.448c-.064-1.063-.675-1.439-1.179-1.439-.337 0-.653.157-.867.432a.51.51 0 0 1-.472.187.5.5 0 0 1-.395-.314 3.8 3.8 0 0 0-.931-1.44c-.491-.465-1.84-1.462-3.741-.702-1.09.433-1.944 1.683-1.944 2.848q0 .194.024.385a.49.49 0 0 1-.375.533C6.054 10.16 5 10.627 5 12.038l.004.127c.058 1.02.928 1.847 2.024 1.953l-.097.97c-1.584-.153-2.84-1.374-2.923-2.841L4 12.037c0-1.354.753-2.395 2.036-2.852l-.001-.092c0-1.558 1.102-3.17 2.565-3.75 1.699-.677 3.499-.34 4.813.903q.526.496.885 1.164a2.1 2.1 0 0 1 1.086-.302c.902 0 1.906.625 2.135 1.989C19.122 9.521 20 10.562 20 12.059\" /></g></svg>;\nexport default SvgElasticbeanstalk;","import * as React from \"react\";\nconst SvgElasticsearch = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Elasticsearch-Service_64\"}</title><defs><linearGradient id=\"linearGradient-es\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Elasticsearch-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-es)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Elasticsearch-Service_Icon_64_Squid\" fill=\"#fff\" d=\"M44.26 51.33c-4.417 0-8.01-3.593-8.01-8.009s3.593-8.01 8.01-8.01 8.01 3.593 8.01 8.01-3.593 8.009-8.01 8.009m0-18.019c-5.52 0-10.01 4.49-10.01 10.01S38.74 53.33 44.26 53.33s10.01-4.49 10.01-10.009-4.49-10.01-10.01-10.01m20.288 28.035a1.774 1.774 0 0 1-2.496.131l-8.34-7.523a14.4 14.4 0 0 0 2.337-2.641l8.367 7.538c.723.652.781 1.773.132 2.495M32.011 43.321c0-6.755 5.495-12.25 12.249-12.25s12.249 5.495 12.249 12.25c0 6.754-5.495 12.249-12.249 12.249s-12.249-5.495-12.249-12.249m25.052 6.214a14.14 14.14 0 0 0 1.446-6.214c0-7.858-6.392-14.25-14.249-14.25s-14.249 6.392-14.249 14.25S36.403 57.57 44.26 57.57c2.899 0 5.596-.875 7.849-2.368l8.605 7.762a3.75 3.75 0 0 0 2.518.962 3.77 3.77 0 0 0 2.802-1.241 3.777 3.777 0 0 0-.278-5.319zM67 20v34h-2V21h-8v11h-2V20a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1M51 61h2v5a1 1 0 0 1-1 1H42a1 1 0 0 1-1-1v-6h2v5h8zm-8-35h-2V14a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v14h-2V15h-8zm-6 33h2v7a1 1 0 0 1-1 1H28a1 1 0 0 1-1-1V51h2v14h8zm-8-23h-2V23a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v4h-2v-3h-8zM15 65h8V31h-8zm9-36H14a1 1 0 0 0-1 1v36a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V30a1 1 0 0 0-1-1\" /></g></svg>;\nexport default SvgElasticsearch;","import * as React from \"react\";\nconst SvgElastictranscoder = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Elastic-Transcoder_64\"}</title><g id=\"Icon-Architecture/64/Arch_Amazon-Elastic-Transcoder_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Media-Services\" fill=\"#ed7100\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Elastic-Transcoder_Icon_64_Squid\" fill=\"#fff\" d=\"M14.797 33.529q-.014-.277-.014-.57c0-5.74 3.783-7.927 6.094-8.727a13 13 0 0 1-.018-.696c0-4.755 3.157-9.687 7.343-11.475 4.9-2.093 10.096-1.052 13.891 2.786 1.13 1.142 2.063 2.517 2.787 4.1 1.404-1.1 3.212-1.483 4.939-.972 2.429.715 4.063 2.94 4.456 6.013 1.397.349 3.713 1.202 5.372 3.19a12 12 0 0 0-1.112-.057c-.59 0-1.164.06-1.73.147-1.328-.933-2.804-1.312-3.646-1.458a1.007 1.007 0 0 1-.823-1.123c-.194-2.483-1.34-4.266-3.077-4.778-1.436-.422-2.98.14-3.929 1.437-.22.3-.59.452-.952.398a1 1 0 0 1-.795-.661c-.676-1.927-1.653-3.546-2.906-4.813-1.537-1.553-5.749-4.89-11.695-2.352-3.434 1.466-6.123 5.69-6.123 9.618 0 .431.024.862.074 1.283q.01.07.01.143c0 .485-.34.894-.799.989-2.025.533-5.361 2.15-5.361 7.007q0 .24.012.47a6.94 6.94 0 0 0 1.331 3.774h-2.337a8.95 8.95 0 0 1-.992-3.673M56.958 61.53v-4.556l4.197 2.279zm-.526-7.131a1 1 0 0 0-.987.022c-.302.181-.487.51-.487.866v7.932a1.01 1.01 0 0 0 1 1.008 1 1 0 0 0 .474-.121l7.306-3.966a1.01 1.01 0 0 0 0-1.775zm2.103 12.585c-4.116 0-7.466-3.376-7.466-7.526s3.35-7.526 7.466-7.526S66 55.308 66 59.458s-3.349 7.526-7.465 7.526M14 58.373h19V41.235H14zm44.535-27.22c4.116 0 7.465 3.377 7.465 7.526 0 4.15-3.349 7.527-7.465 7.527s-7.466-3.376-7.466-7.527 3.35-7.525 7.466-7.525m0 18.763c-4.772 0-8.72 3.582-9.363 8.217L35 52.449v-4.654l14.687-5.756c1.352 3.607 4.803 6.183 8.848 6.183 5.219 0 9.465-4.28 9.465-9.543 0-5.261-4.246-9.541-9.465-9.541s-9.466 4.28-9.466 9.541c0 .476.046.939.113 1.395L35 45.631v-5.404c0-.557-.447-1.008-1-1.008H13c-.553 0-1 .451-1 1.008V59.38c0 .556.447 1.008 1 1.008h21c.553 0 1-.452 1-1.008v-4.763l14.11 5.66c.416 4.88 4.48 8.722 9.425 8.722C63.754 69 68 64.72 68 59.458s-4.246-9.542-9.465-9.542m-1.577-13.34 4.197 2.279-4.197 2.278zm-1.513 7.11a1 1 0 0 0 .987.023l7.306-3.966a1.01 1.01 0 0 0 0-1.775L56.432 34a1 1 0 0 0-.987.022 1.01 1.01 0 0 0-.487.866v7.932c0 .354.185.684.487.866M21 46.982l5.762 3.226L21 52.789zm-1.545 8.204a1 1 0 0 0 .951.077l9-4.033c.347-.155.577-.495.593-.877a1.01 1.01 0 0 0-.514-.925l-9-5.04a.99.99 0 0 0-.992.011 1.01 1.01 0 0 0-.493.87v9.072c0 .34.171.66.455.845\" /></g></svg>;\nexport default SvgElastictranscoder;","import * as React from \"react\";\nconst SvgElb = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 40 40\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/32/Arch_Elastic-Load-Balancing_32\"}</title><defs><linearGradient id=\"linearGradient-elb\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/32/Arch_Elastic-Load-Balancing_32\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/32/Networking-Content-Delivery\" fill=\"url(#linearGradient-elb)\"><path id=\"Rectangle\" d=\"M0 0h40v40H0z\" /></g><path id=\"Elastic-Load-Balancing_Icon_32_Squid\" fill=\"#fff\" d=\"M15 27c-3.859 0-7-3.14-7-7s3.141-7 7-7 7 3.14 7 7-3.141 7-7 7m14 1c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m0-20c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m1 10.5c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2M22.931 21h4.12A3 3 0 0 0 30 23.5c1.654 0 3-1.346 3-3s-1.346-3-3-3a3 3 0 0 0-2.949 2.5H23c0-1.489-.416-2.88-1.128-4.075l4.827-4.023A2.98 2.98 0 0 0 29 13c1.654 0 3-1.346 3-3s-1.346-3-3-3-3 1.346-3 3c0 .361.074.702.191 1.022l-4.885 4.072A7.99 7.99 0 0 0 15 12c-4.411 0-8 3.589-8 8s3.589 8 8 8a7.99 7.99 0 0 0 6.306-3.094l4.885 4.072c-.117.32-.191.661-.191 1.022 0 1.654 1.346 3 3 3s3-1.346 3-3-1.346-3-3-3c-.929 0-1.75.433-2.301 1.098l-4.827-4.023A7.9 7.9 0 0 0 22.931 21\" /></g></svg>;\nexport default SvgElb;","import * as React from \"react\";\nconst SvgElbv2 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 40 40\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/32/Arch_Elastic-Load-Balancing_32\"}</title><defs><linearGradient id=\"linearGradient-elb\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/32/Arch_Elastic-Load-Balancing_32\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/32/Networking-Content-Delivery\" fill=\"url(#linearGradient-elb)\"><path id=\"Rectangle\" d=\"M0 0h40v40H0z\" /></g><path id=\"Elastic-Load-Balancing_Icon_32_Squid\" fill=\"#fff\" d=\"M15 27c-3.859 0-7-3.14-7-7s3.141-7 7-7 7 3.14 7 7-3.141 7-7 7m14 1c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m0-20c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m1 10.5c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2M22.931 21h4.12A3 3 0 0 0 30 23.5c1.654 0 3-1.346 3-3s-1.346-3-3-3a3 3 0 0 0-2.949 2.5H23c0-1.489-.416-2.88-1.128-4.075l4.827-4.023A2.98 2.98 0 0 0 29 13c1.654 0 3-1.346 3-3s-1.346-3-3-3-3 1.346-3 3c0 .361.074.702.191 1.022l-4.885 4.072A7.99 7.99 0 0 0 15 12c-4.411 0-8 3.589-8 8s3.589 8 8 8a7.99 7.99 0 0 0 6.306-3.094l4.885 4.072c-.117.32-.191.661-.191 1.022 0 1.654 1.346 3 3 3s3-1.346 3-3-1.346-3-3-3c-.929 0-1.75.433-2.301 1.098l-4.827-4.023A7.9 7.9 0 0 0 22.931 21\" /></g></svg>;\nexport default SvgElbv2;","import * as React from \"react\";\nconst SvgEmrServerless = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-EMR_64\"}</title><defs><linearGradient id=\"linearGradient-emr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-EMR_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-emr)\" transform=\"translate(.504)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-EMR_Icon_64_Squid\" fill=\"#fff\" d=\"M64.815 47.688a4.04 4.04 0 0 0-2.868-1.187 4.04 4.04 0 0 0-2.869 1.187 4.04 4.04 0 0 0-1.189 2.872 4.059 4.059 0 0 0 6.926 2.872 4.07 4.07 0 0 0 0-5.744m-8.528.722a6 6 0 0 1 1.323-2.078l-2.153-4.104-2.682 5.072zm-6.402.075-11.798-3.73a12.9 12.9 0 0 1-2.897 4.434c-.164.163-.34.308-.51.46l5.203 7.228a6 6 0 0 1 3.338-1.003c.869 0 1.706.187 2.476.532zm-2.607 13.451a4.04 4.04 0 0 0-1.188-2.871 4.03 4.03 0 0 0-2.869-1.189 4.03 4.03 0 0 0-2.867 1.189 4.04 4.04 0 0 0-1.19 2.871c0 1.085.424 2.105 1.19 2.872a4.03 4.03 0 0 0 2.867 1.19 4.03 4.03 0 0 0 2.869-1.19 4.04 4.04 0 0 0 1.188-2.872M33.776 47.772c4.29-4.294 4.29-11.28 0-15.575a10.97 10.97 0 0 0-7.78-3.22 10.96 10.96 0 0 0-7.78 3.22c-4.29 4.294-4.29 11.28 0 15.575s11.27 4.295 15.56 0m.888-17.467c.175.157.357.307.526.476a12.95 12.95 0 0 1 2.82 4.237l11.754-3.633-4.084-7.782a6 6 0 0 1-2.459.524 6 6 0 0 1-3.353-1.013zm4.5-12.24c0 1.084.424 2.103 1.19 2.87a4.03 4.03 0 0 0 2.867 1.19 4.03 4.03 0 0 0 2.869-1.19 4.04 4.04 0 0 0 1.188-2.87 4.04 4.04 0 0 0-1.188-2.873 4.03 4.03 0 0 0-2.869-1.19 4.03 4.03 0 0 0-2.867 1.19 4.04 4.04 0 0 0-1.19 2.873m-.5 24.772 12.172 3.849 3.494-6.605-3.62-6.893-12.094 3.739c.466 1.941.484 3.963.049 5.91m13.992-10.25 2.807 5.348 2.632-4.98c-.142-.119-.297-.218-.43-.352a6 6 0 0 1-.965-1.266zm5.233-4.272a4.059 4.059 0 0 0 6.926 2.873 4.07 4.07 0 0 0 0-5.744 4.04 4.04 0 0 0-2.868-1.187 4.04 4.04 0 0 0-2.869 1.187 4.04 4.04 0 0 0-1.189 2.87m8.34 17.957a6.077 6.077 0 0 1 0 8.575 6.03 6.03 0 0 1-4.282 1.774 6.03 6.03 0 0 1-4.283-1.774 6.03 6.03 0 0 1-1.775-4.287c0-.058.007-.115.009-.173l-4.074-1.288-4.455 8.427c.044.042.091.08.135.123a6.03 6.03 0 0 1 1.775 4.287c0 1.62-.63 3.143-1.775 4.288A6.01 6.01 0 0 1 43.221 68a6 6 0 0 1-4.281-1.776 6.02 6.02 0 0 1-1.776-4.288c0-1.347.443-2.624 1.25-3.676l-5.311-7.377a13 13 0 0 1-7.108 2.112c-3.33 0-6.659-1.269-9.193-3.806-5.07-5.075-5.07-13.333 0-18.408 4.415-4.422 11.245-4.988 16.283-1.705l5.318-7.35a6 6 0 0 1-1.239-3.661 6.03 6.03 0 0 1 1.776-4.289A6 6 0 0 1 43.22 12c1.618 0 3.14.63 4.283 1.776a6.03 6.03 0 0 1 1.775 4.289c0 1.619-.63 3.142-1.775 4.286-.047.048-.1.09-.149.137l4.354 8.295 4.29-1.326a6.025 6.025 0 0 1 1.665-5.429 6.057 6.057 0 0 1 8.566 0 6.077 6.077 0 0 1 0 8.575 6.04 6.04 0 0 1-4.283 1.773 6.1 6.1 0 0 1-2.128-.398l-3.23 6.106 2.665 5.075c2.268-1.13 5.088-.775 6.976 1.113m-39.233-7.289h5v2.003h-5v5.006h-2v-5.006h-5.002v-2.003h5.001v-5.006h2z\" /></g></svg>;\nexport default SvgEmrServerless;","import * as React from \"react\";\nconst SvgEmr = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-EMR_64\"}</title><defs><linearGradient id=\"linearGradient-emr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-EMR_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-emr)\" transform=\"translate(.504)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-EMR_Icon_64_Squid\" fill=\"#fff\" d=\"M64.815 47.688a4.04 4.04 0 0 0-2.868-1.187 4.04 4.04 0 0 0-2.869 1.187 4.04 4.04 0 0 0-1.189 2.872 4.059 4.059 0 0 0 6.926 2.872 4.07 4.07 0 0 0 0-5.744m-8.528.722a6 6 0 0 1 1.323-2.078l-2.153-4.104-2.682 5.072zm-6.402.075-11.798-3.73a12.9 12.9 0 0 1-2.897 4.434c-.164.163-.34.308-.51.46l5.203 7.228a6 6 0 0 1 3.338-1.003c.869 0 1.706.187 2.476.532zm-2.607 13.451a4.04 4.04 0 0 0-1.188-2.871 4.03 4.03 0 0 0-2.869-1.189 4.03 4.03 0 0 0-2.867 1.189 4.04 4.04 0 0 0-1.19 2.871c0 1.085.424 2.105 1.19 2.872a4.03 4.03 0 0 0 2.867 1.19 4.03 4.03 0 0 0 2.869-1.19 4.04 4.04 0 0 0 1.188-2.872M33.776 47.772c4.29-4.294 4.29-11.28 0-15.575a10.97 10.97 0 0 0-7.78-3.22 10.96 10.96 0 0 0-7.78 3.22c-4.29 4.294-4.29 11.28 0 15.575s11.27 4.295 15.56 0m.888-17.467c.175.157.357.307.526.476a12.95 12.95 0 0 1 2.82 4.237l11.754-3.633-4.084-7.782a6 6 0 0 1-2.459.524 6 6 0 0 1-3.353-1.013zm4.5-12.24c0 1.084.424 2.103 1.19 2.87a4.03 4.03 0 0 0 2.867 1.19 4.03 4.03 0 0 0 2.869-1.19 4.04 4.04 0 0 0 1.188-2.87 4.04 4.04 0 0 0-1.188-2.873 4.03 4.03 0 0 0-2.869-1.19 4.03 4.03 0 0 0-2.867 1.19 4.04 4.04 0 0 0-1.19 2.873m-.5 24.772 12.172 3.849 3.494-6.605-3.62-6.893-12.094 3.739c.466 1.941.484 3.963.049 5.91m13.992-10.25 2.807 5.348 2.632-4.98c-.142-.119-.297-.218-.43-.352a6 6 0 0 1-.965-1.266zm5.233-4.272a4.059 4.059 0 0 0 6.926 2.873 4.07 4.07 0 0 0 0-5.744 4.04 4.04 0 0 0-2.868-1.187 4.04 4.04 0 0 0-2.869 1.187 4.04 4.04 0 0 0-1.189 2.87m8.34 17.957a6.077 6.077 0 0 1 0 8.575 6.03 6.03 0 0 1-4.282 1.774 6.03 6.03 0 0 1-4.283-1.774 6.03 6.03 0 0 1-1.775-4.287c0-.058.007-.115.009-.173l-4.074-1.288-4.455 8.427c.044.042.091.08.135.123a6.03 6.03 0 0 1 1.775 4.287c0 1.62-.63 3.143-1.775 4.288A6.01 6.01 0 0 1 43.221 68a6 6 0 0 1-4.281-1.776 6.02 6.02 0 0 1-1.776-4.288c0-1.347.443-2.624 1.25-3.676l-5.311-7.377a13 13 0 0 1-7.108 2.112c-3.33 0-6.659-1.269-9.193-3.806-5.07-5.075-5.07-13.333 0-18.408 4.415-4.422 11.245-4.988 16.283-1.705l5.318-7.35a6 6 0 0 1-1.239-3.661 6.03 6.03 0 0 1 1.776-4.289A6 6 0 0 1 43.22 12c1.618 0 3.14.63 4.283 1.776a6.03 6.03 0 0 1 1.775 4.289c0 1.619-.63 3.142-1.775 4.286-.047.048-.1.09-.149.137l4.354 8.295 4.29-1.326a6.025 6.025 0 0 1 1.665-5.429 6.057 6.057 0 0 1 8.566 0 6.077 6.077 0 0 1 0 8.575 6.04 6.04 0 0 1-4.283 1.773 6.1 6.1 0 0 1-2.128-.398l-3.23 6.106 2.665 5.075c2.268-1.13 5.088-.775 6.976 1.113m-39.233-7.289h5v2.003h-5v5.006h-2v-5.006h-5.002v-2.003h5.001v-5.006h2z\" /></g></svg>;\nexport default SvgEmr;","import * as React from \"react\";\nconst SvgEvents = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-EventBridge_64\"}</title><defs><linearGradient id=\"linearGradient-ebr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-EventBridge_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Application-Integration\" fill=\"url(#linearGradient-ebr)\" transform=\"translate(0 1)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-EventBridge_Icon_64_Squid\" fill=\"#fff\" d=\"M53.657 67c-2.143 0-3.887-1.753-3.887-3.909s1.744-3.909 3.887-3.909 3.887 1.753 3.887 3.909S55.8 67 53.657 67m-8.524-17H34.798l-5.168-9 5.168-9h10.335l5.167 9zM27.62 22.818c-2.143 0-3.887-1.753-3.887-3.909S25.478 15 27.62 15c2.144 0 3.888 1.753 3.888 3.909s-1.744 3.909-3.888 3.909m26.036 34.364c-.738 0-1.442.143-2.093.394L47.34 50.41l-.223.133L52.31 41.5c.177-.31.177-.69 0-1l-5.741-10a.99.99 0 0 0-.862-.5H35.258l.04-.024-3.871-6.572a5.9 5.9 0 0 0 2.071-4.495c0-3.258-2.636-5.909-5.877-5.909s-5.876 2.651-5.876 5.909 2.636 5.909 5.876 5.909c.739 0 1.443-.143 2.094-.394l3.615 6.133-5.71 9.943c-.177.31-.177.69 0 1l5.743 10c.178.31.506.5.861.5h11.482q.125-.002.241-.032l3.905 6.628a5.9 5.9 0 0 0-2.071 4.495c0 3.258 2.635 5.909 5.876 5.909 3.24 0 5.876-2.651 5.876-5.909s-2.635-5.909-5.876-5.909m5.927-24.078c-2.143 0-3.886-1.753-3.886-3.909s1.743-3.909 3.886-3.909 3.888 1.753 3.888 3.909-1.745 3.909-3.888 3.909m7.283 7.396-3.775-6.575a5.91 5.91 0 0 0 2.368-4.73c0-3.258-2.635-5.909-5.876-5.909-.824 0-1.61.173-2.323.484l-3.077-5.361a1 1 0 0 0-.861-.5H40.995v2h11.754l2.847 4.96a5.9 5.9 0 0 0-1.887 4.326c0 3.258 2.636 5.909 5.875 5.909.604 0 1.188-.093 1.737-.264L64.858 41l-4.966 8.648 1.722 1 5.253-9.148c.177-.31.177-.69 0-1M21.229 56.247c-2.144 0-3.888-1.754-3.888-3.909 0-2.156 1.744-3.909 3.888-3.909 2.143 0 3.887 1.753 3.887 3.909s-1.744 3.909-3.887 3.909m3.248 1.011a5.92 5.92 0 0 0 2.628-4.92c0-3.258-2.636-5.909-5.876-5.909-.939 0-1.823.228-2.61.623L15.143 41l5.759-10.029-1.723-1L13.133 40.5c-.177.31-.177.69 0 1l3.872 6.74a5.9 5.9 0 0 0-1.653 4.098c0 3.258 2.636 5.909 5.877 5.909.488 0 .96-.067 1.415-.181l3.172 5.525c.178.309.506.5.861.5h12.33v-2H27.25z\" /></g></svg>;\nexport default SvgEvents;","import * as React from \"react\";\nconst SvgFirehose = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Kinesis-Firehose_64\"}</title><defs><linearGradient id=\"linearGradient-fho\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Kinesis-Firehose_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-fho)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><g id=\"Icon-Service/64/Amazon-Kinesis-Data-Firehose\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Amazon-Kinesis-Data-Firehose_Icon_64_Squid\" d=\"m58.625 36.072-.742 1.856C54.685 36.649 50.784 36 46.288 36v-2c4.752 0 8.902.697 12.337 2.072m-.687-1.123C55.032 33.984 49.152 33 46.288 33v-2c2.896 0 8.751-.983 11.604-1.947l.64 1.894c-1.094.371-2.572.737-4.16 1.057 1.607.319 3.104.684 4.197 1.047zm.673-7.015C55.03 29.305 50.884 30 46.288 30v-2c4.351 0 8.256-.651 11.608-1.934zm-16.356 7.285-10 2.5V26.281l10 2.5zm-12 4.781h-3V24h3v16m13.242-12.97-11.242-2.811V23a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v.93c-15.202-1.109-17-7.311-17-11.93V7h-2v5c0 8.469 6.23 13.023 19 13.927v1.036c-7.763-.311-13.337-1.536-17.469-3.836l-.973 1.747c4.429 2.467 10.313 3.77 18.442 4.09v2.014c-5.648-.134-13.299-.508-18.745-1.945L6 30.967c1.633.431 3.449.767 5.342 1.033-1.893.267-3.709.603-5.342 1.033l.51 1.934c5.447-1.437 13.098-1.811 18.745-1.944v2.014c-8.084.316-13.965 1.619-18.439 4.088l.967 1.751c4.175-2.304 9.762-3.52 17.472-3.829v1.021c-16.495 1.214-19 9.834-19 14.932l-.002.392c-.017 3.224-.007 3.582.008 3.715l1.991-.185c-.011-.182-.01-1.366.001-3.519L8.255 53c0-7.62 5.883-12.067 17-12.92V41a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-1.219l11.242-2.811a1 1 0 0 0 .758-.97v-8a1 1 0 0 0-.758-.97\" /></g></g></svg>;\nexport default SvgFirehose;","import * as React from \"react\";\nconst SvgFis = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Valkyrie_16\"}</title><defs><linearGradient id=\"linearGradient-fis\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Valkyrie_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-fis)\" d=\"M0 0h24v24H0z\" /><g id=\"Icon-Service/16/AWS-Valkyrie_16\" fill=\"#fff\" transform=\"translate(4 4)\"><path id=\"Fill-1\" d=\"M6.489 4.986a.5.5 0 1 0-.002-1.002.5.5 0 0 0 .002 1.002m0 1c-.827 0-1.5-.673-1.5-1.5s.673-1.5 1.5-1.5 1.5.673 1.5 1.5-.673 1.5-1.5 1.5M9.782 8.9l.707-.707.707.707.707-.707-.707-.707.707-.707-.707-.707-.707.707-.707-.707-.707.707.707.707-.707.707zm-3.793.086h-1v5a.5.5 0 0 0 1 0zm2 0h-1v5c0 .827-.673 1.5-1.5 1.5s-1.5-.673-1.5-1.5v-5h-1v-1h5zm7.776-1.166c0 2.332-1.919 3.09-2.933 3.165l-4.843.001v-1h4.806c.167-.016 1.97-.221 1.97-2.166 0-1.663-1.41-2.086-2.016-2.19a.5.5 0 0 1-.408-.574c-.002-.675-.29-1.186-.792-1.351a1.08 1.08 0 0 0-1.205.399.5.5 0 0 1-.874-.131c-.213-.606-.521-1.113-.915-1.508-.479-.483-1.796-1.521-3.653-.733-1.052.447-1.907 1.787-1.907 2.986l.027.436a.5.5 0 0 1-.375.515C2.032 5.827 1 6.314 1 7.798c0 1.124.606 1.743 1.115 2.064a.7.7 0 0 0 .445.124h.429v1h-.43c-.382 0-.666-.081-.977-.278C.991 10.335 0 9.461 0 7.798c0-1.411.74-2.496 2.001-2.973l-.005-.076C1.995 3.101 3.077 1.421 4.511.812 6.19.098 7.968.454 9.264 1.759q.513.516.863 1.207a2.06 2.06 0 0 1 1.734-.211c.823.271 1.352.998 1.458 1.979 1.246.342 2.446 1.298 2.446 3.086\" /></g></g></svg>;\nexport default SvgFis;","import * as React from \"react\";\nconst SvgGlacier = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Glacier_64\"}</title><defs><linearGradient id=\"linearGradient-glc\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Glacier_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-glc)\" d=\"M0 0h80v80H0z\" /><g id=\"Icon-Service/64/Amazon-Glacier_64\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Amazon-Glacier_Icon_64_Squid\" d=\"M7.066 12.912C7.91 15.867 17.648 19 30.5 19c12.83 0 22.558-3.122 23.43-6.073l.063-.45C53.92 11.16 46.364 6 30.5 6 14.633 6 7.08 11.161 7.006 12.478zM53.22 32.19l-.383 2.703c3.36.827 3.963.322 3.97.317 0-.024-.046-.9-3.587-3.02M37.68 57.56l.251 1.983a59 59 0 0 1-7.436.458c-7.633 0-19.719-1.69-19.853-6.223L5.093 13.253a3.4 3.4 0 0 1-.082-.596l-.003-.02h.001C5.007 12.59 5 12.546 5 12.5 5 9.034 14.933 4 30.5 4S56 9.034 56 12.5c0 .047-.009.093-.01.14l-.002.01a3.4 3.4 0 0 1-.09.642L53.52 30.054c3.347 1.91 4.99 3.402 5.248 4.786a1.95 1.95 0 0 1-.435 1.66c-.486.577-1.286.865-2.468.865-.88 0-1.979-.163-3.313-.482l-.128.904-1.98-.28.163-1.152c-6.165-1.82-14.622-5.674-18.68-7.595a2.38 2.38 0 0 1-1.527.562A2.406 2.406 0 0 1 28 26.92a2.406 2.406 0 0 1 2.402-2.403 2.406 2.406 0 0 1 2.403 2.403q-.002.021-.004.042c3.45 1.63 11.973 5.54 18.092 7.391l2.55-17.979C49.021 19.4 39.554 21 30.5 21c-9.07 0-18.553-1.606-22.962-4.64l5.093 37.205q.01.068.01.136c0 1.516 6.778 4.3 17.853 4.3 2.453 0 4.871-.15 7.184-.443m18.287-7.69 2.371 2.37-1.415 1.414L54.27 51h-4.753l2.26 3.917 3.811 1.073-.542 1.924-3.174-.893-.867 3.238-1.932-.518 1.007-3.76-2.354-4.084-2.323 4.017.977 3.84-1.937.492-.814-3.195-3.237.867-.517-1.932 3.76-1.007L45.934 51h-4.689l-2.729 2.662-1.396-1.432 2.361-2.303-2.37-2.37 1.414-1.414L41.382 49h4.671l-2.384-4.123-3.807-1.07.541-1.926 3.175.893.867-3.237 1.932.518-1.009 3.767 2.357 4.076 2.32-4.023-.976-3.833 1.937-.493.815 3.196 3.236-.867.518 1.931-3.766 1.01L49.4 49h4.594l2.938-2.866 1.397 1.432z\" /></g></g></svg>;\nexport default SvgGlacier;","import * as React from \"react\";\nconst SvgGlue = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Glue_64\"}</title><defs><linearGradient id=\"linearGradient-glu\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Glue_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-glu)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Glue_Icon_64_Squid\" fill=\"#fff\" d=\"M33 23h2v-2h-2zm-2 1v-4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1m10-7h2v-2h-2zm-2 1v-4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1m4 9h2v-2h-2zm-1-4h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1m-2 10.5c-1.761 0-8.146-.075-12.299-1.096l10.145 16.062c.1.16.154.345.154.534v2.277c1.404.407 2.701.411 4 .016V49c0-.189.054-.374.154-.534l10.145-16.062C48.146 33.425 41.761 33.5 40 33.5m-15.746-2.808a1.32 1.32 0 0 1-.254-.755c0-2.845 9.384-3.371 14.978-3.432l.021 2c-6.872.075-11.071.859-12.551 1.443 1.57.656 6.195 1.552 13.552 1.552 7.338 0 11.957-.891 13.539-1.546-.646-.261-1.984-.647-4.66-.974l.242-1.985c6.062.74 6.879 1.902 6.879 2.942 0 .273-.095.523-.254.755L44 49.29V52a1 1 0 0 1-.627.928 8.8 8.8 0 0 1-3.307.656c-1.11 0-2.242-.215-3.412-.646A1 1 0 0 1 36 52v-2.71zm22.67 28.925a1 1 0 0 1-.217 1.09l-6 6a.997.997 0 0 1-1.414 0l-6-6A1 1 0 0 1 34 59h3v-3h2v4a1 1 0 0 1-1 1h-1.586L40 64.586 43.586 61H42a1 1 0 0 1-1-1v-4h2v3h3a1 1 0 0 1 .924.617\" /></g></svg>;\nexport default SvgGlue;","import * as React from \"react\";\nconst SvgIam = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Identity-and-Access-Management_64\"}</title><defs><linearGradient id=\"linearGradient-iam\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Identity-and-Access-Management_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"url(#linearGradient-iam)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Identity-and-Access-Management_Icon_64_Squid\" fill=\"#fff\" d=\"M14 59h52V21H14zm54-39v40a1 1 0 0 1-1 1H13a1 1 0 0 1-1-1V20a1 1 0 0 1 1-1h54a1 1 0 0 1 1 1M44 48h15v-2H44zm13-6h5v-2h-5zm-13 0h8v-2h-8zm-15 4a1.001 1.001 0 0 0-2 0 1.001 1.001 0 0 0 2 0m2 0a3 3 0 0 1-2 2.816V51h-2v-2.185A2.995 2.995 0 0 1 25 46c0-1.654 1.346-3 3-3s3 1.346 3 3m-12 7.993L36.994 54l.002-4H33v-2h3.996l.002-3H33v-2h3.999L37 40.007 19.006 40zm3-15.992 12 .005V31c.001-2.303-2.803-4.323-6-4.325h-.004c-3.192 0-5.992 2.021-5.994 4.325zm-5 16.991L17.006 39a1 1 0 0 1 1-1l1.994.001.002-7.001c.002-3.488 3.588-6.325 7.994-6.325H28c4.412.002 8.001 2.84 8 6.325v7.007l2 .001a1 1 0 0 1 1 1L38.994 55a1 1 0 0 1-1 1L18 55.992a1 1 0 0 1-1-1M60 36h2v-2h-2zm-16 0h11v-2H44z\" /></g></svg>;\nexport default SvgIam;","import * as React from \"react\";\nconst SvgIdentitystore = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-IAM-Identity-Center_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-IAM-Identity-Center_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"#dd344c\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-IAM-Identity-Center_Icon_64_Squid\" fill=\"#fff\" d=\"M67.438 62.325 52.56 47.447a1 1 0 0 1-.181-1.167c2.078-4.003 1.28-9.048-1.94-12.268a10.45 10.45 0 0 0-8.691-3c-3.23.392-6.078 2.256-7.812 5.117-2.038 3.359-1.947 7.668.23 10.979 3.021 4.595 8.91 6.184 13.698 3.7.387-.2.858-.127 1.168.182l2.468 2.468a1 1 0 0 1 .292.707v3.243h3.243c.264 0 .519.105.707.292l1.415 1.414c.187.188.293.442.293.708v3.242h3.242c.266 0 .519.106.707.293l1.855 1.856 3.942.263zm2.029-.305-.353 4.596a1 1 0 0 1-.996.923q-.034 0-.068-.002l-5.303-.354a1 1 0 0 1-.641-.29l-1.828-1.83H56.45a1 1 0 0 1-1-1v-3.827l-.829-.828h-3.829a1 1 0 0 1-1-1v-3.83l-1.672-1.672c-5.574 2.486-12.179.544-15.626-4.7-2.598-3.951-2.703-9.1-.269-13.114 2.056-3.39 5.44-5.6 9.282-6.064a12.44 12.44 0 0 1 10.346 3.57c3.653 3.653 4.683 9.286 2.622 13.936l14.702 14.702a1 1 0 0 1 .29.784M45.423 41.346a2.48 2.48 0 0 0-.733-1.768 2.48 2.48 0 0 0-1.768-.733c-.667 0-1.295.26-1.767.732a2.503 2.503 0 0 0 0 3.536c.974.975 2.56.975 3.535 0 .473-.473.733-1.1.733-1.767m.681-3.183a4.47 4.47 0 0 1 1.319 3.183 4.47 4.47 0 0 1-1.319 3.18v.002a4.49 4.49 0 0 1-3.182 1.315 4.48 4.48 0 0 1-3.181-1.316 4.506 4.506 0 0 1 0-6.364 4.47 4.47 0 0 1 3.181-1.318c1.203 0 2.332.468 3.182 1.318m-24.103 6.759H28v2h-6c-5.854-.013-10.674-4.165-10.976-9.454-.013-.25-.024-.481-.024-.713 0-6.524 4.627-8.95 7.351-9.81a14 14 0 0 1-.027-.875c0-5.35 3.757-10.888 8.739-12.881 5.807-2.344 11.965-1.178 16.463 3.118 1.187 1.12 2.705 2.794 3.769 4.835 1.136-.998 2.419-1.487 3.888-1.487 2.903 0 6.157 2.336 6.748 7.442C63.95 28.472 67 31.775 67 36.922c0 5.427-3.222 9.068-8.839 9.987l-.323-1.974C61.105 44.4 65 42.575 65 36.922c0-4.381-2.603-6.93-8.192-8.018a1 1 0 0 1-.807-.922c-.224-3.725-2.206-6.327-4.818-6.327-1.335 0-2.382.58-3.394 1.88-.223.287-.58.429-.941.376a1 1 0 0 1-.785-.638c-.872-2.33-2.609-4.285-3.913-5.515-3.919-3.742-9.278-4.754-14.342-2.713-4.198 1.679-7.484 6.522-7.484 11.025 0 .505.03.99.093 1.485q.006.056.007.113v.014c0 .505-.374.927-.86.996-2.499.634-6.564 2.52-6.564 8.077 0 .197.01.394.02.583.242 4.249 4.188 7.574 8.981 7.584\" /></g></svg>;\nexport default SvgIdentitystore;","import * as React from \"react\";\nconst SvgInfrastructure = props => <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"152.322 142.26 200 200\" width=\"1em\" height=\"1em\" fill=\"currentColor\" {...props}><defs><linearGradient id=\"gradient-0\" x1={250} x2={250} y1={180.147} y2={319.853} gradientTransform=\"rotate(55.846 328.855 173.433)scale(1.43158 1.22198)\" gradientUnits=\"userSpaceOnUse\"><stop offset={0} style={{\n stopColor: \"#3e3174\"\n }} /><stop offset={1} style={{\n stopColor: \"#18132c\"\n }} /></linearGradient><linearGradient id=\"paint0_linear_21_62\" x1={72.298} x2={13.442} y1={11.447} y2={69.721} gradientTransform=\"translate(195.584 153)\" gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"#4d29b4\" /><stop offset={1} stopColor=\"#836fff\" /></linearGradient><linearGradient id=\"paint1_linear_21_62\" x1={46.837} x2={87.572} y1={34.241} y2={-5.772} gradientTransform=\"translate(195.584 153)\" gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"#70ffe5\" /><stop offset={1} stopColor=\"#6295e1\" /></linearGradient><linearGradient id=\"paint2_linear_21_62\" x1={68.903} x2={30.593} y1={18.237} y2={54.613} gradientTransform=\"translate(195.584 153)\" gradientUnits=\"userSpaceOnUse\"><stop offset={0.007} stopColor=\"#654fec\" /><stop offset={1} stopColor=\"#71b2ff\" /></linearGradient></defs><g transform=\"translate(2.322 -7.74)\"><rect width={200} height={200} x={150} y={150} rx={30} ry={30} style={{\n stroke: \"#000\",\n fill: \"url(#gradient-0)\",\n strokeWidth: 0\n }} /><path fill=\"url(#paint0_linear_21_62)\" fillRule=\"evenodd\" d=\"M266.766 210.593c.928 0 1.393 1.122.736 1.778l-22.576 22.575c-.656.656-1.778.191-1.778-.737v-22.574c0-.576.466-1.042 1.041-1.042zm-69.617-21.272c-.928 0-1.393-1.122-.736-1.779l22.576-22.574c.656-.656 1.778-.191 1.778.737v22.574c0 .576-.466 1.042-1.041 1.042z\" clipRule=\"evenodd\" transform=\"translate(-98.841 -29.782)scale(1.47289)\" /><path fill=\"url(#paint1_linear_21_62)\" d=\"M246.294 185.616h30.242c.576 0 1.042-.466 1.042-1.042v-30.24c0-.575-.466-1.042-1.042-1.042h-30.242c-.575 0-1.042.467-1.042 1.042v30.24c0 .576.467 1.042 1.042 1.042\" transform=\"translate(-98.841 -29.782)scale(1.47289)\" /><path fill=\"url(#paint2_linear_21_62)\" d=\"M268.695 205.384h-41.676a1.04 1.04 0 0 1-1.042-1.042v-41.673c0-.576.466-1.042 1.042-1.042h11.982c.575 0 1.042.466 1.042 1.042v27.087c0 .576.466 1.042 1.042 1.042h27.61c.575 0 1.042.466 1.042 1.042v12.502c0 .575-.467 1.042-1.042 1.042\" transform=\"translate(-98.841 -29.782)scale(1.47289)\" /></g></svg>;\nexport default SvgInfrastructure;","import * as React from \"react\";\nconst SvgIotData = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\"}</title><defs><linearGradient id=\"linearGradient-iot\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Internet-of-Things\" fill=\"url(#linearGradient-iot)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-IoT-Core_Icon_64_Squid\" fill=\"#fff\" d=\"M57.423 47.906c0-1.11-.897-2.012-2-2.012s-2 .903-2 2.012c0 1.11.897 2.012 2 2.012s2-.902 2-2.012m-3.36 3.768a4.01 4.01 0 0 1-2.497-2.762h-2.143v8.071c1.94-1.165 3.672-3.132 4.64-5.309m-6.64 6.203v-9.97c0-.556.447-1.007 1-1.007h3.143a4 4 0 0 1 2.503-2.764c-1.107-2.54-3.378-4.826-5.897-5.934a4 4 0 0 1-2.748 2.52v17.555a10.3 10.3 0 0 0 2-.4m-4 .399V40.722a4 4 0 0 1-2.747-2.516c-2.524 1.122-4.794 3.405-5.899 5.93a4 4 0 0 1 2.503 2.764h3.143c.553 0 1 .45 1 1.006v9.948c.657.21 1.32.354 2 .422m-4-1.334v-8.03H37.28a4.01 4.01 0 0 1-2.495 2.762c.96 2.144 2.69 4.09 4.638 5.268m-6-7.024c1.103 0 2-.902 2-2.012s-.897-2.012-2-2.012-2 .903-2 2.012c0 1.11.897 2.012 2 2.012m9-13.076c0 1.109.897 2.011 2 2.011s2-.902 2-2.011c0-1.11-.897-2.012-2-2.012s-2 .902-2 2.012m16.999 11.064a4.016 4.016 0 0 1-3.289 3.951c-1.217 3.2-3.797 6.042-6.71 7.39V64h-2v-4.042c-.651.164-1.321.279-2 .334V64h-2v-3.708a12 12 0 0 1-2-.347V64h-2v-4.787c-2.927-1.374-5.504-4.195-6.71-7.356a4.017 4.017 0 0 1-.005-7.902c1.276-3.46 4.332-6.534 7.787-7.83.338-1.877 1.966-3.307 3.928-3.307 1.96 0 3.587 1.428 3.927 3.302 3.45 1.28 6.508 4.355 7.787 7.835a4.02 4.02 0 0 1 3.285 3.951m5.576-9.432c.045 2.737-1.036 5.393-2.891 7.148l-1.37-1.467c1.452-1.372 2.296-3.467 2.26-5.603 0-4.124-3.01-7.457-7-7.831a1.005 1.005 0 0 1-.905-1.063l.008-.119q.009-.102.01-.208c0-2.642-2.123-4.79-4.733-4.79-1.22 0-2.38.472-3.265 1.328a.999.999 0 0 1-1.629-.373c-1.664-4.477-5.95-7.484-10.662-7.484-6.285 0-11.397 5.173-11.397 11.533 0 .435-.278.826-.69.962C19.306 31.634 17 34.845 17 38.495c0 4.634 3.726 8.405 8.306 8.405h.119v2.012h-.12C19.624 48.912 15 44.239 15 38.495c0-4.28 2.562-8.074 6.444-9.654C21.81 21.695 27.67 16 34.822 16c5.096 0 9.766 2.986 12.004 7.555a6.64 6.64 0 0 1 3.552-1.026c3.551 0 6.469 2.791 6.717 6.317 4.565.861 7.904 4.85 7.904 9.628\" /></g></svg>;\nexport default SvgIotData;","import * as React from \"react\";\nconst SvgIot = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\"}</title><defs><linearGradient id=\"linearGradient-iot\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Internet-of-Things\" fill=\"url(#linearGradient-iot)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-IoT-Core_Icon_64_Squid\" fill=\"#fff\" d=\"M57.423 47.906c0-1.11-.897-2.012-2-2.012s-2 .903-2 2.012c0 1.11.897 2.012 2 2.012s2-.902 2-2.012m-3.36 3.768a4.01 4.01 0 0 1-2.497-2.762h-2.143v8.071c1.94-1.165 3.672-3.132 4.64-5.309m-6.64 6.203v-9.97c0-.556.447-1.007 1-1.007h3.143a4 4 0 0 1 2.503-2.764c-1.107-2.54-3.378-4.826-5.897-5.934a4 4 0 0 1-2.748 2.52v17.555a10.3 10.3 0 0 0 2-.4m-4 .399V40.722a4 4 0 0 1-2.747-2.516c-2.524 1.122-4.794 3.405-5.899 5.93a4 4 0 0 1 2.503 2.764h3.143c.553 0 1 .45 1 1.006v9.948c.657.21 1.32.354 2 .422m-4-1.334v-8.03H37.28a4.01 4.01 0 0 1-2.495 2.762c.96 2.144 2.69 4.09 4.638 5.268m-6-7.024c1.103 0 2-.902 2-2.012s-.897-2.012-2-2.012-2 .903-2 2.012c0 1.11.897 2.012 2 2.012m9-13.076c0 1.109.897 2.011 2 2.011s2-.902 2-2.011c0-1.11-.897-2.012-2-2.012s-2 .902-2 2.012m16.999 11.064a4.016 4.016 0 0 1-3.289 3.951c-1.217 3.2-3.797 6.042-6.71 7.39V64h-2v-4.042c-.651.164-1.321.279-2 .334V64h-2v-3.708a12 12 0 0 1-2-.347V64h-2v-4.787c-2.927-1.374-5.504-4.195-6.71-7.356a4.017 4.017 0 0 1-.005-7.902c1.276-3.46 4.332-6.534 7.787-7.83.338-1.877 1.966-3.307 3.928-3.307 1.96 0 3.587 1.428 3.927 3.302 3.45 1.28 6.508 4.355 7.787 7.835a4.02 4.02 0 0 1 3.285 3.951m5.576-9.432c.045 2.737-1.036 5.393-2.891 7.148l-1.37-1.467c1.452-1.372 2.296-3.467 2.26-5.603 0-4.124-3.01-7.457-7-7.831a1.005 1.005 0 0 1-.905-1.063l.008-.119q.009-.102.01-.208c0-2.642-2.123-4.79-4.733-4.79-1.22 0-2.38.472-3.265 1.328a.999.999 0 0 1-1.629-.373c-1.664-4.477-5.95-7.484-10.662-7.484-6.285 0-11.397 5.173-11.397 11.533 0 .435-.278.826-.69.962C19.306 31.634 17 34.845 17 38.495c0 4.634 3.726 8.405 8.306 8.405h.119v2.012h-.12C19.624 48.912 15 44.239 15 38.495c0-4.28 2.562-8.074 6.444-9.654C21.81 21.695 27.67 16 34.822 16c5.096 0 9.766 2.986 12.004 7.555a6.64 6.64 0 0 1 3.552-1.026c3.551 0 6.469 2.791 6.717 6.317 4.565.861 7.904 4.85 7.904 9.628\" /></g></svg>;\nexport default SvgIot;","import * as React from \"react\";\nconst SvgIotanalytics = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\"}</title><defs><linearGradient id=\"linearGradient-iot\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Internet-of-Things\" fill=\"url(#linearGradient-iot)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-IoT-Core_Icon_64_Squid\" fill=\"#fff\" d=\"M57.423 47.906c0-1.11-.897-2.012-2-2.012s-2 .903-2 2.012c0 1.11.897 2.012 2 2.012s2-.902 2-2.012m-3.36 3.768a4.01 4.01 0 0 1-2.497-2.762h-2.143v8.071c1.94-1.165 3.672-3.132 4.64-5.309m-6.64 6.203v-9.97c0-.556.447-1.007 1-1.007h3.143a4 4 0 0 1 2.503-2.764c-1.107-2.54-3.378-4.826-5.897-5.934a4 4 0 0 1-2.748 2.52v17.555a10.3 10.3 0 0 0 2-.4m-4 .399V40.722a4 4 0 0 1-2.747-2.516c-2.524 1.122-4.794 3.405-5.899 5.93a4 4 0 0 1 2.503 2.764h3.143c.553 0 1 .45 1 1.006v9.948c.657.21 1.32.354 2 .422m-4-1.334v-8.03H37.28a4.01 4.01 0 0 1-2.495 2.762c.96 2.144 2.69 4.09 4.638 5.268m-6-7.024c1.103 0 2-.902 2-2.012s-.897-2.012-2-2.012-2 .903-2 2.012c0 1.11.897 2.012 2 2.012m9-13.076c0 1.109.897 2.011 2 2.011s2-.902 2-2.011c0-1.11-.897-2.012-2-2.012s-2 .902-2 2.012m16.999 11.064a4.016 4.016 0 0 1-3.289 3.951c-1.217 3.2-3.797 6.042-6.71 7.39V64h-2v-4.042c-.651.164-1.321.279-2 .334V64h-2v-3.708a12 12 0 0 1-2-.347V64h-2v-4.787c-2.927-1.374-5.504-4.195-6.71-7.356a4.017 4.017 0 0 1-.005-7.902c1.276-3.46 4.332-6.534 7.787-7.83.338-1.877 1.966-3.307 3.928-3.307 1.96 0 3.587 1.428 3.927 3.302 3.45 1.28 6.508 4.355 7.787 7.835a4.02 4.02 0 0 1 3.285 3.951m5.576-9.432c.045 2.737-1.036 5.393-2.891 7.148l-1.37-1.467c1.452-1.372 2.296-3.467 2.26-5.603 0-4.124-3.01-7.457-7-7.831a1.005 1.005 0 0 1-.905-1.063l.008-.119q.009-.102.01-.208c0-2.642-2.123-4.79-4.733-4.79-1.22 0-2.38.472-3.265 1.328a.999.999 0 0 1-1.629-.373c-1.664-4.477-5.95-7.484-10.662-7.484-6.285 0-11.397 5.173-11.397 11.533 0 .435-.278.826-.69.962C19.306 31.634 17 34.845 17 38.495c0 4.634 3.726 8.405 8.306 8.405h.119v2.012h-.12C19.624 48.912 15 44.239 15 38.495c0-4.28 2.562-8.074 6.444-9.654C21.81 21.695 27.67 16 34.822 16c5.096 0 9.766 2.986 12.004 7.555a6.64 6.64 0 0 1 3.552-1.026c3.551 0 6.469 2.791 6.717 6.317 4.565.861 7.904 4.85 7.904 9.628\" /></g></svg>;\nexport default SvgIotanalytics;","import * as React from \"react\";\nconst SvgIotwireless = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\"}</title><defs><linearGradient id=\"linearGradient-iot\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-IoT-Core_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Internet-of-Things\" fill=\"url(#linearGradient-iot)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-IoT-Core_Icon_64_Squid\" fill=\"#fff\" d=\"M57.423 47.906c0-1.11-.897-2.012-2-2.012s-2 .903-2 2.012c0 1.11.897 2.012 2 2.012s2-.902 2-2.012m-3.36 3.768a4.01 4.01 0 0 1-2.497-2.762h-2.143v8.071c1.94-1.165 3.672-3.132 4.64-5.309m-6.64 6.203v-9.97c0-.556.447-1.007 1-1.007h3.143a4 4 0 0 1 2.503-2.764c-1.107-2.54-3.378-4.826-5.897-5.934a4 4 0 0 1-2.748 2.52v17.555a10.3 10.3 0 0 0 2-.4m-4 .399V40.722a4 4 0 0 1-2.747-2.516c-2.524 1.122-4.794 3.405-5.899 5.93a4 4 0 0 1 2.503 2.764h3.143c.553 0 1 .45 1 1.006v9.948c.657.21 1.32.354 2 .422m-4-1.334v-8.03H37.28a4.01 4.01 0 0 1-2.495 2.762c.96 2.144 2.69 4.09 4.638 5.268m-6-7.024c1.103 0 2-.902 2-2.012s-.897-2.012-2-2.012-2 .903-2 2.012c0 1.11.897 2.012 2 2.012m9-13.076c0 1.109.897 2.011 2 2.011s2-.902 2-2.011c0-1.11-.897-2.012-2-2.012s-2 .902-2 2.012m16.999 11.064a4.016 4.016 0 0 1-3.289 3.951c-1.217 3.2-3.797 6.042-6.71 7.39V64h-2v-4.042c-.651.164-1.321.279-2 .334V64h-2v-3.708a12 12 0 0 1-2-.347V64h-2v-4.787c-2.927-1.374-5.504-4.195-6.71-7.356a4.017 4.017 0 0 1-.005-7.902c1.276-3.46 4.332-6.534 7.787-7.83.338-1.877 1.966-3.307 3.928-3.307 1.96 0 3.587 1.428 3.927 3.302 3.45 1.28 6.508 4.355 7.787 7.835a4.02 4.02 0 0 1 3.285 3.951m5.576-9.432c.045 2.737-1.036 5.393-2.891 7.148l-1.37-1.467c1.452-1.372 2.296-3.467 2.26-5.603 0-4.124-3.01-7.457-7-7.831a1.005 1.005 0 0 1-.905-1.063l.008-.119q.009-.102.01-.208c0-2.642-2.123-4.79-4.733-4.79-1.22 0-2.38.472-3.265 1.328a.999.999 0 0 1-1.629-.373c-1.664-4.477-5.95-7.484-10.662-7.484-6.285 0-11.397 5.173-11.397 11.533 0 .435-.278.826-.69.962C19.306 31.634 17 34.845 17 38.495c0 4.634 3.726 8.405 8.306 8.405h.119v2.012h-.12C19.624 48.912 15 44.239 15 38.495c0-4.28 2.562-8.074 6.444-9.654C21.81 21.695 27.67 16 34.822 16c5.096 0 9.766 2.986 12.004 7.555a6.64 6.64 0 0 1 3.552-1.026c3.551 0 6.469 2.791 6.717 6.317 4.565.861 7.904 4.85 7.904 9.628\" /></g></svg>;\nexport default SvgIotwireless;","import * as React from \"react\";\nconst SvgKafka = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-Managed-Streaming-for-Kafka_16\"}</title><defs><linearGradient id=\"linearGradient-kfk\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-Managed-Streaming-for-Kafka_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Analytics\" fill=\"url(#linearGradient-kfk)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-Managed-Streaming-for-Kafka-Icon_16_Squid\" fill=\"#fff\" d=\"M7.725 11.188h8.55l-4.276-4.896zm-1.604.73a.52.52 0 0 1 .081-.553l5.41-6.196a.53.53 0 0 1 .775 0l5.41 6.196a.516.516 0 0 1-.388.856H6.59a.52.52 0 0 1-.468-.303m6.153-2.738.847-1.142h-.6l-.73 1.085V8.038h-.542v2.443h.541V9.3l.759 1.18h.643zm7.052 5.183-.204.176c-.506.444-1.427.444-1.936 0l-.403-.35c-.891-.783-2.399-.783-3.29-.002l-.405.352c-.505.444-1.429.444-1.938 0l-.401-.35c-.892-.784-2.4-.784-3.29-.002l-.406.353c-.507.442-1.428.442-1.936-.002l-.203-.175-.674.78.2.174c.446.391 1.047.586 1.647.586.598 0 1.197-.195 1.642-.584l.406-.353c.506-.444 1.427-.444 1.936.002l.403.349c.892.782 2.4.782 3.29 0l.406-.351c.505-.443 1.428-.444 1.937.002l.402.349c.892.783 2.4.78 3.289.002l.202-.176zm-.445 4.273c-.507.444-1.43.443-1.936-.002l-.402-.348c-.893-.784-2.4-.784-3.29-.002l-.405.352c-.506.444-1.43.444-1.937-.001l-.403-.35c-.893-.782-2.4-.781-3.289-.001l-.407.352c-.505.443-1.427.444-1.936-.002l-.202-.175-.674.78.2.174c.893.783 2.4.781 3.29.001l.405-.352c.505-.444 1.43-.444 1.936.001l.403.35c.894.782 2.4.781 3.29.001l.406-.352c.505-.445 1.427-.444 1.936.001l.403.35c.446.392 1.047.587 1.646.587.6 0 1.198-.195 1.642-.586l.203-.175-.675-.78zm.204-2.094.675.78-.203.176c-.444.39-1.043.585-1.642.585-.6 0-1.2-.196-1.646-.587l-.403-.35c-.51-.445-1.43-.445-1.936-.001l-.406.353c-.89.78-2.396.78-3.29-.002l-.403-.35c-.507-.444-1.43-.444-1.936 0l-.406.352c-.888.78-2.396.78-3.29-.002L4 17.322l.674-.78.202.175c.509.446 1.431.445 1.936.002l.407-.353c.89-.78 2.396-.78 3.29.002l.402.35c.507.444 1.43.444 1.937 0l.406-.352c.89-.78 2.396-.78 3.289.002l.402.35c.507.444 1.429.444 1.936.001z\" /></g></svg>;\nexport default SvgKafka;","import * as React from \"react\";\nconst SvgKinesis = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Kinesis_64\"}</title><defs><linearGradient id=\"linearGradient-kns\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Kinesis_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-kns)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Kinesis_Icon_64_Squid\" fill=\"#fff\" d=\"M19 62h2c0-8.406 5.465-17 46-17v-2c-42.297 0-48 9.604-48 19m6 6h2c0-7.566 0-19 40-19v-2c-18.337 0-30.272 2.359-36.49 7.212C25 58.512 25 63.996 25 68M15 26h-2c0 7.396 10.039 12.08 29.893 14C23.039 41.92 13 46.604 13 54h2c0-4.855 6.756-13 52-13v-2c-45.244 0-52-8.145-52-13m6-8h-2c0 9.396 5.703 19 48 19v-2c-40.535 0-46-8.594-46-17m46 13v2c-18.337 0-30.272-2.359-36.49-7.212C25 21.488 25 16.004 25 12h2c0 7.566 0 19 40 19\" /></g></svg>;\nexport default SvgKinesis;","import * as React from \"react\";\nconst SvgKinesisanalytics = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Kinesis_64\"}</title><defs><linearGradient id=\"linearGradient-kns\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Kinesis_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-kns)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Kinesis_Icon_64_Squid\" fill=\"#fff\" d=\"M19 62h2c0-8.406 5.465-17 46-17v-2c-42.297 0-48 9.604-48 19m6 6h2c0-7.566 0-19 40-19v-2c-18.337 0-30.272 2.359-36.49 7.212C25 58.512 25 63.996 25 68M15 26h-2c0 7.396 10.039 12.08 29.893 14C23.039 41.92 13 46.604 13 54h2c0-4.855 6.756-13 52-13v-2c-45.244 0-52-8.145-52-13m6-8h-2c0 9.396 5.703 19 48 19v-2c-40.535 0-46-8.594-46-17m46 13v2c-18.337 0-30.272-2.359-36.49-7.212C25 21.488 25 16.004 25 12h2c0 7.566 0 19 40 19\" /></g></svg>;\nexport default SvgKinesisanalytics;","import * as React from \"react\";\nconst SvgKinesisanalyticsv2 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Kinesis_64\"}</title><defs><linearGradient id=\"linearGradient-kns\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Kinesis_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-kns)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Kinesis_Icon_64_Squid\" fill=\"#fff\" d=\"M19 62h2c0-8.406 5.465-17 46-17v-2c-42.297 0-48 9.604-48 19m6 6h2c0-7.566 0-19 40-19v-2c-18.337 0-30.272 2.359-36.49 7.212C25 58.512 25 63.996 25 68M15 26h-2c0 7.396 10.039 12.08 29.893 14C23.039 41.92 13 46.604 13 54h2c0-4.855 6.756-13 52-13v-2c-45.244 0-52-8.145-52-13m6-8h-2c0 9.396 5.703 19 48 19v-2c-40.535 0-46-8.594-46-17m46 13v2c-18.337 0-30.272-2.359-36.49-7.212C25 21.488 25 16.004 25 12h2c0 7.566 0 19 40 19\" /></g></svg>;\nexport default SvgKinesisanalyticsv2;","import * as React from \"react\";\nconst SvgKms = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Key-Management-Services_64\"}</title><defs><linearGradient id=\"linearGradient-kms\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Key-Management-Services_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"url(#linearGradient-kms)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Key-Management-Services_Icon_64_Squid\" fill=\"#fff\" d=\"M51.997 52.496h7v-2h-7zm-9 0h7v-2h-7zm-9 0h7v-2h-7zm11-8c0-1.103.898-2 2-2 1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2m6 0c0-2.206-1.793-4-4-4s-4 1.794-4 4 1.794 4 4 4 4-1.794 4-4m-14-2c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .898-2 2-2m0 6c2.207 0 4-1.794 4-4s-1.793-4-4-4-4 1.794-4 4 1.794 4 4 4m29-15v23a1 1 0 0 1-1 1h-31v-2h30v-21h-22v-2h23a1 1 0 0 1 1 1m-35.301 5.047a1 1 0 0 0-.7.953v21.04l-2.398 2.057-2.601-2.973v-2.624a1 1 0 0 0-.293-.707l-2.292-2.293 2.292-2.293a1 1 0 0 0 .293-.707v-2a1 1 0 0 0-.293-.707l-2.292-2.293 2.292-2.293a1 1 0 0 0 .293-.707v-3.49a1 1 0 0 0-.698-.953c-5.142-1.63-8.182-6.919-7.07-12.304.803-3.88 3.787-6.99 7.602-7.926 3.249-.797 6.58-.1 9.14 1.907a10.45 10.45 0 0 1 4.026 8.266c0 4.553-3.002 8.685-7.301 10.047m9.3-10.047c0-3.864-1.745-7.45-4.79-9.84s-6.997-3.22-10.851-2.275c-4.561 1.117-8.126 4.832-9.084 9.463v.001C14 31.99 17.3 38.035 22.997 40.215v2.367L20.29 45.29a1 1 0 0 0 0 1.414l2.707 2.707v1.172L20.29 53.29a1 1 0 0 0 0 1.414l2.707 2.707v2.586c0 .242.088.476.248.66l3.5 4a1 1 0 0 0 1.403.1l3.5-3a1 1 0 0 0 .349-.76V40.204c4.746-1.832 8-6.542 8-11.708m-12.5 2.37a2.503 2.503 0 0 1-2.5-2.5c0-1.378 1.123-2.5 2.5-2.5 1.38 0 2.5 1.122 2.5 2.5 0 1.38-1.12 2.5-2.5 2.5m0-7a4.505 4.505 0 0 0-4.5 4.5c0 2.482 2.02 4.5 4.5 4.5 2.483 0 4.5-2.018 4.5-4.5 0-2.48-2.017-4.5-4.5-4.5\" /></g></svg>;\nexport default SvgKms;","import * as React from \"react\";\nconst SvgLakeformation = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Lake-Formation_16\"}</title><defs><linearGradient id=\"linearGradient-lf\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Lake-Formation_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Analytics\" fill=\"url(#linearGradient-lf)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Lake-Formation_Icon_16_Squid\" fill=\"#fff\" d=\"m14.146 15.146.707.707-2 2a.5.5 0 0 1-.707 0l-2-2 .707-.707L12 16.292V14.5h1v1.792zM12.5 19A6.51 6.51 0 0 1 6 12.5C6 8.916 8.916 6 12.5 6S19 8.916 19 12.5 16.083 19 12.5 19m0-14C8.364 5 5 8.364 5 12.5c0 4.135 3.364 7.5 7.5 7.5 4.135 0 7.5-3.365 7.5-7.5C20 8.364 16.635 5 12.5 5m1.035 6.298a.5.5 0 0 0-.053.224V13h-1.965v-1.478a.5.5 0 0 0-.053-.224L10.31 9h4.379zM15.5 8h-6a.5.5 0 0 0-.448.724l1.465 2.917V13.5a.5.5 0 0 0 .5.5h2.965a.5.5 0 0 0 .5-.5v-1.859l1.465-2.917A.503.503 0 0 0 15.5 8\" /></g></svg>;\nexport default SvgLakeformation;","import * as React from \"react\";\nconst SvgLambda = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Lambda_64\"}</title><defs><linearGradient id=\"linearGradient-lmb\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Lambda_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Compute\" fill=\"url(#linearGradient-lmb)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Lambda_Icon_64_Squid\" fill=\"#fff\" d=\"M28.008 66H15.59l13.733-28.704 6.222 12.81zm2.212-31.447a1 1 0 0 0-.902-.564h-.003a1 1 0 0 0-.903.569L13.098 66.569A1 1 0 0 0 14.002 68h14.64c.388 0 .74-.223.906-.572l8.016-16.9a1 1 0 0 0-.005-.863zM64.995 66H52.66L32.867 24.57a1 1 0 0 0-.905-.57H23.89l.009-10h15.82L59.42 55.429c.166.348.519.571.906.571h4.67zm1.003-12H60.96l-19.7-41.429a1 1 0 0 0-.907-.571H22.898c-.553 0-1.002.447-1.003.999l-.01 12A1 1 0 0 0 22.886 26h8.442l19.793 41.43c.167.348.517.57.904.57h13.972A1 1 0 0 0 67 67V55a1 1 0 0 0-1.002-1\" /></g></svg>;\nexport default SvgLambda;","import * as React from \"react\";\nconst SvgLogs = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-CloudWatch_64\"}</title><defs><linearGradient id=\"linearGradient-cwl\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-CloudWatch_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Management-Governance\" fill=\"url(#linearGradient-cwl)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-CloudWatch_Icon_64_Squid\" fill=\"#fff\" d=\"M55.06 46.777c0-3.909-3.202-7.09-7.138-7.09s-7.136 3.181-7.136 7.09c0 3.91 3.2 7.09 7.136 7.09s7.137-3.18 7.137-7.09m2.01 0c0 5.011-4.103 9.087-9.147 9.087-5.043 0-9.147-4.076-9.147-9.087 0-5.01 4.104-9.086 9.147-9.086s9.148 4.076 9.148 9.086m8.44 13.697L58.5 54.203a13 13 0 0 1-1.947 2.16l6.998 6.27a1.474 1.474 0 0 0 2.066-.107 1.453 1.453 0 0 0-.108-2.052m-17.588-2.812c6.043 0 10.958-4.883 10.958-10.885s-4.915-10.884-10.958-10.884c-6.041 0-10.957 4.882-10.957 10.884s4.916 10.885 10.957 10.885m19.19 6.2A3.48 3.48 0 0 1 64.529 65a3.48 3.48 0 0 1-2.322-.883L54.931 57.6a12.94 12.94 0 0 1-7.009 2.06c-7.15 0-12.967-5.779-12.967-12.882s5.817-12.881 12.967-12.881 12.969 5.779 12.969 12.881c0 2.038-.492 3.96-1.344 5.674l7.309 6.54a3.444 3.444 0 0 1 .256 4.872M21.28 29.393c0 .519.032 1.036.094 1.536a.994.994 0 0 1-.823 1.106c-2.472.634-6.54 2.553-6.54 8.31 0 4.348 2.413 6.748 4.439 7.996.691.433 1.51.664 2.373.673l12.122.011-.002 1.997-12.131-.01c-1.246-.014-2.428-.351-3.428-.977C15.377 48.797 12 45.89 12 40.345c0-6.683 4.6-9.153 7.3-10.026q-.03-.462-.03-.926c0-5.46 3.728-11.123 8.672-13.171 5.782-2.407 11.908-1.214 16.384 3.189 1.388 1.364 2.529 3.02 3.404 4.937a6.5 6.5 0 0 1 4.154-1.502c3.002 0 6.382 2.264 6.984 7.215 2.812.644 8.753 2.894 8.753 10.362 0 2.981-.941 5.444-2.798 7.319l-1.433-1.401c1.473-1.488 2.22-3.479 2.22-5.918 0-6.532-5.504-8.157-7.873-8.551a1 1 0 0 1-.823-1.157c-.329-4.055-2.753-5.872-5.03-5.872-1.437 0-2.784.695-3.697 1.907a1.006 1.006 0 0 1-1.75-.258c-.823-2.266-2.01-4.171-3.525-5.661-3.88-3.816-9.184-4.85-14.195-2.766-4.17 1.727-7.437 6.702-7.437 11.328\" /></g></svg>;\nexport default SvgLogs;","import * as React from \"react\";\nconst SvgManagedblockchain = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Managed-Blockchain_64\"}</title><g id=\"Icon-Architecture/64/Arch_Amazon-Managed-Blockchain_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Blockchain\" fill=\"#ed7100\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Managed-Blockchain-Icon_64_Squid\" fill=\"#fff\" d=\"m21.621 32.018-1.73-1.001A18.1 18.1 0 0 1 35.513 22c6.339 0 12.098 3.235 15.405 8.653l-1.707 1.042C46.27 26.877 41.149 24 35.513 24a16.1 16.1 0 0 0-13.892 8.018M49.199 48.25l1.731 1.001c-3.217 5.562-9.203 9.017-15.621 9.017-6.341 0-12.1-3.234-15.407-8.653l1.707-1.042c2.941 4.819 8.062 7.695 13.7 7.695a16.1 16.1 0 0 0 13.89-8.018m18.633-4.561-2 3-1.664-1.109.963-1.446H57v2a1 1 0 0 1-1 1H44a1 1 0 0 1-1-1v-3h-1v3a1 1 0 0 1-1 1H29a1 1 0 0 1-1-1v-3h-1v3a1 1 0 0 1-1 1H14a1 1 0 0 1-1-1v-12a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v4h1v-4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v4h1v-4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v2h4.131l-.963-1.445 1.664-1.109 2 3a1 1 0 0 1 0 1.109l-2 3-1.664-1.109.963-1.446H56a1 1 0 0 1-1-1v-2H45v4a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-4H30v4a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-4H15v10h10v-3a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3h10v-3a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3h10v-2a1 1 0 0 1 1-1h9.131l-.963-1.445 1.664-1.109 2 3a1 1 0 0 1 0 1.109M48 42.134h4v-4h-4zm-1-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1zm-14 6h4v-4h-4zm-1-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1zm-14 6h4v-4h-4zm-1-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1z\" /></g></svg>;\nexport default SvgManagedblockchain;","import * as React from \"react\";\nconst SvgMediaconvert = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Elemental-MediaConvert_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-Elemental-MediaConvert_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Media-Services\" fill=\"#ed7100\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Elemental-MediaConvert_Icon_64_Squid\" fill=\"#fff\" d=\"m62 52.422-6.496 3.713.992 1.736 7-4a1 1 0 0 0 .504-.869v-7h-2zm-9-20.844L40 24.15l-13 7.43v15.876l13 8.359 13-8.359zm11-4.577v6.998h-2v-5.46l-7 3.11V48a1 1 0 0 1-.459.842L41 57.549v6.75l5.514-3.066.972 1.748-7 3.893a1 1 0 0 1-.972 0l-7-3.893.972-1.748L39 64.299v-6.75l-13.541-8.706A1 1 0 0 1 25 48V31.648l-7-3.111v5.462h-2V27c0-.36.192-.69.504-.87l7-4.002.992 1.736-5.283 3.022 6.73 2.991 13.561-7.75a1 1 0 0 1 .992 0l13.561 7.751 6.732-2.991-5.285-3.023.992-1.736 7 4.002c.312.18.504.51.504.87m-24 8.164-4 2.4v4.87l4 2.4 4-2.4v-4.87zm.515-2.023 4.529 2.717 3.509-1.754.894 1.79L46 37.617V43c0 .35-.185.677-.485.857L41 46.568v4.434h-2v-4.435l-4.515-2.71c-.3-.18-.485-.505-.485-.856v-5.383l-3.447-1.724.894-1.79 3.509 1.755 4.529-2.717a1 1 0 0 1 1.03 0M40 15.144l6.514 3.624.972-1.748-7-3.894a1 1 0 0 0-.972 0l-7 3.894.972 1.748zM18 52.42l6.496 3.716-.992 1.736-7-4.003a1 1 0 0 1-.504-.869v-6.998h2z\" /></g></svg>;\nexport default SvgMediaconvert;","import * as React from \"react\";\nconst SvgMediastoreData = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Elemental-MediaStore_16\"}</title><defs><linearGradient id=\"linearGradient-ms\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Elemental-MediaStore_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Media-Services\" fill=\"url(#linearGradient-ms)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Elemental-MediaStore_Icon_16_Squid\" fill=\"#fff\" d=\"M8.98 15.475 7.977 16l-1.002-.525v-1.393l1.002-.502 1.001.502zm1.001.302v-2.005a.5.5 0 0 0-.276-.448l-1.503-.752a.5.5 0 0 0-.449 0l-1.503.752a.5.5 0 0 0-.276.448v2.005c0 .187.104.358.268.445l1.503.788a.5.5 0 0 0 .465 0l1.503-.788a.5.5 0 0 0 .268-.445m7.013.894v-2.839l2.004-1.004v2.835zm-4.007-.75 2.478 1.519-2.478 1.246zM9.98 9.72V6.797l6.012 3.127v6.665l-3.006-1.845v-3.187a.5.5 0 0 0-.274-.447zm-1.002-2.9v2.39L6.613 8.009zm3.507-1.759 2.262 1.13-1.667 1.087-2.462-1.281zm4.003 3.99L14.102 7.81l1.685-1.098 2.623 1.31zM19 11.706l-2.005 1.005V9.92l2.004-1.075zm.724-4.149L12.71 4.053a.5.5 0 0 0-.448 0L5.278 7.558A.5.5 0 0 0 5 8.004l.001.001H5v4.011h1.002V8.823l5.983 3.04v6.746l-1.702-1.032-.52.858 2.458 1.49h.002l.003.003.001-.001a.5.5 0 0 0 .484.02l7.013-3.526a.5.5 0 0 0 .276-.448V8.005a.5.5 0 0 0-.277-.448\" /></g></svg>;\nexport default SvgMediastoreData;","import * as React from \"react\";\nconst SvgMediastore = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Elemental-MediaStore_16\"}</title><defs><linearGradient id=\"linearGradient-ms\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Elemental-MediaStore_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Media-Services\" fill=\"url(#linearGradient-ms)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Elemental-MediaStore_Icon_16_Squid\" fill=\"#fff\" d=\"M8.98 15.475 7.977 16l-1.002-.525v-1.393l1.002-.502 1.001.502zm1.001.302v-2.005a.5.5 0 0 0-.276-.448l-1.503-.752a.5.5 0 0 0-.449 0l-1.503.752a.5.5 0 0 0-.276.448v2.005c0 .187.104.358.268.445l1.503.788a.5.5 0 0 0 .465 0l1.503-.788a.5.5 0 0 0 .268-.445m7.013.894v-2.839l2.004-1.004v2.835zm-4.007-.75 2.478 1.519-2.478 1.246zM9.98 9.72V6.797l6.012 3.127v6.665l-3.006-1.845v-3.187a.5.5 0 0 0-.274-.447zm-1.002-2.9v2.39L6.613 8.009zm3.507-1.759 2.262 1.13-1.667 1.087-2.462-1.281zm4.003 3.99L14.102 7.81l1.685-1.098 2.623 1.31zM19 11.706l-2.005 1.005V9.92l2.004-1.075zm.724-4.149L12.71 4.053a.5.5 0 0 0-.448 0L5.278 7.558A.5.5 0 0 0 5 8.004l.001.001H5v4.011h1.002V8.823l5.983 3.04v6.746l-1.702-1.032-.52.858 2.458 1.49h.002l.003.003.001-.001a.5.5 0 0 0 .484.02l7.013-3.526a.5.5 0 0 0 .276-.448V8.005a.5.5 0 0 0-.277-.448\" /></g></svg>;\nexport default SvgMediastore;","import * as React from \"react\";\nconst SvgMemorydb = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-MemoryDB-for-Redis_64\"}</title><defs><linearGradient id=\"linearGradient-1\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-MemoryDB-for-Redis_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-1)\" d=\"M0 0h80v80H0z\" /><g id=\"Icon-Service/64/Amazon-MemoryDB-for-Redis_64\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Fill-1\" d=\"M22.979 17.248C12.823 17.248 6 14.34 6 11.624S12.823 6 22.979 6c10.036 0 16.033 2.86 16.033 5.624 0 2.765-5.997 5.624-16.033 5.624m15.43 15.483c1.94 0 3.876.217 5.752.645l.445-1.95A28 28 0 0 0 41 30.861V11.955h-.022c.009-.111.034-.218.034-.331C41.012 7.136 33.597 4 22.979 4 13.548 4 4 6.619 4 11.624c0 .114.031.22.04.331H4v40.358c0 2.88 3.13 5.205 8.814 6.546l.459-1.946C8.788 55.853 6 54.091 6 52.313v-9.607c1.295 1.045 3.198 1.933 5.648 2.613l.535-1.926C8.312 42.317 6 40.713 6 39.101v-9.74c3.073 2.535 9.256 3.91 15.417 4.165l.082-1.998C11.797 31.126 6 28.242 6 25.687V15.213c3.284 2.656 10.152 4.035 16.979 4.035 7.33 0 13.13-1.495 16.021-3.896v15.396c-.197-.004-.394-.017-.591-.017-10.349 0-19.797 5.699-24.659 14.871l1.768.937c4.513-8.517 13.284-13.808 22.891-13.808m13.228 3.643a25.7 25.7 0 0 0-5.176-2.36l.623-1.901a27.8 27.8 0 0 1 5.579 2.544zm-9.849 21.581a6.37 6.37 0 0 0-1.319-3.002l11.339-10.721c3.622 3.516 5.873 8.529 6.13 13.723zm-6.317-3.414a4.4 4.4 0 0 1 4.28 3.414h-8.559a4.4 4.4 0 0 1 4.279-3.414m17.804-11.696 3.675-3.474-1.375-1.454L38.988 53.6a6.35 6.35 0 0 0-3.517-1.059c-3.193 0-5.839 2.353-6.316 5.414H17.864c.515-10.764 9.305-19.359 20.037-19.359 2.886 0 5.669.598 8.274 1.779l.826-1.821a21.9 21.9 0 0 0-9.1-1.958c-12.164 0-22.061 10.03-22.061 22.359v1h44.122v-1c0-6.046-2.488-11.999-6.687-16.11\" /></g></g></svg>;\nexport default SvgMemorydb;","import * as React from \"react\";\nconst SvgMq = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-MQ_16\"}</title><defs><linearGradient id=\"linearGradient-mq\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-MQ_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Application-Integration\" fill=\"url(#linearGradient-mq)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-MQ-Icon_16_Squid\" fill=\"#fff\" d=\"M8.005 12.983h1.002v-.99H8.005zm7.012 0h1.002v-.99h-1.002zm-2.227-1.76a3.2 3.2 0 0 1-1.556 0 5 5 0 0 1 0 2.434q.382-.096.778-.097.396.001.778.097a5 5 0 0 1 0-2.434m1.58-.908c-.965.953-.965 3.297 0 4.25a.494.494 0 0 1-.355.846.5.5 0 0 1-.353-.145 2.31 2.31 0 0 0-3.299 0 .505.505 0 0 1-.708 0 .49.49 0 0 1 0-.701c.964-.953.964-3.297 0-4.25a.49.49 0 0 1 0-.7.505.505 0 0 1 .708 0 2.31 2.31 0 0 0 3.299 0 .505.505 0 0 1 .708 0 .494.494 0 0 1 0 .7M6.865 8.064c0 .34.281.617.625.617a.62.62 0 0 0 .625-.617c0-.341-.28-.617-.625-.617a.62.62 0 0 0-.625.617m-1.001 0c0-.887.73-1.608 1.626-1.608.897 0 1.626.721 1.626 1.608A1.62 1.62 0 0 1 7.49 9.672a1.62 1.62 0 0 1-1.626-1.608m11.27 8.908c0-.34-.28-.618-.625-.618a.623.623 0 0 0-.625.618c0 .34.282.617.625.617a.62.62 0 0 0 .625-.617m1.001 0c0 .886-.729 1.607-1.626 1.607a1.62 1.62 0 0 1-1.626-1.607c0-.886.73-1.608 1.626-1.608.897 0 1.626.722 1.626 1.608M15.88 8.06c0 .34.282.617.625.617a.62.62 0 0 0 .624-.617.62.62 0 0 0-.624-.617.62.62 0 0 0-.625.617m-1.001 0c0-.887.73-1.607 1.626-1.607.897 0 1.626.72 1.626 1.607 0 .886-.73 1.608-1.626 1.608A1.62 1.62 0 0 1 14.88 8.06m-6.76 8.916c0-.34-.28-.618-.625-.618a.62.62 0 0 0-.624.618c0 .34.28.617.624.617a.62.62 0 0 0 .625-.617m1.001 0c0 .886-.729 1.607-1.626 1.607s-1.626-.72-1.626-1.607c0-.886.73-1.608 1.626-1.608a1.62 1.62 0 0 1 1.626 1.608m9.696-4.897a.626.626 0 0 0-.883 0 .61.61 0 0 0 0 .872.646.646 0 0 0 .883 0 .61.61 0 0 0 0-.872m.708 1.572a1.62 1.62 0 0 1-1.148.471c-.436 0-.844-.167-1.151-.47a1.595 1.595 0 0 1 0-2.273c.613-.607 1.684-.608 2.3 0a1.595 1.595 0 0 1 0 2.272M6.066 12.085a.62.62 0 0 0-.44-.182.62.62 0 0 0-.442.182.61.61 0 0 0 0 .872.645.645 0 0 0 .882 0 .61.61 0 0 0 0-.872m.71 1.572a1.62 1.62 0 0 1-1.15.471 1.62 1.62 0 0 1-1.15-.471 1.595 1.595 0 0 1 0-2.272c.614-.607 1.683-.608 2.3 0a1.597 1.597 0 0 1 0 2.272m2.995 3.785-.444.888c.914.446 1.78.67 2.643.67.864 0 1.73-.224 2.643-.67l-.444-.888c-1.542.752-2.856.753-4.398 0M9.75 7.448l-.4-.907a6.63 6.63 0 0 1 5.242 0l-.4.907a5.62 5.62 0 0 0-4.442 0\" /></g></svg>;\nexport default SvgMq;","import * as React from \"react\";\nconst SvgMwaa = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_CN-Pinwheel_16\"}</title><defs><linearGradient id=\"linearGradient-mwaa\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_CN-Pinwheel_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-mwaa)\" d=\"M0 0h24v24H0z\" /><g id=\"Icon-Service/16/CN-Pinwheel_16\" fill=\"#fff\" transform=\"translate(4 4)\"><path id=\"Fill-7\" d=\"M1 3h2V1H1zM.5 4h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5m14 8a.5.5 0 1 1 .002-1.002A.5.5 0 0 1 14.5 12m0-2c-.827 0-1.5.673-1.5 1.5s.673 1.5 1.5 1.5 1.5-.673 1.5-1.5-.673-1.5-1.5-1.5m0-6a.5.5 0 1 1 .002-1.002A.5.5 0 0 1 14.5 4m0-2c-.827 0-1.5.673-1.5 1.5S13.673 5 14.5 5 16 4.327 16 3.5 15.327 2 14.5 2m0 6a.5.5 0 1 1 .002-1.002A.5.5 0 0 1 14.5 8m0-2c-.827 0-1.5.673-1.5 1.5S13.673 9 14.5 9 16 8.327 16 7.5 15.327 6 14.5 6M16 0v1h-4v14h4v1h-4.5a.5.5 0 0 1-.5-.5V8H6V7h5V.5a.5.5 0 0 1 .5-.5zM1 9.191V6.809L3.382 8zm3.724-1.638-4-2A.5.5 0 0 0 0 6v4a.5.5 0 0 0 .724.447l4-2a.5.5 0 0 0 0-.894M2.5 15c-.827 0-1.5-.673-1.5-1.5S1.673 12 2.5 12s1.5.673 1.5 1.5S3.327 15 2.5 15m0-4A2.503 2.503 0 0 0 0 13.5C0 14.878 1.121 16 2.5 16S5 14.878 5 13.5 3.879 11 2.5 11\" /></g></g></svg>;\nexport default SvgMwaa;","import * as React from \"react\";\nconst SvgNeptune = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-Neptune_16\"}</title><defs><linearGradient id=\"linearGradient-npt\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-Neptune_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Database\" fill=\"url(#linearGradient-npt)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-Neptune_Icon_16_Squid\" fill=\"#fff\" d=\"M16.435 18.968a.316.316 0 1 1 .001-.632.316.316 0 0 1-.001.632m-1.424-4.75a.87.87 0 0 1 1.74 0 .87.87 0 0 1-1.74 0m3.64-4.197a.316.316 0 1 1 0 .632.316.316 0 0 1 0-.632m-6.097 5.62a.315.315 0 1 1 0-.63.315.315 0 0 1 0 .63m6.376 0c-.59 0-1.07.48-1.07 1.071 0 .025.011.046.014.07l-.986.615c-.07-.026-.146-.031-.22-.045v-1.409a1.9 1.9 0 0 0 1.115-1.726c0-.424-.146-.812-.381-1.129l.88-1.478c.12.035.239.074.37.074A1.35 1.35 0 0 0 20 10.337a1.35 1.35 0 0 0-1.348-1.348 1.35 1.35 0 0 0-1.347 1.348c0 .225.069.427.167.614l-.893 1.501a1.9 1.9 0 0 0-.699-.136c-.305 0-.59.078-.845.207l-.613-.627c.01-.058.035-.112.035-.174 0-.59-.48-1.07-1.07-1.07a1.072 1.072 0 0 0 0 2.142c.139 0 .269-.032.39-.08l.493.504a1.9 1.9 0 0 0-.291 1l.002.017-.52.108a1.33 1.33 0 0 0-.907-.364 1.348 1.348 0 1 0 1.348 1.347c0-.007-.004-.012-.004-.02l.377-.078c.295.467.789.793 1.362.867v1.5c-.326.248-.55.62-.55 1.057 0 .743.604 1.348 1.348 1.348a1.35 1.35 0 0 0 1.238-1.877l.763-.476c.15.079.313.136.494.136a1.071 1.071 0 0 0 0-2.141M9.228 5.032c2.561 0 4.197.844 4.197 1.424S11.789 7.88 9.228 7.88s-4.196-.843-4.196-1.424c0-.58 1.634-1.424 4.196-1.424m0 13.661c-2.522 0-4.196-.811-4.196-1.348v-1.796c1.058.63 2.778.96 4.432.96v-1.031c-2.75 0-4.432-.895-4.432-1.383v-2.274c1.058.631 2.778.96 4.432.96.485 0 .966-.027 1.43-.081l-.12-1.025q-.64.075-1.31.074c-2.75 0-4.432-.894-4.432-1.382V7.961c1.015.624 2.635.952 4.196.952s3.182-.328 4.197-.952v1.344h1.032v-2.85C14.457 4.862 11.764 4 9.228 4S4 4.86 4 6.456v10.889c0 1.563 2.63 2.38 5.228 2.38 2.599 0 5.229-.817 5.229-2.38h-1.032c0 .537-1.674 1.348-4.197 1.348\" /></g></svg>;\nexport default SvgNeptune;","import * as React from \"react\";\nconst SvgOpensearch = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Elasticsearch-Service_64\"}</title><defs><linearGradient id=\"linearGradient-es\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Elasticsearch-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-es)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Elasticsearch-Service_Icon_64_Squid\" fill=\"#fff\" d=\"M44.26 51.33c-4.417 0-8.01-3.593-8.01-8.009s3.593-8.01 8.01-8.01 8.01 3.593 8.01 8.01-3.593 8.009-8.01 8.009m0-18.019c-5.52 0-10.01 4.49-10.01 10.01S38.74 53.33 44.26 53.33s10.01-4.49 10.01-10.009-4.49-10.01-10.01-10.01m20.288 28.035a1.774 1.774 0 0 1-2.496.131l-8.34-7.523a14.4 14.4 0 0 0 2.337-2.641l8.367 7.538c.723.652.781 1.773.132 2.495M32.011 43.321c0-6.755 5.495-12.25 12.249-12.25s12.249 5.495 12.249 12.25c0 6.754-5.495 12.249-12.249 12.249s-12.249-5.495-12.249-12.249m25.052 6.214a14.14 14.14 0 0 0 1.446-6.214c0-7.858-6.392-14.25-14.249-14.25s-14.249 6.392-14.249 14.25S36.403 57.57 44.26 57.57c2.899 0 5.596-.875 7.849-2.368l8.605 7.762a3.75 3.75 0 0 0 2.518.962 3.77 3.77 0 0 0 2.802-1.241 3.777 3.777 0 0 0-.278-5.319zM67 20v34h-2V21h-8v11h-2V20a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1M51 61h2v5a1 1 0 0 1-1 1H42a1 1 0 0 1-1-1v-6h2v5h8zm-8-35h-2V14a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v14h-2V15h-8zm-6 33h2v7a1 1 0 0 1-1 1H28a1 1 0 0 1-1-1V51h2v14h8zm-8-23h-2V23a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v4h-2v-3h-8zM15 65h8V31h-8zm9-36H14a1 1 0 0 0-1 1v36a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V30a1 1 0 0 0-1-1\" /></g></svg>;\nexport default SvgOpensearch;","import * as React from \"react\";\nconst SvgOrganizations = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Organizations_16\"}</title><defs><linearGradient id=\"linearGradient-org\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Organizations_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Management-Governance\" fill=\"url(#linearGradient-org)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Organizations_Icon_16_Squid\" fill=\"#fff\" d=\"M19.001 19.003h-1.06v-1.06h1.061zm-5.994 0h-1.014v-1.06h1.014zm-5.993 0H5.999v-1.06h1.015zM19.5 16.945H19v-1.496a.5.5 0 0 0-.5-.498h-5.494v-.562h-.998v.562H6.514c-.275 0-.5.222-.5.498v1.496H5.5a.5.5 0 0 0-.499.5V19.5a.5.5 0 0 0 .5.499h2.013a.5.5 0 0 0 .5-.499v-2.056a.5.5 0 0 0-.5-.5h-.5v-.998h4.996v.998h-.516a.5.5 0 0 0-.5.5V19.5a.5.5 0 0 0 .5.499h2.014a.5.5 0 0 0 .5-.499v-2.056a.5.5 0 0 0-.5-.5h-.5v-.998h4.995v.998h-.561a.5.5 0 0 0-.5.5V19.5a.5.5 0 0 0 .5.499h2.06a.5.5 0 0 0 .499-.499v-2.056a.5.5 0 0 0-.5-.5M12.499 6.042l2.702 1.163-2.712 1.218-2.716-1.217zm.498 6.568L12.99 9.29l2.952-1.324v2.957zm-3.97-4.645 2.964 1.326.008 3.32-2.971-1.688zm-.746 3.681 3.972 2.258a.5.5 0 0 0 .496-.001l3.942-2.257a.5.5 0 0 0 .25-.433V7.196c0-.2-.12-.38-.301-.458L12.698 5.04a.5.5 0 0 0-.394 0L8.331 6.736a.5.5 0 0 0-.302.459v4.017c0 .18.096.346.252.433\" /></g></svg>;\nexport default SvgOrganizations;","import * as React from \"react\";\nconst SvgPinpoint = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Pinpoint-APIs_64\"}</title><defs><linearGradient id=\"linearGradient-elc\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Pinpoint-APIs_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Business-Applications\" fill=\"url(#linearGradient-elc)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><g id=\"Icon-Service/64/Amazon-Pinpoint\" fill=\"#fff\" transform=\"translate(16 16)\"><path id=\"Amazon-Pinpoint-Icon_64_Squid\" d=\"m23.293 23.293 4.18-4.179A5.96 5.96 0 0 0 24.004 18a6.003 6.003 0 0 0-5.997 5.997 6.003 6.003 0 0 0 5.997 5.996A6 6 0 0 0 30 23.997a5.96 5.96 0 0 0-1.113-3.469l-4.18 4.179zm11.276-8.448-4.256 4.257A7.95 7.95 0 0 1 32 23.997c0 4.409-3.587 7.996-7.996 7.996s-7.997-3.587-7.997-7.996S19.595 16 24.004 16a7.94 7.94 0 0 1 4.894 1.688l4.257-4.257A13.92 13.92 0 0 0 24.004 10c-7.718 0-13.997 6.279-13.997 13.997 0 7.717 6.279 13.996 13.997 13.996S38 31.714 38 23.997c0-3.5-1.3-6.696-3.431-9.152m2.461-7.33A3.49 3.49 0 0 0 40.515 11 3.49 3.49 0 0 0 44 7.515a3.49 3.49 0 0 0-3.485-3.485 3.49 3.49 0 0 0-3.485 3.485m-2.462 4.502 1.416-1.415a5.46 5.46 0 0 1-.954-3.087 5.49 5.49 0 0 1 5.485-5.485A5.49 5.49 0 0 1 46 7.515 5.49 5.49 0 0 1 40.515 13a5.45 5.45 0 0 1-3.12-.98l-1.413 1.411C38.475 16.253 40 19.946 40 23.997c0 8.82-7.176 15.996-15.996 15.996S8.007 32.817 8.007 23.997 15.183 8 24.004 8c4.051 0 7.743 1.526 10.564 4.017M48 24c0 13.233-10.767 24-24 24S0 37.233 0 24 10.767 0 24 0c3.361 0 6.614.684 9.669 2.032l-.809 1.83A21.8 21.8 0 0 0 24 2C11.869 2 2 11.869 2 24s9.869 22 22 22 22-9.869 22-22c0-3.09-.622-6.056-1.851-8.814l1.829-.814C47.319 17.389 48 20.628 48 24\" /></g></g></svg>;\nexport default SvgPinpoint;","import * as React from \"react\";\nconst SvgPipes = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-EventBridge_64\"}</title><defs><linearGradient id=\"linearGradient-ebr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-EventBridge_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Application-Integration\" fill=\"url(#linearGradient-ebr)\" transform=\"translate(0 1)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-EventBridge_Icon_64_Squid\" fill=\"#fff\" d=\"M53.657 67c-2.143 0-3.887-1.753-3.887-3.909s1.744-3.909 3.887-3.909 3.887 1.753 3.887 3.909S55.8 67 53.657 67m-8.524-17H34.798l-5.168-9 5.168-9h10.335l5.167 9zM27.62 22.818c-2.143 0-3.887-1.753-3.887-3.909S25.478 15 27.62 15c2.144 0 3.888 1.753 3.888 3.909s-1.744 3.909-3.888 3.909m26.036 34.364c-.738 0-1.442.143-2.093.394L47.34 50.41l-.223.133L52.31 41.5c.177-.31.177-.69 0-1l-5.741-10a.99.99 0 0 0-.862-.5H35.258l.04-.024-3.871-6.572a5.9 5.9 0 0 0 2.071-4.495c0-3.258-2.636-5.909-5.877-5.909s-5.876 2.651-5.876 5.909 2.636 5.909 5.876 5.909c.739 0 1.443-.143 2.094-.394l3.615 6.133-5.71 9.943c-.177.31-.177.69 0 1l5.743 10c.178.31.506.5.861.5h11.482q.125-.002.241-.032l3.905 6.628a5.9 5.9 0 0 0-2.071 4.495c0 3.258 2.635 5.909 5.876 5.909 3.24 0 5.876-2.651 5.876-5.909s-2.635-5.909-5.876-5.909m5.927-24.078c-2.143 0-3.886-1.753-3.886-3.909s1.743-3.909 3.886-3.909 3.888 1.753 3.888 3.909-1.745 3.909-3.888 3.909m7.283 7.396-3.775-6.575a5.91 5.91 0 0 0 2.368-4.73c0-3.258-2.635-5.909-5.876-5.909-.824 0-1.61.173-2.323.484l-3.077-5.361a1 1 0 0 0-.861-.5H40.995v2h11.754l2.847 4.96a5.9 5.9 0 0 0-1.887 4.326c0 3.258 2.636 5.909 5.875 5.909.604 0 1.188-.093 1.737-.264L64.858 41l-4.966 8.648 1.722 1 5.253-9.148c.177-.31.177-.69 0-1M21.229 56.247c-2.144 0-3.888-1.754-3.888-3.909 0-2.156 1.744-3.909 3.888-3.909 2.143 0 3.887 1.753 3.887 3.909s-1.744 3.909-3.887 3.909m3.248 1.011a5.92 5.92 0 0 0 2.628-4.92c0-3.258-2.636-5.909-5.876-5.909-.939 0-1.823.228-2.61.623L15.143 41l5.759-10.029-1.723-1L13.133 40.5c-.177.31-.177.69 0 1l3.872 6.74a5.9 5.9 0 0 0-1.653 4.098c0 3.258 2.636 5.909 5.877 5.909.488 0 .96-.067 1.415-.181l3.172 5.525c.178.309.506.5.861.5h12.33v-2H27.25z\" /></g></svg>;\nexport default SvgPipes;","import * as React from \"react\";\nconst SvgQldbSession = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Quantum-Ledger-Database_64\"}</title><defs><linearGradient id=\"linearGradient-qld\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Quantum-Ledger-Database_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-qld)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Quantum-Ledger-Database_Icon_64_Squid\" fill=\"#fff\" d=\"M66 47.283H56V43.25h-5v4.034H41V43.25h-5v4.034H26V37.197h9.564c.167.148.333.308.436.429v4.614h5v-4.907l.002-.136H51v5.043h5v-5.043h10zm.121-12.103H55.879A1.89 1.89 0 0 0 54 37.075v3.148h-1V37.58c.085-.22.115-.461.086-.703-.094-.769-.761-1.336-.964-1.49l-.268-.207H40.287c-.48 0-1.287.28-1.287 2.153v2.89h-1v-3.108l-.089-.198c-.296-.66-1.135-1.338-1.385-1.53l-.267-.207h-10.38A1.89 1.89 0 0 0 24 37.075v10.33a1.89 1.89 0 0 0 1.879 1.895h10.242A1.89 1.89 0 0 0 38 47.405v-2.139h1v2.383c0 1.306.842 1.651 1.287 1.651h11.23c.718 0 1.483-.579 1.483-1.65v-2.384h1.001l.001 2.316c-.055.822.606 1.506 1.646 1.701l10.473.017A1.89 1.89 0 0 0 68 47.405v-10.33a1.89 1.89 0 0 0-1.879-1.895M63 40.222l.002 4.035-4.002.001-.001-4.035zm-4.001 6.053h4.002A2.01 2.01 0 0 0 65 44.258v-4.036a2.01 2.01 0 0 0-1.999-2.016h-4.002A2.01 2.01 0 0 0 57 40.222v4.036a2.01 2.01 0 0 0 1.999 2.017M48 44.24q-.001.015-.016.016L44 44.241l.016-4.018L48 40.24zm-.016-6.035h-3.968A2.027 2.027 0 0 0 42 40.239v4.002c0 1.122.904 2.034 2.016 2.034h3.968A2.027 2.027 0 0 0 50 44.24V40.24a2.027 2.027 0 0 0-2.016-2.033M29 44.258l-.001-4.035H33l.002 4.034zm4.001-6.052h-4.002A2.01 2.01 0 0 0 27 40.222v4.036a2.01 2.01 0 0 0 1.999 2.017h4.002A2.01 2.01 0 0 0 35 44.258v-4.036a2.01 2.01 0 0 0-1.999-2.016M30 16.017c9.429 0 16 2.923 16 5.547 0 2.625-6.571 5.548-16 5.548s-16-2.923-16-5.548 6.571-5.547 16-5.547M46 59.31c0 2.682-6.571 5.673-16 5.673s-16-2.99-16-5.673v-8.623c3.184 2.703 9.189 4.55 15.545 4.55 8.035 0 12.237-1.905 12.412-1.986l-.836-1.834c-.039.019-3.975 1.803-11.576 1.803-7.775 0-14.027-2.852-15.545-5.559v-9.87c1.916 1.731 4.818 3.095 8.096 3.711l.367-1.983c-4.514-.848-7.526-3.104-8.463-4.876v-9.486c3.19 2.595 9.728 3.972 16 3.972s12.81-1.377 16-3.972v9.015h2V21.06h-.06C47.321 16.474 38.418 14 30 14s-17.321 2.474-17.94 7.06H12v38.25C12 63.694 19.738 67 30 67s18-3.306 18-7.69v-7.992h-2z\" /></g></svg>;\nexport default SvgQldbSession;","import * as React from \"react\";\nconst SvgQldb = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Quantum-Ledger-Database_64\"}</title><defs><linearGradient id=\"linearGradient-qld\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Quantum-Ledger-Database_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-qld)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Quantum-Ledger-Database_Icon_64_Squid\" fill=\"#fff\" d=\"M66 47.283H56V43.25h-5v4.034H41V43.25h-5v4.034H26V37.197h9.564c.167.148.333.308.436.429v4.614h5v-4.907l.002-.136H51v5.043h5v-5.043h10zm.121-12.103H55.879A1.89 1.89 0 0 0 54 37.075v3.148h-1V37.58c.085-.22.115-.461.086-.703-.094-.769-.761-1.336-.964-1.49l-.268-.207H40.287c-.48 0-1.287.28-1.287 2.153v2.89h-1v-3.108l-.089-.198c-.296-.66-1.135-1.338-1.385-1.53l-.267-.207h-10.38A1.89 1.89 0 0 0 24 37.075v10.33a1.89 1.89 0 0 0 1.879 1.895h10.242A1.89 1.89 0 0 0 38 47.405v-2.139h1v2.383c0 1.306.842 1.651 1.287 1.651h11.23c.718 0 1.483-.579 1.483-1.65v-2.384h1.001l.001 2.316c-.055.822.606 1.506 1.646 1.701l10.473.017A1.89 1.89 0 0 0 68 47.405v-10.33a1.89 1.89 0 0 0-1.879-1.895M63 40.222l.002 4.035-4.002.001-.001-4.035zm-4.001 6.053h4.002A2.01 2.01 0 0 0 65 44.258v-4.036a2.01 2.01 0 0 0-1.999-2.016h-4.002A2.01 2.01 0 0 0 57 40.222v4.036a2.01 2.01 0 0 0 1.999 2.017M48 44.24q-.001.015-.016.016L44 44.241l.016-4.018L48 40.24zm-.016-6.035h-3.968A2.027 2.027 0 0 0 42 40.239v4.002c0 1.122.904 2.034 2.016 2.034h3.968A2.027 2.027 0 0 0 50 44.24V40.24a2.027 2.027 0 0 0-2.016-2.033M29 44.258l-.001-4.035H33l.002 4.034zm4.001-6.052h-4.002A2.01 2.01 0 0 0 27 40.222v4.036a2.01 2.01 0 0 0 1.999 2.017h4.002A2.01 2.01 0 0 0 35 44.258v-4.036a2.01 2.01 0 0 0-1.999-2.016M30 16.017c9.429 0 16 2.923 16 5.547 0 2.625-6.571 5.548-16 5.548s-16-2.923-16-5.548 6.571-5.547 16-5.547M46 59.31c0 2.682-6.571 5.673-16 5.673s-16-2.99-16-5.673v-8.623c3.184 2.703 9.189 4.55 15.545 4.55 8.035 0 12.237-1.905 12.412-1.986l-.836-1.834c-.039.019-3.975 1.803-11.576 1.803-7.775 0-14.027-2.852-15.545-5.559v-9.87c1.916 1.731 4.818 3.095 8.096 3.711l.367-1.983c-4.514-.848-7.526-3.104-8.463-4.876v-9.486c3.19 2.595 9.728 3.972 16 3.972s12.81-1.377 16-3.972v9.015h2V21.06h-.06C47.321 16.474 38.418 14 30 14s-17.321 2.474-17.94 7.06H12v38.25C12 63.694 19.738 67 30 67s18-3.306 18-7.69v-7.992h-2z\" /></g></svg>;\nexport default SvgQldb;","import * as React from \"react\";\nconst SvgRam = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Resource-Access-Manager_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-Resource-Access-Manager_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"#dd344c\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Resource-Access-Manager_Icon_64_Squid\" fill=\"#fff\" d=\"M33 60a1.001 1.001 0 0 0-2 0 1.001 1.001 0 0 0 2 0m2 0c0 1.654-1.346 3-3 3s-3-1.346-3-3 1.346-3 3-3 3 1.346 3 3m19.431.845L52.586 59H38.71a1 1 0 0 1-.958-.715C37.001 55.762 34.636 54 32 54c-3.309 0-6 2.691-6 6s2.691 6 6 6a6.03 6.03 0 0 0 5.423-3.429 1 1 0 0 1 .903-.571H41c.266 0 .52.105.707.293L43 63.586l1.293-1.293A1 1 0 0 1 45 62h2c.266 0 .52.105.707.293L49 63.586l1.293-1.293A1 1 0 0 1 51 62h1.697zm2.276-.552a1 1 0 0 1-.152 1.539l-3 2A1 1 0 0 1 53 64h-1.586l-1.707 1.707a1 1 0 0 1-1.414 0L46.586 64h-1.172l-1.707 1.707a1 1 0 0 1-1.414 0L40.586 64h-1.657A8.05 8.05 0 0 1 32 68c-4.411 0-8-3.589-8-8s3.589-8 8-8c3.26 0 6.208 2.022 7.418 5H53c.266 0 .52.105.707.293zM47.414 25 53 30.586 58.586 25 53 19.414zm4.879 7.707-7-7a1 1 0 0 1 0-1.414l7-7a1 1 0 0 1 1.414 0l7 7a1 1 0 0 1 0 1.414l-7 7a.997.997 0 0 1-1.414 0M34.09 29l-6.087-8.304L21.964 29zm1.973 2H20a1 1 0 0 1-.809-1.588l8-11a1 1 0 0 1 .807-.412c.346-.016.62.151.809.409l8.062 11A1 1 0 0 1 36.063 31M22 42.5c0 3.033 2.468 5.5 5.5 5.5s5.5-2.467 5.5-5.5-2.468-5.5-5.5-5.5a5.506 5.506 0 0 0-5.5 5.5m-2 0c0-4.136 3.364-7.5 7.5-7.5s7.5 3.364 7.5 7.5-3.364 7.5-7.5 7.5-7.5-3.364-7.5-7.5M48 47h9v-9h-9zm11 1a1 1 0 0 1-1 1H47a1 1 0 0 1-1-1V37a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1zm9-35v50a1 1 0 0 1-1 1h-8v-2h7V14H14v48h7v2h-8a1 1 0 0 1-1-1V13a1 1 0 0 1 1-1h54a1 1 0 0 1 1 1\" /></g></svg>;\nexport default SvgRam;","import * as React from \"react\";\nconst SvgRdsData = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-RDS_64\"}</title><defs><linearGradient id=\"linearGradient-rds\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-RDS_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-rds)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-RDS_Icon_64_Squid\" fill=\"#fff\" d=\"m15.414 14 9.293 9.293-1.414 1.414L14 15.414V23h-2V13a1 1 0 0 1 1-1h10v2zM68 13v10h-2v-7.586l-9.293 9.293-1.414-1.414L64.586 14H57v-2h10a1 1 0 0 1 1 1m-2 44h2v10a1 1 0 0 1-1 1H57v-2h7.586l-9.293-9.293 1.414-1.414L66 64.586zm-.5-17.787c0-3.319-3.832-6.598-10.25-8.771l.641-1.894C63.268 31.045 67.5 34.932 67.5 39.213c0 4.282-4.232 8.17-11.61 10.666l-.641-1.895c6.419-2.172 10.251-5.45 10.251-8.771m-50.944 0c0 3.18 3.587 6.372 9.596 8.54l-.679 1.881c-6.938-2.503-10.917-6.301-10.917-10.421s3.979-7.917 10.917-10.421l.679 1.881c-6.009 2.169-9.596 5.361-9.596 8.54m10.151 17.494L15.414 66H23v2H13a1 1 0 0 1-1-1V57h2v7.586l9.293-9.293zM40 31.286c-7.146 0-11-1.846-11-2.6 0-.755 3.854-2.6 11-2.6 7.145 0 11 1.845 11 2.6 0 .754-3.855 2.6-11 2.6m.029 7.745C33.187 39.031 29 37.162 29 36.145v-4.861c2.463 1.359 6.832 2.002 11 2.002s8.537-.643 11-2.002v4.861c0 1.018-4.165 2.886-10.971 2.886m0 7.636C33.187 46.667 29 44.798 29 43.781v-4.919c2.431 1.429 6.742 2.169 11.029 2.169 4.263 0 8.549-.739 10.971-2.164v4.914c0 1.018-4.165 2.886-10.971 2.886M40 53.518c-7.117 0-11-1.913-11-2.896v-4.124c2.431 1.429 6.742 2.169 11.029 2.169 4.263 0 8.549-.738 10.971-2.164v4.119c0 .983-3.883 2.896-11 2.896m0-29.432c-6.261 0-13 1.439-13 4.6v21.936c0 3.214 6.54 4.896 13 4.896s13-1.682 13-4.896V28.686c0-3.161-6.739-4.6-13-4.6\" /></g></svg>;\nexport default SvgRdsData;","import * as React from \"react\";\nconst SvgRds = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-RDS_64\"}</title><defs><linearGradient id=\"linearGradient-rds\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-RDS_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-rds)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-RDS_Icon_64_Squid\" fill=\"#fff\" d=\"m15.414 14 9.293 9.293-1.414 1.414L14 15.414V23h-2V13a1 1 0 0 1 1-1h10v2zM68 13v10h-2v-7.586l-9.293 9.293-1.414-1.414L64.586 14H57v-2h10a1 1 0 0 1 1 1m-2 44h2v10a1 1 0 0 1-1 1H57v-2h7.586l-9.293-9.293 1.414-1.414L66 64.586zm-.5-17.787c0-3.319-3.832-6.598-10.25-8.771l.641-1.894C63.268 31.045 67.5 34.932 67.5 39.213c0 4.282-4.232 8.17-11.61 10.666l-.641-1.895c6.419-2.172 10.251-5.45 10.251-8.771m-50.944 0c0 3.18 3.587 6.372 9.596 8.54l-.679 1.881c-6.938-2.503-10.917-6.301-10.917-10.421s3.979-7.917 10.917-10.421l.679 1.881c-6.009 2.169-9.596 5.361-9.596 8.54m10.151 17.494L15.414 66H23v2H13a1 1 0 0 1-1-1V57h2v7.586l9.293-9.293zM40 31.286c-7.146 0-11-1.846-11-2.6 0-.755 3.854-2.6 11-2.6 7.145 0 11 1.845 11 2.6 0 .754-3.855 2.6-11 2.6m.029 7.745C33.187 39.031 29 37.162 29 36.145v-4.861c2.463 1.359 6.832 2.002 11 2.002s8.537-.643 11-2.002v4.861c0 1.018-4.165 2.886-10.971 2.886m0 7.636C33.187 46.667 29 44.798 29 43.781v-4.919c2.431 1.429 6.742 2.169 11.029 2.169 4.263 0 8.549-.739 10.971-2.164v4.914c0 1.018-4.165 2.886-10.971 2.886M40 53.518c-7.117 0-11-1.913-11-2.896v-4.124c2.431 1.429 6.742 2.169 11.029 2.169 4.263 0 8.549-.738 10.971-2.164v4.119c0 .983-3.883 2.896-11 2.896m0-29.432c-6.261 0-13 1.439-13 4.6v21.936c0 3.214 6.54 4.896 13 4.896s13-1.682 13-4.896V28.686c0-3.161-6.739-4.6-13-4.6\" /></g></svg>;\nexport default SvgRds;","import * as React from \"react\";\nconst SvgRedshiftData = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Redshiftct_64\"}</title><defs><linearGradient id=\"linearGradient-red\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Redshiftct_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-red)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Redshift_Icon_64_Squid\" fill=\"#fff\" d=\"M50.825 35.17a1.92 1.92 0 0 1-1.92-1.916 1.921 1.921 0 0 1 3.84 0 1.92 1.92 0 0 1-1.92 1.916m-4.866 11.655a1.92 1.92 0 0 1-1.92-1.917 1.92 1.92 0 0 1 3.841 0 1.92 1.92 0 0 1-1.92 1.917m-11.678-1.943a1.92 1.92 0 0 1-1.919-1.916 1.92 1.92 0 0 1 3.84 0 1.92 1.92 0 0 1-1.92 1.916m-4.865 10.683a1.92 1.92 0 0 1-1.92-1.916 1.92 1.92 0 0 1 3.84 0 1.92 1.92 0 0 1-1.92 1.916m21.407-26.222a3.92 3.92 0 0 0-3.919 3.911c0 1.322.665 2.488 1.675 3.197l-1.828 4.628a4 4 0 0 0-.794-.081c-1.718 0-3.165 1.117-3.692 2.657l-4.09-.928a3.91 3.91 0 0 0-3.895-3.672 3.92 3.92 0 0 0-3.916 3.911c0 1.008.393 1.92 1.024 2.613l-1.786 4.179c-.063-.004-.122-.02-.186-.02A3.92 3.92 0 0 0 25.5 53.65a3.92 3.92 0 0 0 7.836 0 3.9 3.9 0 0 0-1.817-3.29l1.576-3.686c.377.12.77.203 1.187.203a3.91 3.91 0 0 0 3.503-2.193l4.334.983a3.919 3.919 0 0 0 7.76-.758 3.89 3.89 0 0 0-1.338-2.919l1.92-4.861c.122.012.24.037.364.037a3.92 3.92 0 0 0 3.918-3.91 3.92 3.92 0 0 0-3.918-3.912M40 66.006c-9.731 0-17.002-2.921-17.002-5.533V23.152c3.31 2.69 10.317 4.111 17.023 4.111 6.676 0 13.653-1.41 16.981-4.077v37.287c0 2.612-7.272 5.533-17.002 5.533m.021-52.012c10.007 0 16.981 2.971 16.981 5.638s-6.974 5.637-16.981 5.637S23.04 22.3 23.04 19.632s6.973-5.638 16.981-5.638M59 19.632C59 14.675 49.222 12 40.021 12s-18.979 2.675-18.979 7.632l.002.025H21v40.816C21 65.362 30.79 68 40 68s19-2.638 19-7.527V19.657h-.002z\" /></g></svg>;\nexport default SvgRedshiftData;","import * as React from \"react\";\nconst SvgRedshift = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Redshiftct_64\"}</title><defs><linearGradient id=\"linearGradient-red\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Redshiftct_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Analytics\" fill=\"url(#linearGradient-red)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Redshift_Icon_64_Squid\" fill=\"#fff\" d=\"M50.825 35.17a1.92 1.92 0 0 1-1.92-1.916 1.921 1.921 0 0 1 3.84 0 1.92 1.92 0 0 1-1.92 1.916m-4.866 11.655a1.92 1.92 0 0 1-1.92-1.917 1.92 1.92 0 0 1 3.841 0 1.92 1.92 0 0 1-1.92 1.917m-11.678-1.943a1.92 1.92 0 0 1-1.919-1.916 1.92 1.92 0 0 1 3.84 0 1.92 1.92 0 0 1-1.92 1.916m-4.865 10.683a1.92 1.92 0 0 1-1.92-1.916 1.92 1.92 0 0 1 3.84 0 1.92 1.92 0 0 1-1.92 1.916m21.407-26.222a3.92 3.92 0 0 0-3.919 3.911c0 1.322.665 2.488 1.675 3.197l-1.828 4.628a4 4 0 0 0-.794-.081c-1.718 0-3.165 1.117-3.692 2.657l-4.09-.928a3.91 3.91 0 0 0-3.895-3.672 3.92 3.92 0 0 0-3.916 3.911c0 1.008.393 1.92 1.024 2.613l-1.786 4.179c-.063-.004-.122-.02-.186-.02A3.92 3.92 0 0 0 25.5 53.65a3.92 3.92 0 0 0 7.836 0 3.9 3.9 0 0 0-1.817-3.29l1.576-3.686c.377.12.77.203 1.187.203a3.91 3.91 0 0 0 3.503-2.193l4.334.983a3.919 3.919 0 0 0 7.76-.758 3.89 3.89 0 0 0-1.338-2.919l1.92-4.861c.122.012.24.037.364.037a3.92 3.92 0 0 0 3.918-3.91 3.92 3.92 0 0 0-3.918-3.912M40 66.006c-9.731 0-17.002-2.921-17.002-5.533V23.152c3.31 2.69 10.317 4.111 17.023 4.111 6.676 0 13.653-1.41 16.981-4.077v37.287c0 2.612-7.272 5.533-17.002 5.533m.021-52.012c10.007 0 16.981 2.971 16.981 5.638s-6.974 5.637-16.981 5.637S23.04 22.3 23.04 19.632s6.973-5.638 16.981-5.638M59 19.632C59 14.675 49.222 12 40.021 12s-18.979 2.675-18.979 7.632l.002.025H21v40.816C21 65.362 30.79 68 40 68s19-2.638 19-7.527V19.657h-.002z\" /></g></svg>;\nexport default SvgRedshift;","import * as React from \"react\";\nconst SvgResourceGroups = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Service-Catalog_16\"}</title><defs><linearGradient id=\"linearGradient-rg\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Service-Catalog_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Management-Governance\" fill=\"url(#linearGradient-rg)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Service-Catalog_Icon_16_Squid\" fill=\"#fff\" d=\"M6.5 8a.5.5 0 1 1-.002 1.002A.5.5 0 0 1 6.5 8M6 11.5c0-.52.076-1.03.197-1.531q.147.03.303.031C7.327 10 8 9.327 8 8.5S7.327 7 6.5 7 5 7.673 5 8.5c0 .336.115.644.303.894A7.5 7.5 0 0 0 5 11.5a7.53 7.53 0 0 0 4.913 7.042l.346-.938A6.53 6.53 0 0 1 6 11.5m13-3a.5.5 0 1 1-1.002-.002A.5.5 0 0 1 19 8.5M12.5 5c1.969 0 3.773.868 5.014 2.379A1.49 1.49 0 0 0 17 8.5c0 .827.673 1.5 1.5 1.5S20 9.327 20 8.5 19.327 7 18.5 7h-.002A7.54 7.54 0 0 0 12.5 4c-1.869 0-3.66.692-5.043 1.949l.672.74A6.49 6.49 0 0 1 12.5 5m0 14a.5.5 0 1 1 .002-1.002A.5.5 0 0 1 12.5 19m6.465-8.187q.035.339.035.687a6.46 6.46 0 0 1-5.158 6.343A1.5 1.5 0 0 0 12.5 17c-.827 0-1.5.673-1.5 1.5s.673 1.5 1.5 1.5a1.5 1.5 0 0 0 1.454-1.147A7.47 7.47 0 0 0 20 11.5q0-.4-.041-.791zM10.5 14.941l-1.5-.75v-1.882l1.258-.629c.008.005.011.013.018.017l1.724.862v1.632zm2-6.632 1.5.75v1.632l-1.5.75-1.5-.75V9.059zm3.5 5.882-1.5.75-1.5-.75v-1.632l1.724-.862c.007-.004.01-.012.018-.017l1.258.629zm-1.724 1.756a.5.5 0 0 0 .448 0l2-1A.5.5 0 0 0 17 14.5V12a.5.5 0 0 0-.276-.447L15 10.691V8.75a.5.5 0 0 0-.276-.447l-2-1a.5.5 0 0 0-.448 0l-2 1A.5.5 0 0 0 10 8.75v1.941l-1.724.862A.5.5 0 0 0 8 12v2.5a.5.5 0 0 0 .276.447l2 1a.5.5 0 0 0 .448 0l1.776-.888z\" /></g></svg>;\nexport default SvgResourceGroups;","import * as React from \"react\";\nconst SvgResourcegroupstaggingapi = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Service-Catalog_16\"}</title><defs><linearGradient id=\"linearGradient-rg\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Service-Catalog_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Management-Governance\" fill=\"url(#linearGradient-rg)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Service-Catalog_Icon_16_Squid\" fill=\"#fff\" d=\"M6.5 8a.5.5 0 1 1-.002 1.002A.5.5 0 0 1 6.5 8M6 11.5c0-.52.076-1.03.197-1.531q.147.03.303.031C7.327 10 8 9.327 8 8.5S7.327 7 6.5 7 5 7.673 5 8.5c0 .336.115.644.303.894A7.5 7.5 0 0 0 5 11.5a7.53 7.53 0 0 0 4.913 7.042l.346-.938A6.53 6.53 0 0 1 6 11.5m13-3a.5.5 0 1 1-1.002-.002A.5.5 0 0 1 19 8.5M12.5 5c1.969 0 3.773.868 5.014 2.379A1.49 1.49 0 0 0 17 8.5c0 .827.673 1.5 1.5 1.5S20 9.327 20 8.5 19.327 7 18.5 7h-.002A7.54 7.54 0 0 0 12.5 4c-1.869 0-3.66.692-5.043 1.949l.672.74A6.49 6.49 0 0 1 12.5 5m0 14a.5.5 0 1 1 .002-1.002A.5.5 0 0 1 12.5 19m6.465-8.187q.035.339.035.687a6.46 6.46 0 0 1-5.158 6.343A1.5 1.5 0 0 0 12.5 17c-.827 0-1.5.673-1.5 1.5s.673 1.5 1.5 1.5a1.5 1.5 0 0 0 1.454-1.147A7.47 7.47 0 0 0 20 11.5q0-.4-.041-.791zM10.5 14.941l-1.5-.75v-1.882l1.258-.629c.008.005.011.013.018.017l1.724.862v1.632zm2-6.632 1.5.75v1.632l-1.5.75-1.5-.75V9.059zm3.5 5.882-1.5.75-1.5-.75v-1.632l1.724-.862c.007-.004.01-.012.018-.017l1.258.629zm-1.724 1.756a.5.5 0 0 0 .448 0l2-1A.5.5 0 0 0 17 14.5V12a.5.5 0 0 0-.276-.447L15 10.691V8.75a.5.5 0 0 0-.276-.447l-2-1a.5.5 0 0 0-.448 0l-2 1A.5.5 0 0 0 10 8.75v1.941l-1.724.862A.5.5 0 0 0 8 12v2.5a.5.5 0 0 0 .276.447l2 1a.5.5 0 0 0 .448 0l1.776-.888z\" /></g></svg>;\nexport default SvgResourcegroupstaggingapi;","import * as React from \"react\";\nconst SvgRoute53 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-Route-53_16\"}</title><defs><linearGradient id=\"linearGradient-r53\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-Route-53_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Networking-Content-Delivery\" fill=\"url(#linearGradient-r53)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-Route-53-Icon_16_Squid\" fill=\"#fff\" d=\"M14.243 12.133q.304.282.305.75-.001.507-.368.813-.364.3-.964.3c-.311 0-.623-.067-.927-.2l-.046-.019v-.54l.099.032c.665.219 1.15.223 1.391.023q.171-.14.17-.41c0-.219-.068-.509-.662-.509q-.231 0-.45.024l-.084.01v-.434l.917-1h-1.332v-.548h2.116v.488l-.893.944q.451.022.728.276m-2.804-.083c.211.196.318.47.318.813 0 .337-.124.614-.369.823-.24.206-.562.31-.952.31-.337 0-.658-.067-.954-.2l-.044-.02v-.54l.1.033c.668.216 1.165.227 1.407.021q.17-.143.17-.422 0-.309-.158-.44c-.191-.16-.595-.165-1.29-.09l-.084.01v-.403l.098-1.52h1.908v.548h-1.361l-.053.814q.217-.034.396-.034c.367 0 .659.1.868.297m3.555 3.371c-1.199.216-2.255.687-2.995 1.094-.738-.407-1.794-.878-2.994-1.094-.191-.034-1.872-.36-1.872-1.18 0-.382.122-.63.45-1.193.375-.647.89-1.532.89-2.777a4.94 4.94 0 0 0-.523-2.214c1.363.563 2.863.447 4.05-.25 1.186.697 2.685.813 4.05.25a4.94 4.94 0 0 0-.522 2.214c0 1.245.514 2.13.888 2.777.328.563.45.81.45 1.194 0 .82-1.68 1.145-1.872 1.179m1.541-5.15c0-.756.214-1.482.635-2.155a.5.5 0 0 0-.038-.587l-.396-.489a.505.505 0 0 0-.636-.124c-1.297.718-2.725.632-3.812-.122a.505.505 0 0 0-.576 0c-1.087.754-2.517.839-3.812.122a.506.506 0 0 0-.636.124l-.396.489a.5.5 0 0 0-.038.587c.421.673.635 1.399.635 2.155 0 .974-.4 1.664-.754 2.27-.314.543-.586 1.01-.586 1.7 0 1.057 1.01 1.868 2.702 2.172 1.2.216 2.25.726 2.92 1.116a.51.51 0 0 0 .505 0c.67-.39 1.72-.9 2.92-1.116 1.692-.304 2.702-1.115 2.702-2.171 0-.69-.271-1.158-.586-1.7-.353-.607-.753-1.297-.753-2.271m-.967 7.102c-1.61.29-2.98 1.11-3.569 1.506-.589-.396-1.958-1.216-3.567-1.506-.803-.144-3.425-.783-3.425-2.938 0-.909.35-1.51.718-2.147.366-.63.745-1.283.745-2.19 0-1.267-.65-2.202-1.08-2.68.412-.5 1.162-1.418 1.642-2.027.757.65 1.62 1.001 2.478 1.001.96 0 1.764-.36 2.49-1.122.726.762 1.53 1.122 2.49 1.122.858 0 1.72-.352 2.478-1 .48.608 1.23 1.525 1.642 2.026-.43.478-1.08 1.413-1.08 2.68 0 .907.379 1.56.745 2.19.368.637.718 1.238.718 2.147 0 2.155-2.622 2.794-3.425 2.938m3.577-5.59c-.325-.563-.608-1.049-.608-1.686 0-1.355 1.061-2.244 1.07-2.252a.5.5 0 0 0 .072-.712c-.018-.022-1.834-2.224-2.246-2.79a.503.503 0 0 0-.776-.048c-.657.702-1.426 1.09-2.167 1.09-.823 0-1.448-.359-2.09-1.198-.19-.25-.611-.25-.8 0-.642.84-1.267 1.197-2.09 1.197-.742 0-1.51-.387-2.168-1.09a.501.501 0 0 0-.775.048c-.412.567-2.228 2.769-2.247 2.79a.502.502 0 0 0 .073.713c.01.009 1.07.881 1.07 2.252 0 .637-.283 1.123-.608 1.685-.402.69-.855 1.473-.855 2.653 0 1.982 1.59 3.451 4.255 3.931 1.859.334 3.423 1.518 3.438 1.53a.5.5 0 0 0 .614 0c.016-.012 1.57-1.194 3.44-1.53 2.663-.48 4.253-1.95 4.253-3.93 0-1.181-.453-1.963-.855-2.654\" /></g></svg>;\nexport default SvgRoute53;","import * as React from \"react\";\nconst SvgRoute53Resolver = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-Route-53_16\"}</title><defs><linearGradient id=\"linearGradient-r53\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#4d27a8\" /><stop offset=\"100%\" stopColor=\"#a166ff\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-Route-53_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Networking-Content-Delivery\" fill=\"url(#linearGradient-r53)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-Route-53-Icon_16_Squid\" fill=\"#fff\" d=\"M14.243 12.133q.304.282.305.75-.001.507-.368.813-.364.3-.964.3c-.311 0-.623-.067-.927-.2l-.046-.019v-.54l.099.032c.665.219 1.15.223 1.391.023q.171-.14.17-.41c0-.219-.068-.509-.662-.509q-.231 0-.45.024l-.084.01v-.434l.917-1h-1.332v-.548h2.116v.488l-.893.944q.451.022.728.276m-2.804-.083c.211.196.318.47.318.813 0 .337-.124.614-.369.823-.24.206-.562.31-.952.31-.337 0-.658-.067-.954-.2l-.044-.02v-.54l.1.033c.668.216 1.165.227 1.407.021q.17-.143.17-.422 0-.309-.158-.44c-.191-.16-.595-.165-1.29-.09l-.084.01v-.403l.098-1.52h1.908v.548h-1.361l-.053.814q.217-.034.396-.034c.367 0 .659.1.868.297m3.555 3.371c-1.199.216-2.255.687-2.995 1.094-.738-.407-1.794-.878-2.994-1.094-.191-.034-1.872-.36-1.872-1.18 0-.382.122-.63.45-1.193.375-.647.89-1.532.89-2.777a4.94 4.94 0 0 0-.523-2.214c1.363.563 2.863.447 4.05-.25 1.186.697 2.685.813 4.05.25a4.94 4.94 0 0 0-.522 2.214c0 1.245.514 2.13.888 2.777.328.563.45.81.45 1.194 0 .82-1.68 1.145-1.872 1.179m1.541-5.15c0-.756.214-1.482.635-2.155a.5.5 0 0 0-.038-.587l-.396-.489a.505.505 0 0 0-.636-.124c-1.297.718-2.725.632-3.812-.122a.505.505 0 0 0-.576 0c-1.087.754-2.517.839-3.812.122a.506.506 0 0 0-.636.124l-.396.489a.5.5 0 0 0-.038.587c.421.673.635 1.399.635 2.155 0 .974-.4 1.664-.754 2.27-.314.543-.586 1.01-.586 1.7 0 1.057 1.01 1.868 2.702 2.172 1.2.216 2.25.726 2.92 1.116a.51.51 0 0 0 .505 0c.67-.39 1.72-.9 2.92-1.116 1.692-.304 2.702-1.115 2.702-2.171 0-.69-.271-1.158-.586-1.7-.353-.607-.753-1.297-.753-2.271m-.967 7.102c-1.61.29-2.98 1.11-3.569 1.506-.589-.396-1.958-1.216-3.567-1.506-.803-.144-3.425-.783-3.425-2.938 0-.909.35-1.51.718-2.147.366-.63.745-1.283.745-2.19 0-1.267-.65-2.202-1.08-2.68.412-.5 1.162-1.418 1.642-2.027.757.65 1.62 1.001 2.478 1.001.96 0 1.764-.36 2.49-1.122.726.762 1.53 1.122 2.49 1.122.858 0 1.72-.352 2.478-1 .48.608 1.23 1.525 1.642 2.026-.43.478-1.08 1.413-1.08 2.68 0 .907.379 1.56.745 2.19.368.637.718 1.238.718 2.147 0 2.155-2.622 2.794-3.425 2.938m3.577-5.59c-.325-.563-.608-1.049-.608-1.686 0-1.355 1.061-2.244 1.07-2.252a.5.5 0 0 0 .072-.712c-.018-.022-1.834-2.224-2.246-2.79a.503.503 0 0 0-.776-.048c-.657.702-1.426 1.09-2.167 1.09-.823 0-1.448-.359-2.09-1.198-.19-.25-.611-.25-.8 0-.642.84-1.267 1.197-2.09 1.197-.742 0-1.51-.387-2.168-1.09a.501.501 0 0 0-.775.048c-.412.567-2.228 2.769-2.247 2.79a.502.502 0 0 0 .073.713c.01.009 1.07.881 1.07 2.252 0 .637-.283 1.123-.608 1.685-.402.69-.855 1.473-.855 2.653 0 1.982 1.59 3.451 4.255 3.931 1.859.334 3.423 1.518 3.438 1.53a.5.5 0 0 0 .614 0c.016-.012 1.57-1.194 3.44-1.53 2.663-.48 4.253-1.95 4.253-3.93 0-1.181-.453-1.963-.855-2.654\" /></g></svg>;\nexport default SvgRoute53Resolver;","import * as React from \"react\";\nconst SvgS3 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Simple-Storage-Service_64\"}</title><defs><linearGradient id=\"linearGradient-s3\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Simple-Storage-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-s3)\" d=\"M0 0h80v80H0z\" /><g id=\"Icon-Service/64/Amazon-Simple-Storage-Service_64\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Amazon-Simple-Storage-Service-Icon_64_Squid\" d=\"m52.836 34.893.384-2.704c3.54 2.12 3.587 2.997 3.586 3.02-.006.006-.61.51-3.97-.316m-1.943-.54C44.773 32.5 36.25 28.59 32.8 26.96q.002-.02.004-.041a2.406 2.406 0 0 0-2.404-2.403 2.406 2.406 0 0 0-2.402 2.403 2.406 2.406 0 0 0 2.402 2.403c.582 0 1.11-.217 1.527-.562 4.058 1.92 12.515 5.774 18.68 7.594L48.17 53.56a1 1 0 0 0-.01.14c0 1.516-6.707 4.299-17.666 4.299-11.075 0-17.853-2.783-17.853-4.298q0-.069-.01-.136L7.539 16.359c4.409 3.035 13.892 4.64 22.962 4.64 9.056 0 18.523-1.6 22.94-4.625zM7 12.478C7.072 11.162 14.634 6 30.5 6c15.864 0 23.427 5.16 23.5 6.478v.449C53.13 15.877 43.33 19 30.5 19 17.648 19 7.843 15.868 7 12.913zm49 .022C56 9.035 46.066 4 30.5 4S5 9.035 5 12.5l.094.754 5.548 40.524C10.775 58.31 22.86 60 30.494 60c9.472 0 19.535-2.178 19.665-6.22l2.396-16.896c1.333.319 2.43.482 3.31.482 1.184 0 1.984-.29 2.469-.867a1.95 1.95 0 0 0 .436-1.66c-.26-1.383-1.902-2.875-5.248-4.784l2.376-16.762z\" /></g></g></svg>;\nexport default SvgS3;","import * as React from \"react\";\nconst SvgS3Control = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Simple-Storage-Service_64\"}</title><defs><linearGradient id=\"linearGradient-s3\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#1b660f\" /><stop offset=\"100%\" stopColor=\"#6cae3e\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Simple-Storage-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-s3)\" d=\"M0 0h80v80H0z\" /><g id=\"Icon-Service/64/Amazon-Simple-Storage-Service_64\" fill=\"#fff\" transform=\"translate(8 8)\"><path id=\"Amazon-Simple-Storage-Service-Icon_64_Squid\" d=\"m52.836 34.893.384-2.704c3.54 2.12 3.587 2.997 3.586 3.02-.006.006-.61.51-3.97-.316m-1.943-.54C44.773 32.5 36.25 28.59 32.8 26.96q.002-.02.004-.041a2.406 2.406 0 0 0-2.404-2.403 2.406 2.406 0 0 0-2.402 2.403 2.406 2.406 0 0 0 2.402 2.403c.582 0 1.11-.217 1.527-.562 4.058 1.92 12.515 5.774 18.68 7.594L48.17 53.56a1 1 0 0 0-.01.14c0 1.516-6.707 4.299-17.666 4.299-11.075 0-17.853-2.783-17.853-4.298q0-.069-.01-.136L7.539 16.359c4.409 3.035 13.892 4.64 22.962 4.64 9.056 0 18.523-1.6 22.94-4.625zM7 12.478C7.072 11.162 14.634 6 30.5 6c15.864 0 23.427 5.16 23.5 6.478v.449C53.13 15.877 43.33 19 30.5 19 17.648 19 7.843 15.868 7 12.913zm49 .022C56 9.035 46.066 4 30.5 4S5 9.035 5 12.5l.094.754 5.548 40.524C10.775 58.31 22.86 60 30.494 60c9.472 0 19.535-2.178 19.665-6.22l2.396-16.896c1.333.319 2.43.482 3.31.482 1.184 0 1.984-.29 2.469-.867a1.95 1.95 0 0 0 .436-1.66c-.26-1.383-1.902-2.875-5.248-4.784l2.376-16.762z\" /></g></g></svg>;\nexport default SvgS3Control;","import * as React from \"react\";\nconst SvgSagemakerRuntime = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-SageMaker_64\"}</title><defs><linearGradient id=\"linearGradient-sgm\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#055f4e\" /><stop offset=\"100%\" stopColor=\"#56c0a7\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-SageMaker_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Machine-Learning\" fill=\"url(#linearGradient-sgm)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-SageMaker_Icon_64_Squid\" fill=\"#fff\" d=\"M54.034 26.034a1.017 1.017 0 1 1-1.017-1.016c.561 0 1.017.456 1.017 1.016M48.002 36a1.001 1.001 0 0 1 2 0 1.001 1.001 0 0 1-2 0m0 19a1.001 1.001 0 0 1 2 0 1.001 1.001 0 0 1-2 0m10-13a1.001 1.001 0 0 1-2 0 1.001 1.001 0 0 1 2 0M65 45.272l-5.037-2.89c.016-.126.039-.25.039-.382 0-1.654-1.346-3-3-3-1.655 0-3 1.346-3 3s1.345 3 3 3c.799 0 1.521-.319 2.059-.829l4.825 2.768-4.331 2.166c-.339.17-.553.516-.553.895v8.441l-12.019 7.396-5.98-3.417V56h5.183a3 3 0 0 0 2.816 2c1.654 0 3-1.346 3-3 0-1.655-1.346-3-3-3a2.995 2.995 0 0 0-2.816 2h-5.183V40c0-.35-.185-.677-.486-.858l-5.001-3-1.029 1.715 4.516 2.71v2.94l-6.001 4.616V44a1 1 0 0 0-.375-.78l-4.625-3.7v-4.985l5.554-3.702a1 1 0 0 0 .446-.832v-6h-2v5.465l-4.989 3.324-5.011-3.326v-7.89l5-2.915V27h2v-9.51l4.003-2.334 5.996 3.459L39.002 31c0 .359.192.69.504.867l6.536 3.735c-.018.131-.04.261-.04.397 0 1.654 1.345 3 3 3 1.654 0 3-1.346 3-3s-1.346-3-3-3c-.794 0-1.512.315-2.049.82l-5.951-3.4-.001-11.802 5.963-3.441 11.038 7.359V25h-2.151a3.02 3.02 0 0 0-2.834-1.983 3.02 3.02 0 0 0-3.015 3.016 3.02 3.02 0 0 0 3.015 3.016A3.02 3.02 0 0 0 55.875 27h2.127v3c0 .36.192.69.504.869L65 34.58zM33.02 65.837l-3.153-1.94 5.716-4.083-1.162-1.628-6.403 4.573-7.016-4.318v-7.875l4.514-2.709-1.029-1.715-4.529 2.718-4.956-2.478-.001-5.765 5.448-2.723-.894-1.789-4.554 2.276.001-3.8 5.961-3.406 5.039 3.344v4.961l-5.553 3.687 1.106 1.666 5.403-3.588 4.044 3.235v5.182l-4.61 3.545 1.219 1.585 11.392-8.762v16.39zm33.476-32.705-6.494-3.711V22a1 1 0 0 0-.446-.832l-12-8a1 1 0 0 0-1.054-.034l-6.498 3.75-6.502-3.75a1 1 0 0 0-1.004.002l-12 7a1 1 0 0 0-.496.864v8.42l-6.496 3.711a1 1 0 0 0-.504.868v.417L13 34.48v10.884l.002.06V47c0 .38.214.725.553.894l5.447 2.724V59c0 .347.179.67.475.851l13 8a1 1 0 0 0 1.021.017l6.505-3.716 6.503 3.716c.315.181.707.174 1.02-.017l13-8a1 1 0 0 0 .476-.85v-8.383l5.445-2.724A1 1 0 0 0 67 47V34a1 1 0 0 0-.504-.868\" /></g></svg>;\nexport default SvgSagemakerRuntime;","import * as React from \"react\";\nconst SvgSagemaker = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-SageMaker_64\"}</title><defs><linearGradient id=\"linearGradient-sgm\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#055f4e\" /><stop offset=\"100%\" stopColor=\"#56c0a7\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-SageMaker_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Machine-Learning\" fill=\"url(#linearGradient-sgm)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-SageMaker_Icon_64_Squid\" fill=\"#fff\" d=\"M54.034 26.034a1.017 1.017 0 1 1-1.017-1.016c.561 0 1.017.456 1.017 1.016M48.002 36a1.001 1.001 0 0 1 2 0 1.001 1.001 0 0 1-2 0m0 19a1.001 1.001 0 0 1 2 0 1.001 1.001 0 0 1-2 0m10-13a1.001 1.001 0 0 1-2 0 1.001 1.001 0 0 1 2 0M65 45.272l-5.037-2.89c.016-.126.039-.25.039-.382 0-1.654-1.346-3-3-3-1.655 0-3 1.346-3 3s1.345 3 3 3c.799 0 1.521-.319 2.059-.829l4.825 2.768-4.331 2.166c-.339.17-.553.516-.553.895v8.441l-12.019 7.396-5.98-3.417V56h5.183a3 3 0 0 0 2.816 2c1.654 0 3-1.346 3-3 0-1.655-1.346-3-3-3a2.995 2.995 0 0 0-2.816 2h-5.183V40c0-.35-.185-.677-.486-.858l-5.001-3-1.029 1.715 4.516 2.71v2.94l-6.001 4.616V44a1 1 0 0 0-.375-.78l-4.625-3.7v-4.985l5.554-3.702a1 1 0 0 0 .446-.832v-6h-2v5.465l-4.989 3.324-5.011-3.326v-7.89l5-2.915V27h2v-9.51l4.003-2.334 5.996 3.459L39.002 31c0 .359.192.69.504.867l6.536 3.735c-.018.131-.04.261-.04.397 0 1.654 1.345 3 3 3 1.654 0 3-1.346 3-3s-1.346-3-3-3c-.794 0-1.512.315-2.049.82l-5.951-3.4-.001-11.802 5.963-3.441 11.038 7.359V25h-2.151a3.02 3.02 0 0 0-2.834-1.983 3.02 3.02 0 0 0-3.015 3.016 3.02 3.02 0 0 0 3.015 3.016A3.02 3.02 0 0 0 55.875 27h2.127v3c0 .36.192.69.504.869L65 34.58zM33.02 65.837l-3.153-1.94 5.716-4.083-1.162-1.628-6.403 4.573-7.016-4.318v-7.875l4.514-2.709-1.029-1.715-4.529 2.718-4.956-2.478-.001-5.765 5.448-2.723-.894-1.789-4.554 2.276.001-3.8 5.961-3.406 5.039 3.344v4.961l-5.553 3.687 1.106 1.666 5.403-3.588 4.044 3.235v5.182l-4.61 3.545 1.219 1.585 11.392-8.762v16.39zm33.476-32.705-6.494-3.711V22a1 1 0 0 0-.446-.832l-12-8a1 1 0 0 0-1.054-.034l-6.498 3.75-6.502-3.75a1 1 0 0 0-1.004.002l-12 7a1 1 0 0 0-.496.864v8.42l-6.496 3.711a1 1 0 0 0-.504.868v.417L13 34.48v10.884l.002.06V47c0 .38.214.725.553.894l5.447 2.724V59c0 .347.179.67.475.851l13 8a1 1 0 0 0 1.021.017l6.505-3.716 6.503 3.716c.315.181.707.174 1.02-.017l13-8a1 1 0 0 0 .476-.85v-8.383l5.445-2.724A1 1 0 0 0 67 47V34a1 1 0 0 0-.504-.868\" /></g></svg>;\nexport default SvgSagemaker;","import * as React from \"react\";\nconst SvgScheduler = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 48 48\" fill=\"currentColor\" {...props}><title>{\"Icon-Resource/Application-Integration/Res_Amazon-EventBridge_Scheduler_48\"}</title><g id=\"Icon-Resource/Application-Integration/Res_Amazon-EventBridge_Scheduler_48\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Fill-1\" fill=\"#e7157b\" d=\"M15 16h3.92v-2h-3v-3H14v4a1 1 0 0 0 1 1m-9.707 8.293 1.414 1.414 3-3-1.414-1.414zm3.414-16-3-3-1.414 1.414 3 3zM15.92 6H16V2h-2v4zm9.787.707-1.414-1.414-3 3 1.414 1.414zM8.92 15c0 3.309 2.691 6 6 6s6-2.691 6-6-2.691-6-6-6-6 2.691-6 6m-2 0c0-4.411 3.589-8 8-8s8 3.589 8 8-3.589 8-8 8-8-3.589-8-8M18 38h4v-2h-4zm0-5h4v-2h-4zm0-5h4v-2h-4zm18 10h4v-2h-4zm0-5h4v-2h-4zm0-5h4v-2h-4zm-9 10h4v-2h-4zm0-5h4v-2h-4zm0-5h4v-2h-4zm18-16h-3v-2h-2v2h-4.08v-2H34v2h-4.08v-2H28v2h-3v2h3v2h1.92v-2H34v2h1.92v-2H40v2h1.92v-2H44v4H25v2h19v23H14V26h-2v18a1 1 0 0 0 1 1h32a1 1 0 0 0 1-1V13a1 1 0 0 0-1-1M2 17h3.976v-2H2z\" /></g></svg>;\nexport default SvgScheduler;","import * as React from \"react\";\nconst SvgSecretsmanager = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Secrets-Manager_64\"}</title><defs><linearGradient id=\"linearGradient-asm\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Secrets-Manager_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"url(#linearGradient-asm)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Secrets-Manager_Icon_64_Squid\" fill=\"#fff\" d=\"M38.76 43.36A1.241 1.241 0 1 0 40 42.12c-.683 0-1.24.556-1.24 1.24m-2 0A3.243 3.243 0 0 1 40 40.12a3.243 3.243 0 0 1 3.24 3.24A3.23 3.23 0 0 1 41 46.426V49h-2v-2.574a3.23 3.23 0 0 1-2.24-3.066M49 38H31v13h18v-3h-3v-2h3v-3h-3v-2h3zm-15-2h11.999L46 31c.001-2.616-2.857-4.998-5.996-5h-.003a6.6 6.6 0 0 0-4.238 1.575c-1.12.962-1.763 2.211-1.763 3.426zm14-4.999L47.999 36H50a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H30a1 1 0 0 1-1-1V37a1 1 0 0 1 1-1h2v-5c.001-1.798.897-3.599 2.459-4.942A8.63 8.63 0 0 1 40.001 24h.003c4.261.002 7.997 3.273 7.996 7.001M19.207 55.049l1.621-1.172c-2.735-3.78-4.247-8.215-4.432-12.877H19v-2h-2.601c.199-4.634 1.709-9.043 4.429-12.802l-1.621-1.173c-2.968 4.103-4.608 8.917-4.808 13.975H12v2h2.396c.186 5.086 1.828 9.926 4.811 14.049m34.631 4.159c-3.769 2.728-8.19 4.238-12.838 4.431V61h-2v2.639c-4.648-.192-9.07-1.702-12.841-4.431l-1.171 1.62c4.112 2.977 8.94 4.617 14.012 4.811V68h2v-2.361c5.072-.194 9.898-1.834 14.01-4.811zM26.159 20.866c3.771-2.728 8.193-4.238 12.841-4.43V19h2v-2.564c4.648.192 9.069 1.702 12.838 4.43l1.172-1.62c-4.112-2.976-8.938-4.616-14.01-4.81V12h-2v2.436c-5.072.193-9.9 1.833-14.012 4.81zM65.599 39c-.2-5.058-1.84-9.872-4.809-13.975l-1.621 1.173C61.89 29.957 63.4 34.366 63.599 39H61v2h2.602c-.186 4.662-1.697 9.097-4.433 12.877l1.621 1.172c2.984-4.123 4.625-8.963 4.812-14.049H68v-2zm-9.213-13.936 7.84-7.84-1.414-1.414-7.84 7.84zM23.612 55.01l-7.84 7.84 1.414 1.414 7.84-7.84zm5.054-27.757-14.841-14.84-1.414 1.414 14.841 14.84zM54.193 52.78l13.393 13.393-1.414 1.414-13.393-13.393z\" /></g></svg>;\nexport default SvgSecretsmanager;","import * as React from \"react\";\nconst SvgServerlessrepo = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Serverless-Application-Repository_16\"}</title><defs><linearGradient id=\"linearGradient-slr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#c8511b\" /><stop offset=\"100%\" stopColor=\"#f90\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Serverless-Application-Repository_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Compute\" fill=\"url(#linearGradient-slr)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Serverless-Application-Repository_Icon_16_Squid\" fill=\"#fff\" d=\"M16.989 16.036H8.292c-.988 0-2.082-.955-2.285-1.929h7.526a1.362 1.362 0 0 0 .535 1.255 1.4 1.4 0 0 0 1.221.231 1.36 1.36 0 0 0 .992-1.486h2.728c-.176 1.571-1.49 1.929-2.02 1.929M7.53 11.812a.483.483 0 0 0 .365-.526 3 3 0 0 1-.022-.369c0-1.099.794-2.283 1.807-2.696q.344-.139.662-.2v2.184c0 .197.12.374.306.447a.49.49 0 0 0 .532-.115.423.423 0 0 1 .624.03c.047.06.118.185.073.366a.412.412 0 0 1-.696.17.49.49 0 0 0-.533-.115.48.48 0 0 0-.306.447v1.708H6.043c.236-.885 1-1.211 1.487-1.33m3.784-3.83c.906.111 1.547.617 1.847.907.363.349.662.82.864 1.364a.487.487 0 0 0 .842.125c.197-.255.487-.403.798-.403.463 0 1.026.355 1.086 1.352a.484.484 0 0 0 .388.445c.996.198 1.602.658 1.81 1.37h-3.422a.49.49 0 0 0-.45.304.48.48 0 0 0 .115.528.41.41 0 0 1 .106.438.39.39 0 0 1-.265.25.43.43 0 0 1-.374-.066.406.406 0 0 1-.035-.622.48.48 0 0 0 .116-.528.49.49 0 0 0-.45-.303h-2.976v-.957c.204.023.42.002.629-.068a1.37 1.37 0 0 0 .625-2.145 1.39 1.39 0 0 0-1.254-.518zm6.366 2.927c-.221-1.301-1.165-1.898-2.015-1.898-.361 0-.708.098-1.01.28a4.3 4.3 0 0 0-.818-1.095C12.602 7.003 10.91 6.68 9.312 7.33c-1.374.56-2.41 2.101-2.41 3.588v.078C5.704 11.435 5 12.43 5 13.725c0 .07.003.134.007.2C5.097 15.507 6.692 17 8.292 17h8.697C18.153 17 20 16.117 20 13.748c0-1.433-.82-2.431-2.32-2.84\" /></g></svg>;\nexport default SvgServerlessrepo;","import * as React from \"react\";\nconst SvgServicediscovery = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Application-Discovery-Service_16\"}</title><defs><linearGradient id=\"linearGradient-ads\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#055f4e\" /><stop offset=\"100%\" stopColor=\"#56c0a7\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Application-Discovery-Service_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Migration-Transfer\" fill=\"url(#linearGradient-ads)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Application-Discovery-Service_Icon_16_Squid\" fill=\"#fff\" d=\"M7.992 12.029h3.006v-1.001H7.992zm10.913 5.322-4.04-3.804a6.1 6.1 0 0 1-1.31 1.302l3.817 3.983c.07.07.277.135.564.105.288-.027.562-.14.715-.292.159-.16.29-.45.332-.742.042-.283-.01-.486-.078-.552m-8.95-2.325c2.802 0 5.082-2.252 5.082-5.021 0-2.76-2.28-5.004-5.081-5.004-2.778 0-4.954 2.198-4.954 5.004 0 2.816 2.176 5.021 4.954 5.021m10.02 3.022c-.074.506-.303.993-.616 1.305-.318.318-.802.53-1.326.58a3 3 0 0 1-.231.012c-.469 0-.88-.145-1.146-.412l-3.977-4.15a6.1 6.1 0 0 1-2.723.644C6.616 16.027 4 13.382 4 10.005 4 6.638 6.616 4 9.956 4c3.354 0 6.083 2.694 6.083 6.005 0 .96-.235 1.865-.64 2.67l4.204 3.958c.324.324.456.835.372 1.415M12.517 6.956H7.992v1.001h4.024v5.036h1.002V7.456a.5.5 0 0 0-.501-.5m-1.498 12.043h-4.03v-3.003H5.989v3.503a.5.5 0 0 0 .5.501h5.032a.5.5 0 0 0 .5-.5v-2.503H11.02zm-4.03-8.978h4.009V9.02H6.99z\" /></g></svg>;\nexport default SvgServicediscovery;","import * as React from \"react\";\nconst SvgSes = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Simple-Email-Service_64\"}</title><defs><linearGradient id=\"linearGradient-ses\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Simple-Email-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-ses)\" d=\"M0 0h80v80H0z\" /><path id=\"Amazon-Simple-Email-Service_Icon_64_Squid\" fill=\"#fff\" d=\"M57 61c0-1.626-1.374-3-3-3s-3 1.374-3 3 1.374 3 3 3 3-1.374 3-3m-17-1c-1.626 0-3 1.374-3 3s1.374 3 3 3 3-1.374 3-3-1.374-3-3-3m-14-2c-1.626 0-3 1.374-3 3s1.374 3 3 3 3-1.374 3-3-1.374-3-3-3m2.605-15h22.79l-7.656-6.89-3.09 2.648a.99.99 0 0 1-1.3 0L36.26 36.11zM27 28.173v13.582l7.729-6.957zM51.297 27H28.703l11.296 9.683zM53 41.755V28.173l-7.729 6.624zM59 61c0 2.71-2.29 5-5 5s-5-2.29-5-5c0-2.37 1.75-4.416 4-4.894V53H41v5.106c2.25.478 4 2.525 4 4.894 0 2.71-2.29 5-5 5s-5-2.29-5-5c0-2.37 1.75-4.416 4-4.894V53H27v3.106c2.25.478 4 2.525 4 4.894 0 2.71-2.29 5-5 5s-5-2.29-5-5c0-2.37 1.75-4.416 4-4.894V52a1 1 0 0 1 1-1h13v-6H26a1 1 0 0 1-1-1V26a1 1 0 0 1 1-1h28a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H41v6h13a1 1 0 0 1 1 1v4.106c2.25.478 4 2.525 4 4.894m9-21c0 5.907-1.823 11.56-5.273 16.345l-1.623-1.17A25.8 25.8 0 0 0 66 40c0-14.336-11.663-26-25.999-26C25.664 14 14 25.664 14 40a25.8 25.8 0 0 0 4.896 15.175l-1.623 1.17A27.8 27.8 0 0 1 12 39.999C12 24.561 24.561 12 39.999 12 55.438 12 68 24.561 68 40\" /></g></svg>;\nexport default SvgSes;","import * as React from \"react\";\nconst SvgSesv2 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Simple-Email-Service_64\"}</title><defs><linearGradient id=\"linearGradient-ses\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#bd0816\" /><stop offset=\"100%\" stopColor=\"#ff5252\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Simple-Email-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><path id=\"Rectangle\" fill=\"url(#linearGradient-ses)\" d=\"M0 0h80v80H0z\" /><path id=\"Amazon-Simple-Email-Service_Icon_64_Squid\" fill=\"#fff\" d=\"M57 61c0-1.626-1.374-3-3-3s-3 1.374-3 3 1.374 3 3 3 3-1.374 3-3m-17-1c-1.626 0-3 1.374-3 3s1.374 3 3 3 3-1.374 3-3-1.374-3-3-3m-14-2c-1.626 0-3 1.374-3 3s1.374 3 3 3 3-1.374 3-3-1.374-3-3-3m2.605-15h22.79l-7.656-6.89-3.09 2.648a.99.99 0 0 1-1.3 0L36.26 36.11zM27 28.173v13.582l7.729-6.957zM51.297 27H28.703l11.296 9.683zM53 41.755V28.173l-7.729 6.624zM59 61c0 2.71-2.29 5-5 5s-5-2.29-5-5c0-2.37 1.75-4.416 4-4.894V53H41v5.106c2.25.478 4 2.525 4 4.894 0 2.71-2.29 5-5 5s-5-2.29-5-5c0-2.37 1.75-4.416 4-4.894V53H27v3.106c2.25.478 4 2.525 4 4.894 0 2.71-2.29 5-5 5s-5-2.29-5-5c0-2.37 1.75-4.416 4-4.894V52a1 1 0 0 1 1-1h13v-6H26a1 1 0 0 1-1-1V26a1 1 0 0 1 1-1h28a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H41v6h13a1 1 0 0 1 1 1v4.106c2.25.478 4 2.525 4 4.894m9-21c0 5.907-1.823 11.56-5.273 16.345l-1.623-1.17A25.8 25.8 0 0 0 66 40c0-14.336-11.663-26-25.999-26C25.664 14 14 25.664 14 40a25.8 25.8 0 0 0 4.896 15.175l-1.623 1.17A27.8 27.8 0 0 1 12 39.999C12 24.561 24.561 12 39.999 12 55.438 12 68 24.561 68 40\" /></g></svg>;\nexport default SvgSesv2;","import * as React from \"react\";\nconst SvgShield = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Shield_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-Shield_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"#dd344c\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Shield_Icon_64_Squid\" fill=\"#fff\" d=\"M54.01 50h-2v4h-4v2h4v4h2v-4h4v-2h-4zm7 5c0-4.411-3.588-8-8-8-4.41 0-8 3.589-8 8s3.59 8 8 8c4.412 0 8-3.59 8-8m2 0c0 5.514-4.485 10-10 10-5.513 0-10-4.486-10-10s4.487-10 10-10c5.515 0 10 4.486 10 10m-27 2.97V22.457l-11 4.23V47c.013.414.397 10.38 11 10.971m13-14.27V26.686l-11-4.23v35.507a13.7 13.7 0 0 0 3.237-.6c.135.67.334 1.315.575 1.938-1.465.46-3.07.698-4.811.698-13.56 0-13.997-12.848-14-12.977V26c0-.415.255-.785.64-.934l13-5a1 1 0 0 1 .719 0l13 5c.386.149.64.52.64.934v17.18q-1.031.176-2 .52m-4.254 19.987a12 12 0 0 0 1.817 1.422c-2.755 1.248-5.958 1.879-9.562 1.879-6.327 0-11.371-1.925-14.991-5.721-6.431-6.744-6.03-16.887-6.008-17.315L16.01 22c0-.41.249-.776.629-.93l20-8c.238-.094.504-.094.742 0l20 8c.38.154.629.52.629.93v22l.004.106a12 12 0 0 0-2.003-.712l-.001-20.717-19-7.6-19 7.6v21.322c-.006.143-.375 9.784 5.466 15.898 3.227 3.378 7.78 5.09 13.534 5.09 2.888 0 5.475-.441 7.745-1.3\" /></g></svg>;\nexport default SvgShield;","import * as React from \"react\";\nconst SvgSns = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Simple-Notification-Service_64\"}</title><defs><linearGradient id=\"linearGradient-sns\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Simple-Notification-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Application-Integration\" fill=\"url(#linearGradient-sns)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Simple-Notification-Service_Icon_64_Squid\" fill=\"#fff\" d=\"M17 38c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m24 26c-11.686 0-21.711-8.534-23.806-20.02A3.98 3.98 0 0 0 20.857 41H27v-2h-6.143a3.985 3.985 0 0 0-3.662-2.98C19.285 24.71 29.511 16 41 16c4.313 0 8.832 1.622 13.429 4.821l1.142-1.642C50.633 15.743 45.73 14 41 14c-12.73 0-24.051 9.865-25.937 22.521C13.839 37.207 13 38.5 13 40s.839 2.793 2.063 3.478C16.97 56.341 28.056 66 41 66c5.407 0 10.942-1.843 15.585-5.189l-1.17-1.622C51.11 62.292 45.991 64 41 64M30.101 36.442c1.854.453 4.174.558 5.899.558 1.642 0 3.823-.095 5.629-.494l-4.524 9.047A1 1 0 0 0 37 46v4.453c-.801.511-2.167 1.359-3 1.533V46a1 1 0 0 0-.077-.385zM36 33c4.025 0 6.174.604 6.841 1-.667.396-2.816 1-6.841 1s-6.174-.604-6.841-1c.667-.396 2.816-1 6.841-1m-3 21h1q.065 0 .128-.008c1.224-.159 2.781-1.105 4.144-1.979l.263-.168c.289-.184.465-.503.465-.845v-4.764l5.559-11.116c.274-.319.441-.686.441-1.12 0-2.61-5.639-3-9-3s-9 .39-9 3c0 .366.12.684.32.967L32 46.2V53a1 1 0 0 0 1 1m29-1c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m0-30c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m2 15c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2m-10 3h6.143c.446 1.72 1.999 3 3.857 3 2.206 0 4-1.794 4-4s-1.794-4-4-4c-1.858 0-3.411 1.28-3.857 3H54V26h4.143c.446 1.72 1.999 3 3.857 3 2.206 0 4-1.794 4-4s-1.794-4-4-4c-1.858 0-3.411 1.28-3.857 3H53a1 1 0 0 0-1 1v14h-7v2h7v14a1 1 0 0 0 1 1h5.143c.446 1.72 1.999 3 3.857 3 2.206 0 4-1.794 4-4s-1.794-4-4-4c-1.858 0-3.411 1.28-3.857 3H54z\" /></g></svg>;\nexport default SvgSns;","import * as React from \"react\";\nconst SvgSqs = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Simple-Queue-Service_64\"}</title><defs><linearGradient id=\"linearGradient-sqs\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Simple-Queue-Service_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Application-Integration\" fill=\"url(#linearGradient-sqs)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Simple-Queue-Service_Icon_64_Squid\" fill=\"#fff\" d=\"m28.717 43.688 3.002-2.966a.99.99 0 0 0 .004-1.406l-3.002-3-1.419 1.402 1.288 1.288h-4.581v1.988h4.597l-1.3 1.284zm22.91.09 4.003-2.985c.25-.188.4-.482.4-.794a1 1 0 0 0-.4-.796l-4.003-2.981-1.201 1.59 1.601 1.194h-4.003v1.988h4.002l-1.601 1.193zM35.209 40c0 2.11-.365 4.101-1.048 5.833 1.8-.692 3.831-1.038 5.86-1.038 2.028 0 4.058.346 5.857 1.038-.681-1.732-1.047-3.722-1.047-5.833 0-2.11.366-4.1 1.047-5.833-3.6 1.383-8.116 1.383-11.717 0 .683 1.733 1.048 3.722 1.048 5.833m-4.902 9.651a.99.99 0 0 1 0-1.406c1.816-1.804 2.9-4.887 2.9-8.245s-1.084-6.44-2.9-8.245a.99.99 0 0 1 0-1.406 1.004 1.004 0 0 1 1.415 0c3.877 3.853 12.72 3.853 16.597 0a1.004 1.004 0 0 1 1.415 0 .99.99 0 0 1 0 1.406c-1.817 1.804-2.901 4.887-2.901 8.245s1.084 6.44 2.9 8.245a.99.99 0 0 1 0 1.406 1 1 0 0 1-1.414 0c-3.878-3.853-12.72-3.853-16.597 0a1.004 1.004 0 0 1-1.415 0m35.695-9.646c0-.927-.363-1.798-1.023-2.453a3.5 3.5 0 0 0-2.468-1.014c-.894 0-1.788.337-2.469 1.014a3.456 3.456 0 0 0 0 4.906 3.51 3.51 0 0 0 4.937 0 3.44 3.44 0 0 0 1.023-2.453m.392 3.859a5.5 5.5 0 0 1-3.883 1.595 5.5 5.5 0 0 1-3.884-1.595 5.437 5.437 0 0 1 0-7.718 5.52 5.52 0 0 1 7.767 0 5.437 5.437 0 0 1 0 7.718M20.98 40.028c0-.927-.363-1.798-1.023-2.453a3.48 3.48 0 0 0-2.468-1.016c-.932 0-1.808.36-2.469 1.016A3.43 3.43 0 0 0 14 40.028c0 .925.362 1.796 1.021 2.453 1.32 1.31 3.619 1.31 4.937 0a3.44 3.44 0 0 0 1.023-2.453m.392 3.859a5.5 5.5 0 0 1-3.883 1.595 5.5 5.5 0 0 1-3.884-1.595 5.44 5.44 0 0 1 0-7.718c2.143-2.128 5.626-2.128 7.767 0a5.44 5.44 0 0 1 0 7.718m33.524 10.97c-3.995 3.97-9.307 6.154-14.957 6.154s-10.963-2.185-14.957-6.155c-2.74-2.721-4.248-5.973-5.03-8.221l-1.892.65c.852 2.446 2.498 5.988 5.507 8.977C27.939 60.608 33.753 63 39.939 63c6.185 0 11.999-2.392 16.372-6.738 2.526-2.509 4.539-5.698 5.668-8.98l-1.893-.644c-1.033 3-2.876 5.92-5.19 8.218M19.95 33.366l-1.889-.653c1.21-3.464 3.168-6.653 5.512-8.98C27.943 19.39 33.755 17 39.939 17s11.996 2.391 16.366 6.733c2.466 2.45 4.535 5.724 5.672 8.981l-1.889.652c-1.044-2.982-2.938-5.981-5.198-8.227-3.992-3.967-9.302-6.15-14.95-6.15-5.65 0-10.96 2.183-14.952 6.15-2.134 2.12-3.923 5.043-5.038 8.227\" /></g></svg>;\nexport default SvgSqs;","import * as React from \"react\";\nconst SvgSsm = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Systems-Manager_64\"}</title><defs><linearGradient id=\"linearGradient-ssm\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Systems-Manager_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Management-Governance\" fill=\"url(#linearGradient-ssm)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-Systems-Manager_Icon_64_Squid\" fill=\"#fff\" d=\"M47 54.998h13v2H47v2h-2v-2h-4v-2h4v-1h2zm4-6h9v2h-9v2h-2v-2h-8v-2h8v-1.001h2zm5-6.002h4v2h-4v2h-2v-2H41v-2h13v-1h2zm-35 4h9v2.001h-9c-1.255 0-2.596-.377-3.587-1.008-2.02-1.28-5.413-4.274-5.413-9.947 0-6.881 4.665-9.407 7.38-10.292l-.054-.916c-.002-5.668 3.748-11.48 8.72-13.577 5.823-2.476 11.99-1.25 16.499 3.28 1.399 1.402 2.551 3.11 3.433 5.094a6.74 6.74 0 0 1 6.422-1.245c2.847.934 4.619 3.565 4.827 7.108 2.838.68 8.773 3.014 8.773 10.638 0 .285-.011.56-.022.823l-1.999-.053c.01-.267.021-.513.021-.77 0-6.734-5.557-8.426-7.946-8.84a1 1 0 0 1-.808-1.194c-.029-2.981-1.29-5.097-3.47-5.812-1.953-.643-4.099.066-5.342 1.758a1 1 0 0 1-.952.396 1 1 0 0 1-.796-.654c-.833-2.343-2.03-4.306-3.557-5.835-3.913-3.932-9.262-4.996-14.303-2.852-4.208 1.774-7.502 6.903-7.502 11.676l.099 1.654a1 1 0 0 1-.752 1.027C18.18 30.09 14 32.05 14 38.042c0 4.48 2.438 6.963 4.485 8.258.675.43 1.638.697 2.515.697m45 5.322-1.764-.101a1.01 1.01 0 0 0-1.032.779 13.4 13.4 0 0 1-1.748 4.22 1 1 0 0 0 .181 1.282l1.317 1.174-3.281 3.282-1.171-1.313a1 1 0 0 0-1.28-.18 13.4 13.4 0 0 1-4.225 1.75 1 1 0 0 0-.777 1.033l.1 1.756h-4.64l.1-1.758a1 1 0 0 0-.777-1.033 13.4 13.4 0 0 1-4.223-1.751.996.996 0 0 0-1.28.18l-1.174 1.315-3.28-3.281 1.315-1.172a1 1 0 0 0 .18-1.28 13.4 13.4 0 0 1-1.747-4.224c-.107-.478-.585-.804-1.032-.78L34 52.319v-4.641l1.768.101A1.02 1.02 0 0 0 36.8 47a13.4 13.4 0 0 1 1.75-4.215 1 1 0 0 0-.18-1.281l-1.324-1.181 3.281-3.282 1.181 1.324a1 1 0 0 0 1.279.179c1.3-.82 2.718-1.407 4.216-1.745a1 1 0 0 0 .777-1.033l-.1-1.771h4.64l-.1 1.773a1 1 0 0 0 .777 1.032c1.495.34 2.912.926 4.214 1.747a1 1 0 0 0 1.279-.18l1.183-1.326 3.281 3.282-1.321 1.178a1 1 0 0 0-.18 1.281A13.4 13.4 0 0 1 63.202 47c.108.476.561.804 1.032.778L66 47.677zm.943-6.698-2.001.114a15.4 15.4 0 0 0-1.363-3.289l1.497-1.335a1 1 0 0 0 .041-1.453l-4.778-4.779a.99.99 0 0 0-.735-.292 1 1 0 0 0-.718.333l-1.34 1.502a15.4 15.4 0 0 0-3.283-1.36l.114-2.01a1 1 0 0 0-.272-.743 1 1 0 0 0-.726-.313h-6.758a1 1 0 0 0-.726.313c-.19.2-.288.469-.272.744l.114 2.006a15.4 15.4 0 0 0-3.285 1.36l-1.338-1.499a1 1 0 0 0-.718-.333.96.96 0 0 0-.735.292l-4.778 4.779a1 1 0 0 0 .041 1.453l1.5 1.338a15.4 15.4 0 0 0-1.364 3.286l-2.003-.114a1 1 0 0 0-1.057.998v6.759a1 1 0 0 0 1.057.998l1.996-.114c.325 1.148.781 2.25 1.362 3.293l-1.491 1.33a1 1 0 0 0-.041 1.454l4.778 4.779a.999.999 0 0 0 1.453-.041l1.33-1.493a15.4 15.4 0 0 0 3.292 1.368l-.113 1.992A1 1 0 0 0 46.621 68h6.758a1 1 0 0 0 .998-1.057l-.113-1.99a15.4 15.4 0 0 0 3.294-1.367l1.328 1.49a1 1 0 0 0 1.453.04l4.778-4.778a1 1 0 0 0-.042-1.454l-1.493-1.332a15.4 15.4 0 0 0 1.363-3.291l1.998.114A1 1 0 0 0 68 53.377v-6.76a1 1 0 0 0-1.057-.997\" /></g></svg>;\nexport default SvgSsm;","import * as React from \"react\";\nconst SvgSsoAdmin = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-IAM-Identity-Center_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-IAM-Identity-Center_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"#dd344c\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-IAM-Identity-Center_Icon_64_Squid\" fill=\"#fff\" d=\"M67.438 62.325 52.56 47.447a1 1 0 0 1-.181-1.167c2.078-4.003 1.28-9.048-1.94-12.268a10.45 10.45 0 0 0-8.691-3c-3.23.392-6.078 2.256-7.812 5.117-2.038 3.359-1.947 7.668.23 10.979 3.021 4.595 8.91 6.184 13.698 3.7.387-.2.858-.127 1.168.182l2.468 2.468a1 1 0 0 1 .292.707v3.243h3.243c.264 0 .519.105.707.292l1.415 1.414c.187.188.293.442.293.708v3.242h3.242c.266 0 .519.106.707.293l1.855 1.856 3.942.263zm2.029-.305-.353 4.596a1 1 0 0 1-.996.923q-.034 0-.068-.002l-5.303-.354a1 1 0 0 1-.641-.29l-1.828-1.83H56.45a1 1 0 0 1-1-1v-3.827l-.829-.828h-3.829a1 1 0 0 1-1-1v-3.83l-1.672-1.672c-5.574 2.486-12.179.544-15.626-4.7-2.598-3.951-2.703-9.1-.269-13.114 2.056-3.39 5.44-5.6 9.282-6.064a12.44 12.44 0 0 1 10.346 3.57c3.653 3.653 4.683 9.286 2.622 13.936l14.702 14.702a1 1 0 0 1 .29.784M45.423 41.346a2.48 2.48 0 0 0-.733-1.768 2.48 2.48 0 0 0-1.768-.733c-.667 0-1.295.26-1.767.732a2.503 2.503 0 0 0 0 3.536c.974.975 2.56.975 3.535 0 .473-.473.733-1.1.733-1.767m.681-3.183a4.47 4.47 0 0 1 1.319 3.183 4.47 4.47 0 0 1-1.319 3.18v.002a4.49 4.49 0 0 1-3.182 1.315 4.48 4.48 0 0 1-3.181-1.316 4.506 4.506 0 0 1 0-6.364 4.47 4.47 0 0 1 3.181-1.318c1.203 0 2.332.468 3.182 1.318m-24.103 6.759H28v2h-6c-5.854-.013-10.674-4.165-10.976-9.454-.013-.25-.024-.481-.024-.713 0-6.524 4.627-8.95 7.351-9.81a14 14 0 0 1-.027-.875c0-5.35 3.757-10.888 8.739-12.881 5.807-2.344 11.965-1.178 16.463 3.118 1.187 1.12 2.705 2.794 3.769 4.835 1.136-.998 2.419-1.487 3.888-1.487 2.903 0 6.157 2.336 6.748 7.442C63.95 28.472 67 31.775 67 36.922c0 5.427-3.222 9.068-8.839 9.987l-.323-1.974C61.105 44.4 65 42.575 65 36.922c0-4.381-2.603-6.93-8.192-8.018a1 1 0 0 1-.807-.922c-.224-3.725-2.206-6.327-4.818-6.327-1.335 0-2.382.58-3.394 1.88-.223.287-.58.429-.941.376a1 1 0 0 1-.785-.638c-.872-2.33-2.609-4.285-3.913-5.515-3.919-3.742-9.278-4.754-14.342-2.713-4.198 1.679-7.484 6.522-7.484 11.025 0 .505.03.99.093 1.485q.006.056.007.113v.014c0 .505-.374.927-.86.996-2.499.634-6.564 2.52-6.564 8.077 0 .197.01.394.02.583.242 4.249 4.188 7.574 8.981 7.584\" /></g></svg>;\nexport default SvgSsoAdmin;","import * as React from \"react\";\nconst SvgStepfunctions = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-Step-Functions_64\"}</title><defs><linearGradient id=\"linearGradient-stf\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-Step-Functions_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Application-Integration\" fill=\"url(#linearGradient-stf)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS_Step_Functions_Icon_64_Squid\" fill=\"#fff\" d=\"M45 44h21v-7H45zm22-9H44a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h23a1 1 0 0 0 1-1v-9a1 1 0 0 0-1-1M43.5 62.5c0 1.93-1.57 3.5-3.5 3.5s-3.5-1.57-3.5-3.5S38.07 59 40 59s3.5 1.57 3.5 3.5M14 47h18v-4H14zm0-10h18v-4H14zm22.5-19.5c0-1.93 1.57-3.5 3.5-3.5s3.5 1.57 3.5 3.5S41.93 21 40 21s-3.5-1.57-3.5-3.5M56 53H24v-4h9a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-9v-2h9a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-9v-3h32v4h2v-5a1 1 0 0 0-1-1H41v-3.096c2.556-.472 4.5-2.713 4.5-5.404 0-3.033-2.468-5.5-5.5-5.5a5.506 5.506 0 0 0-5.5 5.5c0 2.691 1.944 4.932 4.5 5.404V26H23a1 1 0 0 0-1 1v4h-9a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h9v2h-9a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h9v5a1 1 0 0 0 1 1h16v2.096c-2.556.472-4.5 2.713-4.5 5.404 0 3.033 2.468 5.5 5.5 5.5s5.5-2.467 5.5-5.5c0-2.691-1.944-4.932-4.5-5.404V55h16a1 1 0 0 0 1-1v-4.973h-2z\" /></g></svg>;\nexport default SvgStepfunctions;","import * as React from \"react\";\nconst SvgSts = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 48 48\" fill=\"currentColor\" {...props}><title>{\"Icon-Resource/General-Resource/Res_SAML-token_48_Light\"}</title><defs><linearGradient id=\"linearGradient-sts\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><path id=\"Icon-Resource/General-Resource/Res_SAML-token_48\" fill=\"url(#linearGradient-sts)\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1} d=\"M23.886 24.573a1 1 0 0 0-.175 1.18c1.068 1.994.728 4.39-.845 5.963a5.07 5.07 0 0 1-7.16 0 5.03 5.03 0 0 1-1.481-3.58c0-1.352.526-2.623 1.482-3.579a4.97 4.97 0 0 1 3.53-1.462c.824 0 1.66.203 2.435.617.388.206.866.136 1.179-.175l1.322-1.323a1 1 0 0 0 .292-.742l-.042-1.245 1.246.042a.95.95 0 0 0 .74-.292l.747-.745c.196-.196.3-.465.292-.74l-.043-1.247 1.246.043c.26.01.545-.097.74-.292l.866-.865 1.31-.128.04.85zm9.287-10.425a1.01 1.01 0 0 0-.752-.239l-2.716.267a1 1 0 0 0-.61.288l-.81.81-1.882-.064c-.255-.032-.546.095-.742.292a1 1 0 0 0-.292.741l.065 1.883-.131.13-1.882-.064a.94.94 0 0 0-.741.292 1 1 0 0 0-.292.741l.063 1.882-.518.52c-2.628-1.076-5.616-.507-7.64 1.516a7.01 7.01 0 0 0-2.068 4.993c0 1.886.734 3.66 2.068 4.994a7.04 7.04 0 0 0 4.994 2.065 7.04 7.04 0 0 0 4.994-2.065c2.022-2.023 2.59-5.012 1.515-7.639l7.536-7.536a1 1 0 0 0 .292-.752l-.106-2.344a1 1 0 0 0-.345-.71M18.579 30.04a.845.845 0 1 1-1.192-1.196.845.845 0 0 1 1.192 1.196m-2.608-2.61a2.85 2.85 0 0 0 0 4.024 2.84 2.84 0 0 0 2.012.832c.727 0 1.456-.277 2.01-.832a2.85 2.85 0 0 0 0-4.024c-1.075-1.075-2.95-1.072-4.022 0m22.57-15.604a1.777 1.777 0 0 1-2.51 0l-.001-.002a1.76 1.76 0 0 1-.516-1.255 1.766 1.766 0 0 1 1.772-1.77h.002a1.76 1.76 0 0 1 1.77 1.773c0 .476-.184.922-.517 1.254m-3.922-3.928a3.75 3.75 0 0 0-1.106 2.67 3.75 3.75 0 0 0 1.102 2.67 3.76 3.76 0 0 0 2.67 1.106c.966 0 1.932-.368 2.668-1.102a3.78 3.78 0 0 0 .005-5.339 3.78 3.78 0 0 0-5.34-.005M20.255 43.574 4.414 27.706 28.139 4.02l15.134.733.708 15.133zM45.228 3.751a1 1 0 0 0-.95-.952l-16.484-.798a.97.97 0 0 0-.755.291L2.294 26.997a1 1 0 0 0-.002 1.414l17.254 17.283a.997.997 0 0 0 1.414.002L45.706 20.99a1 1 0 0 0 .293-.755z\" /></svg>;\nexport default SvgSts;","import * as React from \"react\";\nconst SvgSupport = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Support_16\"}</title><defs><linearGradient id=\"linearGradient-spr\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Support_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Customer-Enablement\" fill=\"url(#linearGradient-spr)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Support_16_Squid\" fill=\"#fff\" d=\"M15.878 16.096a1 1 0 0 1-.7.307h-.02a1 1 0 1 1 .721-.307m-2.162-2.08c-.37.386-.568.892-.558 1.426s.23 1.032.614 1.403c.375.36.865.558 1.384.558h.04a2.003 2.003 0 0 0 1.348-3.442 2.004 2.004 0 0 0-2.828.055m4.375 3.093-.988-.198a.5.5 0 0 0-.395.087l-.504.369a.5.5 0 0 0-.2.345l-.117.996-1.465-.002-.114-.987a.5.5 0 0 0-.2-.344l-.51-.378a.51.51 0 0 0-.396-.089l-.98.196-.452-1.393.92-.421a.5.5 0 0 0 .265-.299l.193-.587a.5.5 0 0 0-.04-.401l-.494-.88 1.185-.86.678.737a.5.5 0 0 0 .368.161h.003l.635-.004a.5.5 0 0 0 .366-.161l.672-.73 1.184.861-.492.876a.5.5 0 0 0-.04.397l.188.594c.043.134.14.244.268.303l.915.42zm1.275-2.116-1.119-.513-.056-.177.603-1.073a.5.5 0 0 0-.142-.65l-1.903-1.385a.5.5 0 0 0-.662.066l-.827.897-.197.001-.83-.9a.5.5 0 0 0-.662-.066l-1.905 1.382a.5.5 0 0 0-.142.65l.604 1.076-.056.171-1.124.516a.5.5 0 0 0-.266.608l.725 2.24a.5.5 0 0 0 .574.336l1.2-.24.158.118.141 1.213a.5.5 0 0 0 .496.443l2.354.002h.001c.254 0 .467-.19.496-.442l.144-1.221.151-.11 1.208.242a.5.5 0 0 0 .574-.335l.73-2.239a.5.5 0 0 0-.268-.61M6.841 7.495A2.5 2.5 0 0 1 9.336 5a2.5 2.5 0 0 1 2.495 2.495 2.5 2.5 0 0 1-2.495 2.496 2.5 2.5 0 0 1-2.495-2.496m2.584 3.54c.776 0 1.483.245 2.104.728l.615-.789a4.5 4.5 0 0 0-.924-.544 3.49 3.49 0 0 0 1.611-2.935A3.5 3.5 0 0 0 9.336 4a3.5 3.5 0 0 0-3.495 3.495c0 1.266.683 2.367 1.693 2.98-2.009.944-3.499 3.316-3.534 6.019a.5.5 0 0 0 .145.357A.5.5 0 0 0 4.5 17h5.336v-1H5.024c.257-2.991 2.41-4.965 4.401-4.965\" /></g></svg>;\nexport default SvgSupport;","import * as React from \"react\";\nconst SvgSwf = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Step-Functions_16\"}</title><defs><linearGradient id=\"linearGradient-swf\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#b0084d\" /><stop offset=\"100%\" stopColor=\"#ff4f8b\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Step-Functions_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Application-Integration\" fill=\"url(#linearGradient-swf)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS_Step_Functions_Icon_16_Squid\" fill=\"#fff\" d=\"M14 13h5v-2h-5zm2 2H8v-2h2.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H8V9h8v1h-2.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5H16zM5 12h5v-1H5zm7.5 7a.5.5 0 1 1 .002-1.002A.5.5 0 0 1 12.5 19m0-14a.5.5 0 1 1-.002 1.002A.5.5 0 0 1 12.5 5m7 5H17V8.5a.5.5 0 0 0-.5-.5H13V6.908c.581-.207 1-.757 1-1.408 0-.827-.673-1.5-1.5-1.5S11 4.673 11 5.5c0 .651.419 1.201 1 1.408V8H7.5a.5.5 0 0 0-.5.5V10H4.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H7v2.5a.5.5 0 0 0 .5.5H12v1.092c-.581.207-1 .757-1 1.408 0 .827.673 1.5 1.5 1.5s1.5-.673 1.5-1.5c0-.651-.419-1.201-1-1.408V16h3.5a.5.5 0 0 0 .5-.5V14h2.5a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5\" /></g></svg>;\nexport default SvgSwf;","import * as React from \"react\";\nconst SvgTextract = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Textract_64\"}</title><g id=\"Icon-Architecture/64/Arch_Amazon-Textract_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Machine-Learning\" fill=\"#01a88d\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Textract_Icon_64_Squid\" fill=\"#fff\" d=\"M22.062 50c2.314 3.603 6.348 6 10.938 6 7.167 0 13-5.832 13-13s-5.833-13-13-13c-5.397 0-10.034 3.307-11.998 8h2.212c1.825-3.556 5.522-6 9.786-6 6.065 0 11 4.935 11 11s-4.935 11-11 11a10.99 10.99 0 0 1-8.479-4zM37 45v-2h5c0-4.962-4.038-9-9-9-4.963 0-9 4.038-9 9h5v2H24.23c.913 4.002 4.494 7 8.77 7a8.95 8.95 0 0 0 5.643-2H34v-2h6.478a9 9 0 0 0 1.29-3zm-15.998 3h2.212A10.9 10.9 0 0 1 22 43c0-1.041.155-2.045.426-3h-2.063A13 13 0 0 0 20 43c0 1.771.36 3.46 1.003 5m-1.259 2H17v-2h1.874c-.34-.96-.585-1.962-.725-3h-2.735l1.293 1.293-1.415 1.414-3-3a1 1 0 0 1 0-1.414l3-3 1.415 1.414L15.414 43H18c0-1.027.104-2.03.302-3H17v-2h1.874C20.94 32.184 26.484 28 33 28c4.427 0 8.4 1.939 11.148 5H59v2H45.666A14.9 14.9 0 0 1 48 43H59v2H47.85c-.982 7.327-7.259 13-14.85 13-5.744 0-10.738-3.248-13.257-8M37 39a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v2h2v-1h1v3h-1v2h4v-2h-1v-3h1v1h2zm12 1h10v-2H49zm0 10h10v-2H49zm8-23h3.585L57 23.414zm6.707.293c.187.187.293.442.293.707v35a1 1 0 0 1-1 1H32a1 1 0 0 1-1-1v-4h2v3h29V29h-6a1 1 0 0 1-1-1v-6H33v5h-2v-6a1 1 0 0 1 1-1h24a1 1 0 0 1 .707.293zM68 24.166V61a1 1 0 0 1-1 1h-2v-2h1V24.612L58.617 18H36v1h-2v-2a1 1 0 0 1 1-1h24c.246 0 .483.091.666.255l8 7.165c.212.19.334.461.334.746\" /></g></svg>;\nexport default SvgTextract;","import * as React from \"react\";\nconst SvgTimestreamQuery = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Timestream_64\"}</title><defs><linearGradient id=\"linearGradient-tsd\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Timestream_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-tsd)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Timestream_Icon_64_Squid\" fill=\"#fff\" d=\"M60.92 52.293 62.201 51H56.25l-1.574-1.586-2.976 3-8.638-8.707 1.402-1.414 7.236 7.293 2.976-3L57.071 49h5.131l-1.283-1.293 1.403-1.414L66 50l-3.678 3.707zM51.7 36.586 53.273 35h3.138l2.972 3.332-1.477 1.336L55.527 37h-1.432L51.7 39.414 49.305 37h-5.542v-2h6.363zM62.202 36H60.63v-2h4.96v5h-1.984v-1.586L61.04 40l2.566 2.586V41h1.984v5h-4.96v-2h1.573l-2.565-2.586L57.07 44h-5.953l-1.693 1.707-1.403-1.414L50.297 42h5.953zm-19.14 13.293 1.984-2 1.403 1.414-1.985 2zM32.85 14c9.94 0 16.866 3.162 16.866 6s-6.926 6-16.866 6-16.866-3.162-16.866-6 6.926-6 16.866-6m9.92 19h-1.983v22c0 .552.443 1 .992 1h7.937v4c0 2.838-6.926 6-16.866 6-9.623 0-16.866-3.479-16.866-5.735v-7.591C19.017 55.284 25.267 57 32.85 57c2.464 0 4.858-.189 7.112-.563l-.321-1.974A42 42 0 0 1 32.85 55c-9.94 0-16.866-3.162-16.866-6V38.674C19.017 41.284 25.267 43 32.85 43c2.464 0 4.858-.189 7.112-.563l-.321-1.974A42 42 0 0 1 32.85 41c-9.94 0-16.866-3.162-16.866-6V23.674C19.017 26.284 25.267 28 32.85 28s13.833-1.716 16.866-4.326V34H51.7V20c0-4.561-8.104-8-18.85-8S14 15.439 14 20v40.265C14 64.385 22.809 68 32.85 68c10.746 0 18.85-3.439 18.85-8v-4h13.89v-2H42.77z\" /></g></svg>;\nexport default SvgTimestreamQuery;","import * as React from \"react\";\nconst SvgTimestreamWrite = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Timestream_64\"}</title><defs><linearGradient id=\"linearGradient-tsd\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_Amazon-Timestream_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Database\" fill=\"url(#linearGradient-tsd)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Amazon-Timestream_Icon_64_Squid\" fill=\"#fff\" d=\"M60.92 52.293 62.201 51H56.25l-1.574-1.586-2.976 3-8.638-8.707 1.402-1.414 7.236 7.293 2.976-3L57.071 49h5.131l-1.283-1.293 1.403-1.414L66 50l-3.678 3.707zM51.7 36.586 53.273 35h3.138l2.972 3.332-1.477 1.336L55.527 37h-1.432L51.7 39.414 49.305 37h-5.542v-2h6.363zM62.202 36H60.63v-2h4.96v5h-1.984v-1.586L61.04 40l2.566 2.586V41h1.984v5h-4.96v-2h1.573l-2.565-2.586L57.07 44h-5.953l-1.693 1.707-1.403-1.414L50.297 42h5.953zm-19.14 13.293 1.984-2 1.403 1.414-1.985 2zM32.85 14c9.94 0 16.866 3.162 16.866 6s-6.926 6-16.866 6-16.866-3.162-16.866-6 6.926-6 16.866-6m9.92 19h-1.983v22c0 .552.443 1 .992 1h7.937v4c0 2.838-6.926 6-16.866 6-9.623 0-16.866-3.479-16.866-5.735v-7.591C19.017 55.284 25.267 57 32.85 57c2.464 0 4.858-.189 7.112-.563l-.321-1.974A42 42 0 0 1 32.85 55c-9.94 0-16.866-3.162-16.866-6V38.674C19.017 41.284 25.267 43 32.85 43c2.464 0 4.858-.189 7.112-.563l-.321-1.974A42 42 0 0 1 32.85 41c-9.94 0-16.866-3.162-16.866-6V23.674C19.017 26.284 25.267 28 32.85 28s13.833-1.716 16.866-4.326V34H51.7V20c0-4.561-8.104-8-18.85-8S14 15.439 14 20v40.265C14 64.385 22.809 68 32.85 68c10.746 0 18.85-3.439 18.85-8v-4h13.89v-2H42.77z\" /></g></svg>;\nexport default SvgTimestreamWrite;","import * as React from \"react\";\nconst SvgTranscribe = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_Amazon-Transcribe_16\"}</title><defs><linearGradient id=\"linearGradient-trs\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#055f4e\" /><stop offset=\"100%\" stopColor=\"#56c0a7\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_Amazon-Transcribe_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Machine-Learning\" fill=\"url(#linearGradient-trs)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"Amazon-Transcribe_Icon_16_Squid\" fill=\"#fff\" d=\"M18.263 7.952 15.97 5.701v2.251zM20 16.512a.5.5 0 0 1-.505.5h-4.54V16.01h4.036l-.003-7.055h-3.523a.503.503 0 0 1-.504-.501V5.003h-3.1v2.978h-1.008V4.502c0-.276.226-.501.504-.501L15.465 4c.13 0 .257.05.354.144l4.028 3.953c.098.096.15.225.15.357zM6.93 15h1.008v-2.006H6.93zm1.988 1.003h1.01v-4.012h-1.01zM10.912 15h1.01v-2.006h-1.01zm2.266 1.457.841.554c-.992 1.49-2.504 2.346-4.15 2.346a5.7 5.7 0 0 1-2.56-.633l-2.46 1.227a.5.5 0 0 1-.233.048c-.168 0-.35-.06-.454-.166a.58.58 0 0 1-.092-.675l1.266-2.38c-.347-.589-.788-1.537-.788-2.574 0-2.814 2.292-4.936 5.332-4.936 1.124 0 1.93.397 2.632.826l-.53.855c-.683-.419-1.275-.678-2.102-.678-2.096 0-4.323 1.379-4.323 3.933 0 .689.285 1.52.784 2.281.1.153.108.347.023.509l-.784 1.47 1.518-.755a.51.51 0 0 1 .49.02c.635.386 1.509.625 2.28.625 1.78 0 2.838-1.188 3.31-1.897\" /></g></svg>;\nexport default SvgTranscribe;","import * as React from \"react\";\nconst SvgTransfer = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/16/Arch_AWS-Transfer-Family_16\"}</title><defs><linearGradient id=\"linearGradient-atf\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#055f4e\" /><stop offset=\"100%\" stopColor=\"#56c0a7\" /></linearGradient></defs><g id=\"Icon-Architecture/16/Arch_AWS-Transfer-Family_16\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/16/Migration-Transfer\" fill=\"url(#linearGradient-atf)\"><path id=\"Rectangle\" d=\"M0 0h24v24H0z\" /></g><path id=\"AWS-Transfer-Family_Icon-atf6_Squid\" fill=\"#fff\" d=\"m9.186 13.857 2.036 2c.094.092.22.143.351.143.155.025.262-.054.356-.15l1.964-2-.713-.7-1.107 1.127V9.5h-1v4.808l-1.186-1.165zM14 6.723V11.5h1V6.692l1.186 1.165.701-.714-2.036-2A.5.5 0 0 0 14.5 5c-.096.021-.261.054-.356.15l-1.964 2 .713.7zM19 9v9a.5.5 0 0 1-.5.5h-13A.5.5 0 0 1 5 18V8a.5.5 0 0 1 .5-.5H7c.141 0 .276.06.371.164l.758.836h1.668v1H7.908a.5.5 0 0 1-.37-.164L6.779 8.5H6v9h12v-8h-2v-1h2.5a.5.5 0 0 1 .5.5\" /></g></svg>;\nexport default SvgTransfer;","import * as React from \"react\";\nconst SvgVerifiedpermissions = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_Amazon-Verified-Permissions_64\"}</title><g id=\"Icon-Architecture/64/Arch_Amazon-Verified-Permissions_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"#dd344c\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"Fill-1\" fill=\"#fff\" d=\"M48 48h10v2H48v4h10v2H48v3h-2V45h2zm18 5.522-1.515-.086c-.471-.034-.924.3-1.032.778a12.2 12.2 0 0 1-1.582 3.821 1 1 0 0 0 .18 1.279l1.132 1.01-2.859 2.859-1.006-1.127a.996.996 0 0 0-1.28-.18 12.2 12.2 0 0 1-3.825 1.584 1 1 0 0 0-.777 1.033L53.521 66h-4.042l.085-1.508a1 1 0 0 0-.777-1.033 12.2 12.2 0 0 1-3.822-1.586 1 1 0 0 0-1.28.18l-1.008 1.13-2.86-2.859 1.129-1.007a1 1 0 0 0 .181-1.28 12.2 12.2 0 0 1-1.582-3.823 1.01 1.01 0 0 0-1.032-.778L37 53.522v-4.044l1.518.086c.479.019.922-.3 1.032-.777.306-1.353.84-2.637 1.585-3.815a1 1 0 0 0-.18-1.281l-1.138-1.014 2.86-2.86 1.014 1.137c.328.364.869.439 1.28.179a12.2 12.2 0 0 1 3.815-1.579 1 1 0 0 0 .778-1.032L49.479 37h4.042l-.085 1.523c-.029.488.3.925.777 1.032 1.354.307 2.638.839 3.813 1.581.412.26.954.184 1.281-.179l1.016-1.14 2.86 2.86-1.135 1.012a1 1 0 0 0-.18 1.28 12.1 12.1 0 0 1 1.583 3.818c.108.477.563.796 1.032.777L66 49.478zm1.687-5.83c-.2-.188-.47-.287-.744-.271l-1.754.1a14 14 0 0 0-1.196-2.887l1.312-1.17a1 1 0 0 0 .041-1.453l-4.357-4.356a.98.98 0 0 0-.735-.293 1 1 0 0 0-.718.334l-1.175 1.316a14 14 0 0 0-2.882-1.195l.099-1.76A1 1 0 0 0 54.58 35h-6.16a1 1 0 0 0-.998 1.057l.099 1.758c-1.003.291-1.968.69-2.884 1.194l-1.173-1.313a1 1 0 0 0-.718-.334.98.98 0 0 0-.735.293l-4.357 4.356a1 1 0 0 0 .041 1.453l1.315 1.173a14.2 14.2 0 0 0-1.198 2.884l-1.755-.1a1 1 0 0 0-1.057.998v6.162a1 1 0 0 0 1.057.998l1.749-.1a14 14 0 0 0 1.197 2.892l-1.307 1.165a1 1 0 0 0-.042 1.453l4.357 4.357a.97.97 0 0 0 .735.292 1 1 0 0 0 .718-.334l1.166-1.306c.919.506 1.887.907 2.891 1.199l-.099 1.746A1 1 0 0 0 48.42 68h6.16a1 1 0 0 0 .998-1.057l-.099-1.744A14 14 0 0 0 58.373 64l1.163 1.304a1 1 0 0 0 .718.334.96.96 0 0 0 .735-.292l4.357-4.357a1.002 1.002 0 0 0-.041-1.453l-1.31-1.168c.505-.918.905-1.885 1.196-2.889l1.752.1A1.002 1.002 0 0 0 68 54.581v-6.162c0-.274-.113-.538-.313-.727M31.742 36.218l-7.545 7.545a.996.996 0 0 1-1.414 0l-3.771-3.772 1.414-1.414 3.064 3.065 6.838-6.838zm0-14.392-7.545 7.544a.996.996 0 0 1-1.414 0l-3.771-3.772 1.414-1.414 3.064 3.065 6.838-6.837zm-1.886 30.529-3.537 3.537 3.537 3.537-1.414 1.414-3.537-3.537-3.537 3.537-1.414-1.414 3.537-3.537-3.537-3.537 1.414-1.414 3.537 3.537 3.537-3.537zM45 15.659 50.973 21H45zM14 14h29v8a1 1 0 0 0 1 1h8v10h2V21.471c0-.285-.121-.556-.333-.746l-9.474-8.471a1 1 0 0 0-.667-.254H13a1 1 0 0 0-1 1v54a1 1 0 0 0 1 1h25v-2H14z\" /></g></svg>;\nexport default SvgVerifiedpermissions;","import * as React from \"react\";\nconst SvgWafv2 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-WAF_64\"}</title><g id=\"Icon-Architecture/64/Arch_AWS-WAF_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Security-Identity-Compliance\" fill=\"#dd344c\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><g id=\"Icon-Service/64/AWS-WAF_64\" fill=\"#fff\" transform=\"translate(12 12)\"><path id=\"AWS-WAF_Icon_64_Squid\" d=\"M2.396 29H0v-2h2.399c.2-5.059 1.84-9.872 4.809-13.975l1.621 1.173C6.108 17.957 4.598 22.366 4.399 27H7v2H4.396c.186 4.662 1.697 9.097 4.433 12.876l-1.621 1.173C4.224 38.926 2.583 34.085 2.396 29M43.01 48.828c-4.112 2.977-8.938 4.617-14.01 4.811V56h-2v-2.361c-5.072-.194-9.9-1.834-14.012-4.811l1.172-1.62c3.77 2.729 8.192 4.239 12.84 4.431V49h2v2.639c4.648-.193 9.069-1.703 12.838-4.431zM12.988 7.246C17.1 4.269 21.928 2.629 27 2.436V0h2v2.436c5.072.193 9.898 1.834 14.01 4.81l-1.172 1.62C38.069 6.138 33.648 4.628 29 4.436V7h-2V4.436c-4.648.191-9.07 1.702-12.84 4.43zM56 27v2h-2.398c-.186 5.085-1.828 9.926-4.811 14.049l-1.622-1.173c2.736-3.779 4.248-8.214 4.433-12.876H49v-2h2.599c-.199-4.634-1.709-9.043-4.43-12.802l1.622-1.173c2.968 4.103 4.608 8.916 4.808 13.975zM42.972 11.65l7.84-7.84 1.414 1.414-7.84 7.84zM13.026 44.424l-7.84 7.84-1.414-1.414 7.84-7.84zm2.226-27.757L.412 1.827 1.826.413l14.841 14.84zm25.455 22.626 14.879 14.88-1.414 1.414-14.88-14.879zM19.664 28.735q.113-.2.241-.401c1.681-2.641 1.199-6.245.665-8.422 1.441.947 2.74 2.904 3.183 3.726a.99.99 0 0 0 .959.523c.395-.031.734-.291.866-.664 1.489-4.23.732-7.41-.318-9.471a7.2 7.2 0 0 1 2.912 3.166c1.416 2.942 1.101 6.969-.824 10.508-2.629 4.836-2.102 9.906-1.504 12.634-1.501-.647-2.837-1.378-3.99-2.182-3.027-2.11-3.99-6.245-2.19-9.417m13.43-.337a1.002 1.002 0 0 0 1.615.938c.081-.065 1.721-1.419 2.515-4.694.957 1.392 1.958 4.201.626 9.361-1.318 5.105-7.57 6.541-9.801 6.894-.539-1.933-1.632-7.298 1.057-12.242 1.908-3.51 2.414-7.479 1.458-10.754 1.81 2.126 3.337 5.472 2.53 10.497m-15.172-.648c-2.302 4.06-1.078 9.349 2.788 12.043 1.75 1.22 3.87 2.279 6.3 3.148q.167.06.337.059c.021 0 .039-.011.059-.012l.001.009c.425-.033 10.419-.901 12.379-8.494 2.522-9.766-2.529-12.663-2.745-12.782a1 1 0 0 0-1.475.774 13 13 0 0 1-.316 1.807c-.692-7.668-6.771-10.788-8-11.343-1.26-.965-2.792-1.628-4.568-1.943a1.002 1.002 0 0 0-.815 1.752c.15.127 3.266 2.829 2.377 7.971-1.161-1.523-3.009-3.359-5.183-3.359a1.001 1.001 0 0 0-.933 1.361c.022.054 2.06 5.425.089 8.52a13 13 0 0 0-.295.489\" /></g></g></svg>;\nexport default SvgWafv2;","import * as React from \"react\";\nconst SvgXray = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 80 80\" fill=\"currentColor\" {...props}><title>{\"Icon-Architecture/64/Arch_AWS-X-Ray_64\"}</title><defs><linearGradient id=\"linearGradient-xry\" x1=\"0%\" x2=\"100%\" y1=\"100%\" y2=\"0%\"><stop offset=\"0%\" stopColor=\"#2e27ad\" /><stop offset=\"100%\" stopColor=\"#527fff\" /></linearGradient></defs><g id=\"Icon-Architecture/64/Arch_AWS-X-Ray_64\" fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth={1}><g id=\"Icon-Architecture-BG/64/Developer-Tools\" fill=\"url(#linearGradient-xry)\"><path id=\"Rectangle\" d=\"M0 0h80v80H0z\" /></g><path id=\"AWS-X-Ray_Icon_64_Squid\" fill=\"#fff\" d=\"M47.5 42.2h-2v13.883h-4v-9.916h-2v9.916h-4v-6.941h-2v6.941h-2v1.984h18v-1.984h-2zm8 7.438c0-7.929-6.505-14.38-14.5-14.38s-14.5 6.451-14.5 14.38c0 7.928 6.505 14.379 14.5 14.379s14.5-6.451 14.5-14.38m2 0C57.5 58.66 50.098 66 41 66s-16.5-7.34-16.5-16.362S31.902 33.275 41 33.275s16.5 7.34 16.5 16.363M68 38.702c0 5.657-3.132 9.336-8.591 10.092l-.277-1.965C62.266 46.396 66 44.634 66 38.702c0-5.568-4.247-7.583-7.809-8.292a.99.99 0 0 1-.801-.916c-.234-4.073-2.645-5.896-4.932-5.896-1.437 0-2.777.671-3.676 1.842-.22.288-.585.433-.943.38a1 1 0 0 1-.79-.637c-.81-2.168-2.01-4.06-3.47-5.469-3.838-3.711-9.09-4.72-14.049-2.695-4.117 1.675-7.342 6.495-7.342 10.974 0 .503.031 1.003.091 1.488a.99.99 0 0 1-.752 1.084c-2.437.6-6.527 2.443-6.527 8.06 0 .212.011.403.021.604.183 3.292 3.047 6.315 6.966 7.351l-.515 1.916c-4.744-1.254-8.218-5.02-8.448-9.16a13 13 0 0 1-.024-.71c0-6.491 4.538-8.898 7.216-9.752a14 14 0 0 1-.028-.881c0-5.312 3.69-10.817 8.582-12.808 5.718-2.337 11.778-1.175 16.205 3.11 1.338 1.29 2.481 2.924 3.351 4.778a6.56 6.56 0 0 1 4.132-1.459c3.072 0 6.295 2.177 6.862 7.013 5.606 1.35 8.68 4.904 8.68 10.075\" /></g></svg>;\nexport default SvgXray;","import type { FC, ReactNode } from 'react'\nimport { Box } from '@mui/material'\n\ninterface PillCellProps {\n backgroundColor?: string\n borderColor?: string\n borderWidth?: string\n children: ReactNode\n height?: number | string\n paddingBottom?: number | string\n paddingTop?: number | string\n}\n\nexport const PillCell: FC<PillCellProps> = ({\n backgroundColor,\n borderColor,\n borderWidth = '1px',\n children,\n height = '24px',\n paddingBottom,\n paddingTop,\n}) => {\n return (\n <Box\n sx={{\n alignItems: 'center',\n backgroundColor: backgroundColor ?? (theme => theme.palette.background.paper),\n borderColor: borderColor ?? (theme => theme.palette.divider),\n borderRadius: '16px',\n borderStyle: 'solid',\n borderWidth,\n display: 'inline-flex',\n height: paddingTop || paddingBottom ? 'auto' : height,\n maxWidth: '100%',\n ...(paddingTop && { paddingTop }),\n ...(paddingBottom && { paddingBottom }),\n overflow: 'hidden',\n }}\n >\n {children}\n </Box>\n )\n}\n","export interface Logger {\n debug: LoggerFunction\n error: LoggerFunction\n info: LoggerFunction\n warn: LoggerFunction\n}\n\ntype LoggerFunction = (message: string, data?: unknown) => void\n\nconst getIsDevelopment = (): boolean => {\n try {\n return import.meta.env.DEV || false\n }\n catch {\n return false\n }\n}\n\nconst isDevelopment = getIsDevelopment()\n\nexport const logger: Logger = {\n debug: (message: string, data?: unknown): void => {\n if (isDevelopment) {\n console.debug(`[DEBUG] ${message}`, data === undefined ? '' : data)\n }\n },\n\n error: (message: string, data?: unknown): void => {\n if (isDevelopment) {\n console.error(`[ERROR] ${message}`, data === undefined ? '' : data)\n }\n // In production, you might want to send errors to a monitoring service\n },\n\n info: (message: string, data?: unknown): void => {\n if (isDevelopment) {\n console.info(`[INFO] ${message}`, data === undefined ? '' : data)\n }\n },\n\n warn: (message: string, data?: unknown): void => {\n if (isDevelopment) {\n console.warn(`[WARN] ${message}`, data === undefined ? '' : data)\n }\n },\n}\n\nexport const isLoggerEnabled = (): boolean => isDevelopment\n\nexport const createScopedLogger = (scope: string): Logger => ({\n debug: (message: string, data?: unknown) => { logger.debug(`[${scope}] ${message}`, data) },\n error: (message: string, data?: unknown) => { logger.error(`[${scope}] ${message}`, data) },\n info: (message: string, data?: unknown) => { logger.info(`[${scope}] ${message}`, data) },\n warn: (message: string, data?: unknown) => { logger.warn(`[${scope}] ${message}`, data) },\n})\n","export interface SearchableObject {\n [key: string]: SearchableValue\n}\n\nexport type SearchableValue = boolean | null | number | SearchableObject | SearchableValue[] | string | undefined\n\nexport const searchInObject = (object: SearchableValue, searchTerm: string, skipKeys: string[] = []): boolean => {\n if (!object) return false\n if (!searchTerm || searchTerm.trim() === '') return true\n\n const normalizedSearchTerm = searchTerm.toLowerCase().trim()\n\n if (typeof object === 'string') {\n return object.toLowerCase().includes(normalizedSearchTerm)\n }\n\n if (typeof object === 'number') {\n return String(object).toLowerCase().includes(normalizedSearchTerm)\n }\n\n if (typeof object === 'boolean') {\n return String(object).toLowerCase().includes(normalizedSearchTerm)\n }\n\n if (Array.isArray(object)) {\n return object.some(item => searchInObject(item, searchTerm, skipKeys))\n }\n\n if (typeof object === 'object') {\n return Object.entries(object)\n .filter(([key]) => !skipKeys.includes(key))\n .some(([, value]) => searchInObject(value, searchTerm, skipKeys))\n }\n\n return false\n}\n","import type { FC } from 'react'\nimport { ErrorOutline, InfoOutlined } from '@mui/icons-material'\nimport { Alert, AlertTitle, Box, Button, Link, Typography } from '@mui/material'\n\nimport type { StatusResponse } from '@/types/api.ts'\nimport { AppInspectorNotFoundError, ConnectionError } from '@/api/errors.ts'\nimport { APPINSPECTOR_API_PREFIX } from '@/config.ts'\n\nexport interface StatusMessageProps {\n error?: Error\n onRetry?: () => void\n status?: StatusResponse\n}\n\n/**\n * Component to display helpful messages for connection/status issues\n */\nexport const StatusMessage: FC<StatusMessageProps> = ({\n error,\n onRetry,\n status,\n}) => {\n // App Inspector extension not found (404)\n if (error instanceof AppInspectorNotFoundError) {\n return (\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n justifyContent: 'center',\n p: 4,\n }}\n >\n <Alert\n icon={<ErrorOutline fontSize=\"large\" />}\n severity=\"error\"\n sx={{ maxWidth: 600, width: '100%' }}\n >\n <AlertTitle sx={{ fontWeight: 'bold' }}>App Inspector Not Available</AlertTitle>\n <Typography sx={{ mb: 2 }} variant=\"body2\">\n The App Inspector extension is not licensed or not enabled in LocalStack.\n </Typography>\n <Typography sx={{ mb: 1 }} variant=\"body2\">\n <strong>To enable App Inspector:</strong>\n </Typography>\n <Typography sx={{ mb: 1 }} variant=\"body2\">\n Set the environment variable and restart LocalStack:\n </Typography>\n <Box\n component=\"pre\"\n sx={{\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n borderRadius: 1,\n fontSize: '0.875rem',\n p: 1,\n }}\n >\n LOCALSTACK_APPINSPECTOR_ENABLE=1\n </Box>\n <Typography sx={{ fontStyle: 'italic', mb: 1, mt: 2 }} variant=\"body2\">\n Runtime changes can be made via endpoint\n {' '}\n <code>\n {APPINSPECTOR_API_PREFIX}\n /status\n </code>\n . For persistent default state across restarts, adjust the\n {' '}\n <code>LOCALSTACK_APPINSPECTOR_ENABLE</code>\n {' '}\n environment variable in your\n {' '}\n <code>~/.localstack</code>\n {' '}\n profile files.\n {' '}\n <Link\n href=\"https://docs.localstack.cloud/aws/capabilities/config/configuration/#profiles\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Learn more about LocalStack profiles\n </Link>\n </Typography>\n\n <Typography sx={{ mb: 1, mt: 2 }} variant=\"body2\">\n <strong>For more information:</strong>\n </Typography>\n <Link\n href=\"https://docs.localstack.cloud/user-guide/tools/application-inspector/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n App Inspector Documentation\n </Link>\n {onRetry && (\n <Box sx={{ display: 'flex', justifyContent: 'flex-start', mt: 2 }}>\n <Button\n aria-label=\"Check App Inspector status again\"\n onClick={onRetry}\n variant=\"outlined\"\n >\n Check Again\n </Button>\n </Box>\n )}\n </Alert>\n </Box>\n )\n }\n\n // Connection error\n if (error instanceof ConnectionError) {\n return (\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n justifyContent: 'center',\n p: 4,\n }}\n >\n <Alert\n icon={<ErrorOutline fontSize=\"large\" />}\n severity=\"error\"\n sx={{ maxWidth: 600, width: '100%' }}\n >\n <AlertTitle sx={{ fontWeight: 'bold' }}>Connection Error</AlertTitle>\n <Typography sx={{ mb: 2 }} variant=\"body2\">\n Failed to connect to LocalStack. Please ensure LocalStack is running and accessible.\n </Typography>\n <Typography sx={{ mb: 1 }} variant=\"body2\">\n <strong>To start LocalStack:</strong>\n </Typography>\n <Box\n component=\"pre\"\n sx={{\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n borderRadius: 1,\n fontSize: '0.875rem',\n p: 1,\n }}\n >\n localstack start\n </Box>\n {onRetry && (\n <Box sx={{ display: 'flex', justifyContent: 'flex-start', mt: 2 }}>\n <Button\n aria-label=\"Retry connection to LocalStack\"\n onClick={onRetry}\n variant=\"outlined\"\n >\n Retry Connection\n </Button>\n </Box>\n )}\n </Alert>\n </Box>\n )\n }\n\n // App Inspector disabled\n if (status?.status === 'DISABLED') {\n return (\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n justifyContent: 'center',\n p: 4,\n }}\n >\n <Alert\n icon={<InfoOutlined fontSize=\"large\" />}\n severity=\"warning\"\n sx={{ maxWidth: 600, width: '100%' }}\n >\n <AlertTitle sx={{ fontWeight: 'bold' }}>App Inspector is Disabled</AlertTitle>\n <Typography sx={{ mb: 2 }} variant=\"body2\">\n App Inspector is currently disabled. Please enable it to view traces and spans.\n </Typography>\n <Typography sx={{ mb: 1 }} variant=\"body2\">\n <strong>To enable App Inspector at runtime:</strong>\n </Typography>\n <Box\n component=\"pre\"\n sx={{\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n borderRadius: 1,\n fontSize: '0.875rem',\n overflowX: 'auto',\n p: 1,\n }}\n >\n {String.raw`curl -X PUT http://localhost:4566${APPINSPECTOR_API_PREFIX}/status \\\n -H \"Content-Type: application/json\" \\\n -d '{\"status\": \"ENABLED\"}'`}\n </Box>\n <Typography sx={{ mb: 1, mt: 2 }} variant=\"body2\">\n <strong>To enable App Inspector persistently across restarts:</strong>\n </Typography>\n <Typography sx={{ mb: 1 }} variant=\"body2\">\n Set the environment variable:\n </Typography>\n <Box\n component=\"pre\"\n sx={{\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n borderRadius: 1,\n fontSize: '0.875rem',\n p: 1,\n }}\n >\n APPINSPECTOR=1\n </Box>\n {Boolean(status.note) && (\n <Typography sx={{ display: 'block', fontStyle: 'italic', mt: 2 }} variant=\"caption\">\n {status.note}\n </Typography>\n )}\n {onRetry && (\n <Box sx={{ display: 'flex', justifyContent: 'flex-start', mt: 2 }}>\n <Button\n aria-label=\"Check if App Inspector is enabled\"\n onClick={onRetry}\n variant=\"outlined\"\n >\n Check Status Again\n </Button>\n </Box>\n )}\n </Alert>\n </Box>\n )\n }\n\n // Generic error\n if (error) {\n return (\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n justifyContent: 'center',\n p: 4,\n }}\n >\n <Alert\n icon={<ErrorOutline fontSize=\"large\" />}\n severity=\"error\"\n sx={{ maxWidth: 600, width: '100%' }}\n >\n <AlertTitle sx={{ fontWeight: 'bold' }}>Error</AlertTitle>\n <Typography sx={{ mb: 2 }} variant=\"body2\">\n {error.message}\n </Typography>\n {onRetry && (\n <Box sx={{ display: 'flex', justifyContent: 'flex-start', mt: 2 }}>\n <Button\n aria-label=\"Retry operation\"\n onClick={onRetry}\n variant=\"outlined\"\n >\n Retry\n </Button>\n </Box>\n )}\n </Alert>\n </Box>\n )\n }\n\n return <></>\n}\n","/**\n * Custom error classes for API error handling\n */\n\n/**\n * Error thrown when App Inspector is disabled\n */\nexport class AppInspectorDisabledError extends Error {\n constructor(message: string, cause?: Error) {\n super(message)\n this.name = 'AppInspectorDisabledError'\n this.cause = cause\n }\n}\n\n/**\n * Error thrown when App Inspector extension is not found (404 from AppInspector endpoints)\n */\nexport class AppInspectorNotFoundError extends Error {\n constructor(message: string, cause?: Error) {\n super(message)\n this.name = 'AppInspectorNotFoundError'\n this.cause = cause\n }\n}\n\n/**\n * Error thrown when connection to LocalStack fails (network errors)\n */\nexport class ConnectionError extends Error {\n constructor(message: string, cause?: Error) {\n super(message)\n this.name = 'ConnectionError'\n this.cause = cause\n }\n}\n","// AppInspector configuration\n\n/**\n * API Configuration\n */\nexport const APPINSPECTOR_API_PREFIX = '/_localstack/appinspector'\n\nexport const API_VERSION = 'v1'\n\nexport const API_ENDPOINTS = {\n EVENTS: '/traces/*/spans/*/events',\n ROOT: '/',\n SPANS: '/traces/*/spans',\n STATUS: '/status',\n TRACES: '/traces',\n} as const\n\nexport const getApiV1Endpoint = (endpoint: string): string => {\n return `/${API_VERSION}${endpoint}`\n}\n\nexport const getApiEndpoint = (endpoint: string): string => {\n // Status and root endpoints don't use versioning\n if (endpoint === API_ENDPOINTS.ROOT || endpoint === API_ENDPOINTS.STATUS) {\n return endpoint\n }\n // All other endpoints use v1 prefix\n return getApiV1Endpoint(endpoint)\n}\n\nexport type EndpointKey = keyof typeof API_ENDPOINTS\n\nexport const getAppInspectorApiUrl = (localstackEndpoint: string, endpoint: string): string => {\n return `${localstackEndpoint}${APPINSPECTOR_API_PREFIX}${getApiEndpoint(endpoint)}`\n}\n","import type { FC, PropsWithChildren, ReactNode } from 'react'\nimport { createContext, useContext } from 'react'\nimport { useCallback, useMemo } from 'react'\n\nimport { createApiClientMock } from './api/client-mock.ts'\nimport { createApiClient } from './api/client.ts'\nimport { ApiProvider } from './api/use-api.tsx'\n\ninterface AppInspectorContextValue {\n /**\n * A component that renders a link.\n */\n linkComponent: FC<{ children: ReactNode, to: string }>\n\n /**\n * The endpoint to LocalStack.\n */\n localstackEndpoint: string\n\n /**\n * A function that resolves a link URL.\n */\n resolveLink: (options: ResolveLinkOptions) => string\n}\n\ntype ResolveLinkOptions\n = | {\n to: 'settings'\n }\n | {\n to: 'spans-list'\n }\n | {\n to: 'trace-graph'\n traceId: string\n }\n\nconst AppInspectorContext = createContext<AppInspectorContextValue | undefined>(undefined)\n\nexport const useAppInspector = () => {\n const context = useContext(AppInspectorContext)\n if (!context) {\n throw new Error('@localstack-studio/ui: components must be used within a <AppInspectorContextProvider>')\n }\n return context\n}\n\ninterface AppInspectorContextProviderProps {\n /**\n * A component that renders a link.\n */\n linkComponent: FC<{ children: ReactNode, to: string }>\n\n /**\n * The endpoint to LocalStack.\n */\n localstackEndpoint: string\n\n /**\n * The prefix for the event studio routes.\n */\n routePrefix: string\n}\n\nexport const AppInspectorContextProvider = (props: PropsWithChildren<AppInspectorContextProviderProps>) => {\n const api = useMemo(() => {\n return import.meta.env.VITE_LOCALSTACK_API_MOCK === 'true'\n ? createApiClientMock()\n : createApiClient({ localstackEndpoint: props.localstackEndpoint })\n }, [props.localstackEndpoint])\n\n const resolveLink = useCallback(\n (options: ResolveLinkOptions) => {\n if (options.to === 'settings') {\n return `${props.routePrefix}/settings`\n }\n if (options.to === 'trace-graph') {\n return `${props.routePrefix}/traces/${options.traceId}`\n }\n return `${props.routePrefix}/spans`\n },\n [props.routePrefix],\n )\n\n const contextValue = useMemo(\n () => ({\n linkComponent: props.linkComponent,\n localstackEndpoint: props.localstackEndpoint,\n resolveLink,\n }),\n [props.linkComponent, props.localstackEndpoint, resolveLink],\n )\n\n return (\n <ApiProvider api={api}>\n <AppInspectorContext.Provider value={contextValue}>\n {props.children}\n </AppInspectorContext.Provider>\n </ApiProvider>\n )\n}\n","/**\n * Error message constants for consistent error handling\n */\n\nexport const ERROR_MESSAGES = {\n APP_INSPECTOR_DISABLED: 'App Inspector is currently disabled.',\n APP_INSPECTOR_NOT_FOUND: 'App Inspector extension not found. Please ensure App Inspector is licensed and enabled.',\n CONNECTION_FAILED: 'Failed to connect to LocalStack. Please ensure LocalStack is running and accessible.',\n} as const\n","import type { DeleteSpansResponse, EventsRequest, EventsResponse, SpansRequest, SpansResponse, StatusResponse } from '../types/api'\nimport type { Api } from './api.ts'\n\nimport { API_ENDPOINTS, getAppInspectorApiUrl } from '../config.ts'\nimport { ERROR_MESSAGES } from '../constants/error-messages.ts'\nimport { createScopedLogger } from '../utils/logger.ts'\nimport { AppInspectorNotFoundError, ConnectionError } from './errors.ts'\n\nconst apiLogger = createScopedLogger('API')\n\nconst makeRequest = async <T>(options: {\n endpoint: string\n localstackEndpoint: string\n request?: RequestInit\n}): Promise<T> => {\n const url = getAppInspectorApiUrl(options.localstackEndpoint, options.endpoint)\n\n try {\n apiLogger.info('Making request to:', { options, url })\n\n const headers = new Headers(options.request?.headers)\n headers.set('Content-Type', 'application/json')\n\n const response = await fetch(url, {\n ...options.request,\n headers,\n })\n\n if (!response.ok) {\n if (response.status === 404) {\n // All endpoints in this app are AppInspector endpoints\n // 404 means extension is not licensed or not enabled\n throw new AppInspectorNotFoundError(\n ERROR_MESSAGES.APP_INSPECTOR_NOT_FOUND,\n new Error(`404 from ${url}: ${response.statusText}`),\n )\n }\n throw new Error(`API request failed: ${response.status.toString()} ${response.statusText}`)\n }\n\n return (await response.json()) as T\n }\n catch (error: unknown) {\n // Global error handling for all endpoints\n if (error instanceof TypeError) {\n // Network/connection errors - TypeErrors from fetch indicate network failures\n const message = error.message.toLowerCase()\n const isNetworkError = message.includes('fetch')\n || message.includes('network')\n || message.includes('failed to fetch')\n\n if (isNetworkError) {\n throw new ConnectionError(ERROR_MESSAGES.CONNECTION_FAILED, error)\n }\n }\n if (error instanceof Error) {\n throw error\n }\n throw new Error('Unknown error occurred')\n }\n}\n\nconst buildSpansEndpoint = (request?: SpansRequest): string => {\n if (!request) {\n return API_ENDPOINTS.SPANS\n }\n\n const queryParameters = new URLSearchParams()\n\n // Add pagination parameters\n if (request.limit !== undefined) {\n queryParameters.set('limit', request.limit.toString())\n }\n if (request.pagination_token) {\n queryParameters.set('pagination_token', request.pagination_token)\n }\n\n // Add filter parameters (only if they have values)\n for (const [key, value] of Object.entries(request)) {\n if (value !== undefined && key !== 'limit' && key !== 'pagination_token' && value !== null) {\n queryParameters.set(key, String(value))\n }\n }\n\n const queryString = queryParameters.toString()\n return queryString ? `${API_ENDPOINTS.SPANS}?${queryString}` : API_ENDPOINTS.SPANS\n}\n\nconst buildEventsEndpoint = (request?: EventsRequest): string => {\n if (!request) {\n return API_ENDPOINTS.EVENTS\n }\n\n // Always use wildcard path for events endpoints\n const basePath = API_ENDPOINTS.EVENTS\n\n const queryParameters = new URLSearchParams()\n\n // Add pagination parameters\n if (request.limit !== undefined) {\n queryParameters.set('limit', request.limit.toString())\n }\n if (request.pagination_token) {\n queryParameters.set('pagination_token', request.pagination_token)\n }\n\n // Add filter parameters (all filters go in query string)\n for (const [key, value] of Object.entries(request)) {\n if (\n value !== undefined\n && key !== 'limit'\n && key !== 'pagination_token'\n && value !== null\n ) {\n queryParameters.set(key, String(value))\n }\n }\n\n const queryString = queryParameters.toString()\n return queryString ? `${basePath}?${queryString}` : basePath\n}\n\nexport interface ApiClientOptions {\n localstackEndpoint: string\n}\n\nexport const createApiClient = ({ localstackEndpoint }: ApiClientOptions): Api => {\n return {\n deleteSpans: async (_request): Promise<DeleteSpansResponse> => {\n return makeRequest<DeleteSpansResponse>({\n endpoint: API_ENDPOINTS.SPANS,\n localstackEndpoint,\n request: {\n method: 'DELETE',\n },\n })\n },\n getEvents: async (request): Promise<EventsResponse> => {\n const endpoint = buildEventsEndpoint(request)\n return makeRequest<EventsResponse>({ endpoint, localstackEndpoint })\n },\n getIamEvents: async (request): Promise<EventsResponse> => {\n const iamEventsRequest: EventsRequest = {\n ...request,\n event_type: 'iam.policy_evaluation',\n }\n const endpoint = buildEventsEndpoint(iamEventsRequest)\n return makeRequest<EventsResponse>({ endpoint, localstackEndpoint })\n },\n getSpans: async (request): Promise<SpansResponse> => {\n const endpoint = buildSpansEndpoint(request)\n return makeRequest<SpansResponse>({ endpoint, localstackEndpoint })\n },\n getStatus: async () => {\n return makeRequest<StatusResponse>({\n endpoint: API_ENDPOINTS.STATUS,\n localstackEndpoint,\n })\n },\n }\n}\n","import { useCallback, useEffect, useState } from 'react'\n\n/**\n * Custom hook for managing state that persists in localStorage\n * @param key - localStorage key\n * @param initialValue - default value if key doesn't exist\n * @returns [value, setValue] tuple similar to useState\n */\nexport function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T) => void] {\n // Get initial value from localStorage or use default\n const [storedValue, setStoredValue] = useState<T>(() => {\n try {\n const item = globalThis.localStorage.getItem(key)\n return item ? (JSON.parse(item) as T) : initialValue\n }\n catch (error) {\n console.error(`Error reading localStorage key \"${key}\":`, error)\n return initialValue\n }\n })\n\n // Update localStorage when state changes\n const setValue = useCallback((value: T) => {\n try {\n setStoredValue(value)\n globalThis.localStorage.setItem(key, JSON.stringify(value))\n\n // Dispatch custom event to sync across tabs/components\n globalThis.dispatchEvent(new StorageEvent('storage', {\n key,\n newValue: JSON.stringify(value),\n }))\n }\n catch (error) {\n console.error(`Error setting localStorage key \"${key}\":`, error)\n }\n }, [key])\n\n // Listen for changes from other tabs/windows\n useEffect(() => {\n const handleStorageChange = (event: StorageEvent) => {\n if (event.key === key && event.newValue !== null) {\n try {\n setStoredValue(JSON.parse(event.newValue) as T)\n }\n catch (error) {\n console.error(`Error parsing localStorage key \"${key}\":`, error)\n }\n }\n }\n\n globalThis.addEventListener('storage', handleStorageChange)\n return () => {\n globalThis.removeEventListener('storage', handleStorageChange)\n }\n }, [key])\n\n return [storedValue, setValue]\n}\n","import { useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { StatusResponse } from '@/types/api.ts'\nimport { useAppInspectorApi } from '@/api/use-api.tsx'\n\nexport interface Status {\n checking: boolean\n error: Error | undefined\n status: StatusResponse | undefined\n}\n\n/**\n * Hook to check status\n * Returns status information and whether it's currently checking\n */\nexport const useStatus = (): Status & { checkStatus: () => Promise<void> } => {\n const api = useAppInspectorApi()\n const [checking, setChecking] = useState(true) // Initialize as true since check runs on mount\n const [status, setStatus] = useState<StatusResponse | undefined>()\n const [error, setError] = useState<Error | undefined>()\n const hasFetchedReference = useRef(false)\n const abortControllerReference = useRef<AbortController | null>(null)\n\n const checkStatus = useCallback(async () => {\n // Cancel any in-flight request to prevent race conditions\n if (abortControllerReference.current) {\n abortControllerReference.current.abort()\n }\n\n const abortController = new AbortController()\n abortControllerReference.current = abortController\n\n setChecking(true)\n try {\n const response = await api.getStatus()\n // Only update state if this request wasn't aborted\n if (!abortController.signal.aborted) {\n setStatus(response)\n setError(undefined)\n }\n }\n catch (error_) {\n // Only update state if this request wasn't aborted\n if (!abortController.signal.aborted) {\n setError(error_ instanceof Error ? error_ : new Error('Unknown error'))\n setStatus(undefined)\n }\n }\n finally {\n // Only update state if this request wasn't aborted\n if (!abortController.signal.aborted) {\n setChecking(false)\n }\n }\n }, [api])\n\n useEffect(() => {\n // Only fetch once on mount to prevent infinite loop\n if (!hasFetchedReference.current) {\n hasFetchedReference.current = true\n void checkStatus()\n }\n }, [checkStatus])\n\n return { checking, checkStatus, error, status }\n}\n","import type { FC } from 'react'\nimport { ArrowBack } from '@mui/icons-material'\nimport { Box, Button, Drawer, Paper } from '@mui/material'\nimport { styled } from '@mui/material/styles'\nimport { ReactFlowProvider } from '@xyflow/react'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useNavigate, useParams, useSearchParams } from 'react-router-dom'\n\nimport type { StatusResponse } from '@/types/api.ts'\nimport type { Span } from '@/types/spans.ts'\nimport { useAppInspectorApi } from '@/api/use-api.tsx'\nimport { EventDetails } from '@/components/event-details/event-details.tsx'\nimport { StatusMessage } from '@/components/status-message/status-message.tsx'\nimport { TraceGraph } from '@/components/trace-graph/trace-graph.tsx'\nimport { useAppInspector } from '@/context.tsx'\nimport { useStatus } from '@/hooks/use-status.tsx'\n\nconst HEADER_HEIGHT = 56\nconst DRAWER_WIDTH = '35%'\n\nconst Main = styled('main', { shouldForwardProp: property => property !== 'open' })<{\n open?: boolean\n}>(({ open, theme }) => ({\n flexGrow: 1,\n marginRight: `-${DRAWER_WIDTH}`,\n transition: theme.transitions.create('margin', {\n duration: theme.transitions.duration.leavingScreen,\n easing: theme.transitions.easing.sharp,\n }),\n ...(open && {\n marginRight: 0,\n transition: theme.transitions.create('margin', {\n duration: theme.transitions.duration.enteringScreen,\n easing: theme.transitions.easing.easeOut,\n }),\n }),\n}))\n\nconst StyledDrawer = styled(Drawer)(() => ({\n '& .MuiDrawer-paper': {\n bottom: 0,\n boxSizing: 'border-box',\n height: `calc(100% - ${HEADER_HEIGHT.toString()}px)`,\n overflowY: 'auto',\n top: 'auto',\n width: DRAWER_WIDTH,\n },\n 'flexShrink': 0,\n 'position': 'relative',\n 'width': DRAWER_WIDTH,\n}))\n\nexport const TraceGraphView: FC<{\n fetchError: Error | undefined\n fetchSpans: () => void\n handleClose: () => void\n handleEventSelect: (event: Span) => void\n handleRetry: () => void\n loading: boolean\n navigateToSpansList: () => void\n open: boolean\n selectedEvent: Span | undefined\n spanId: string | undefined\n spans: Span[] | undefined\n status: StatusResponse | undefined\n statusError: Error | undefined\n traceId: string | undefined\n viewPortPixelWidth: number\n}> = ({\n fetchError,\n fetchSpans,\n handleClose,\n handleEventSelect,\n handleRetry,\n loading,\n navigateToSpansList,\n open,\n selectedEvent,\n spanId,\n spans,\n status,\n statusError,\n traceId,\n viewPortPixelWidth,\n}) => {\n // Show helpful message if connection failed or AppInspector is disabled\n const shouldShowStatusMessage = Boolean(statusError) || (status?.status === 'DISABLED')\n\n return (\n <Box\n data-testid=\"trace-graph-page\"\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n gap: 2,\n overflow: 'hidden',\n }}\n >\n <Box sx={{ display: 'flex', width: '100%' }}>\n <Button onClick={() => { navigateToSpansList() }} startIcon={<ArrowBack />}>\n Go back\n </Button>\n <Box sx={{ flexGrow: 1 }} />\n </Box>\n <Paper\n sx={{\n display: 'flex',\n flexGrow: 1,\n overflow: 'hidden',\n position: 'relative',\n width: '100%',\n }}\n >\n {shouldShowStatusMessage\n ? (\n <StatusMessage\n error={statusError}\n onRetry={handleRetry}\n status={status}\n />\n )\n : (\n <>\n <Main open={open}>\n <Box\n sx={{\n height: '100%',\n overflow: 'auto',\n }}\n >\n {traceId !== undefined && (\n <ReactFlowProvider>\n <TraceGraph\n initialFocusEventId={spanId}\n onEventSelect={handleEventSelect}\n onRefresh={() => { fetchSpans() }}\n spans={{\n data: spans,\n error: fetchError,\n loading,\n }}\n viewPortPixelWidth={viewPortPixelWidth}\n />\n </ReactFlowProvider>\n )}\n </Box>\n </Main>\n <StyledDrawer anchor=\"right\" open={open} variant=\"persistent\">\n <EventDetails onClose={handleClose} selectedEvent={selectedEvent} />\n </StyledDrawer>\n </>\n )}\n </Paper>\n </Box>\n )\n}\n\nexport const TraceGraphPage: FC = () => {\n const { traceId } = useParams<{ traceId: string }>()\n const [searchParameters] = useSearchParams()\n const spanId = searchParameters.get('spanId')\n\n const api = useAppInspectorApi()\n const [spans, setSpans] = useState<Span[]>()\n const [loading, setLoading] = useState(false)\n\n const [fetchError, setFetchError] = useState<Error>()\n const fetchSpans = useCallback(async () => {\n setLoading(true)\n try {\n const response = await api.getSpans({\n trace_id: traceId,\n })\n setSpans(response.spans)\n setFetchError(undefined)\n }\n catch (error) {\n console.error(error)\n setFetchError(error instanceof Error ? error : new Error('Unknown error', { cause: error }))\n }\n finally {\n setLoading(false)\n }\n }, [api, traceId])\n\n useEffect(() => {\n void fetchSpans()\n }, [fetchSpans])\n\n const [open, setOpen] = useState(true)\n const [selectedEvent, setSelectedEvent] = useState<Span>()\n const [viewPortPixelWidth, setViewPortPixelWidth] = useState(0)\n\n const { checkStatus, error: statusError, status } = useStatus()\n\n const calculateDrawerWidth = useCallback(() => {\n const percentageMatch = /(\\d+)%/.exec(DRAWER_WIDTH)\n if (percentageMatch && open) {\n const percentage = Number.parseInt(percentageMatch[1], 10)\n return (window.innerWidth * percentage) / 100\n }\n return 0\n }, [open])\n\n // Update viewport width on drawer state change and window resize\n useEffect(() => {\n const updateViewportWidth = () => {\n const totalWidth = window.innerWidth\n const drawerPixelWidth = open ? calculateDrawerWidth() : 0\n setViewPortPixelWidth(totalWidth - drawerPixelWidth)\n }\n\n updateViewportWidth()\n const timeoutId = setTimeout(updateViewportWidth, 50)\n window.addEventListener('resize', updateViewportWidth)\n\n return () => {\n window.removeEventListener('resize', updateViewportWidth)\n clearTimeout(timeoutId)\n }\n }, [open, calculateDrawerWidth])\n\n const handleEventSelect = useCallback((event: Span) => {\n setSelectedEvent(event)\n setOpen(true)\n }, [])\n\n const handleRetry = useCallback(() => {\n void checkStatus()\n }, [checkStatus])\n\n const navigate = useNavigate()\n const { resolveLink } = useAppInspector()\n const navigateToSpansList = useCallback(() => {\n const url = resolveLink({ to: 'spans-list' })\n navigate(url)\n }, [navigate, resolveLink])\n\n return (\n <TraceGraphView\n fetchError={fetchError}\n fetchSpans={() => void fetchSpans()}\n handleClose={() => { setOpen(false) }}\n handleEventSelect={handleEventSelect}\n handleRetry={handleRetry}\n loading={loading}\n navigateToSpansList={navigateToSpansList}\n open={open}\n selectedEvent={selectedEvent}\n spanId={spanId ?? undefined}\n spans={spans}\n status={status}\n statusError={statusError}\n traceId={traceId}\n viewPortPixelWidth={viewPortPixelWidth}\n />\n )\n}\n","import type { FC, JSX } from 'react'\nimport { Box, Chip, Divider, Stack, Typography } from '@mui/material'\nimport { useMemo } from 'react'\n\nimport type { Span } from '@/types/spans.ts'\nimport { getEventGroupsByType } from '@/utils/event-utils.ts'\nimport { unixNanoToDate } from '@/utils/time.ts'\n\nimport { EventDetailsHeader } from './event-details-header.tsx'\nimport { EventSection } from './event-section.tsx'\nimport { ToggleSection } from './toggle-section.tsx'\n\ninterface EventDetailsProps {\n onClose?: () => void\n selectedEvent: Span | undefined\n}\n\nexport const EventDetails: FC<EventDetailsProps> = ({ onClose, selectedEvent }) => {\n const attributes = useMemo(() => {\n const attributes = Object.entries(selectedEvent?.attributes ?? {})\n return attributes.filter(([key]) => key !== 'localstack.aws.account_id' && key !== 'localstack.aws.service')\n }, [selectedEvent?.attributes])\n\n if (!selectedEvent) {\n return (\n <Box sx={{ p: 3, textAlign: 'center' }}>\n <Typography color=\"text.secondary\" variant=\"body2\">\n Select an event to view details\n </Typography>\n </Box>\n )\n }\n\n return (\n <Box data-testid=\"event-details\" sx={{ display: 'flex', flexDirection: 'column', height: '100%' }}>\n <EventDetailsHeader event={selectedEvent} onClose={onClose} />\n\n <Box sx={{ flexGrow: 1, overflow: 'auto', p: 2 }}>\n <Stack spacing={2}>\n {/* Basic Information */}\n <ToggleSection headline=\"Basic Information\">\n <Stack spacing={1}>\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Span ID\n </Typography>\n <Typography variant=\"body2\">{selectedEvent.span_id}</Typography>\n </Box>\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Trace ID\n </Typography>\n <Typography variant=\"body2\">\n {selectedEvent.trace_id}\n </Typography>\n </Box>\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Operation\n </Typography>\n <Typography variant=\"body2\">{selectedEvent.operation_name}</Typography>\n </Box>\n </Stack>\n </ToggleSection>\n\n <Divider />\n\n {/* Service Information */}\n <ToggleSection headline=\"Service Information\">\n <Stack spacing={1}>\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Service\n </Typography>\n <Typography variant=\"body2\">{selectedEvent.service_name}</Typography>\n </Box>\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Resource\n </Typography>\n <Typography variant=\"body2\">{selectedEvent.resource_name}</Typography>\n </Box>\n {Boolean(selectedEvent.region) && (\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Region\n </Typography>\n <Typography variant=\"body2\">{selectedEvent.region}</Typography>\n </Box>\n )}\n </Stack>\n </ToggleSection>\n\n <Divider />\n\n {/* Timing Information */}\n <ToggleSection headline=\"Timing\">\n <Stack spacing={1}>\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Start Time\n </Typography>\n <Typography variant=\"body2\">\n {unixNanoToDate(selectedEvent.start_time_unix_nano)?.toISOString()}\n </Typography>\n </Box>\n {Boolean(selectedEvent.end_time_unix_nano) && (\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Duration\n </Typography>\n <Typography variant=\"body2\">\n {((BigInt(selectedEvent.end_time_unix_nano) - BigInt(selectedEvent.start_time_unix_nano)) / BigInt('1000000')).toString()}\n {' '}\n ms\n </Typography>\n </Box>\n )}\n </Stack>\n </ToggleSection>\n\n <Divider />\n\n {/* Status */}\n <ToggleSection headline=\"Status\">\n <Stack direction=\"row\" spacing={1}>\n <Chip\n color={selectedEvent.status_code === 2 ? 'error' : (selectedEvent.status_code === 1 ? 'success' : 'default')}\n label={selectedEvent.status_code === 2 ? 'Error' : (selectedEvent.status_code === 1 ? 'OK' : 'Unset')}\n size=\"small\"\n />\n {Boolean(selectedEvent.status_message) && <Typography variant=\"body2\">{selectedEvent.status_message}</Typography>}\n </Stack>\n </ToggleSection>\n\n {/* Events */}\n {selectedEvent.events.length > 0 && (\n <>\n <Divider />\n <EventSection\n eventGroups={getEventGroupsByType(selectedEvent.events)}\n headline=\"Events\"\n />\n </>\n )}\n\n {/* Attributes */}\n {attributes.length > 0 && (\n <>\n <Divider />\n <ToggleSection headline=\"Attributes\">\n <Stack spacing={1}>\n {attributes.map(([key, value]) => (\n <Box key={key}>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n {key}\n </Typography>\n {renderKeyValue(key, value)}\n </Box>\n ))}\n </Stack>\n </ToggleSection>\n </>\n )}\n </Stack>\n </Box>\n </Box>\n )\n}\n\nfunction renderKeyValue(key: string, value: unknown): JSX.Element {\n if (typeof value === 'string' && (key === 'localstack.aws.service.request' || key === 'localstack.aws.service.response' || key === 'localstack.aws.service.exception')) {\n return (\n <Box sx={{ backgroundColor: theme => theme.palette.background.default, borderRadius: 1, p: 1 }}>\n <pre style={{ margin: 0, overflow: 'auto' }}>\n <Typography variant=\"body2\">\n {JSON.stringify(JSON.parse(value), undefined, 2)}\n </Typography>\n </pre>\n </Box>\n )\n }\n\n if (typeof value === 'boolean') {\n return <Typography variant=\"body2\">{value ? 'yes' : 'no'}</Typography>\n }\n\n return <Typography variant=\"body2\">{value}</Typography>\n}\n","export type IAMPermissionStatus\n = | 'explicitly_allowed'\n | 'explicitly_denied'\n | 'implicitly_allowed'\n | 'implicitly_denied'\n\nexport interface IAMPolicyEvaluationPayload {\n explicit_allow_count?: number\n explicit_allows?: {\n account: string\n action: string\n resource: string\n }[]\n explicit_denies?: {\n account: string\n action: string\n resource: string\n }[]\n explicit_deny_count?: number\n implicit_denies?: {\n action: string\n resource: string\n }[]\n implicit_deny_count?: number\n is_allowed: boolean\n operation: string\n principal_account: string\n principal_arn: string\n service: string\n}\n\nexport interface ParsedIAMEvent {\n details: {\n actions?: string[]\n explicitAllows?: number\n explicitDenies?: number\n implicitDenies?: number\n resources?: string[]\n }\n operation: string\n permission: IAMPermissionStatus\n principal: string\n service: string\n}\n\n/**\n * Determines the permission status based on IAM policy evaluation\n */\nexport function determinePermissionStatus(payload: IAMPolicyEvaluationPayload): IAMPermissionStatus {\n // If explicitly denied, that takes precedence\n if (payload.explicit_deny_count && payload.explicit_deny_count > 0) {\n return 'explicitly_denied'\n }\n\n // If allowed and has explicit allows\n if (payload.is_allowed && payload.explicit_allow_count && payload.explicit_allow_count > 0) {\n return 'explicitly_allowed'\n }\n\n // If allowed but no explicit allows (implicitly allowed)\n if (payload.is_allowed) {\n return 'implicitly_allowed'\n }\n\n // If not allowed and no explicit denies, it's implicitly denied\n return 'implicitly_denied'\n}\n\n/**\n * Format permission status for display\n */\nexport function formatPermissionStatus(status: IAMPermissionStatus): string {\n switch (status) {\n case 'explicitly_allowed': {\n return 'Explicitly Allowed'\n }\n case 'explicitly_denied': {\n return 'Explicitly Denied'\n }\n case 'implicitly_allowed': {\n return 'Implicitly Allowed'\n }\n case 'implicitly_denied': {\n return 'Implicitly Denied'\n }\n }\n}\n\n/**\n * Get MUI theme color for permission status.\n *\n * Returns MUI theme color paths that resolve to specific colors in the theme:\n * - 'success.main': Green color for allowed permissions\n * - 'error.main': Red color for denied permissions\n * - 'warning.main': Orange/yellow color for implicitly denied permissions\n *\n * These values are used with MUI's sx prop and resolve to actual colors from the theme.\n */\nexport function getPermissionStatusColor(status: IAMPermissionStatus): string {\n switch (status) {\n case 'explicitly_allowed':\n case 'implicitly_allowed': {\n return 'success.main'\n }\n case 'explicitly_denied': {\n return 'error.main'\n }\n case 'implicitly_denied': {\n return 'warning.main'\n }\n }\n}\n\n/**\n * Parse IAM policy evaluation event payload\n */\nexport function parseIAMEvent(payloadString: string): ParsedIAMEvent | undefined {\n try {\n const payload = JSON.parse(payloadString) as IAMPolicyEvaluationPayload\n\n const permission = determinePermissionStatus(payload)\n\n // Extract actions and resources\n const actions: string[] = []\n const resources: string[] = []\n\n if (payload.explicit_allows) {\n for (const allow of payload.explicit_allows) {\n if (!actions.includes(allow.action)) actions.push(allow.action)\n if (!resources.includes(allow.resource)) resources.push(allow.resource)\n }\n }\n\n if (payload.explicit_denies) {\n for (const deny of payload.explicit_denies) {\n if (!actions.includes(deny.action)) actions.push(deny.action)\n if (!resources.includes(deny.resource)) resources.push(deny.resource)\n }\n }\n\n if (payload.implicit_denies) {\n for (const deny of payload.implicit_denies) {\n if (!actions.includes(deny.action)) actions.push(deny.action)\n if (!resources.includes(deny.resource)) resources.push(deny.resource)\n }\n }\n\n return {\n details: {\n actions,\n explicitAllows: payload.explicit_allow_count,\n explicitDenies: payload.explicit_deny_count,\n implicitDenies: payload.implicit_deny_count,\n resources,\n },\n operation: payload.operation,\n permission,\n principal: payload.principal_arn,\n service: payload.service,\n }\n }\n catch (error) {\n console.error('Error parsing IAM event payload:', error)\n return undefined\n }\n}\n","import type { Event } from '@/types/events'\n\nimport { formatPermissionStatus, parseIAMEvent } from './iam-utils.ts'\n\nexport interface ParsedEventMessage {\n details: string\n headline: string\n message: string\n}\n\n// Event parser for IAM-related events\nconst iamEventParser = (eventName: string, attributes: null | Record<string, unknown>): ParsedEventMessage => {\n // Try to parse IAM policy evaluation payload\n if (attributes?.payload && typeof attributes.payload === 'string') {\n const parsedIAM = parseIAMEvent(attributes.payload)\n\n if (parsedIAM) {\n const headline = `${parsedIAM.service}:${parsedIAM.operation} - ${formatPermissionStatus(parsedIAM.permission)}`\n\n const messageParts = [`Principal: ${parsedIAM.principal}`]\n\n if (parsedIAM.details.actions && parsedIAM.details.actions.length > 0) {\n messageParts.push(`Actions: ${parsedIAM.details.actions.join(', ')}`)\n }\n\n if (parsedIAM.details.resources && parsedIAM.details.resources.length > 0) {\n messageParts.push(`Resources: ${parsedIAM.details.resources.join(', ')}`)\n }\n\n const detailsParts = []\n if (parsedIAM.details.explicitAllows !== undefined) {\n detailsParts.push(`Explicit Allows: ${String(parsedIAM.details.explicitAllows)}`)\n }\n if (parsedIAM.details.explicitDenies !== undefined) {\n detailsParts.push(`Explicit Denies: ${String(parsedIAM.details.explicitDenies)}`)\n }\n if (parsedIAM.details.implicitDenies !== undefined) {\n detailsParts.push(`Implicit Denies: ${String(parsedIAM.details.implicitDenies)}`)\n }\n\n return {\n details: detailsParts.join('\\n'),\n headline,\n message: messageParts.join('\\n'),\n }\n }\n }\n\n // Fallback to simple parsing\n const headline = eventName || 'IAM Event'\n const message = typeof attributes?.message === 'string' ? attributes.message : ''\n const details = typeof attributes?.details === 'string' ? attributes.details : ''\n\n return { details, headline, message }\n}\n\n// Default event parser for generic events\nconst defaultEventParser = (eventName: string, attributes: null | Record<string, unknown>): ParsedEventMessage => {\n const headline = eventName || 'Event'\n const message = typeof attributes?.message === 'string' ? attributes.message : ''\n const details = JSON.stringify(attributes ?? {}, undefined, 2)\n\n return { details, headline, message }\n}\n\n// Map event types to their specific parsers\nconst eventParsers: Record<string, (name: string, attributes: null | Record<string, unknown>) => ParsedEventMessage> = {\n 'iam.error': iamEventParser,\n 'iam.event': iamEventParser,\n 'iam.warning': iamEventParser,\n}\n\nexport const parseEventMessage = (event: Event): ParsedEventMessage => {\n if (event.event_type && event.name) {\n try {\n const parser = eventParsers[event.event_type] ?? defaultEventParser\n return parser(event.name, event.attributes)\n }\n catch (error) {\n console.error(`Error parsing event for type ${event.event_type}:`, error)\n return {\n details: '',\n headline: event.name || 'Unknown Event',\n message: JSON.stringify(event.attributes),\n }\n }\n }\n\n return {\n details: JSON.stringify(event.attributes ?? {}),\n headline: event.name || 'Event',\n message: typeof event.attributes?.message === 'string' ? event.attributes.message : '',\n }\n}\n\n// TODO: Consider aligning EventLevel numeric values with status system\n// or migrating to string literals ('error' | 'info' | 'warning' | 'permission')\n// for easier maintenance\nexport const EventLevel = {\n LevelError: 4,\n LevelInfo: 1,\n LevelNone: 0,\n LevelPermission: 2,\n LevelWarning: 3,\n} as const\n\nexport type EventGroup = 'error' | 'info' | 'permission' | 'warning'\n\nexport type EventLevel = typeof EventLevel[keyof typeof EventLevel]\n\nexport const getEventLevel = (eventType: null | string | undefined): EventLevel => {\n if (!eventType) return EventLevel.LevelInfo\n\n if (eventType.includes('error')) return EventLevel.LevelError\n if (eventType.includes('warning')) return EventLevel.LevelWarning\n if (eventType.includes('iam')) return EventLevel.LevelPermission\n\n return EventLevel.LevelInfo\n}\n\nexport const getEventGroup = (eventType: null | string | undefined): EventGroup => {\n if (!eventType) return 'info'\n\n if (eventType.includes('error')) return 'error'\n if (eventType.includes('warning')) return 'warning'\n if (eventType.includes('iam')) return 'permission'\n\n return 'info'\n}\n\nexport interface GroupedEvents {\n errors?: Event[]\n info?: Event[]\n permissions?: Event[]\n warnings?: Event[]\n}\n\nexport const getEventGroupsByType = (events: Event[]): GroupedEvents => {\n if (events.length === 0) {\n return {}\n }\n\n const groups: GroupedEvents = {}\n\n for (const event of events) {\n const group = getEventGroup(event.event_type)\n\n switch (group) {\n case 'error': {\n groups.errors = [...(groups.errors ?? []), event]\n break\n }\n case 'permission': {\n groups.permissions = [...(groups.permissions ?? []), event]\n break\n }\n case 'warning': {\n groups.warnings = [...(groups.warnings ?? []), event]\n break\n }\n default: {\n groups.info = [...(groups.info ?? []), event]\n }\n }\n }\n\n return groups\n}\n\nexport const calculateHighestEventLevel = (events: Event[]): EventLevel => {\n if (events.length === 0) return EventLevel.LevelNone\n\n const eventLevels = events.map(event => getEventLevel(event.event_type))\n return Math.max(...eventLevels) as EventLevel\n}\n","import type { FC } from 'react'\nimport { Close } from '@mui/icons-material'\nimport { Box, IconButton, Typography } from '@mui/material'\n\nimport type { Span } from '@/types/spans.ts'\n\ninterface EventDetailsHeaderProps {\n event: Span\n onClose?: () => void\n}\n\nexport const EventDetailsHeader: FC<EventDetailsHeaderProps> = ({ event, onClose }) => {\n return (\n <Box\n sx={{\n alignItems: 'center',\n borderBottom: '1px solid',\n borderColor: 'divider',\n display: 'flex',\n justifyContent: 'space-between',\n p: 2,\n }}\n >\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"h6\">\n Event Details\n </Typography>\n <Typography color=\"text.secondary\" variant=\"body2\">\n {event.service_name}\n {' '}\n -\n {event.operation_name}\n </Typography>\n </Box>\n {onClose && (\n <IconButton onClick={onClose} size=\"small\">\n <Close />\n </IconButton>\n )}\n </Box>\n )\n}\n","import type { FC } from 'react'\nimport { Box } from '@mui/material'\n\nimport type { GroupedEvents } from '@/utils/event-utils.ts'\n\nimport { EventDetail } from './event-detail.tsx'\nimport { ToggleSection } from './toggle-section.tsx'\n\ninterface EventSectionProps {\n eventGroups: GroupedEvents\n headline: string\n}\n\nexport const EventSection: FC<EventSectionProps> = ({\n eventGroups,\n headline,\n}) => (\n <ToggleSection headline={headline}>\n <Box>\n {eventGroups.errors && (\n <EventDetail\n displayText=\"Error\"\n events={eventGroups.errors}\n type=\"error\"\n />\n )}\n {eventGroups.warnings && (\n <EventDetail\n displayText=\"Warning\"\n events={eventGroups.warnings}\n type=\"warning\"\n />\n )}\n {eventGroups.permissions && (\n <EventDetail\n displayText=\"IAM Permission\"\n events={eventGroups.permissions}\n type=\"permission\"\n />\n )}\n {eventGroups.info && (\n <EventDetail\n displayText=\"Info\"\n events={eventGroups.info}\n type=\"info\"\n />\n )}\n </Box>\n </ToggleSection>\n)\n","import type { FC } from 'react'\nimport { KeyboardArrowDown, KeyboardArrowRight } from '@mui/icons-material'\nimport { Box, Grid, IconButton, Typography } from '@mui/material'\nimport { useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { Event } from '@/types/events'\nimport type { EventGroup } from '@/utils/event-utils.ts'\nimport { EventLevel, parseEventMessage } from '@/utils/event-utils.ts'\n\nimport { StatusIcon } from '../status-icon.tsx'\nimport { IAMEventDetail } from './iam-event-detail.tsx'\nimport { IAMPermissionDetail } from './iam-permission-detail.tsx'\n\ninterface DetailRowProps {\n content: React.ReactNode | string\n label: string\n}\n\nconst DetailRow: FC<DetailRowProps> = ({ content, label }) => (\n <Grid container spacing={0} sx={{ mb: 1 }}>\n <Grid item sx={{ pr: 1 }} xs={3}>\n <Typography\n sx={{\n color: 'text.primary',\n fontWeight: 600,\n }}\n variant=\"body1\"\n >\n {label}\n </Typography>\n </Grid>\n <Grid item xs={9}>\n {typeof content === 'string'\n ? (\n <Typography\n sx={{\n color: 'text.primary',\n whiteSpace: 'pre-wrap',\n }}\n variant=\"body1\"\n >\n {content}\n </Typography>\n )\n : (\n content\n )}\n </Grid>\n </Grid>\n)\n\ninterface EventMessageProps {\n event: Event\n}\n\nconst EventMessage: FC<EventMessageProps> = ({ event }) => {\n const [isOpen, setIsOpen] = useState(false)\n const [isOverflowing, setIsOverflowing] = useState(false)\n const textReference = useRef<HTMLDivElement>(null)\n\n const parsedMessage = useMemo(() => parseEventMessage(event), [event])\n\n // Check if this is an IAM policy evaluation event\n const isIAMPolicyEvent = useMemo(\n () => event.event_type === 'iam.policy_evaluation'\n && event.attributes?.payload\n && typeof event.attributes.payload === 'string',\n [event],\n )\n\n useEffect(() => {\n const checkOverflow = () => {\n const element = textReference.current\n if (element) {\n setIsOverflowing(element.scrollWidth > element.clientWidth)\n }\n }\n\n checkOverflow()\n window.addEventListener('resize', checkOverflow)\n return () => {\n window.removeEventListener('resize', checkOverflow)\n }\n }, [parsedMessage.headline])\n\n // Show toggle if headline overflows OR if additional content exists\n const hasAdditionalContent = useMemo(\n () => parsedMessage.message || parsedMessage.details || isIAMPolicyEvent,\n [parsedMessage.message, parsedMessage.details, isIAMPolicyEvent],\n )\n const shouldShowToggle = useMemo(\n () => isOverflowing || hasAdditionalContent,\n [isOverflowing, hasAdditionalContent],\n )\n\n return (\n <Box sx={{ display: 'flex', flexDirection: 'column' }}>\n <Box sx={{ alignItems: 'flex-start', display: 'flex' }}>\n {Boolean(shouldShowToggle) && (\n <IconButton\n onClick={() => { setIsOpen(!isOpen) }}\n size=\"small\"\n sx={{ mr: 1, mt: -0.5, p: 0 }}\n >\n {isOpen ? <KeyboardArrowDown /> : <KeyboardArrowRight />}\n </IconButton>\n )}\n <Typography\n ref={textReference}\n sx={{\n color: 'text.primary',\n fontWeight: 600,\n maxWidth: '100%',\n ml: shouldShowToggle ? 0 : 4,\n overflow: 'hidden',\n textOverflow: isOpen ? 'clip' : 'ellipsis',\n whiteSpace: isOpen ? 'pre-wrap' : 'nowrap',\n }}\n variant=\"body1\"\n >\n {parsedMessage.headline}\n </Typography>\n </Box>\n\n {isOpen && (\n <Box sx={{ ml: 4, mt: 1 }}>\n {/* Show IAM-specific detailed view if available */}\n {isIAMPolicyEvent\n ? (\n <IAMEventDetail event={event} />\n )\n : (\n <>\n {/* Only show message and details if they exist */}\n {Boolean(parsedMessage.message) && (\n <DetailRow content={parsedMessage.message} label=\"Message:\" />\n )}\n {Boolean(parsedMessage.details) && (\n <DetailRow content={parsedMessage.details} label=\"Details:\" />\n )}\n </>\n )}\n </Box>\n )}\n </Box>\n )\n}\n\n// Map EventGroup to EventLevel\nconst getEventLevelFromGroup = (group: EventGroup): EventLevel => {\n switch (group) {\n case 'error': {\n return EventLevel.LevelError\n }\n case 'info': {\n return EventLevel.LevelInfo\n }\n case 'permission': {\n return EventLevel.LevelPermission\n }\n case 'warning': {\n return EventLevel.LevelWarning\n }\n default: {\n return EventLevel.LevelNone\n }\n }\n}\n\ninterface EventDetailProps {\n displayText: string\n events: Event[]\n type: EventGroup\n}\n\nexport const EventDetail: FC<EventDetailProps> = ({\n displayText,\n events,\n type,\n}) => {\n // Special handling for IAM permission events\n if (type === 'permission') {\n return (\n <Box>\n <Box\n sx={{\n alignItems: 'left',\n display: 'flex',\n mb: 1,\n }}\n >\n <Typography\n sx={{\n alignItems: 'left',\n display: 'flex',\n flexGrow: 1,\n fontWeight: 600,\n }}\n variant=\"subtitle1\"\n >\n {displayText}\n </Typography>\n </Box>\n\n <IAMPermissionDetail events={events} />\n </Box>\n )\n }\n\n const eventLevel = getEventLevelFromGroup(type)\n\n return (\n <Box>\n <Box\n sx={{\n alignItems: 'left',\n cursor: 'pointer',\n display: 'flex',\n mb: 1,\n }}\n >\n <StatusIcon errorLevel={eventLevel} />\n <Typography\n sx={{\n alignItems: 'left',\n color: 'text.secondary',\n display: 'flex',\n flexGrow: 1,\n fontWeight: 600,\n ml: 1,\n mr: 2,\n }}\n variant=\"subtitle1\"\n >\n {displayText}\n </Typography>\n </Box>\n\n <Box sx={{ mt: 2 }}>\n {events.map(event => (\n <Box\n key={`${event.span_id}-${event.event_id}`}\n sx={{\n maxWidth: '100%',\n mb: 1,\n }}\n >\n <EventMessage event={event} />\n </Box>\n ))}\n </Box>\n </Box>\n )\n}\n","import type { FC } from 'react'\nimport { Cancel, CheckCircle, Error, Info, RemoveCircle } from '@mui/icons-material'\nimport { Box } from '@mui/material'\n\nimport type { Event } from '@/types/events'\nimport type { EventLevel } from '@/utils/event-utils.ts'\nimport { calculateHighestEventLevel, EventLevel as EL } from '@/utils/event-utils.ts'\n\ninterface StatusIconProps {\n errorLevel: EventLevel\n}\n\nexport const StatusIcon: FC<StatusIconProps> = ({ errorLevel }) => {\n switch (errorLevel) {\n case EL.LevelError: {\n return <Cancel sx={{ color: 'red' }} />\n }\n case EL.LevelInfo: {\n return <Info sx={{ color: 'gray' }} />\n }\n case EL.LevelPermission: {\n return <RemoveCircle sx={{ color: 'blue' }} />\n }\n case EL.LevelWarning: {\n return <Error sx={{ color: 'orange' }} />\n }\n default: {\n return <CheckCircle sx={{ color: 'lightgray' }} />\n }\n }\n}\n\ninterface StatusCellProps {\n events: Event[]\n}\n\nexport const StatusCell: FC<StatusCellProps> = ({ events }) => (\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n height: '100%',\n justifyContent: 'center',\n width: '100%',\n }}\n >\n <StatusIcon errorLevel={calculateHighestEventLevel(events)} />\n </Box>\n)\n","import type { FC } from 'react'\nimport { CheckCircle, Error as ErrorIcon, Warning } from '@mui/icons-material'\nimport { Box, Chip, Grid, Typography } from '@mui/material'\n\nimport type { Event } from '@/types/events'\nimport type { IAMPermissionStatus } from '@/utils/iam-utils.ts'\nimport { formatPermissionStatus, getPermissionStatusColor, parseIAMEvent } from '@/utils/iam-utils.ts'\n\ninterface IAMEventDetailProps {\n event: Event\n}\n\nconst DetailRow: FC<{ content: React.ReactNode | string, label: string }> = ({ content, label }) => (\n <Grid container spacing={0} sx={{ mb: 1 }}>\n <Grid item sx={{ pr: 1 }} xs={3}>\n <Typography\n sx={{\n color: 'text.secondary',\n fontWeight: 600,\n }}\n variant=\"body2\"\n >\n {label}\n </Typography>\n </Grid>\n <Grid item xs={9}>\n {typeof content === 'string'\n ? (\n <Typography\n sx={{\n color: 'text.primary',\n wordBreak: 'break-word',\n }}\n variant=\"body2\"\n >\n {content}\n </Typography>\n )\n : (\n content\n )}\n </Grid>\n </Grid>\n)\n\nconst PermissionIcon: FC<{ status: IAMPermissionStatus }> = ({ status }) => {\n switch (status) {\n case 'explicitly_allowed':\n case 'implicitly_allowed': {\n return <CheckCircle sx={{ color: 'success.main', fontSize: '1rem' }} />\n }\n case 'explicitly_denied': {\n return <ErrorIcon sx={{ color: 'error.main', fontSize: '1rem' }} />\n }\n case 'implicitly_denied': {\n return <Warning sx={{ color: 'warning.main', fontSize: '1rem' }} />\n }\n }\n}\n\nexport const IAMEventDetail: FC<IAMEventDetailProps> = ({ event }) => {\n // Parse IAM event payload\n const payloadString = event.attributes?.payload as string | undefined\n if (!payloadString) {\n return (\n <Box sx={{ p: 2 }}>\n <Typography sx={{ fontWeight: 600 }} variant=\"body2\">\n No IAM policy evaluation data available\n </Typography>\n </Box>\n )\n }\n\n const parsedIAM = parseIAMEvent(payloadString)\n\n if (!parsedIAM) {\n return (\n <Box sx={{ p: 2 }}>\n <Typography sx={{ fontWeight: 600 }} variant=\"body2\">\n Failed to parse IAM event data\n </Typography>\n </Box>\n )\n }\n\n return (\n <Box sx={{ p: 2 }}>\n {/* Permission Status */}\n <Box sx={{ mb: 2 }}>\n <Chip\n icon={<PermissionIcon status={parsedIAM.permission} />}\n label={formatPermissionStatus(parsedIAM.permission)}\n size=\"small\"\n sx={{\n borderColor: getPermissionStatusColor(parsedIAM.permission),\n color: getPermissionStatusColor(parsedIAM.permission),\n }}\n variant=\"outlined\"\n />\n </Box>\n\n {/* Basic Info */}\n <DetailRow content={`${parsedIAM.service}:${parsedIAM.operation}`} label=\"Operation\" />\n <DetailRow content={parsedIAM.principal} label=\"Principal\" />\n\n {/* Actions */}\n {parsedIAM.details.actions && parsedIAM.details.actions.length > 0 && (\n <DetailRow\n content={(\n <Box>\n {parsedIAM.details.actions.map(action => (\n <Typography\n key={action}\n sx={{\n color: 'text.primary',\n }}\n variant=\"body2\"\n >\n {action}\n </Typography>\n ))}\n </Box>\n )}\n label=\"Actions\"\n />\n )}\n\n {/* Resources */}\n {parsedIAM.details.resources && parsedIAM.details.resources.length > 0 && (\n <DetailRow\n content={(\n <Box>\n {parsedIAM.details.resources.map(resource => (\n <Typography\n key={resource}\n sx={{\n color: 'text.primary',\n wordBreak: 'break-all',\n }}\n variant=\"body2\"\n >\n {resource}\n </Typography>\n ))}\n </Box>\n )}\n label=\"Resources\"\n />\n )}\n\n {/* Policy Counts */}\n <Box sx={{ mt: 2 }}>\n <Typography sx={{ fontWeight: 600, mb: 1 }} variant=\"caption\">\n Policy Evaluation\n </Typography>\n <Grid container spacing={2}>\n {parsedIAM.details.explicitAllows !== undefined && (\n <Grid item xs={4}>\n <Box sx={{ textAlign: 'center' }}>\n <Typography color=\"success.main\" sx={{ fontWeight: 'bold' }} variant=\"h6\">\n {parsedIAM.details.explicitAllows}\n </Typography>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Explicit Allows\n </Typography>\n </Box>\n </Grid>\n )}\n {parsedIAM.details.explicitDenies !== undefined && (\n <Grid item xs={4}>\n <Box sx={{ textAlign: 'center' }}>\n <Typography color=\"error.main\" sx={{ fontWeight: 'bold' }} variant=\"h6\">\n {parsedIAM.details.explicitDenies}\n </Typography>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Explicit Denies\n </Typography>\n </Box>\n </Grid>\n )}\n {parsedIAM.details.implicitDenies !== undefined && (\n <Grid item xs={4}>\n <Box sx={{ textAlign: 'center' }}>\n <Typography color=\"warning.main\" sx={{ fontWeight: 'bold' }} variant=\"h6\">\n {parsedIAM.details.implicitDenies}\n </Typography>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Implicit Denies\n </Typography>\n </Box>\n </Grid>\n )}\n </Grid>\n </Box>\n </Box>\n )\n}\n","import type { FC } from 'react'\nimport { KeyboardArrowDown, KeyboardArrowRight } from '@mui/icons-material'\nimport { Box, Chip, IconButton, Typography } from '@mui/material'\nimport { useMemo, useState } from 'react'\n\nimport type { Event } from '@/types/events'\nimport type { IAMPermissionStatus } from '@/utils/iam-utils.ts'\nimport { formatPermissionStatus, parseIAMEvent } from '@/utils/iam-utils.ts'\n\ninterface IAMPermissionDetailProps {\n events: Event[]\n}\n\n// Determine chip color based on permission status\nconst getChipColors = (status: IAMPermissionStatus) => {\n const isAllowed = status === 'explicitly_allowed' || status === 'implicitly_allowed'\n return {\n backgroundColor: isAllowed ? 'success.main' : 'error.main',\n color: 'white',\n }\n}\n\nconst IAMPermissionItem: FC<{ event: Event }> = ({ event }) => {\n const [isOpen, setIsOpen] = useState(false)\n\n // Parse IAM event payload\n const parsedData = useMemo(() => {\n const payloadString = event.attributes?.payload as string | undefined\n if (!payloadString) {\n return\n }\n\n const parsedIAM = parseIAMEvent(payloadString)\n if (!parsedIAM) {\n return\n }\n\n return {\n chipColors: getChipColors(parsedIAM.permission),\n parsedIAM,\n }\n }, [event.attributes?.payload])\n\n if (!parsedData) {\n // eslint-disable-next-line unicorn/no-null\n return null\n }\n\n const { chipColors, parsedIAM } = parsedData\n\n return (\n <Box sx={{ mb: 1 }}>\n <Box sx={{ alignItems: 'center', display: 'flex' }}>\n <IconButton onClick={() => { setIsOpen(!isOpen) }} size=\"small\" sx={{ mr: 1, p: 0 }}>\n {isOpen ? <KeyboardArrowDown /> : <KeyboardArrowRight />}\n </IconButton>\n\n <Chip\n label={formatPermissionStatus(parsedIAM.permission)}\n size=\"small\"\n sx={{\n ...chipColors,\n fontWeight: 500,\n }}\n />\n </Box>\n\n {isOpen && (\n <Box sx={{ ml: 4, mt: 1 }}>\n <Box>\n <Typography sx={{ fontWeight: 600 }} variant=\"caption\">\n Principal\n </Typography>\n <Typography variant=\"body2\">\n {parsedIAM.principal}\n </Typography>\n </Box>\n </Box>\n )}\n </Box>\n )\n}\n\nexport const IAMPermissionDetail: FC<IAMPermissionDetailProps> = ({ events }) => (\n <Box sx={{ mt: 2 }}>\n {events.map(event => (\n <IAMPermissionItem event={event} key={`${event.span_id}-${event.event_id}`} />\n ))}\n </Box>\n)\n","import type { FC, ReactNode } from 'react'\nimport { KeyboardArrowDown, KeyboardArrowRight } from '@mui/icons-material'\nimport { Box, Typography } from '@mui/material'\nimport { useState } from 'react'\n\nexport interface ToggleSectionProps {\n children: ReactNode\n headline: string\n initialOpen?: boolean\n}\n\nexport const ToggleSection: FC<ToggleSectionProps> = ({ children, headline, initialOpen = true }) => {\n const [isOpen, setIsOpen] = useState(initialOpen)\n\n return (\n <Box sx={{ mt: 4 }}>\n {/* <Divider sx={{ mb: 2, mx: -2 }} /> */}\n <Box\n onClick={() => { setIsOpen(!isOpen) }}\n sx={{\n cursor: 'pointer',\n mb: 1,\n }}\n >\n <Box\n role=\"button\"\n sx={{\n alignItems: 'center',\n display: 'flex',\n gap: 1,\n }}\n >\n <Typography sx={{ fontWeight: 600 }} variant=\"subtitle2\">\n {headline}\n </Typography>\n {isOpen\n ? (\n <KeyboardArrowDown sx={{ color: 'text.secondary', height: 20, width: 20 }} />\n )\n : (\n <KeyboardArrowRight sx={{ color: 'text.secondary', height: 20, width: 20 }} />\n )}\n </Box>\n </Box>\n {isOpen && <Box>{children}</Box>}\n </Box>\n )\n}\n","import '@xyflow/react/dist/base.css'\n\nimport './xyflow/style.css'\n\nimport type { Edge, NodeMouseHandler, NodeTypes } from '@xyflow/react'\nimport type { FC, ReactElement } from 'react'\nimport { Alert, Button } from '@mui/material'\nimport { Background, ReactFlow, useReactFlow } from '@xyflow/react'\nimport { useCallback, useEffect, useState } from 'react'\n\nimport type { Span } from '@/types/spans.ts'\nimport type { ServiceNodeData } from './service-node.tsx'\n\nimport { ServiceNode } from './service-node.tsx'\nimport { calculateCenterX, generateNodesAndEdges, getLayoutedNodesAndEdges, getNodesMinMaxX } from './utils.ts'\nimport { Controls } from './xyflow/controls.tsx'\n\nconst nodeTypes = {\n service: ServiceNode,\n} satisfies NodeTypes\n\ntype SpanWithChildren = Span & {\n children?: SpanWithChildren[]\n}\n\ninterface TraceGraphProps {\n initialFocusEventId?: string\n onEventSelect: (event: Span) => void\n onRefresh: () => void\n spans: {\n data: Span[] | undefined\n error: Error | undefined\n loading: boolean\n }\n viewPortPixelWidth: number\n}\n\nexport const TraceGraph: FC<TraceGraphProps> = ({\n initialFocusEventId,\n onEventSelect,\n onRefresh,\n spans,\n viewPortPixelWidth,\n}): ReactElement => {\n const [nodes, setNodes] = useState<ServiceNodeData[]>([])\n const [edges, setEdges] = useState<Edge[]>([])\n const [initialViewSet, setInitialViewSet] = useState(false)\n const { fitView, setCenter } = useReactFlow()\n\n const updateSelectedNode = useCallback((nodeId: string | undefined) => {\n const toSelect = new Set(nodeId ? [nodeId] : [])\n\n // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\n setNodes((previousNodes) => {\n return previousNodes.map(node => ({ ...node, selected: toSelect.has(node.id) }))\n })\n }, [])\n\n useEffect(() => {\n const spansMap = new Map<string, SpanWithChildren>()\n const rootSpans: SpanWithChildren[] = []\n\n // First pass: create map of all spans\n for (const span of spans.data ?? []) {\n spansMap.set(span.span_id, { ...span, children: [] })\n }\n\n // Second pass: build hierarchy\n for (const span of spans.data ?? []) {\n const currentSpan = spansMap.get(span.span_id)\n if (!currentSpan) continue\n\n if (span.parent_span_id && spansMap.has(span.parent_span_id)) {\n const parentSpan = spansMap.get(span.parent_span_id)\n if (parentSpan) {\n parentSpan.children ??= []\n parentSpan.children.push(currentSpan)\n }\n }\n else {\n // This is a root span (no parent or parent not in trace)\n rootSpans.push(currentSpan)\n }\n }\n\n // Generate nodes and edges from the hierarchical structure\n let allNodes: ServiceNodeData[] = []\n let allEdges: Edge[] = []\n\n for (const rootSpan of rootSpans) {\n const { edges: newEdges, nodes: newNodes } = generateNodesAndEdges(rootSpan)\n allNodes = [...allNodes, ...newNodes]\n allEdges = [...allEdges, ...newEdges]\n }\n\n const { edges: layoutedEdges, nodes: layoutedNodes } = getLayoutedNodesAndEdges(allNodes, allEdges)\n\n for (const node of layoutedNodes) {\n if (node.id === initialFocusEventId) {\n node.selected = true\n }\n }\n\n setNodes(layoutedNodes)\n setEdges(layoutedEdges)\n }, [spans.data, initialFocusEventId])\n\n useEffect(() => {\n const shouldSetInitialView = !spans.loading && nodes.length > 0 && !initialViewSet\n\n if (shouldSetInitialView) {\n if (initialFocusEventId) {\n const focusNode = nodes.find(node => node.id === initialFocusEventId)\n if (focusNode) {\n const { maxX, minX } = getNodesMinMaxX(nodes)\n const centerX = calculateCenterX(focusNode.position.x, viewPortPixelWidth, minX, maxX)\n void setCenter(centerX, focusNode.position.y, {\n duration: 500,\n zoom: 0.8,\n })\n\n onEventSelect(focusNode.data.event)\n }\n }\n else {\n void fitView({ duration: 500 })\n }\n setInitialViewSet(true)\n }\n }, [spans.loading, nodes, initialFocusEventId, viewPortPixelWidth, setCenter, fitView, onEventSelect, initialViewSet])\n\n // Update selected node on initial focus event change\n useEffect(() => {\n if (initialFocusEventId) {\n updateSelectedNode(initialFocusEventId)\n }\n }, [initialFocusEventId, updateSelectedNode])\n\n const onNodeClick = useCallback<NodeMouseHandler<ServiceNodeData>>((_event, node) => {\n onEventSelect(node.data.event)\n updateSelectedNode(node.id)\n }, [onEventSelect, updateSelectedNode])\n\n return (\n <>\n {spans.error && (\n <Alert\n action={\n <Button onClick={() => { onRefresh() }}>Retry</Button>\n }\n severity=\"error\"\n >\n Unexpected error:\n {' '}\n {spans.error.message}\n </Alert>\n )}\n\n <ReactFlow\n data-testid=\"trace-graph\"\n defaultViewport={{ x: 0, y: 0, zoom: 1 }}\n edges={edges}\n fitView\n maxZoom={1.5}\n minZoom={0.1}\n nodes={nodes}\n nodeTypes={nodeTypes}\n onNodeClick={onNodeClick}\n selectNodesOnDrag={false}\n >\n <Controls />\n <Background />\n </ReactFlow>\n </>\n )\n}\n","import type { Node, NodeProps } from '@xyflow/react'\nimport type { CSSProperties, FC } from 'react'\nimport { Box, Stack, Typography } from '@mui/material'\nimport '@xyflow/react/dist/style.css'\nimport { Handle, Position } from '@xyflow/react'\nimport { memo } from 'react'\n\nimport type { Span } from '@/types/spans.ts'\n\nimport { ServiceCell } from '../cells/service-cell.tsx'\nimport { ProblemIndicator } from './problem-indicator.tsx'\n\nconst handleStyle: CSSProperties = {\n backgroundColor: 'white',\n borderColor: 'lightgray',\n opacity: 0,\n}\n\nexport type ServiceNodeData = Node<{\n data: Record<string, Span>\n event: Span\n height: number\n id: string\n position: {\n x: number\n y: number\n }\n width: number\n}>\n\nexport const ServiceNode: FC<NodeProps<ServiceNodeData>> = memo(({ data, selected }) => {\n const hasErrors = (data.event.errors && data.event.errors.length > 0) ?? false\n\n return (\n <Box sx={{ maxWidth: 200 }}>\n <Box\n role=\"button\"\n sx={{\n '&:hover': {\n opacity: 1,\n },\n 'alignItems': 'flex-start',\n 'borderRadius': 1,\n 'cursor': 'pointer',\n 'display': 'flex',\n 'flexDirection': 'column',\n 'maxWidth': '100%',\n 'opacity': selected ? 1 : 0.7,\n 'position': 'relative',\n 'transition': 'all 0.3s ease',\n 'width': 'min-content',\n }}\n tabIndex={0}\n >\n <Handle position={Position.Left} style={handleStyle} type=\"target\" />\n <Handle position={Position.Right} style={handleStyle} type=\"source\" />\n\n <ServiceCell\n height=\"32px\"\n resource={data.event.resource_name}\n selected={selected}\n service={data.event.service_name}\n width=\"32px\"\n />\n </Box>\n\n <Stack\n alignItems=\"center\"\n direction=\"row\"\n spacing={0.5}\n sx={{\n ml: 1,\n mt: 0.5,\n }}\n >\n {hasErrors && (\n <Stack\n direction=\"row\"\n spacing={0.5}\n sx={{\n flexWrap: 'wrap',\n gap: '2px',\n }}\n >\n {data.event.errors?.map(error => (\n <ProblemIndicator error={error} key={error.span_id} />\n ))}\n </Stack>\n )}\n <Typography\n sx={{\n fontSize: '0.9rem',\n maxWidth: '100%',\n ml: hasErrors ? 2 : 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }}\n variant=\"caption\"\n >\n {data.event.operation_name}\n </Typography>\n </Stack>\n </Box>\n )\n})\n","import type { FC } from 'react'\nimport { Error as ErrorIcon, Info, Warning } from '@mui/icons-material'\nimport { Box, Tooltip } from '@mui/material'\nimport { useMemo } from 'react'\n\ninterface ProblemIndicatorProps {\n error: {\n level?: 'error' | 'info' | 'warning'\n message?: string\n span_id: string\n }\n}\n\nexport const ProblemIndicator: FC<ProblemIndicatorProps> = ({ error }) => {\n const icon = useMemo(() => {\n switch (error.level) {\n case 'error': {\n return <ErrorIcon sx={{ color: '#d32f2f', fontSize: '14px' }} />\n }\n case 'warning': {\n return <Warning sx={{ color: '#ff9800', fontSize: '14px' }} />\n }\n default: {\n return <Info sx={{ color: '#2196f3', fontSize: '14px' }} />\n }\n }\n }, [error.level])\n\n const color = useMemo(() => {\n switch (error.level) {\n case 'error': {\n return '#d32f2f'\n }\n case 'warning': {\n return '#ff9800'\n }\n default: {\n return '#2196f3'\n }\n }\n }, [error.level])\n\n return (\n <Tooltip arrow title={error.message ?? 'Issue detected'}>\n <Box\n sx={{\n alignItems: 'center',\n backgroundColor: `${color}15`,\n border: `1px solid ${color}`,\n borderRadius: '50%',\n cursor: 'pointer',\n display: 'inline-flex',\n height: '18px',\n justifyContent: 'center',\n width: '18px',\n }}\n >\n {icon}\n </Box>\n </Tooltip>\n )\n}\n","import type { Edge } from '@xyflow/react'\nimport dagre from '@dagrejs/dagre'\nimport { MarkerType, Position } from '@xyflow/react'\n\nimport type { Span } from '@/types/spans.ts'\nimport type { ServiceNodeData } from './service-node.tsx'\n\ninterface NodesAndEdges {\n edges: Edge[]\n nodes: ServiceNodeData[]\n}\n\nexport const generateNodesAndEdges = (\n event: Span,\n parentId?: string,\n): NodesAndEdges => {\n const nodes: ServiceNodeData[] = []\n const edges: Edge[] = []\n\n nodes.push({\n data: {\n data: { [event.span_id]: event },\n event,\n height: 28,\n id: event.span_id,\n position: { x: 0, y: 0 },\n width: 28,\n },\n id: event.span_id,\n position: { x: 0, y: 0 }, // Will be set by layout\n sourcePosition: Position.Right,\n targetPosition: Position.Left,\n type: 'service',\n })\n\n if (parentId) {\n edges.push({\n animated: false,\n id: `e-${parentId}-${event.span_id}`,\n markerEnd: {\n color: 'lightgray',\n height: 16,\n type: MarkerType.Arrow,\n width: 16,\n },\n source: parentId,\n style: {\n stroke: 'lightgray',\n strokeWidth: 1,\n },\n target: event.span_id,\n })\n }\n\n // Process children if they exist\n if (event.children && event.children.length > 0) {\n for (const child of event.children) {\n const { edges: childEdges, nodes: childNodes } = generateNodesAndEdges(child,\n event.span_id)\n nodes.push(...childNodes)\n edges.push(...childEdges)\n }\n }\n\n return { edges, nodes }\n}\n\nexport const getLayoutedNodesAndEdges = (inputNodes: ServiceNodeData[], inputEdges: Edge[]): NodesAndEdges => {\n const dagreGraph = new dagre.graphlib.Graph().setDefaultEdgeLabel(() => ({}))\n\n const direction = 'LR' // Left to Right layout\n const nodeWidth = 200\n const nodeHeight = 70\n\n dagreGraph.setGraph({ rankdir: direction })\n\n for (const node of inputNodes) {\n dagreGraph.setNode(node.id, { height: nodeHeight, width: nodeWidth })\n }\n\n for (const edge of inputEdges) {\n dagreGraph.setEdge(edge.source, edge.target)\n }\n\n dagre.layout(dagreGraph)\n\n const layoutedNodes = inputNodes.map((node) => {\n const nodeWithPosition = dagreGraph.node(node.id)\n return {\n ...node,\n position: {\n x: nodeWithPosition.x - nodeWidth / 2,\n y: nodeWithPosition.y - nodeHeight / 2,\n },\n selectable: true,\n }\n })\n\n return { edges: inputEdges, nodes: layoutedNodes }\n}\n\nexport const getNodesMinMaxX = (nodes: ServiceNodeData[]): { maxX: number, minX: number } => {\n if (nodes.length === 0) return { maxX: 0, minX: 0 }\n\n let minX = Number.POSITIVE_INFINITY\n let maxX = Number.NEGATIVE_INFINITY\n\n for (const node of nodes) {\n minX = Math.min(minX, node.position.x)\n maxX = Math.max(maxX, node.position.x)\n }\n\n return { maxX, minX }\n}\n\nexport const calculateCenterX = (\n focusNodeX: number,\n viewPortPixelWidth: number,\n minX: number,\n maxX: number,\n): number => {\n const nodeWidth = 200\n const desiredCenter = focusNodeX + viewPortPixelWidth / 2\n\n return Math.min(Math.max(desiredCenter, minX + viewPortPixelWidth / 2), maxX - viewPortPixelWidth / 2 + nodeWidth)\n}\n","import type { ReactFlowState } from '@xyflow/react'\nimport type { FC } from 'react'\nimport { Add, FitScreen, Remove } from '@mui/icons-material'\nimport { Box, IconButton } from '@mui/material'\nimport { useReactFlow, useStore } from '@xyflow/react'\nimport { memo } from 'react'\nimport { shallow } from 'zustand/shallow'\n\nconst selector = (s: ReactFlowState) => ({\n isInteractive: s.nodesDraggable || s.nodesConnectable || s.elementsSelectable,\n maxZoomReached: s.transform[2] >= s.maxZoom,\n minZoomReached: s.transform[2] <= s.minZoom,\n})\n\nexport const Controls: FC = memo(() => {\n const { maxZoomReached, minZoomReached } = useStore(selector, shallow)\n const { fitView, zoomIn, zoomOut } = useReactFlow()\n\n const onZoomInHandler = () => {\n void zoomIn()\n }\n\n const onZoomOutHandler = () => {\n void zoomOut()\n }\n\n const onFitViewHandler = () => {\n void fitView()\n }\n\n return (\n <Box\n sx={{\n bottom: 0,\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n left: 0,\n m: 2,\n position: 'absolute',\n zIndex: 5,\n }}\n >\n <IconButton\n className=\"react-flow__controls-zoomin\"\n disabled={maxZoomReached}\n onClick={onZoomInHandler}\n size=\"small\"\n >\n <Add />\n </IconButton>\n <IconButton\n className=\"react-flow__controls-zoomout\"\n disabled={minZoomReached}\n onClick={onZoomOutHandler}\n size=\"small\"\n >\n <Remove />\n </IconButton>\n\n <IconButton\n className=\"react-flow__controls-fitview\"\n onClick={onFitViewHandler}\n size=\"small\"\n >\n <FitScreen />\n </IconButton>\n </Box>\n )\n})\n","function shallow$1(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [key, value] of objA) {\n if (!Object.is(value, objB.get(key))) {\n return false;\n }\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const value of objA) {\n if (!objB.has(value)) {\n return false;\n }\n }\n return true;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (const keyA of keysA) {\n if (!Object.prototype.hasOwnProperty.call(objB, keyA) || !Object.is(objA[keyA], objB[keyA])) {\n return false;\n }\n }\n return true;\n}\n\nvar shallow = (objA, objB) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] Default export is deprecated. Instead use `import { shallow } from 'zustand/shallow'`.\"\n );\n }\n return shallow$1(objA, objB);\n};\n\nexport { shallow as default, shallow$1 as shallow };\n","type RoutesMap = Record<string, string>\n\nexport const routes = {\n APP_INSPECTOR_SPANS_LIST: 'spans',\n APP_INSPECTOR_TRACE_GRAPH: 'traces/:traceId',\n} as const satisfies RoutesMap\n","import type { FC } from 'react'\n\nimport { SpansListPage } from './pages/spans-list-page.tsx'\nimport { TraceGraphPage } from './pages/trace-graph-page.tsx'\nimport { routes } from './routes.ts'\n\nexport { AppInspectorContextProvider } from './context.tsx'\n\nexport type PagesMap = Record<keyof typeof routes, readonly [string, FC]>\n\nexport const pages = {\n APP_INSPECTOR_SPANS_LIST: [routes.APP_INSPECTOR_SPANS_LIST, SpansListPage],\n APP_INSPECTOR_TRACE_GRAPH: [routes.APP_INSPECTOR_TRACE_GRAPH, TraceGraphPage],\n} as const satisfies PagesMap\n"],"mappings":";AACA,SAAS,OAAAA,YAAW;AACpB,SAAS,eAAAC,cAAa,aAAAC,YAAW,WAAAC,UAAS,UAAAC,SAAQ,YAAAC,iBAAgB;AAClE,SAAS,mBAAmB;;;ACF5B,SAAS,eAAe,kBAAkB;AAWjC;AAPT,IAAM,yBAAyB,cAA+B,MAAS;AAMhE,IAAM,cAAuD,CAAC,UAAU;AAC7E,SAAO,oBAAC,uBAAuB,UAAvB,EAAgC,OAAO,MAAM,KAAM,gBAAM,UAAS;AAC5E;AAEO,IAAM,qBAAqB,MAAW;AAC3C,QAAM,MAAM,WAAW,sBAAsB;AAC7C,MAAI,CAAC,KAAK;AACR,UAAM,IAAI,MAAM,gEAAgE;AAAA,EAClF;AACA,SAAO;AACT;;;ACpBA,SAAS,OAAO,OAAAC,MAAK,UAAAC,eAAc;;;ACEnC,SAAS,QAAQ,uBAAuB,cAAc;AACtD,SAAS,OAAAC,MAAK,QAAQ,kBAAkB,MAAM,OAAO,QAAQ,WAAW,WAAAC,UAAS,cAAAC,mBAAkB;AACnG,SAAS,gBAAgB;AACzB,SAAS,aAAa,WAAAC,UAAS,YAAAC,iBAAgB;;;ACL/C,SAAS,KAAK,OAAO,eAAe;AAuBzB,0BAAAC,YAAA;AAfX,IAAM,gBAAgB,CAAC,UAAyB;AAE9C,MAAI,MAAM,YAAY,YAAY,EAAE,SAAS,KAAK,GAAG;AACnD,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEA,IAAM,kBAAkB,CAAC,UAAyB;AAChD,QAAM,OAAO,MAAM,cAAc;AACjC,SAAO,GAAG,MAAM,IAAI,KAAK,IAAI;AAC/B;AAEO,IAAM,qBAAkD,CAAC,EAAE,OAAO,MAAM;AAC7E,MAAI,OAAO,WAAW,GAAG;AACvB,WAAO,gBAAAA,KAAA,YAAE;AAAA,EACX;AAEA,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,OAAO;AAAA,MACT;AAAA,MAEA,0BAAAA,KAAC,SAAM,YAAW,UAAS,WAAU,OAAM,SAAS,KACjD,iBAAO,IAAI,WACV,gBAAAA,KAAC,WAA6B,OAAO,gBAAgB,KAAK,GACxD,0BAAAA;AAAA,QAAC;AAAA;AAAA,UACC,eAAY;AAAA,UACZ,IAAI;AAAA,YACF,iBAAiB,cAAc,KAAK;AAAA,YACpC,cAAc;AAAA,YACd,QAAQ;AAAA,YACR,OAAO;AAAA,UACT;AAAA;AAAA,MACF,KATY,MAAM,QAUpB,CACD,GACH;AAAA;AAAA,EACF;AAEJ;;;ACtDA,SAAS,WAAW,SAAS,QAAQ,gBAAgB;;;ACI9C,SAAS,eAAe,gBAAiD;AAC9E,MAAI,CAAC,eAAgB,QAAO;AAE5B,QAAM,eAAe,OAAO,OAAO,cAAc,IAAI,OAAO,SAAS,CAAC;AACtE,SAAO,IAAI,KAAK,YAAY;AAC9B;;;AD0E6B,gBAAAC,YAAA;AA1EtB,IAAM,0BAA4D,CAAC,EAAE,QAAQ,MAAM,MAAM;AAC9F,QAAM,CAAC,aAAa,cAAc,IAAI,SAAiB,CAAC;AACxD,QAAM,gBAAgB,OAAuB,IAAI;AAEjD,YAAU,MAAM;AACd,UAAM,cAAc,MAAM;AACxB,UAAI,cAAc,SAAS;AACzB,cAAM,QAAQ,cAAc,QAAQ;AACpC,uBAAe,KAAK;AAAA,MACtB;AAAA,IACF;AAEA,gBAAY;AACZ,WAAO,iBAAiB,UAAU,WAAW;AAE7C,QAAI,cAAc,SAAS;AACzB,YAAM,iBAAiB,IAAI,eAAe,WAAW;AACrD,qBAAe,QAAQ,cAAc,OAAO;AAE5C,aAAO,MAAM;AACX,uBAAe,WAAW;AAC1B,eAAO,oBAAoB,UAAU,WAAW;AAAA,MAClD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,gBAAgB,QAAQ,MAAM;AAClC,QAAI,CAAC,MAAO;AAEZ,UAAM,OAAO,eAAe,KAAK;AACjC,QAAI,CAAC,KAAM;AAEX,QAAI,cAAc,KAAK;AAErB,YAAM,YAAY,IAAI,KAAK,eAAe,QAAQ;AAAA,QAChD,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV,CAAC;AACD,aAAO,UAAU,OAAO,IAAI;AAAA,IAC9B,WACS,cAAc,KAAK;AAE1B,YAAM,YAAY,IAAI,KAAK,eAAe,QAAQ;AAAA,QAChD,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV,CAAC;AACD,YAAM,aAAa,UAAU,OAAO,IAAI;AACxC,YAAM,KAAK,KAAK,gBAAgB,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG;AAC5D,aAAO,GAAG,UAAU,IAAI,EAAE;AAAA,IAC5B,OACK;AAEH,YAAM,gBAAgB,IAAI,KAAK,eAAe,QAAQ;AAAA,QACpD,KAAK;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,MACR,CAAC;AACD,YAAM,gBAAgB,IAAI,KAAK,eAAe,QAAQ;AAAA,QACpD,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV,CAAC;AACD,YAAM,aAAa,cAAc,OAAO,IAAI;AAC5C,YAAM,aAAa,cAAc,OAAO,IAAI;AAC5C,YAAM,KAAK,KAAK,gBAAgB,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG;AAC5D,aAAO,GAAG,UAAU,MAAM,UAAU,IAAI,EAAE;AAAA,IAC5C;AAAA,EACF,GAAG,CAAC,OAAO,aAAa,MAAM,CAAC;AAE/B,MAAI,CAAC,cAAe,QAAO,gBAAAA,KAAC,UAAK,iBAAG;AAEpC,SACE,gBAAAA,KAAC,SAAI,KAAK,eAAe,OAAO,EAAE,OAAO,OAAO,GAC7C,yBACH;AAEJ;;;AE1FA,SAAS,OAAAC,MAAK,SAAS,kBAAkB;;;ACAzC,SAAS,WAAAC,gBAAe;;;ACOjB,IAAM,kBAA4C,CAAC,EAAE,UAAU,MAAM,UAAU,MAAM;AAC1F,MAAI,MAAM;AACR,WAAO,UAAU,QAAQ;AAAA,EAC3B;AACA,SAAO;AACT;;;ACZA,SAAS,YAAY;;;ACDd,IAAM,eAAe;AAAA,EAC1B,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,kBAAkB;AAAA,EAClB,KAAK;AAAA,EACL,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,yBAAyB;AAAA,EACzB,cAAc;AAAA,EACd,WAAW;AAAA,EACX,eAAe;AAAA,EACf,WAAW;AAAA,EACX,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,wBAAwB;AAAA,EACxB,yBAAyB;AAAA,EACzB,qBAAqB;AAAA,EACrB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA,EACX,SAAS;AAAA,EACT,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,eAAe;AAAA,EACf,OAAO;AAAA,EACP,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,yBAAyB;AAAA,EACzB,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,UAAU;AAAA,EACV,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,KAAK;AAAA,EACL,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,cAAc;AAAA,EACd,cAAc;AAAA,EACd,UAAU;AAAA,EACV,UAAU;AAAA,EACV,KAAK;AAAA,EACL,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,WAAW;AAAA,EACX,KAAK;AAAA,EACL,KAAK;AAAA,EACL,OAAO;AAAA,EACP,cAAc;AAAA,EACd,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,KAAK;AAAA,EACL,KAAK;AAAA,EACL,oBAAoB;AAAA,EACpB,KAAK;AAAA,EACL,WAAW;AAAA,EACX,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,KAAK;AAAA,EACL,OAAO;AAAA,EACP,KAAK;AAAA,EACL,eAAe;AAAA,EACf,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,UAAU;AAAA,EACV,cAAc;AAAA,EACd,UAAU;AAAA,EACV,KAAK;AAAA,EACL,KAAK;AAAA,EACL,UAAU;AAAA,EACV,eAAe;AAAA,EACf,eAAe;AAAA,EACf,KAAK;AAAA,EACL,UAAU;AAAA,EACV,SAAS;AAAA,EACT,mBAAmB;AAAA,EACnB,MAAM;AAAA,EACN,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe;AAAA,EACf,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,KAAK;AAAA,EACL,eAAe;AAAA,EACf,cAAc;AAAA,EACd,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,KAAK;AAAA,EACL,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,cAAc;AAAA,EACd,SAAS;AAAA,EACT,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,KAAK;AAAA,EACL,SAAS;AAAA,EACT,aAAa;AAAA,EACb,OAAO;AAAA,EACP,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,WAAW;AAAA,EACX,SAAS;AAAA,EACT,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,2BAA2B;AAAA,EAC3B,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,2BAA2B;AAAA,EAC3B,KAAK;AAAA,EACL,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,kCAAkC;AAAA,EAClC,iCAAiC;AAAA,EACjC,WAAW;AAAA,EACX,UAAU;AAAA,EACV,MAAM;AAAA,EACN,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,IAAI;AAAA,EACJ,iBAAiB;AAAA,EACjB,QAAQ;AAAA,EACR,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,8BAA8B;AAAA,EAC9B,wBAAwB;AAAA,EACxB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,WAAW;AAAA,EACX,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,qBAAqB;AAAA,EACrB,KAAK;AAAA,EACL,KAAK;AAAA,EACL,oBAAoB;AAAA,EACpB,0BAA0B;AAAA,EAC1B,4BAA4B;AAAA,EAC5B,sBAAsB;AAAA,EACtB,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AAAA,EACT,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,sBAAsB;AAAA,EACtB,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AAAA,EACV,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,IAAI;AAAA,EACJ,UAAU;AAAA,EACV,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,SAAS;AAAA,EACT,UAAU;AAAA,EACV,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,aAAa;AAAA,EACb,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,0BAA0B;AAAA,EAC1B,WAAW;AAAA,EACX,eAAe;AAAA,EACf,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,wBAAwB;AAAA,EACxB,8BAA8B;AAAA,EAC9B,0BAA0B;AAAA,EAC1B,iBAAiB;AAAA,EACjB,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,qBAAqB;AAAA,EACrB,eAAe;AAAA,EACf,8BAA8B;AAAA,EAC9B,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,KAAK;AAAA,EACL,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,2BAA2B;AAAA,EAC3B,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,KAAK;AAAA,EACL,UAAU;AAAA,EACV,UAAU;AAAA,EACV,sBAAsB;AAAA,EACtB,WAAW;AAAA;AAAA,EACX,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,aAAa;AAAA,EACb,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,UAAU;AAAA,EACV,SAAS;AAAA,EACT,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,KAAK;AAAA,EACL,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,KAAK;AAAA,EACL,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,aAAa;AAAA,EACb,OAAO;AAAA,EACP,iBAAiB;AAAA,EACjB,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,qBAAqB;AAAA,EACrB,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,MAAM;AACR;;;AC5WA,YAAY,WAAW;AACyH,gBAAAC,MAA4D,YAA5D;AAAhJ,IAAM,aAAa,WAAS,qBAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAA,KAAC,WAAO,uDAA4C;AAAA,EAAQ,qBAAC,OAAE,IAAG,6CAA4C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAA,KAAC,UAAK,IAAG,aAAY,MAAK,WAAU,GAAE,iBAAgB;AAAA,IAAE,gBAAAA,KAAC,UAAK,IAAG,UAAS,MAAK,QAAO,GAAE,ohBAAmhB;AAAA,KAAE;AAAA,GAAI;AAC56B,IAAO,kBAAQ;;;ACFf,YAAYC,YAAW;AACwH,gBAAAC,MAAiF,QAAAC,aAAjF;AAA/I,IAAM,YAAY,WAAS,gBAAAA,MAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,KAAC,WAAO,4EAAiE;AAAA,EAAQ,gBAAAC,MAAC,OAAE,IAAG,kEAAiE,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,KAAC,OAAE,IAAG,wDAAuD,MAAK,WAAU,0BAAAA,KAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,KAAC,UAAK,IAAG,UAAS,MAAK,QAAO,GAAE,omBAAmmB;AAAA,KAAE;AAAA,GAAI;AACtmC,IAAO,kBAAQ;;;ACFf,YAAYE,YAAW;AACqH,gBAAAC,MAA6E,QAAAC,aAA7E;AAA5I,IAAM,SAAS,WAAS,gBAAAA,MAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,KAAC,WAAO,kEAAuD;AAAA,EAAQ,gBAAAA,KAAC,UAAK,0BAAAC,MAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,KAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,KAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,MAAC,OAAE,IAAG,wDAAuD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,KAAC,OAAE,IAAG,wDAAuD,MAAK,4BAA2B,0BAAAA,KAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,KAAC,UAAK,IAAG,yCAAwC,MAAK,QAAO,GAAE,i1BAAg1B;AAAA,KAAE;AAAA,GAAI;AACxiD,IAAO,cAAQ;;;ACFf,YAAYE,YAAW;AACyH,gBAAAC,MAAyE,QAAAC,aAAzE;AAAhJ,IAAM,aAAa,WAAS,gBAAAA,MAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,KAAC,WAAO,8DAAmD;AAAA,EAAQ,gBAAAA,KAAC,UAAK,0BAAAC,MAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,KAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,KAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,MAAC,OAAE,IAAG,oDAAmD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,KAAC,OAAE,IAAG,kCAAiC,MAAK,4BAA2B,0BAAAA,KAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,KAAC,UAAK,IAAG,qCAAoC,MAAK,QAAO,GAAE,wpBAAupB;AAAA,KAAE;AAAA,GAAI;AACj1C,IAAO,kBAAQ;;;ACFf,YAAYE,YAAW;AAC4H,gBAAAC,MAAyE,QAAAC,aAAzE;AAAnJ,IAAM,gBAAgB,WAAS,gBAAAA,MAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,KAAC,WAAO,8DAAmD;AAAA,EAAQ,gBAAAA,KAAC,UAAK,0BAAAC,MAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,KAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,KAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,MAAC,OAAE,IAAG,oDAAmD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,KAAC,UAAK,IAAG,aAAY,MAAK,4BAA2B,GAAE,iBAAgB;AAAA,IAAE,gBAAAA,KAAC,OAAE,IAAG,yCAAwC,MAAK,QAAO,WAAU,kBAAiB,0BAAAA,KAAC,UAAK,IAAG,oCAAmC,GAAE,i4BAAg4B,GAAE;AAAA,KAAI;AAAA,GAAI;AAC9lD,IAAO,qBAAQ;;;ACFf,YAAYE,YAAW;AACyI,gBAAAC,MAAyE,QAAAC,aAAzE;AAAhK,IAAM,6BAA6B,WAAS,gBAAAA,MAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,KAAC,WAAO,8DAAmD;AAAA,EAAQ,gBAAAA,KAAC,UAAK,0BAAAC,MAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,KAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,KAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,MAAC,OAAE,IAAG,oDAAmD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,KAAC,UAAK,IAAG,aAAY,MAAK,4BAA2B,GAAE,iBAAgB;AAAA,IAAE,gBAAAA,KAAC,OAAE,IAAG,yCAAwC,MAAK,QAAO,WAAU,kBAAiB,0BAAAA,KAAC,UAAK,IAAG,oCAAmC,GAAE,i4BAAg4B,GAAE;AAAA,KAAI;AAAA,GAAI;AAC3mD,IAAO,kCAAQ;;;ACFf,YAAYE,YAAW;AAC8H,gBAAAC,OAAyE,QAAAC,aAAzE;AAArJ,IAAM,kBAAkB,WAAS,gBAAAA,MAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,8DAAmD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,MAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,MAAC,OAAE,IAAG,oDAAmD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,UAAK,IAAG,aAAY,MAAK,4BAA2B,GAAE,iBAAgB;AAAA,IAAE,gBAAAA,MAAC,OAAE,IAAG,yCAAwC,MAAK,QAAO,WAAU,kBAAiB,0BAAAA,MAAC,UAAK,IAAG,oCAAmC,GAAE,i4BAAg4B,GAAE;AAAA,KAAI;AAAA,GAAI;AAChmD,IAAO,uBAAQ;;;ACFf,YAAYE,YAAW;AAC2H,gBAAAC,OAAoE,QAAAC,aAApE;AAAlJ,IAAM,eAAe,WAAS,gBAAAA,MAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,yDAA8C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,MAAC,oBAAe,IAAG,oBAAmB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,MAAC,OAAE,IAAG,+CAA8C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,iDAAgD,MAAK,0BAAyB,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,gCAA+B,MAAK,QAAO,GAAE,ozDAAmzD;AAAA,KAAE;AAAA,GAAI;AAC3+E,IAAO,oBAAQ;;;ACFf,YAAYE,YAAW;AACwI,gBAAAC,OAAsE,QAAAC,aAAtE;AAA/J,IAAM,4BAA4B,WAAS,gBAAAA,MAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,2DAAgD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,MAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,MAAC,OAAE,IAAG,iDAAgD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,iDAAgD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,kCAAiC,MAAK,QAAO,GAAE,4eAA2e;AAAA,KAAE;AAAA,GAAI;AAC1rC,IAAO,kCAAQ;;;ACFf,YAAYE,aAAW;AACyH,gBAAAC,OAAiE,QAAAC,cAAjE;AAAhJ,IAAM,aAAa,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,sDAA2C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,4CAA2C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,mDAAkD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,OAAE,IAAG,+BAA8B,MAAK,QAAO,WAAU,kBAAiB,0BAAAA,MAAC,UAAK,IAAG,6BAA4B,GAAE,m5CAAk5C,GAAE;AAAA,KAAI;AAAA,GAAI;AACxoE,IAAO,kBAAQ;;;ACFf,YAAYE,aAAW;AACwH,gBAAAC,OAAmE,QAAAC,cAAnE;AAA/I,IAAM,YAAY,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,wDAA6C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,8CAA6C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,qCAAoC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,+BAA8B,MAAK,QAAO,GAAE,i9DAAg9D;AAAA,KAAE;AAAA,GAAI;AAC1nF,IAAO,iBAAQ;;;ACFf,YAAYE,aAAW;AAC6H,gBAAAC,OAAsE,QAAAC,cAAtE;AAApJ,IAAM,iBAAiB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,2DAAgD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,iDAAgD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,iDAAgD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,kCAAiC,MAAK,QAAO,GAAE,4eAA2e;AAAA,KAAE;AAAA,GAAI;AAC/qC,IAAO,sBAAQ;;;ACFf,YAAYE,aAAW;AACwH,gBAAAC,OAAgE,QAAAC,cAAhE;AAA/I,IAAM,YAAY,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,qDAA0C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,2CAA0C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,mCAAkC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,4BAA2B,MAAK,QAAO,GAAE,48DAA28D;AAAA,KAAE;AAAA,GAAI;AAC1mF,IAAO,iBAAQ;;;ACFf,YAAYE,aAAW;AACuH,gBAAAC,OAA+D,QAAAC,cAA/D;AAA9I,IAAM,WAAW,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,oDAAyC;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,QAAO;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,0CAAyC,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,mCAAkC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,2BAA0B,MAAK,QAAO,GAAE,8/DAA6/D;AAAA,KAAE;AAAA,GAAI;AACrpF,IAAO,gBAAQ;;;ACFf,YAAYE,aAAW;AACyH,gBAAAC,OAA8D,QAAAC,cAA9D;AAAhJ,IAAM,aAAa,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,yDAA8C;AAAA,EAAQ,gBAAAC,OAAC,OAAE,IAAG,+CAA8C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,4CAA2C,MAAK,WAAU,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,OAAE,IAAG,qCAAoC,MAAK,QAAO,WAAU,oBAAmB,0BAAAA,MAAC,UAAK,IAAG,UAAS,GAAE,mzCAAkzC,GAAE;AAAA,KAAI;AAAA,GAAI;AAC/0D,IAAO,kBAAQ;;;ACFf,YAAYE,aAAW;AACoH,gBAAAC,OAAuE,QAAAC,cAAvE;AAA3I,IAAM,QAAQ,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,4DAAiD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,kDAAiD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,+CAA8C,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,mCAAkC,MAAK,QAAO,GAAE,ghDAA+gD;AAAA,KAAE;AAAA,GAAI;AAC3sE,IAAO,aAAQ;;;ACFf,YAAYE,aAAW;AAC8H,gBAAAC,OAAqE,QAAAC,cAArE;AAArJ,IAAM,kBAAkB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,gEAAqD;AAAA,EAAQ,gBAAAC,OAAC,OAAE,IAAG,sDAAqD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,2CAA0C,MAAK,WAAU,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,OAAE,IAAG,4CAA2C,MAAK,QAAO,WAAU,uBAAsB,0BAAAA,MAAC,UAAK,IAAG,UAAS,GAAE,snCAAqnC,GAAE;AAAA,KAAI;AAAA,GAAI;AAC9qD,IAAO,uBAAQ;;;ACFf,YAAYE,aAAW;AACgI,gBAAAC,OAAwE,QAAAC,cAAxE;AAAvJ,IAAM,oBAAoB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,6DAAkD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,mDAAkD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,iDAAgD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,oCAAmC,MAAK,QAAO,GAAE,kzBAAizB;AAAA,KAAE;AAAA,GAAI;AAC9/C,IAAO,yBAAQ;;;ACFf,YAAYE,aAAW;AAC4H,gBAAAC,OAAuE,QAAAC,cAAvE;AAAnJ,IAAM,gBAAgB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,4DAAiD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,kDAAiD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,uDAAsD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,mCAAkC,MAAK,QAAO,GAAE,44DAA24D;AAAA,KAAE;AAAA,GAAI;AACvlF,IAAO,qBAAQ;;;ACFf,YAAYE,aAAW;AAC4H,gBAAAC,OAAqE,QAAAC,cAArE;AAAnJ,IAAM,gBAAgB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,0DAA+C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,gDAA+C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,iDAAgD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,iCAAgC,MAAK,QAAO,GAAE,6zBAA4zB;AAAA,KAAE;AAAA,GAAI;AAC5/C,IAAO,qBAAQ;;;ACFf,YAAYE,aAAW;AAC4H,gBAAAC,OAAuE,QAAAC,cAAvE;AAAnJ,IAAM,gBAAgB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,4DAAiD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,kDAAiD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,iDAAgD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,mCAAkC,MAAK,QAAO,GAAE,+jDAA8jD;AAAA,KAAE;AAAA,GAAI;AACpwE,IAAO,qBAAQ;;;ACFf,YAAYE,aAAW;AAC8H,gBAAAC,OAAgE,QAAAC,cAAhE;AAArJ,IAAM,kBAAkB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,2DAAgD;AAAA,EAAQ,gBAAAC,OAAC,OAAE,IAAG,iDAAgD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,2CAA0C,MAAK,WAAU,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,OAAE,IAAG,uCAAsC,MAAK,QAAO,WAAU,oBAAmB,0BAAAA,MAAC,UAAK,IAAG,kCAAiC,GAAE,2oBAA0oB,GAAE;AAAA,KAAI;AAAA,GAAI;AACzsC,IAAO,uBAAQ;;;ACFf,YAAYE,aAAW;AAC2H,gBAAAC,OAA6D,QAAAC,cAA7D;AAAlJ,IAAM,eAAe,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,wDAA6C;AAAA,EAAQ,gBAAAC,OAAC,OAAE,IAAG,8CAA6C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,2CAA0C,MAAK,WAAU,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,+BAA8B,MAAK,QAAO,GAAE,qjCAAojC;AAAA,KAAE;AAAA,GAAI;AAC1hD,IAAO,oBAAQ;;;ACFf,YAAYE,aAAW;AAC4H,gBAAAC,OAAoE,QAAAC,cAApE;AAAnJ,IAAM,gBAAgB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,yDAA8C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,+CAA8C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,2CAA0C,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,gCAA+B,MAAK,QAAO,GAAE,otDAAmtD;AAAA,KAAE;AAAA,GAAI;AAC14E,IAAO,qBAAQ;;;ACFf,YAAYE,aAAW;AACiI,gBAAAC,OAA4D,QAAAC,cAA5D;AAAxJ,IAAM,qBAAqB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,uDAA4C;AAAA,EAAQ,gBAAAC,OAAC,OAAE,IAAG,6CAA4C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,2CAA0C,MAAK,WAAU,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,8BAA6B,MAAK,QAAO,GAAE,63EAA43E;AAAA,KAAE;AAAA,GAAI;AACr2F,IAAO,0BAAQ;;;ACFf,YAAYE,aAAW;AAC4H,gBAAAC,OAA8D,QAAAC,cAA9D;AAAnJ,IAAM,gBAAgB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,yDAA8C;AAAA,EAAQ,gBAAAC,OAAC,OAAE,IAAG,+CAA8C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,2CAA0C,MAAK,WAAU,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,gCAA+B,MAAK,QAAO,GAAE,ikDAAgkD;AAAA,KAAE;AAAA,GAAI;AAC1iE,IAAO,qBAAQ;;;ACFf,YAAYE,aAAW;AAC8H,gBAAAC,OAAgE,QAAAC,cAAhE;AAArJ,IAAM,kBAAkB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,2DAAgD;AAAA,EAAQ,gBAAAC,OAAC,OAAE,IAAG,iDAAgD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,2CAA0C,MAAK,WAAU,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,kCAAiC,MAAK,QAAO,GAAE,6oBAA4oB;AAAA,KAAE;AAAA,GAAI;AAC9nC,IAAO,uBAAQ;;;ACFf,YAAYE,aAAW;AACqI,gBAAAC,OAA4D,QAAAC,cAA5D;AAA5J,IAAM,yBAAyB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,uDAA4C;AAAA,EAAQ,gBAAAC,OAAC,OAAE,IAAG,6CAA4C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,2CAA0C,MAAK,WAAU,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,8BAA6B,MAAK,QAAO,GAAE,63EAA43E;AAAA,KAAE;AAAA,GAAI;AACz2F,IAAO,+BAAQ;;;ACFf,YAAYE,aAAW;AACiI,gBAAAC,OAAoE,QAAAC,cAApE;AAAxJ,IAAM,qBAAqB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,yDAA8C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,+CAA8C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,wDAAuD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,gCAA+B,MAAK,QAAO,GAAE,0iDAAyiD;AAAA,KAAE;AAAA,GAAI;AAClvE,IAAO,2BAAQ;;;ACFf,YAAYE,aAAW;AAC4H,gBAAAC,OAAoE,QAAAC,cAApE;AAAnJ,IAAM,gBAAgB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,yDAA8C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,+CAA8C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,wDAAuD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,gCAA+B,MAAK,QAAO,GAAE,0iDAAyiD;AAAA,KAAE;AAAA,GAAI;AAC7uE,IAAO,sBAAQ;;;ACFf,YAAYE,aAAW;AACwH,gBAAAC,OAAgE,QAAAC,cAAhE;AAA/I,IAAM,YAAY,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,qDAA0C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,qBAAoB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,2CAA0C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,iDAAgD,MAAK,2BAA0B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,4BAA2B,MAAK,QAAO,GAAE,4xCAA2xC;AAAA,KAAE;AAAA,GAAI;AACt8D,IAAO,iBAAQ;;;ACFf,YAAYE,aAAW;AACqH,gBAAAC,OAAoF,QAAAC,cAApF;AAA5I,IAAM,SAAS,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,yEAA8D;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,+DAA8D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,oCAAmC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,gDAA+C,MAAK,QAAO,GAAE,ykBAAwkB;AAAA,KAAE;AAAA,GAAI;AACjyC,IAAO,cAAQ;;;ACFf,YAAYE,aAAW;AACuH,gBAAAC,OAAuE,QAAAC,cAAvE;AAA9I,IAAM,WAAW,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,4DAAiD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,uBAAsB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,kDAAiD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,oCAAmC,MAAK,6BAA4B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,mCAAkC,MAAK,QAAO,GAAE,02BAAy2B;AAAA,KAAE;AAAA,GAAI;AAC/hD,IAAO,gBAAQ;;;ACFf,YAAYE,aAAW;AAC0H,gBAAAC,OAAqE,QAAAC,cAArE;AAAjJ,IAAM,cAAc,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,0DAA+C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,gDAA+C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,oCAAmC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,iCAAgC,MAAK,QAAO,GAAE,6rEAA4rE;AAAA,KAAE;AAAA,GAAI;AAC72F,IAAO,mBAAQ;;;ACFf,YAAYE,aAAW;AACiI,gBAAAC,OAAqE,QAAAC,cAArE;AAAxJ,IAAM,qBAAqB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,0DAA+C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,gDAA+C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,oCAAmC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,iCAAgC,MAAK,QAAO,GAAE,6rEAA4rE;AAAA,KAAE;AAAA,GAAI;AACp3F,IAAO,0BAAQ;;;ACFf,YAAYE,aAAW;AACqH,gBAAAC,OAAgE,QAAAC,cAAhE;AAA5I,IAAM,SAAS,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,qDAA0C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,QAAO;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,2CAA0C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,mCAAkC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,4BAA2B,MAAK,QAAO,GAAE,uyBAAsyB;AAAA,KAAE;AAAA,GAAI;AAC/7C,IAAO,cAAQ;;;ACFf,YAAYE,aAAW;AACqH,gBAAAC,OAAuF,QAAAC,cAAvF;AAA5I,IAAM,SAAS,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,4EAAiE;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,QAAO;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,kEAAiE,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,sCAAqC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,mDAAkD,MAAK,QAAO,GAAE,0tBAAytB;AAAA,KAAE;AAAA,GAAI;AAC17C,IAAO,cAAQ;;;ACFf,YAAYE,aAAW;AACqH,gBAAAC,OAAsF,QAAAC,cAAtF;AAA5I,IAAM,SAAS,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,2EAAgE;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,QAAO;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,iEAAgE,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,sCAAqC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,kDAAiD,MAAK,QAAO,GAAE,8oBAA6oB;AAAA,KAAE;AAAA,GAAI;AAC32C,IAAO,cAAQ;;;ACFf,YAAYE,aAAW;AACqH,gBAAAC,OAAgF,QAAAC,cAAhF;AAA5I,IAAM,SAAS,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,qEAA0D;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,2DAA0D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,mCAAkC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,4CAA2C,MAAK,QAAO,GAAE,iyCAAgyC;AAAA,KAAE;AAAA,GAAI;AAC5+D,IAAO,cAAQ;;;ACFf,YAAYE,aAAW;AACqH,gBAAAC,OAAyF,QAAAC,cAAzF;AAA5I,IAAM,SAAS,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,8EAAmE;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,QAAO;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,oEAAmE,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,sCAAqC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,qDAAoD,MAAK,QAAO,GAAE,2tBAA0tB;AAAA,KAAE;AAAA,GAAI;AACj8C,IAAO,cAAQ;;;ACFf,YAAYE,aAAW;AAC6H,gBAAAC,OAAwE,QAAAC,cAAxE;AAApJ,IAAM,iBAAiB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,6DAAkD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,mDAAkD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,oCAAmC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,oCAAmC,MAAK,QAAO,GAAE,mpDAAkpD;AAAA,KAAE;AAAA,GAAI;AAC/0E,IAAO,sBAAQ;;;ACFf,YAAYE,aAAW;AACkI,gBAAAC,OAA2E,QAAAC,cAA3E;AAAzJ,IAAM,sBAAsB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,gEAAqD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,QAAO;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,sDAAqD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,mCAAkC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,uCAAsC,MAAK,QAAO,GAAE,23CAA03C;AAAA,KAAE;AAAA,GAAI;AACjkE,IAAO,2BAAQ;;;ACFf,YAAYE,aAAW;AAC+H,gBAAAC,OAAkF,QAAAC,cAAlF;AAAtJ,IAAM,mBAAmB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,uEAA4D;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,qBAAoB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,6DAA4D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,qCAAoC,MAAK,2BAA0B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,8CAA6C,MAAK,QAAO,GAAE,ykCAAwkC;AAAA,KAAE;AAAA,GAAI;AACpyD,IAAO,wBAAQ;;;ACFf,YAAYE,aAAW;AACmI,gBAAAC,OAAyE,QAAAC,cAAzE;AAA1J,IAAM,uBAAuB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,oEAAyD;AAAA,EAAQ,gBAAAC,OAAC,OAAE,IAAG,0DAAyD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,0CAAyC,MAAK,WAAU,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,2CAA0C,MAAK,QAAO,GAAE,4hEAA2hE;AAAA,KAAE;AAAA,GAAI;AAC5iF,IAAO,4BAAQ;;;ACFf,YAAYE,aAAW;AACqH,gBAAAC,OAA4E,QAAAC,cAA5E;AAA5I,IAAM,SAAS,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,iEAAsD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,uDAAsD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,uDAAsD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,wCAAuC,MAAK,QAAO,GAAE,usBAAssB;AAAA,KAAE;AAAA,GAAI;AAC15C,IAAO,cAAQ;;;ACFf,YAAYE,aAAW;AACuH,gBAAAC,OAA4E,QAAAC,cAA5E;AAA9I,IAAM,WAAW,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,iEAAsD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,uDAAsD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,uDAAsD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,wCAAuC,MAAK,QAAO,GAAE,usBAAssB;AAAA,KAAE;AAAA,GAAI;AAC55C,IAAO,gBAAQ;;;ACFf,YAAYE,aAAW;AAC+H,gBAAAC,OAAgE,QAAAC,cAAhE;AAAtJ,IAAM,mBAAmB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,qDAA0C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,2CAA0C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,qCAAoC,MAAK,4BAA2B,WAAU,mBAAkB,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,4BAA2B,MAAK,QAAO,GAAE,q2EAAo2E;AAAA,KAAE;AAAA,GAAI;AACxiG,IAAO,yBAAQ;;;ACFf,YAAYE,aAAW;AACqH,gBAAAC,OAAgE,QAAAC,cAAhE;AAA5I,IAAM,SAAS,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,qDAA0C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,2CAA0C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,qCAAoC,MAAK,4BAA2B,WAAU,mBAAkB,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,4BAA2B,MAAK,QAAO,GAAE,q2EAAo2E;AAAA,KAAE;AAAA,GAAI;AAC9hG,IAAO,cAAQ;;;ACFf,YAAYE,aAAW;AACwH,gBAAAC,OAAwE,QAAAC,cAAxE;AAA/I,IAAM,YAAY,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,6DAAkD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,mDAAkD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,mDAAkD,MAAK,4BAA2B,WAAU,kBAAiB,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,oCAAmC,MAAK,QAAO,GAAE,6oDAA4oD;AAAA,KAAE;AAAA,GAAI;AAC92E,IAAO,iBAAQ;;;ACFf,YAAYE,aAAW;AAC0H,gBAAAC,OAA6E,QAAAC,cAA7E;AAAjJ,IAAM,cAAc,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,kEAAuD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,wDAAuD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,qCAAoC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,OAAE,IAAG,gDAA+C,MAAK,QAAO,WAAU,kBAAiB,0BAAAA,MAAC,UAAK,IAAG,8CAA6C,GAAE,qmCAAomC,GAAE;AAAA,KAAI;AAAA,GAAI;AACv4D,IAAO,mBAAQ;;;ACFf,YAAYE,aAAW;AACqH,gBAAAC,OAAkE,QAAAC,cAAlE;AAA5I,IAAM,SAAS,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,uDAA4C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,6CAA4C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,UAAK,IAAG,aAAY,MAAK,4BAA2B,GAAE,iBAAgB;AAAA,IAAE,gBAAAA,MAAC,OAAE,IAAG,mCAAkC,MAAK,QAAO,WAAU,kBAAiB,0BAAAA,MAAC,UAAK,IAAG,UAAS,GAAE,miCAAkiC,GAAE;AAAA,KAAI;AAAA,GAAI;AAC3sD,IAAO,cAAQ;;;ACFf,YAAYE,aAAW;AACyH,gBAAAC,OAAoE,QAAAC,cAApE;AAAhJ,IAAM,aAAa,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,yDAA8C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,+CAA8C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,UAAK,IAAG,aAAY,MAAK,4BAA2B,GAAE,iBAAgB;AAAA,IAAE,gBAAAA,MAAC,OAAE,IAAG,qCAAoC,MAAK,QAAO,WAAU,kBAAiB,0BAAAA,MAAC,UAAK,IAAG,gCAA+B,GAAE,8+CAA6+C,GAAE;AAAA,KAAI;AAAA,GAAI;AACtrE,IAAO,kBAAQ;;;ACFf,YAAYE,aAAW;AACsH,gBAAAC,OAA8D,QAAAC,cAA9D;AAA7I,IAAM,UAAU,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,mDAAwC;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,yCAAwC,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,qCAAoC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,0BAAyB,MAAK,QAAO,GAAE,o/BAAm/B;AAAA,KAAE;AAAA,GAAI;AAC5oD,IAAO,eAAQ;;;ACFf,YAAYE,aAAW;AACqH,gBAAAC,OAAwF,QAAAC,cAAxF;AAA5I,IAAM,SAAS,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,6EAAkE;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,mEAAkE,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,wDAAuD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,oDAAmD,MAAK,QAAO,GAAE,qqBAAoqB;AAAA,KAAE;AAAA,GAAI;AAC75C,IAAO,cAAQ;;;ACFf,YAAYE,aAAW;AAC+H,gBAAAC,OAAuE,QAAAC,cAAvE;AAAtJ,IAAM,mBAAmB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,kEAAuD;AAAA,EAAQ,gBAAAC,OAAC,OAAE,IAAG,wDAAuD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,wDAAuD,MAAK,WAAU,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,yCAAwC,MAAK,QAAO,GAAE,o+DAAm+D;AAAA,KAAE;AAAA,GAAI;AACx/E,IAAO,wBAAQ;;;ACFf,YAAYE,aAAW;AACmJ,SAAoL,OAAAC,OAApL,QAAAC,cAAA;AAA1K,IAAM,oBAAoB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,SAAQ,0BAAyB,OAAM,OAAM,QAAO,OAAM,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAA,OAAC,UAAK;AAAA,oBAAAA,OAAC,oBAAe,IAAG,cAAa,IAAI,KAAK,IAAI,KAAK,IAAI,SAAS,IAAI,SAAS,mBAAkB,wDAAuD,eAAc,kBAAiB;AAAA,sBAAAD,MAAC,UAAK,QAAQ,GAAG,OAAO;AAAA,QAC9W,WAAW;AAAA,MACb,GAAG;AAAA,MAAE,gBAAAA,MAAC,UAAK,QAAQ,GAAG,OAAO;AAAA,QAC3B,WAAW;AAAA,MACb,GAAG;AAAA,OAAE;AAAA,IAAiB,gBAAAC,OAAC,oBAAe,IAAG,uBAAsB,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,mBAAkB,0BAAyB,eAAc,kBAAiB;AAAA,sBAAAD,MAAC,UAAK,WAAU,WAAU;AAAA,MAAE,gBAAAA,MAAC,UAAK,QAAQ,GAAG,WAAU,WAAU;AAAA,OAAE;AAAA,IAAiB,gBAAAC,OAAC,oBAAe,IAAG,uBAAsB,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,mBAAkB,0BAAyB,eAAc,kBAAiB;AAAA,sBAAAD,MAAC,UAAK,WAAU,WAAU;AAAA,MAAE,gBAAAA,MAAC,UAAK,QAAQ,GAAG,WAAU,WAAU;AAAA,OAAE;AAAA,IAAiB,gBAAAC,OAAC,oBAAe,IAAG,uBAAsB,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,mBAAkB,0BAAyB,eAAc,kBAAiB;AAAA,sBAAAD,MAAC,UAAK,QAAQ,MAAO,WAAU,WAAU;AAAA,MAAE,gBAAAA,MAAC,UAAK,QAAQ,GAAG,WAAU,WAAU;AAAA,OAAE;AAAA,KAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,WAAU,0BAAyB;AAAA,oBAAAD,MAAC,UAAK,OAAO,KAAK,QAAQ,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,IAAI,IAAI,IAAI,OAAO;AAAA,MAC73B,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,aAAa;AAAA,IACf,GAAG;AAAA,IAAE,gBAAAA,MAAC,UAAK,MAAK,6BAA4B,UAAS,WAAU,GAAE,sQAAqQ,UAAS,WAAU,WAAU,4CAA2C;AAAA,IAAE,gBAAAA,MAAC,UAAK,MAAK,6BAA4B,GAAE,uKAAsK,WAAU,4CAA2C;AAAA,IAAE,gBAAAA,MAAC,UAAK,MAAK,6BAA4B,GAAE,6OAA4O,WAAU,4CAA2C;AAAA,KAAE;AAAA,GAAI;AAC1+B,IAAO,yBAAQ;;;ACVf,YAAYE,aAAW;AACyH,gBAAAC,OAAkE,QAAAC,cAAlE;AAAhJ,IAAM,aAAa,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,uDAA4C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,6CAA4C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,8CAA6C,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,8BAA6B,MAAK,QAAO,GAAE,mxDAAkxD;AAAA,KAAE;AAAA,GAAI;AACn8E,IAAO,mBAAQ;;;ACFf,YAAYE,aAAW;AACqH,gBAAAC,OAAkE,QAAAC,cAAlE;AAA5I,IAAM,SAAS,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,uDAA4C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,6CAA4C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,8CAA6C,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,8BAA6B,MAAK,QAAO,GAAE,mxDAAkxD;AAAA,KAAE;AAAA,GAAI;AAC/7E,IAAO,cAAQ;;;ACFf,YAAYE,aAAW;AAC8H,gBAAAC,OAAkE,QAAAC,cAAlE;AAArJ,IAAM,kBAAkB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,uDAA4C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,6CAA4C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,8CAA6C,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,8BAA6B,MAAK,QAAO,GAAE,mxDAAkxD;AAAA,KAAE;AAAA,GAAI;AACx8E,IAAO,uBAAQ;;;ACFf,YAAYE,aAAW;AAC6H,gBAAAC,OAAkE,QAAAC,cAAlE;AAApJ,IAAM,iBAAiB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,uDAA4C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,6CAA4C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,8CAA6C,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,8BAA6B,MAAK,QAAO,GAAE,mxDAAkxD;AAAA,KAAE;AAAA,GAAI;AACv8E,IAAO,sBAAQ;;;ACFf,YAAYE,aAAW;AACuH,gBAAAC,OAAwF,QAAAC,cAAxF;AAA9I,IAAM,WAAW,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,6EAAkE;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,mEAAkE,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,qCAAoC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,oDAAmD,MAAK,QAAO,GAAE,ojDAAmjD;AAAA,KAAE;AAAA,GAAI;AAC3xE,IAAO,gBAAQ;;;ACFf,YAAYE,aAAW;AACyH,gBAAAC,OAAoE,QAAAC,cAApE;AAAhJ,IAAM,aAAa,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,yDAA8C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,+CAA8C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,qCAAoC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,gCAA+B,MAAK,QAAO,GAAE,saAAqa;AAAA,KAAE;AAAA,GAAI;AACnlC,IAAO,kBAAQ;;;ACFf,YAAYE,aAAW;AACkI,gBAAAC,OAAoE,QAAAC,cAApE;AAAzJ,IAAM,sBAAsB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,yDAA8C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,+CAA8C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,qCAAoC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,gCAA+B,MAAK,QAAO,GAAE,saAAqa;AAAA,KAAE;AAAA,GAAI;AAC5lC,IAAO,2BAAQ;;;ACFf,YAAYE,aAAW;AACoI,gBAAAC,OAAoE,QAAAC,cAApE;AAA3J,IAAM,wBAAwB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,yDAA8C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,+CAA8C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,qCAAoC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,gCAA+B,MAAK,QAAO,GAAE,saAAqa;AAAA,KAAE;AAAA,GAAI;AAC9lC,IAAO,6BAAQ;;;ACFf,YAAYE,aAAW;AACqH,gBAAAC,OAAiF,QAAAC,cAAjF;AAA5I,IAAM,SAAS,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,sEAA2D;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,4DAA2D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,wDAAuD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,6CAA4C,MAAK,QAAO,GAAE,wyCAAuyC;AAAA,KAAE;AAAA,GAAI;AAC3gE,IAAO,cAAQ;;;ACFf,YAAYE,aAAW;AAC+H,gBAAAC,OAAwE,QAAAC,cAAxE;AAAtJ,IAAM,mBAAmB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,6DAAkD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,qBAAoB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,mDAAkD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,qCAAoC,MAAK,2BAA0B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,oCAAmC,MAAK,QAAO,GAAE,6eAA4e;AAAA,KAAE;AAAA,GAAI;AAC1qC,IAAO,wBAAQ;;;ACFf,YAAYE,aAAW;AACwH,gBAAAC,OAAgE,QAAAC,cAAhE;AAA/I,IAAM,YAAY,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,qDAA0C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,QAAO;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,2CAA0C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,mCAAkC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,4BAA2B,MAAK,QAAO,GAAE,+fAA8f;AAAA,KAAE;AAAA,GAAI;AAC1pC,IAAO,iBAAQ;;;ACFf,YAAYE,aAAW;AACsH,gBAAAC,OAAuE,QAAAC,cAAvE;AAA7I,IAAM,UAAU,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,4DAAiD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,kDAAiD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,iDAAgD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,mCAAkC,MAAK,QAAO,GAAE,+jDAA8jD;AAAA,KAAE;AAAA,GAAI;AAC9vE,IAAO,eAAQ;;;ACFf,YAAYE,aAAW;AACmI,gBAAAC,OAAyE,QAAAC,cAAzE;AAA1J,IAAM,uBAAuB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,oEAAyD;AAAA,EAAQ,gBAAAC,OAAC,OAAE,IAAG,0DAAyD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,sCAAqC,MAAK,WAAU,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,2CAA0C,MAAK,QAAO,GAAE,mqCAAkqC;AAAA,KAAE;AAAA,GAAI;AAC/qD,IAAO,4BAAQ;;;ACFf,YAAYE,aAAW;AAC8H,gBAAAC,OAA0E,QAAAC,cAA1E;AAArJ,IAAM,kBAAkB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,qEAA0D;AAAA,EAAQ,gBAAAC,OAAC,OAAE,IAAG,2DAA0D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,0CAAyC,MAAK,WAAU,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,4CAA2C,MAAK,QAAO,GAAE,u4BAAs4B;AAAA,KAAE;AAAA,GAAI;AACr5C,IAAO,uBAAQ;;;ACFf,YAAYE,aAAW;AACgI,gBAAAC,OAA8E,QAAAC,cAA9E;AAAvJ,IAAM,oBAAoB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,mEAAwD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,qBAAoB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,QAAO;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,yDAAwD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,0CAAyC,MAAK,2BAA0B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,0CAAyC,MAAK,QAAO,GAAE,mzBAAkzB;AAAA,KAAE;AAAA,GAAI;AACrgD,IAAO,0BAAQ;;;ACFf,YAAYE,aAAW;AAC4H,gBAAAC,OAA8E,QAAAC,cAA9E;AAAnJ,IAAM,gBAAgB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,mEAAwD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,qBAAoB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,QAAO;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,yDAAwD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,0CAAyC,MAAK,2BAA0B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,0CAAyC,MAAK,QAAO,GAAE,mzBAAkzB;AAAA,KAAE;AAAA,GAAI;AACjgD,IAAO,qBAAQ;;;ACFf,YAAYE,aAAW;AAC0H,gBAAAC,OAA+E,QAAAC,cAA/E;AAAjJ,IAAM,cAAc,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,oEAAyD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,oBAAmB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,0DAAyD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,UAAK,IAAG,aAAY,MAAK,0BAAyB,GAAE,iBAAgB;AAAA,IAAE,gBAAAA,MAAC,OAAE,IAAG,gDAA+C,MAAK,QAAO,WAAU,kBAAiB,0BAAAA,MAAC,UAAK,IAAG,UAAS,GAAE,+yCAA8yC,GAAE;AAAA,KAAI;AAAA,GAAI;AAC//D,IAAO,mBAAQ;;;ACFf,YAAYE,aAAW;AACoH,gBAAAC,OAA+D,QAAAC,cAA/D;AAA3I,IAAM,QAAQ,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,oDAAyC;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,qBAAoB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,0CAAyC,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,mDAAkD,MAAK,2BAA0B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,2BAA0B,MAAK,QAAO,GAAE,u+DAAs+D;AAAA,KAAE;AAAA,GAAI;AAC5oF,IAAO,aAAQ;;;ACFf,YAAYE,aAAW;AACsH,gBAAAC,OAAiE,QAAAC,cAAjE;AAA7I,IAAM,UAAU,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,sDAA2C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,uBAAsB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,4CAA2C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,UAAK,IAAG,aAAY,MAAK,6BAA4B,GAAE,iBAAgB;AAAA,IAAE,gBAAAA,MAAC,OAAE,IAAG,kCAAiC,MAAK,QAAO,WAAU,kBAAiB,0BAAAA,MAAC,UAAK,IAAG,UAAS,GAAE,yxBAAwxB,GAAE;AAAA,KAAI;AAAA,GAAI;AACj8C,IAAO,eAAQ;;;ACFf,YAAYE,aAAW;AACyH,gBAAAC,OAAoE,QAAAC,cAApE;AAAhJ,IAAM,aAAa,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,yDAA8C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,+CAA8C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,oCAAmC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,gCAA+B,MAAK,QAAO,GAAE,ijDAAgjD;AAAA,KAAE;AAAA,GAAI;AAC7tE,IAAO,kBAAQ;;;ACFf,YAAYE,aAAW;AAC4H,gBAAAC,OAAkF,QAAAC,cAAlF;AAAnJ,IAAM,gBAAgB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,uEAA4D;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,qBAAoB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,6DAA4D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,qCAAoC,MAAK,2BAA0B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,8CAA6C,MAAK,QAAO,GAAE,ykCAAwkC;AAAA,KAAE;AAAA,GAAI;AACjyD,IAAO,qBAAQ;;;ACFf,YAAYE,aAAW;AAC+H,gBAAAC,OAAuE,QAAAC,cAAvE;AAAtJ,IAAM,mBAAmB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,4DAAiD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,kDAAiD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,iDAAgD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,mCAAkC,MAAK,QAAO,GAAE,m1BAAk1B;AAAA,KAAE;AAAA,GAAI;AAC3hD,IAAO,wBAAQ;;;ACFf,YAAYE,aAAW;AAC0H,gBAAAC,OAA0E,QAAAC,cAA1E;AAAjJ,IAAM,cAAc,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,+DAAoD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,qDAAoD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,iDAAgD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,OAAE,IAAG,mCAAkC,MAAK,QAAO,WAAU,oBAAmB,0BAAAA,MAAC,UAAK,IAAG,iCAAgC,GAAE,gpCAA+oC,GAAE;AAAA,KAAI;AAAA,GAAI;AACh6D,IAAO,mBAAQ;;;ACFf,YAAYE,aAAW;AACuH,gBAAAC,OAAwE,QAAAC,cAAxE;AAA9I,IAAM,WAAW,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,6DAAkD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,mDAAkD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,mDAAkD,MAAK,4BAA2B,WAAU,kBAAiB,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,oCAAmC,MAAK,QAAO,GAAE,6oDAA4oD;AAAA,KAAE;AAAA,GAAI;AAC72E,IAAO,gBAAQ;;;ACFf,YAAYE,aAAW;AAC6H,gBAAAC,OAAoF,QAAAC,cAApF;AAApJ,IAAM,iBAAiB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,yEAA8D;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,+DAA8D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,oCAAmC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,gDAA+C,MAAK,QAAO,GAAE,40DAA20D;AAAA,KAAE;AAAA,GAAI;AAC5iF,IAAO,uBAAQ;;;ACFf,YAAYE,aAAW;AACsH,gBAAAC,OAAoF,QAAAC,cAApF;AAA7I,IAAM,UAAU,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,yEAA8D;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,+DAA8D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,oCAAmC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,gDAA+C,MAAK,QAAO,GAAE,40DAA20D;AAAA,KAAE;AAAA,GAAI;AACriF,IAAO,eAAQ;;;ACFf,YAAYE,aAAW;AACqH,gBAAAC,OAA2E,QAAAC,cAA3E;AAA5I,IAAM,SAAS,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,sEAA2D;AAAA,EAAQ,gBAAAC,OAAC,OAAE,IAAG,4DAA2D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,wDAAuD,MAAK,WAAU,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,6CAA4C,MAAK,QAAO,GAAE,4yCAA2yC;AAAA,KAAE;AAAA,GAAI;AACl0D,IAAO,cAAQ;;;ACFf,YAAYE,aAAW;AACyH,gBAAAC,OAAgE,QAAAC,cAAhE;AAAhJ,IAAM,aAAa,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,qDAA0C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,2CAA0C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,oCAAmC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,4BAA2B,MAAK,QAAO,GAAE,6xCAA4xC;AAAA,KAAE;AAAA,GAAI;AAC77D,IAAO,mBAAQ;;;ACFf,YAAYE,aAAW;AACqH,gBAAAC,OAAgE,QAAAC,cAAhE;AAA5I,IAAM,SAAS,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,qDAA0C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,2CAA0C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,oCAAmC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,4BAA2B,MAAK,QAAO,GAAE,6xCAA4xC;AAAA,KAAE;AAAA,GAAI;AACz7D,IAAO,cAAQ;;;ACFf,YAAYE,aAAW;AAC8H,gBAAAC,OAAuE,QAAAC,cAAvE;AAArJ,IAAM,kBAAkB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,4DAAiD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,kDAAiD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,qCAAoC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,iCAAgC,MAAK,QAAO,GAAE,01CAAy1C;AAAA,KAAE;AAAA,GAAI;AACnhE,IAAO,wBAAQ;;;ACFf,YAAYE,aAAW;AAC0H,gBAAAC,OAAuE,QAAAC,cAAvE;AAAjJ,IAAM,cAAc,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,4DAAiD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,kDAAiD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,qCAAoC,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,iCAAgC,MAAK,QAAO,GAAE,01CAAy1C;AAAA,KAAE;AAAA,GAAI;AAC/gE,IAAO,mBAAQ;;;ACFf,YAAYE,aAAW;AACgI,gBAAAC,OAAyE,QAAAC,cAAzE;AAAvJ,IAAM,oBAAoB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,8DAAmD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,qBAAoB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,oDAAmD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,iDAAgD,MAAK,2BAA0B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,qCAAoC,MAAK,QAAO,GAAE,yqCAAwqC;AAAA,KAAE;AAAA,GAAI;AACt3D,IAAO,0BAAQ;;;ACFf,YAAYE,aAAW;AAC0I,gBAAAC,OAAyE,QAAAC,cAAzE;AAAjK,IAAM,8BAA8B,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,8DAAmD;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,qBAAoB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,oDAAmD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,iDAAgD,MAAK,2BAA0B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,qCAAoC,MAAK,QAAO,GAAE,yqCAAwqC;AAAA,KAAE;AAAA,GAAI;AACh4D,IAAO,mCAAQ;;;ACFf,YAAYE,aAAW;AACyH,gBAAAC,OAAqE,QAAAC,cAArE;AAAhJ,IAAM,aAAa,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,0DAA+C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,gDAA+C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,uDAAsD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,iCAAgC,MAAK,QAAO,GAAE,ghFAA+gF;AAAA,KAAE;AAAA,GAAI;AACltG,IAAO,kBAAQ;;;ACFf,YAAYE,aAAW;AACiI,gBAAAC,OAAqE,QAAAC,cAArE;AAAxJ,IAAM,qBAAqB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,0DAA+C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,gDAA+C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,uDAAsD,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,iCAAgC,MAAK,QAAO,GAAE,ghFAA+gF;AAAA,KAAE;AAAA,GAAI;AAC1tG,IAAO,0BAAQ;;;ACFf,YAAYE,aAAW;AACoH,gBAAAC,OAAmF,QAAAC,cAAnF;AAA3I,IAAM,QAAQ,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,wEAA6D;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,qBAAoB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,8DAA6D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,UAAK,IAAG,aAAY,MAAK,2BAA0B,GAAE,iBAAgB;AAAA,IAAE,gBAAAA,MAAC,OAAE,IAAG,oDAAmD,MAAK,QAAO,WAAU,kBAAiB,0BAAAA,MAAC,UAAK,IAAG,+CAA8C,GAAE,q5BAAo5B,GAAE;AAAA,KAAI;AAAA,GAAI;AAClpD,IAAO,aAAQ;;;ACFf,YAAYE,aAAW;AAC2H,gBAAAC,OAAmF,QAAAC,cAAnF;AAAlJ,IAAM,eAAe,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,wEAA6D;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,qBAAoB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,8DAA6D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,UAAK,IAAG,aAAY,MAAK,2BAA0B,GAAE,iBAAgB;AAAA,IAAE,gBAAAA,MAAC,OAAE,IAAG,oDAAmD,MAAK,QAAO,WAAU,kBAAiB,0BAAAA,MAAC,UAAK,IAAG,+CAA8C,GAAE,q5BAAo5B,GAAE;AAAA,KAAI;AAAA,GAAI;AACzpD,IAAO,oBAAQ;;;ACFf,YAAYE,aAAW;AACkI,gBAAAC,OAAmE,QAAAC,cAAnE;AAAzJ,IAAM,sBAAsB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,wDAA6C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,8CAA6C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,4CAA2C,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,+BAA8B,MAAK,QAAO,GAAE,q1DAAo1D;AAAA,KAAE;AAAA,GAAI;AAC/gF,IAAO,4BAAQ;;;ACFf,YAAYE,aAAW;AAC2H,gBAAAC,OAAmE,QAAAC,cAAnE;AAAlJ,IAAM,eAAe,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,wDAA6C;AAAA,EAAQ,gBAAAA,MAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,MAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,MAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,8CAA6C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,MAAC,OAAE,IAAG,4CAA2C,MAAK,4BAA2B,0BAAAA,MAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,MAAC,UAAK,IAAG,+BAA8B,MAAK,QAAO,GAAE,q1DAAo1D;AAAA,KAAE;AAAA,GAAI;AACxgF,IAAO,oBAAQ;;;ACFf,YAAYE,aAAW;AACO,SAAoH,OAAAC,OAApH,QAAAC,cAAA;AAA9B,IAAM,eAAe,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,MAAC,WAAO,uFAA4E;AAAA,EAAQ,gBAAAA,MAAC,OAAE,IAAG,6EAA4E,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG,0BAAAA,MAAC,UAAK,IAAG,UAAS,MAAK,WAAU,GAAE,0lBAAylB,GAAE;AAAA,GAAI;AAC//B,IAAO,oBAAQ;;;ACFf,YAAYE,aAAW;AACgI,gBAAAC,QAAyE,QAAAC,cAAzE;AAAvJ,IAAM,oBAAoB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,8DAAmD;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,oDAAmD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,wDAAuD,MAAK,4BAA2B,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,qCAAoC,MAAK,QAAO,GAAE,0/CAAy/C;AAAA,KAAE;AAAA,GAAI;AAChtE,IAAO,yBAAQ;;;ACFf,YAAYE,aAAW;AACgI,gBAAAC,QAA2F,QAAAC,cAA3F;AAAvJ,IAAM,oBAAoB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,gFAAqE;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,QAAO;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,sEAAqE,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,mCAAkC,MAAK,4BAA2B,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,uDAAsD,MAAK,QAAO,GAAE,yvCAAwvC;AAAA,KAAE;AAAA,GAAI;AAC7+D,IAAO,yBAAQ;;;ACFf,YAAYE,aAAW;AACkI,gBAAAC,QAAuF,QAAAC,cAAvF;AAAzJ,IAAM,sBAAsB,WAAS,gBAAAA,OAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,4EAAiE;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,OAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,OAAC,OAAE,IAAG,kEAAiE,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,8CAA6C,MAAK,4BAA2B,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,mDAAkD,MAAK,QAAO,GAAE,+zBAA8zB;AAAA,KAAE;AAAA,GAAI;AACvjD,IAAO,2BAAQ;;;ACFf,YAAYE,cAAW;AACqH,gBAAAC,QAAiF,QAAAC,eAAjF;AAA5I,IAAM,SAAS,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,sEAA2D;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,QAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,QAAC,OAAE,IAAG,4DAA2D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,UAAK,IAAG,aAAY,MAAK,4BAA2B,GAAE,iBAAgB;AAAA,IAAE,gBAAAA,OAAC,UAAK,IAAG,6CAA4C,MAAK,QAAO,GAAE,q+BAAo+B;AAAA,KAAE;AAAA,GAAI;AACvoD,IAAO,cAAQ;;;ACFf,YAAYE,cAAW;AACuH,gBAAAC,QAAiF,QAAAC,eAAjF;AAA9I,IAAM,WAAW,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,sEAA2D;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,QAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,QAAC,OAAE,IAAG,4DAA2D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,UAAK,IAAG,aAAY,MAAK,4BAA2B,GAAE,iBAAgB;AAAA,IAAE,gBAAAA,OAAC,UAAK,IAAG,6CAA4C,MAAK,QAAO,GAAE,q+BAAo+B;AAAA,KAAE;AAAA,GAAI;AACzoD,IAAO,gBAAQ;;;ACFf,YAAYE,cAAW;AACwH,gBAAAC,QAA0D,QAAAC,eAA1D;AAA/I,IAAM,YAAY,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,qDAA0C;AAAA,EAAQ,gBAAAC,QAAC,OAAE,IAAG,2CAA0C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,wDAAuD,MAAK,WAAU,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,4BAA2B,MAAK,QAAO,GAAE,w4BAAu4B;AAAA,KAAE;AAAA,GAAI;AAC92C,IAAO,iBAAQ;;;ACFf,YAAYE,cAAW;AACqH,gBAAAC,QAAqF,QAAAC,eAArF;AAA5I,IAAM,SAAS,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,0EAA+D;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,QAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,QAAC,OAAE,IAAG,gEAA+D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,mDAAkD,MAAK,4BAA2B,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,iDAAgD,MAAK,QAAO,GAAE,47CAA27C;AAAA,KAAE;AAAA,GAAI;AACtqE,IAAO,cAAQ;;;ACFf,YAAYE,cAAW;AACqH,gBAAAC,QAA8E,QAAAC,eAA9E;AAA5I,IAAM,SAAS,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,mEAAwD;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,QAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,QAAC,OAAE,IAAG,yDAAwD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,mDAAkD,MAAK,4BAA2B,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,0CAAyC,MAAK,QAAO,GAAE,8kEAA6kE;AAAA,KAAE;AAAA,GAAI;AACnyF,IAAO,cAAQ;;;ACFf,YAAYE,cAAW;AACqH,gBAAAC,QAAyE,QAAAC,eAAzE;AAA5I,IAAM,SAAS,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,8DAAmD;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,QAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,QAAC,OAAE,IAAG,oDAAmD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,iDAAgD,MAAK,4BAA2B,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,qCAAoC,MAAK,QAAO,GAAE,+kFAA8kF;AAAA,KAAE;AAAA,GAAI;AACnxG,IAAO,cAAQ;;;ACFf,YAAYE,cAAW;AAC0H,gBAAAC,QAAuE,QAAAC,eAAvE;AAAjJ,IAAM,cAAc,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,kEAAuD;AAAA,EAAQ,gBAAAC,QAAC,OAAE,IAAG,wDAAuD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,wDAAuD,MAAK,WAAU,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,yCAAwC,MAAK,QAAO,GAAE,o+DAAm+D;AAAA,KAAE;AAAA,GAAI;AACn/E,IAAO,oBAAQ;;;ACFf,YAAYE,cAAW;AAC+H,gBAAAC,QAAwE,QAAAC,eAAxE;AAAtJ,IAAM,mBAAmB,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,6DAAkD;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,QAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,QAAC,OAAE,IAAG,mDAAkD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,mDAAkD,MAAK,4BAA2B,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,oCAAmC,MAAK,QAAO,GAAE,+wBAA8wB;AAAA,KAAE;AAAA,GAAI;AAC59C,IAAO,wBAAQ;;;ACFf,YAAYE,cAAW;AACqH,gBAAAC,QAA+E,QAAAC,eAA/E;AAA5I,IAAM,SAAS,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,oEAAyD;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,QAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAA,OAAC,UAAK,IAAG,oDAAmD,MAAK,4BAA2B,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG,GAAE,0oDAAyoD;AAAA,GAAE;AAC3qE,IAAO,cAAQ;;;ACFf,YAAYE,cAAW;AACyH,gBAAAC,QAAiE,QAAAC,eAAjE;AAAhJ,IAAM,aAAa,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,sDAA2C;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,QAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,QAAC,OAAE,IAAG,4CAA2C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,+CAA8C,MAAK,4BAA2B,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,wBAAuB,MAAK,QAAO,GAAE,q6CAAo6C;AAAA,KAAE;AAAA,GAAI;AAC9kE,IAAO,kBAAQ;;;ACFf,YAAYE,cAAW;AACqH,gBAAAC,QAAwE,QAAAC,eAAxE;AAA5I,IAAM,SAAS,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,6DAAkD;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,QAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,QAAC,OAAE,IAAG,mDAAkD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,mDAAkD,MAAK,4BAA2B,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,oCAAmC,MAAK,QAAO,GAAE,6lBAA4lB;AAAA,KAAE;AAAA,GAAI;AAChyC,IAAO,cAAQ;;;ACFf,YAAYE,cAAW;AAC0H,gBAAAC,QAA+D,QAAAC,eAA/D;AAAjJ,IAAM,cAAc,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,0DAA+C;AAAA,EAAQ,gBAAAC,QAAC,OAAE,IAAG,gDAA+C,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,4CAA2C,MAAK,WAAU,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,iCAAgC,MAAK,QAAO,GAAE,grCAA+qC;AAAA,KAAE;AAAA,GAAI;AAC3pD,IAAO,mBAAQ;;;ACFf,YAAYE,cAAW;AACiI,gBAAAC,QAAuE,QAAAC,eAAvE;AAAxJ,IAAM,qBAAqB,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,4DAAiD;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,QAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,QAAC,OAAE,IAAG,kDAAiD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,oCAAmC,MAAK,4BAA2B,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,mCAAkC,MAAK,QAAO,GAAE,+mCAA8mC;AAAA,KAAE;AAAA,GAAI;AAC5yD,IAAO,2BAAQ;;;ACFf,YAAYE,cAAW;AACiI,gBAAAC,QAAuE,QAAAC,eAAvE;AAAxJ,IAAM,qBAAqB,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,4DAAiD;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,QAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,QAAC,OAAE,IAAG,kDAAiD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,oCAAmC,MAAK,4BAA2B,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,mCAAkC,MAAK,QAAO,GAAE,+mCAA8mC;AAAA,KAAE;AAAA,GAAI;AAC5yD,IAAO,2BAAQ;;;ACFf,YAAYE,cAAW;AAC4H,gBAAAC,QAAuE,QAAAC,eAAvE;AAAnJ,IAAM,gBAAgB,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,4DAAiD;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,QAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,QAAC,OAAE,IAAG,kDAAiD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,4CAA2C,MAAK,4BAA2B,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,mCAAkC,MAAK,QAAO,GAAE,mzBAAkzB;AAAA,KAAE;AAAA,GAAI;AACn/C,IAAO,qBAAQ;;;ACFf,YAAYE,cAAW;AAC0H,gBAAAC,QAAyE,QAAAC,eAAzE;AAAjJ,IAAM,cAAc,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,8DAAmD;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,QAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,QAAC,OAAE,IAAG,oDAAmD,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,8CAA6C,MAAK,4BAA2B,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,uCAAsC,MAAK,QAAO,GAAE,kaAAia;AAAA,KAAE;AAAA,GAAI;AAC1mC,IAAO,mBAAQ;;;ACFf,YAAYE,cAAW;AACqI,gBAAAC,QAA2E,QAAAC,eAA3E;AAA5J,IAAM,yBAAyB,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,sEAA2D;AAAA,EAAQ,gBAAAC,QAAC,OAAE,IAAG,4DAA2D,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,wDAAuD,MAAK,WAAU,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,UAAS,MAAK,QAAO,GAAE,uyEAAsyE;AAAA,KAAE;AAAA,GAAI;AAC1yF,IAAO,8BAAQ;;;ACFf,YAAYE,cAAW;AACuH,gBAAAC,QAAuD,QAAAC,eAAvD;AAA9I,IAAM,WAAW,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,kDAAuC;AAAA,EAAQ,gBAAAC,QAAC,OAAE,IAAG,wCAAuC,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,wDAAuD,MAAK,WAAU,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,OAAE,IAAG,8BAA6B,MAAK,QAAO,WAAU,oBAAmB,0BAAAA,OAAC,UAAK,IAAG,yBAAwB,GAAE,kgEAAigE,GAAE;AAAA,KAAI;AAAA,GAAI;AACliF,IAAO,gBAAQ;;;ACFf,YAAYE,cAAW;AACsH,gBAAAC,QAA+D,QAAAC,eAA/D;AAA7I,IAAM,UAAU,WAAS,gBAAAA,QAAC,SAAI,OAAM,8BAA6B,OAAM,OAAM,QAAO,OAAM,SAAQ,aAAY,MAAK,gBAAgB,GAAG,OAAO;AAAA,kBAAAD,OAAC,WAAO,oDAAyC;AAAA,EAAQ,gBAAAA,OAAC,UAAK,0BAAAC,QAAC,oBAAe,IAAG,sBAAqB,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK;AAAA,oBAAAD,OAAC,UAAK,QAAO,MAAK,WAAU,WAAU;AAAA,IAAE,gBAAAA,OAAC,UAAK,QAAO,QAAO,WAAU,WAAU;AAAA,KAAE,GAAiB;AAAA,EAAO,gBAAAC,QAAC,OAAE,IAAG,0CAAyC,MAAK,QAAO,UAAS,WAAU,QAAO,QAAO,aAAa,GAAG;AAAA,oBAAAD,OAAC,OAAE,IAAG,2CAA0C,MAAK,4BAA2B,0BAAAA,OAAC,UAAK,IAAG,aAAY,GAAE,iBAAgB,GAAE;AAAA,IAAI,gBAAAA,OAAC,UAAK,IAAG,2BAA0B,MAAK,QAAO,GAAE,imCAAgmC;AAAA,KAAE;AAAA,GAAI;AAClwD,IAAO,eAAQ;;;AvH2PN,gBAAAE,cAAA;AA7HT,IAAM,YAAY;AAAA,EAChB,CAAC,aAAa,OAAO,GAAG;AAAA,EACxB,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,MAAM,GAAG;AAAA,EACvB,CAAC,aAAa,OAAO,GAAG;AAAA,EACxB,CAAC,aAAa,UAAU,GAAG;AAAA,EAC3B,CAAC,aAAa,uBAAuB,GAAG;AAAA,EACxC,CAAC,aAAa,YAAY,GAAG;AAAA,EAC7B,CAAC,aAAa,SAAS,GAAG;AAAA,EAC1B,CAAC,aAAa,aAAa,GAAG;AAAA,EAC9B,CAAC,aAAa,sBAAsB,GAAG;AAAA,EACvC,CAAC,aAAa,OAAO,GAAG;AAAA,EACxB,CAAC,aAAa,MAAM,GAAG;AAAA,EACvB,CAAC,aAAa,WAAW,GAAG;AAAA,EAC5B,CAAC,aAAa,MAAM,GAAG;AAAA,EACvB,CAAC,aAAa,KAAK,GAAG;AAAA,EACtB,CAAC,aAAa,OAAO,GAAG;AAAA,EACxB,CAAC,aAAa,cAAc,GAAG;AAAA,EAC/B,CAAC,aAAa,EAAE,GAAG;AAAA,EACnB,CAAC,aAAa,YAAY,GAAG;AAAA,EAC7B,CAAC,aAAa,cAAc,GAAG;AAAA,EAC/B,CAAC,aAAa,UAAU,GAAG;AAAA,EAC3B,CAAC,aAAa,UAAU,GAAG;AAAA,EAC3B,CAAC,aAAa,UAAU,GAAG;AAAA,EAC3B,CAAC,aAAa,YAAY,GAAG;AAAA,EAC7B,CAAC,aAAa,SAAS,GAAG;AAAA,EAC1B,CAAC,aAAa,UAAU,GAAG;AAAA,EAC3B,CAAC,aAAa,eAAe,GAAG;AAAA,EAChC,CAAC,aAAa,UAAU,GAAG;AAAA,EAC3B,CAAC,aAAa,YAAY,GAAG;AAAA,EAC7B,CAAC,aAAa,mBAAmB,GAAG;AAAA,EACpC,CAAC,aAAa,eAAe,GAAG;AAAA,EAChC,CAAC,aAAa,UAAU,GAAG;AAAA,EAC3B,CAAC,aAAa,MAAM,GAAG;AAAA,EACvB,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,KAAK,GAAG;AAAA,EACtB,CAAC,aAAa,QAAQ,GAAG;AAAA,EACzB,CAAC,aAAa,eAAe,GAAG;AAAA,EAChC,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,WAAW,GAAG;AAAA,EAC5B,CAAC,aAAa,gBAAgB,GAAG;AAAA,EACjC,CAAC,aAAa,iBAAiB,GAAG;AAAA,EAClC,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,KAAK,GAAG;AAAA,EACtB,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,aAAa,GAAG;AAAA,EAC9B,CAAC,aAAa,EAAE,GAAG;AAAA,EACnB,CAAC,aAAa,MAAM,GAAG;AAAA,EACvB,CAAC,aAAa,QAAQ,GAAG;AAAA,EACzB,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,OAAO,GAAG;AAAA,EACxB,CAAC,aAAa,IAAI,GAAG;AAAA,EACrB,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,aAAa,GAAG;AAAA,EAC9B,CAAC,aAAa,cAAc,GAAG;AAAA,EAC/B,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,YAAY,GAAG;AAAA,EAC7B,CAAC,aAAa,OAAO,GAAG;AAAA,EACxB,CAAC,aAAa,WAAW,GAAG;AAAA,EAC5B,CAAC,aAAa,KAAK,GAAG;AAAA,EACtB,CAAC,aAAa,OAAO,GAAG;AAAA,EACxB,CAAC,aAAa,gBAAgB,GAAG;AAAA,EACjC,CAAC,aAAa,kBAAkB,GAAG;AAAA,EACnC,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,aAAa,GAAG;AAAA,EAC9B,CAAC,aAAa,MAAM,GAAG;AAAA,EACvB,CAAC,aAAa,IAAI,GAAG;AAAA,EACrB,CAAC,aAAa,iBAAiB,GAAG;AAAA,EAClC,CAAC,aAAa,YAAY,GAAG;AAAA,EAC7B,CAAC,aAAa,UAAU,GAAG;AAAA,EAC3B,CAAC,aAAa,cAAc,GAAG;AAAA,EAC/B,CAAC,aAAa,QAAQ,GAAG;AAAA,EACzB,CAAC,aAAa,EAAE,GAAG;AAAA,EACnB,CAAC,aAAa,IAAI,GAAG;AAAA,EACrB,CAAC,aAAa,OAAO,GAAG;AAAA,EACxB,CAAC,aAAa,UAAU,GAAG;AAAA,EAC3B,CAAC,aAAa,aAAa,GAAG;AAAA,EAC9B,CAAC,aAAa,QAAQ,GAAG;AAAA,EACzB,CAAC,aAAa,KAAK,GAAG;AAAA,EACtB,CAAC,aAAa,IAAI,GAAG;AAAA,EACrB,CAAC,aAAa,WAAW,GAAG;AAAA,EAC5B,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,OAAO,GAAG;AAAA,EACxB,CAAC,aAAa,QAAQ,GAAG;AAAA,EACzB,CAAC,aAAa,YAAY,GAAG;AAAA,EAC7B,CAAC,aAAa,cAAc,GAAG;AAAA,EAC/B,CAAC,aAAa,wBAAwB,GAAG;AAAA,EACzC,CAAC,aAAa,OAAO,GAAG;AAAA,EACxB,CAAC,aAAa,eAAe,GAAG;AAAA,EAChC,CAAC,aAAa,EAAE,GAAG;AAAA,EACnB,CAAC,aAAa,SAAS,GAAG;AAAA,EAC1B,CAAC,aAAa,SAAS,GAAG;AAAA,EAC1B,CAAC,aAAa,gBAAgB,GAAG;AAAA,EACjC,CAAC,aAAa,SAAS,GAAG;AAAA,EAC1B,CAAC,aAAa,cAAc,GAAG;AAAA,EAC/B,CAAC,aAAa,cAAc,GAAG;AAAA,EAC/B,CAAC,aAAa,gBAAgB,GAAG;AAAA,EACjC,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,KAAK,GAAG;AAAA,EACtB,CAAC,aAAa,MAAM,GAAG;AAAA,EACvB,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,QAAQ,GAAG;AAAA,EACzB,CAAC,aAAa,aAAa,GAAG;AAAA,EAC9B,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,OAAO,GAAG;AAAA,EACxB,CAAC,aAAa,GAAG,GAAG;AAAA,EACpB,CAAC,aAAa,QAAQ,GAAG;AAAA,EACzB,CAAC,aAAa,eAAe,GAAG;AAAA,EAChC,CAAC,aAAa,eAAe,GAAG;AAAA,EAChC,CAAC,aAAa,UAAU,GAAG;AAAA,EAC3B,CAAC,aAAa,QAAQ,GAAG;AAAA,EACzB,CAAC,aAAa,mBAAmB,GAAG;AAAA,EACpC,CAAC,aAAa,KAAK,GAAG;AAAA,EACtB,CAAC,aAAa,IAAI,GAAG;AACvB;AAEO,IAAM,qBAAgF,KAAK,CAAC,UAAU;AAC3G,QAAM,OAAQ,UAA4C,MAAM,OAAO,KAAK,UAAU;AACtF,SAAO,gBAAAA,OAAC,QAAM,GAAG,OAAO;AAC1B,CAAC;AAEM,IAAM,wBAAwB,OAAO,KAAK,SAAS;;;AFtOlD,gBAAAC,cAAA;AAhBR,IAAM,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE;AAS5D,IAAM,iBAA0C,CAAC,EAAE,aAAa,SAAS,OAAO,UAAU,MAAM,MAAM;AAC3G,QAAM,CAAC,OAAO,MAAM,IAAI,MAAM,IAAI;AAElC,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,CAAC;AAAA,MACP,WAAW,CAAC,UACV,gBAAAA,OAACC,UAAA,EAAQ,WAAU,OAAM,OAAO,SAAS,SACtC,iBACH;AAAA,MAGF,0BAAAD,OAAC,sBAAmB,QAAgB,SAAkB,OAAO,EAAE,SAAS,QAAQ,GAAG,OAAc;AAAA;AAAA,EACnG;AAEJ;;;A0HjCA,SAAS,OAAAE,YAAW;AAsBhB,gBAAAC,cAAA;AAVG,IAAM,WAA8B,CAAC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AACF,MAAM;AACJ,SACE,gBAAAA;AAAA,IAACD;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,iBAAiB,oBAAoB,WAAS,MAAM,QAAQ,WAAW;AAAA,QACvE,aAAa,gBAAgB,WAAS,MAAM,QAAQ;AAAA,QACpD,cAAc;AAAA,QACd,aAAa;AAAA,QACb;AAAA,QACA,SAAS;AAAA,QACT,QAAQ,cAAc,gBAAgB,SAAS;AAAA,QAC/C,UAAU;AAAA,QACV,GAAI,cAAc,EAAE,WAAW;AAAA,QAC/B,GAAI,iBAAiB,EAAE,cAAc;AAAA,QACrC,UAAU;AAAA,MACZ;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;;;A3HVc,qBAAAE,WAaI,OAAAC,QAbJ,QAAAC,eAAA;AAfP,IAAM,cAAoC,CAAC;AAAA,EAChD,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,QAAQ;AACV,MAAM;AACJ,QAAM,cAAc,WAAW,iBAAiB;AAChD,QAAM,cAAc,WAAW,QAAQ;AACvC,SACE,gBAAAD,OAACE,MAAA,EAAI,IAAI,EAAE,OAAO,OAAO,GACvB,0BAAAD,QAAC,YAAS,aAA0B,aAA0B,QAC3D;AAAA,eAEK,gBAAAA,QAAAF,WAAA,EACE;AAAA,sBAAAC;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,IAAI;AAAA,YACF,YAAY;AAAA,YACZ,SAAS;AAAA,YACT,YAAY;AAAA,YACZ;AAAA,YACA,gBAAgB;AAAA,YAChB,UAAU;AAAA,YACV,SAAS;AAAA,YACT;AAAA,UACF;AAAA,UAEA,0BAAAF,OAAC,kBAAe,aAAW,MAAC,SAAkB,MAAK,SAAQ;AAAA;AAAA,MAC7D;AAAA,MACA,gBAAAA,OAAC,WAAQ,aAAY,YAAW;AAAA,OAClC,IAEF;AAAA,IACJ,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,SAAS;AAAA,UACT,cAAc;AAAA,UACd,YAAY;AAAA,UACZ,GAAI,WACA,CAAC,IACD;AAAA,YACE,wBAAwB;AAAA,YACxB,qBAAqB;AAAA,YACrB,GAAI,CAAC,YAAY;AAAA,cACf,yBAAyB;AAAA,cACzB,sBAAsB;AAAA,YACxB;AAAA,UACF;AAAA,QACN;AAAA,QACA,SAAQ;AAAA,QAEP;AAAA;AAAA,IACH;AAAA,IACC,WAEK,gBAAAC,QAAAF,WAAA,EACE;AAAA,sBAAAC,OAACE,MAAA,EAAI,IAAI,EAAE,QAAQ,QAAQ,UAAU,IAAI,GACvC,0BAAAF,OAAC,WAAQ,aAAY,YAAW,GAClC;AAAA,MAEA,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC,IAAI;AAAA,YACF,yBAAyB;AAAA,YACzB,sBAAsB;AAAA,YACtB,UAAU;AAAA,YACV,SAAS;AAAA,YACT,cAAc;AAAA,YACd,YAAY;AAAA,UACd;AAAA,UACA,SAAQ;AAAA,UAEP;AAAA;AAAA,MACH;AAAA,OACF,IAEF;AAAA,KACN,GACF;AAEJ;AAEA,YAAY,cAAc;;;A4H7F1B,IAAM,mBAAmB,MAAe;AACtC,MAAI;AACF,WAA8B;AAAA,EAChC,QACM;AACJ,WAAO;AAAA,EACT;AACF;AAEA,IAAM,gBAAgB,iBAAiB;AAEhC,IAAM,SAAiB;AAAA,EAC5B,OAAO,CAAC,SAAiB,SAAyB;AAChD,QAAI,eAAe;AACjB,cAAQ,MAAM,WAAW,OAAO,IAAI,SAAS,SAAY,KAAK,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,CAAC,SAAiB,SAAyB;AAChD,QAAI,eAAe;AACjB,cAAQ,MAAM,WAAW,OAAO,IAAI,SAAS,SAAY,KAAK,IAAI;AAAA,IACpE;AAAA,EAEF;AAAA,EAEA,MAAM,CAAC,SAAiB,SAAyB;AAC/C,QAAI,eAAe;AACjB,cAAQ,KAAK,UAAU,OAAO,IAAI,SAAS,SAAY,KAAK,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,MAAM,CAAC,SAAiB,SAAyB;AAC/C,QAAI,eAAe;AACjB,cAAQ,KAAK,UAAU,OAAO,IAAI,SAAS,SAAY,KAAK,IAAI;AAAA,IAClE;AAAA,EACF;AACF;AAIO,IAAM,qBAAqB,CAAC,WAA2B;AAAA,EAC5D,OAAO,CAAC,SAAiB,SAAmB;AAAE,WAAO,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,IAAI;AAAA,EAAE;AAAA,EAC1F,OAAO,CAAC,SAAiB,SAAmB;AAAE,WAAO,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,IAAI;AAAA,EAAE;AAAA,EAC1F,MAAM,CAAC,SAAiB,SAAmB;AAAE,WAAO,KAAK,IAAI,KAAK,KAAK,OAAO,IAAI,IAAI;AAAA,EAAE;AAAA,EACxF,MAAM,CAAC,SAAiB,SAAmB;AAAE,WAAO,KAAK,IAAI,KAAK,KAAK,OAAO,IAAI,IAAI;AAAA,EAAE;AAC1F;;;AChDO,IAAM,iBAAiB,CAAC,QAAyB,YAAoB,WAAqB,CAAC,MAAe;AAC/G,MAAI,CAAC,OAAQ,QAAO;AACpB,MAAI,CAAC,cAAc,WAAW,KAAK,MAAM,GAAI,QAAO;AAEpD,QAAM,uBAAuB,WAAW,YAAY,EAAE,KAAK;AAE3D,MAAI,OAAO,WAAW,UAAU;AAC9B,WAAO,OAAO,YAAY,EAAE,SAAS,oBAAoB;AAAA,EAC3D;AAEA,MAAI,OAAO,WAAW,UAAU;AAC9B,WAAO,OAAO,MAAM,EAAE,YAAY,EAAE,SAAS,oBAAoB;AAAA,EACnE;AAEA,MAAI,OAAO,WAAW,WAAW;AAC/B,WAAO,OAAO,MAAM,EAAE,YAAY,EAAE,SAAS,oBAAoB;AAAA,EACnE;AAEA,MAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,WAAO,OAAO,KAAK,UAAQ,eAAe,MAAM,YAAY,QAAQ,CAAC;AAAA,EACvE;AAEA,MAAI,OAAO,WAAW,UAAU;AAC9B,WAAO,OAAO,QAAQ,MAAM,EACzB,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,SAAS,GAAG,CAAC,EACzC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,eAAe,OAAO,YAAY,QAAQ,CAAC;AAAA,EACpE;AAEA,SAAO;AACT;;;AjIoBU,SAgJN,YAAAG,WAhJM,OAAAC,QAqJI,QAAAC,eArJJ;AAvCV,IAAM,yBAAmD,CAAC,KAAK,IAAI,KAAK,OAAO;AAC7E,SAAO,GAAG,cAAc,EAAE;AAC5B;AAwBA,IAAM,UAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOlC;AAAA,IACE,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,YAAY,CAAC,eAAe;AAC1B,aACE,gBAAAD,OAACE,UAAA,EAAQ,OAAK,MAAC,OAAO,OAAO,WAAW,KAAK,GAC3C,0BAAAF;AAAA,QAAC;AAAA;AAAA,UAAK,OAAO;AAAA,YACX,UAAU;AAAA,YACV,UAAU;AAAA,YACV,cAAc;AAAA,YACd,YAAY;AAAA,UACd;AAAA,UAEG,qBAAW;AAAA;AAAA,MACd,GACF;AAAA,IAEJ;AAAA,IACA,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,YAAY,gBACV,gBAAAA,OAAC,2BAAwB,OAAO,WAAW,OAAiB;AAAA,IAE9D,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,YAAY,CAAC,eAAe;AAE1B,UAAI,CAAC,WAAW,IAAI,uBAAuB,CAAC,WAAW,IAAI,sBAAsB;AAC/E;AAAA,MACF;AACA,aACE,gBAAAA,OAAC,eAAY,UAAU,WAAW,IAAI,sBAAsB,SAAS,WAAW,IAAI,qBAAqB;AAAA,IAE7G;AAAA,IACA,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY,CAAC,eAAe;AAC1B,aAAO,gBAAAA,OAAC,eAAY,UAAU,WAAW,IAAI,eAAe,SAAS,WAAW,IAAI,cAAc;AAAA,IACpG;AAAA,IACA,gBAAgB;AAAA,EAClB;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY,gBAAc,gBAAAA,OAAC,sBAAmB,QAAQ,WAAW,IAAI,QAAQ;AAAA,IAC7E,UAAU;AAAA,EACZ;AACF;AAEA,IAAM,uBAAqC,EAAE,OAAO,wBAAwB,MAAM,MAAM;AAEjF,IAAM,gBAAwC,CAAC;AAAA,EACpD,wBAAwB;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA,gBAAgB;AAClB,MAAM;AACJ,QAAM,CAAC,YAAY,aAAa,IAAIG,UAAS,MAAM,aAAa,QAAQ,iBAAiB,KAAK,EAAE;AAGhG,QAAM,CAAC,WAAW,YAAY,IAAIA,UAAwB,MAAM;AAC9D,UAAM,eAAe,aAAa,QAAQ,gBAAgB;AAC1D,QAAI,cAAc;AAChB,UAAI;AACF,eAAO,KAAK,MAAM,YAAY;AAAA,MAChC,SACO,OAAO;AACZ,eAAO,MAAM,kCAAkC,KAAK;AAAA,MACtD;AAAA,IACF;AACA,WAAO;AAAA,MACL;AAAA,QACE,OAAO,cAAc;AAAA,QACrB,MAAM,cAAc;AAAA,MACtB;AAAA,IACF;AAAA,EACF,CAAC;AAED,QAAM,iBAAiB,YAAY,CAAC,eAAoC;AACtE,gBAAY,WAAW,GAAG;AAAA,EAC5B,GAAG,CAAC,WAAW,CAAC;AAEhB,QAAM,yBAAyB,YAAY,CAAC,SAAwC;AAClF,UAAM,WAAW,KAAK,OAAO;AAC7B,kBAAc,QAAQ;AACtB,iBAAa,QAAQ,mBAAmB,QAAQ;AAAA,EAClD,GAAG,CAAC,CAAC;AAEL,QAAM,wBAAwB,YAAY,CAAC,iBAAgC;AACzE,iBAAa,YAAY;AACzB,iBAAa,QAAQ,kBAAkB,KAAK,UAAU,YAAY,CAAC;AAAA,EACrE,GAAG,CAAC,CAAC;AAQL,QAAM,0BAA0B;AAAA,IAC9B,CAAC,SAAwB;AACvB,UAAI,WAAW,WAAW,EAAG,QAAO;AACpC,aAAO,eAAe,MAAqC,UAAU;AAAA,IACvE;AAAA,IACA,CAAC,UAAU;AAAA,EACb;AAEA,QAAM,iBAAiBC,SAAQ,MAAM,CAAC,uBAAuB,GAAG,CAAC,uBAAuB,CAAC;AAGzF,QAAM,eAAeA;AAAA,IACnB,MAAM,KAAK,OAAO,SAAO,eAAe,MAAM,YAAU,OAAO,GAAG,CAAC,CAAC;AAAA,IACpE,CAAC,gBAAgB,IAAI;AAAA,EACvB;AAEA,SACE,gBAAAH,QAAAF,WAAA,EACE;AAAA,oBAAAC,OAAC,QAAK,MAAI,MAAC,IAAI,IACb,0BAAAC,QAACI,MAAA,EAAI,IAAI,EAAE,YAAY,UAAU,SAAS,QAAQ,KAAK,SAAS,GAC9D;AAAA,sBAAAL;AAAA,QAAC;AAAA;AAAA,UACC,OACE,gBAAAC,QAACI,MAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,KAAK,UAAU,GACzC;AAAA,4BAAAL,OAAC,UAAO,UAAS,SAAQ;AAAA,YACzB,gBAAAA,OAACM,aAAA,EAAW,0BAAY;AAAA,aAC1B;AAAA,UAEF,UAAU;AAAA,UACV,MAAK;AAAA,UACL,IAAI,EAAE,UAAU,QAAQ;AAAA,UACxB,OAAO;AAAA;AAAA,MACT;AAAA,MACA,gBAAAN,OAACK,MAAA,EAAI,IAAI,EAAE,UAAU,EAAE,GAAG;AAAA,MACzB,iCACC,gBAAAL;AAAA,QAAC;AAAA;AAAA,UACC,SACE,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,SAAS;AAAA,cACT,UAAU,CAAC,UAAU;AAAE,8CAA8B,MAAM,OAAO,OAAO;AAAA,cAAE;AAAA,cAC3E,MAAK;AAAA;AAAA,UACP;AAAA,UAEF,OAAM;AAAA;AAAA,MACR;AAAA,MAEF,gBAAAA,OAAC,UAAO,SAAS,cAAc,WAAW,gBAAAA,OAAC,yBAAsB,GAAI,yBAErE;AAAA,MACA,gBAAAA,OAAC,UAAO,UAAU,SAAS,SAAS,WAAW,WAAW,gBAAAA,OAAC,UAAO,GAAI,qBAEtE;AAAA,OACF,GACF;AAAA,IACA,gBAAAA,OAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,eAAe,UAAU,UAAU,EAAE,GAClE,0BAAAA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,UACF,WAAW;AAAA,UACX,SAAS;AAAA,UACT,eAAe;AAAA,UACf,UAAU;AAAA,UACV,WAAW;AAAA,UACX,GAAG;AAAA,QACL;AAAA,QAEA,0BAAAA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,mBAAiB;AAAA,YACjB,UAAU,CAAC,QAAc,IAAI;AAAA,YAC7B,cAAc;AAAA,cACZ,YAAY;AAAA,gBACV;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,YACA;AAAA,YACA,cAAc,CAAC,YAAY;AAAE,2BAAa,OAAO;AAAA,YAAE;AAAA,YACnD,kBAAkB,CAAC,gBAAgB;AAAE,+BAAiB,WAAW;AAAA,YAAE;AAAA,YACnE,YAAY;AAAA,YACZ,mBAAmB;AAAA,YACnB;AAAA,YACA;AAAA,YACA,gBAAe;AAAA,YACf;AAAA,YACA,WAAW;AAAA,YACX,MAAM;AAAA,YACN;AAAA,YACA;AAAA,YACA,IAAI,EAAE,UAAU,EAAE;AAAA;AAAA,QACpB;AAAA;AAAA,IACF,GACF;AAAA,KACF;AAEJ;;;ADtPQ,SAEI,OAAAO,QAFJ,QAAAC,eAAA;AAJD,IAAM,YAAgC,CAAC,UAAU;AACtD,SACE,gBAAAA,QAACC,MAAA,EAAI,eAAY,mBAAkB,IAAI,EAAE,SAAS,QAAQ,eAAe,UAAU,UAAU,GAAG,KAAK,GAAG,OAAO,OAAO,GACnH;AAAA,UAAM,MAAM,SACX,gBAAAD;AAAA,MAAC;AAAA;AAAA,QACC,QACE,gBAAAD,OAACG,SAAA,EAAO,SAAS,MAAM,WAAW,mBAAK;AAAA,QAEzC,UAAS;AAAA,QACV;AAAA;AAAA,UAEE;AAAA,UACA,MAAM,MAAM,MAAM;AAAA;AAAA;AAAA,IACrB;AAAA,KAEA,MAAM,MAAM,SAAS,UAAa,MAAM,MAAM,YAC9C,gBAAAH;AAAA,MAAC;AAAA;AAAA,QACC,uBAAuB,MAAM;AAAA,QAC7B,SAAS,MAAM,MAAM;AAAA,QACrB,cAAc,MAAM;AAAA,QACpB,+BAA+B,MAAM;AAAA,QACrC,cAAc,MAAM;AAAA,QACpB,kBAAkB,MAAM;AAAA,QACxB,WAAW,MAAM;AAAA,QACjB,aAAa,MAAM;AAAA,QACnB,MAAM,MAAM;AAAA,QACZ,UAAU,MAAM;AAAA,QAChB,UAAU,MAAM;AAAA,QAChB,MAAM,MAAM,MAAM,QAAQ,CAAC;AAAA,QAC3B,oBAAoB,MAAM;AAAA,QAC1B,eAAe,EAAE,OAAO,wBAAwB,MAAM,MAAM;AAAA;AAAA,IAC9D;AAAA,KAEJ;AAEJ;;;AmI3DA,SAAS,cAAc,oBAAoB;AAC3C,SAAS,SAAAI,QAAO,YAAY,OAAAC,MAAK,UAAAC,SAAQ,MAAM,cAAAC,mBAAkB;;;ACgB1D,IAAM,4BAAN,cAAwC,MAAM;AAAA,EACnD,YAAY,SAAiB,OAAe;AAC1C,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACf;AACF;AAKO,IAAM,kBAAN,cAA8B,MAAM;AAAA,EACzC,YAAY,SAAiB,OAAe;AAC1C,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACf;AACF;;;AC9BO,IAAM,0BAA0B;AAEhC,IAAM,cAAc;AAEpB,IAAM,gBAAgB;AAAA,EAC3B,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AACV;AAEO,IAAM,mBAAmB,CAAC,aAA6B;AAC5D,SAAO,IAAI,WAAW,GAAG,QAAQ;AACnC;AAEO,IAAM,iBAAiB,CAAC,aAA6B;AAE1D,MAAI,aAAa,cAAc,QAAQ,aAAa,cAAc,QAAQ;AACxE,WAAO;AAAA,EACT;AAEA,SAAO,iBAAiB,QAAQ;AAClC;AAIO,IAAM,wBAAwB,CAAC,oBAA4B,aAA6B;AAC7F,SAAO,GAAG,kBAAkB,GAAG,uBAAuB,GAAG,eAAe,QAAQ,CAAC;AACnF;;;AFEgB,SAoPP,YAAAC,WApPO,OAAAC,QA4BJ,QAAAC,eA5BI;AAnBT,IAAM,gBAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AACF,MAAM;AAEJ,MAAI,iBAAiB,2BAA2B;AAC9C,WACE,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,eAAe;AAAA,UACf,KAAK;AAAA,UACL,gBAAgB;AAAA,UAChB,GAAG;AAAA,QACL;AAAA,QAEA,0BAAAD;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,MAAM,gBAAAH,OAAC,gBAAa,UAAS,SAAQ;AAAA,YACrC,UAAS;AAAA,YACT,IAAI,EAAE,UAAU,KAAK,OAAO,OAAO;AAAA,YAEnC;AAAA,8BAAAA,OAAC,cAAW,IAAI,EAAE,YAAY,OAAO,GAAG,yCAA2B;AAAA,cACnE,gBAAAA,OAACI,aAAA,EAAW,IAAI,EAAE,IAAI,EAAE,GAAG,SAAQ,SAAQ,uFAE3C;AAAA,cACA,gBAAAJ,OAACI,aAAA,EAAW,IAAI,EAAE,IAAI,EAAE,GAAG,SAAQ,SACjC,0BAAAJ,OAAC,YAAO,sCAAwB,GAClC;AAAA,cACA,gBAAAA,OAACI,aAAA,EAAW,IAAI,EAAE,IAAI,EAAE,GAAG,SAAQ,SAAQ,kEAE3C;AAAA,cACA,gBAAAJ;AAAA,gBAACE;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,IAAI;AAAA,oBACF,iBAAiB;AAAA,oBACjB,cAAc;AAAA,oBACd,UAAU;AAAA,oBACV,GAAG;AAAA,kBACL;AAAA,kBACD;AAAA;AAAA,cAED;AAAA,cACA,gBAAAD,QAACG,aAAA,EAAW,IAAI,EAAE,WAAW,UAAU,IAAI,GAAG,IAAI,EAAE,GAAG,SAAQ,SAAQ;AAAA;AAAA,gBAEpE;AAAA,gBACD,gBAAAH,QAAC,UACE;AAAA;AAAA,kBAAwB;AAAA,mBAE3B;AAAA,gBAAO;AAAA,gBAEN;AAAA,gBACD,gBAAAD,OAAC,UAAK,4CAA8B;AAAA,gBACnC;AAAA,gBAAI;AAAA,gBAEJ;AAAA,gBACD,gBAAAA,OAAC,UAAK,2BAAa;AAAA,gBAClB;AAAA,gBAAI;AAAA,gBAEJ;AAAA,gBACD,gBAAAA;AAAA,kBAAC;AAAA;AAAA,oBACC,MAAK;AAAA,oBACL,KAAI;AAAA,oBACJ,QAAO;AAAA,oBACR;AAAA;AAAA,gBAED;AAAA,iBACF;AAAA,cAEA,gBAAAA,OAACI,aAAA,EAAW,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,SAAQ,SACxC,0BAAAJ,OAAC,YAAO,mCAAqB,GAC/B;AAAA,cACA,gBAAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAK;AAAA,kBACL,KAAI;AAAA,kBACJ,QAAO;AAAA,kBACR;AAAA;AAAA,cAED;AAAA,cACC,WACC,gBAAAA,OAACE,MAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,gBAAgB,cAAc,IAAI,EAAE,GAC9D,0BAAAF;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACC,cAAW;AAAA,kBACX,SAAS;AAAA,kBACT,SAAQ;AAAA,kBACT;AAAA;AAAA,cAED,GACF;AAAA;AAAA;AAAA,QAEJ;AAAA;AAAA,IACF;AAAA,EAEJ;AAGA,MAAI,iBAAiB,iBAAiB;AACpC,WACE,gBAAAL;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,eAAe;AAAA,UACf,KAAK;AAAA,UACL,gBAAgB;AAAA,UAChB,GAAG;AAAA,QACL;AAAA,QAEA,0BAAAD;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,MAAM,gBAAAH,OAAC,gBAAa,UAAS,SAAQ;AAAA,YACrC,UAAS;AAAA,YACT,IAAI,EAAE,UAAU,KAAK,OAAO,OAAO;AAAA,YAEnC;AAAA,8BAAAA,OAAC,cAAW,IAAI,EAAE,YAAY,OAAO,GAAG,8BAAgB;AAAA,cACxD,gBAAAA,OAACI,aAAA,EAAW,IAAI,EAAE,IAAI,EAAE,GAAG,SAAQ,SAAQ,kGAE3C;AAAA,cACA,gBAAAJ,OAACI,aAAA,EAAW,IAAI,EAAE,IAAI,EAAE,GAAG,SAAQ,SACjC,0BAAAJ,OAAC,YAAO,kCAAoB,GAC9B;AAAA,cACA,gBAAAA;AAAA,gBAACE;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,IAAI;AAAA,oBACF,iBAAiB;AAAA,oBACjB,cAAc;AAAA,oBACd,UAAU;AAAA,oBACV,GAAG;AAAA,kBACL;AAAA,kBACD;AAAA;AAAA,cAED;AAAA,cACC,WACC,gBAAAF,OAACE,MAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,gBAAgB,cAAc,IAAI,EAAE,GAC9D,0BAAAF;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACC,cAAW;AAAA,kBACX,SAAS;AAAA,kBACT,SAAQ;AAAA,kBACT;AAAA;AAAA,cAED,GACF;AAAA;AAAA;AAAA,QAEJ;AAAA;AAAA,IACF;AAAA,EAEJ;AAGA,MAAI,QAAQ,WAAW,YAAY;AACjC,WACE,gBAAAL;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,eAAe;AAAA,UACf,KAAK;AAAA,UACL,gBAAgB;AAAA,UAChB,GAAG;AAAA,QACL;AAAA,QAEA,0BAAAD;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,MAAM,gBAAAH,OAAC,gBAAa,UAAS,SAAQ;AAAA,YACrC,UAAS;AAAA,YACT,IAAI,EAAE,UAAU,KAAK,OAAO,OAAO;AAAA,YAEnC;AAAA,8BAAAA,OAAC,cAAW,IAAI,EAAE,YAAY,OAAO,GAAG,uCAAyB;AAAA,cACjE,gBAAAA,OAACI,aAAA,EAAW,IAAI,EAAE,IAAI,EAAE,GAAG,SAAQ,SAAQ,6FAE3C;AAAA,cACA,gBAAAJ,OAACI,aAAA,EAAW,IAAI,EAAE,IAAI,EAAE,GAAG,SAAQ,SACjC,0BAAAJ,OAAC,YAAO,iDAAmC,GAC7C;AAAA,cACA,gBAAAA;AAAA,gBAACE;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,IAAI;AAAA,oBACF,iBAAiB;AAAA,oBACjB,cAAc;AAAA,oBACd,UAAU;AAAA,oBACV,WAAW;AAAA,oBACX,GAAG;AAAA,kBACL;AAAA,kBAEC,iBAAO,uCAAuC,uBAAuB;AAAA;AAAA;AAAA;AAAA,cAGxE;AAAA,cACA,gBAAAF,OAACI,aAAA,EAAW,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,SAAQ,SACxC,0BAAAJ,OAAC,YAAO,mEAAqD,GAC/D;AAAA,cACA,gBAAAA,OAACI,aAAA,EAAW,IAAI,EAAE,IAAI,EAAE,GAAG,SAAQ,SAAQ,2CAE3C;AAAA,cACA,gBAAAJ;AAAA,gBAACE;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,IAAI;AAAA,oBACF,iBAAiB;AAAA,oBACjB,cAAc;AAAA,oBACd,UAAU;AAAA,oBACV,GAAG;AAAA,kBACL;AAAA,kBACD;AAAA;AAAA,cAED;AAAA,cACC,QAAQ,OAAO,IAAI,KAClB,gBAAAF,OAACI,aAAA,EAAW,IAAI,EAAE,SAAS,SAAS,WAAW,UAAU,IAAI,EAAE,GAAG,SAAQ,WACvE,iBAAO,MACV;AAAA,cAED,WACC,gBAAAJ,OAACE,MAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,gBAAgB,cAAc,IAAI,EAAE,GAC9D,0BAAAF;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACC,cAAW;AAAA,kBACX,SAAS;AAAA,kBACT,SAAQ;AAAA,kBACT;AAAA;AAAA,cAED,GACF;AAAA;AAAA;AAAA,QAEJ;AAAA;AAAA,IACF;AAAA,EAEJ;AAGA,MAAI,OAAO;AACT,WACE,gBAAAL;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,eAAe;AAAA,UACf,KAAK;AAAA,UACL,gBAAgB;AAAA,UAChB,GAAG;AAAA,QACL;AAAA,QAEA,0BAAAD;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,MAAM,gBAAAH,OAAC,gBAAa,UAAS,SAAQ;AAAA,YACrC,UAAS;AAAA,YACT,IAAI,EAAE,UAAU,KAAK,OAAO,OAAO;AAAA,YAEnC;AAAA,8BAAAA,OAAC,cAAW,IAAI,EAAE,YAAY,OAAO,GAAG,mBAAK;AAAA,cAC7C,gBAAAA,OAACI,aAAA,EAAW,IAAI,EAAE,IAAI,EAAE,GAAG,SAAQ,SAChC,gBAAM,SACT;AAAA,cACC,WACC,gBAAAJ,OAACE,MAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,gBAAgB,cAAc,IAAI,EAAE,GAC9D,0BAAAF;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACC,cAAW;AAAA,kBACX,SAAS;AAAA,kBACT,SAAQ;AAAA,kBACT;AAAA;AAAA,cAED,GACF;AAAA;AAAA;AAAA,QAEJ;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,SAAO,gBAAAL,OAAAD,WAAA,EAAE;AACX;;;AGxRA,SAAS,iBAAAO,gBAAe,cAAAC,mBAAkB;AAC1C,SAAS,eAAAC,cAAa,WAAAC,gBAAe;;;ACE9B,IAAM,iBAAiB;AAAA,EAC5B,wBAAwB;AAAA,EACxB,yBAAyB;AAAA,EACzB,mBAAmB;AACrB;;;ACAA,IAAM,YAAY,mBAAmB,KAAK;AAE1C,IAAM,cAAc,OAAU,YAIZ;AAChB,QAAM,MAAM,sBAAsB,QAAQ,oBAAoB,QAAQ,QAAQ;AAE9E,MAAI;AACF,cAAU,KAAK,sBAAsB,EAAE,SAAS,IAAI,CAAC;AAErD,UAAM,UAAU,IAAI,QAAQ,QAAQ,SAAS,OAAO;AACpD,YAAQ,IAAI,gBAAgB,kBAAkB;AAE9C,UAAM,WAAW,MAAM,MAAM,KAAK;AAAA,MAChC,GAAG,QAAQ;AAAA,MACX;AAAA,IACF,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,UAAI,SAAS,WAAW,KAAK;AAG3B,cAAM,IAAI;AAAA,UACR,eAAe;AAAA,UACf,IAAI,MAAM,YAAY,GAAG,KAAK,SAAS,UAAU,EAAE;AAAA,QACrD;AAAA,MACF;AACA,YAAM,IAAI,MAAM,uBAAuB,SAAS,OAAO,SAAS,CAAC,IAAI,SAAS,UAAU,EAAE;AAAA,IAC5F;AAEA,WAAQ,MAAM,SAAS,KAAK;AAAA,EAC9B,SACO,OAAgB;AAErB,QAAI,iBAAiB,WAAW;AAE9B,YAAM,UAAU,MAAM,QAAQ,YAAY;AAC1C,YAAM,iBAAiB,QAAQ,SAAS,OAAO,KAC1C,QAAQ,SAAS,SAAS,KAC1B,QAAQ,SAAS,iBAAiB;AAEvC,UAAI,gBAAgB;AAClB,cAAM,IAAI,gBAAgB,eAAe,mBAAmB,KAAK;AAAA,MACnE;AAAA,IACF;AACA,QAAI,iBAAiB,OAAO;AAC1B,YAAM;AAAA,IACR;AACA,UAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AACF;AAEA,IAAM,qBAAqB,CAAC,YAAmC;AAC7D,MAAI,CAAC,SAAS;AACZ,WAAO,cAAc;AAAA,EACvB;AAEA,QAAM,kBAAkB,IAAI,gBAAgB;AAG5C,MAAI,QAAQ,UAAU,QAAW;AAC/B,oBAAgB,IAAI,SAAS,QAAQ,MAAM,SAAS,CAAC;AAAA,EACvD;AACA,MAAI,QAAQ,kBAAkB;AAC5B,oBAAgB,IAAI,oBAAoB,QAAQ,gBAAgB;AAAA,EAClE;AAGA,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,QAAI,UAAU,UAAa,QAAQ,WAAW,QAAQ,sBAAsB,UAAU,MAAM;AAC1F,sBAAgB,IAAI,KAAK,OAAO,KAAK,CAAC;AAAA,IACxC;AAAA,EACF;AAEA,QAAM,cAAc,gBAAgB,SAAS;AAC7C,SAAO,cAAc,GAAG,cAAc,KAAK,IAAI,WAAW,KAAK,cAAc;AAC/E;AAEA,IAAM,sBAAsB,CAAC,YAAoC;AAC/D,MAAI,CAAC,SAAS;AACZ,WAAO,cAAc;AAAA,EACvB;AAGA,QAAM,WAAW,cAAc;AAE/B,QAAM,kBAAkB,IAAI,gBAAgB;AAG5C,MAAI,QAAQ,UAAU,QAAW;AAC/B,oBAAgB,IAAI,SAAS,QAAQ,MAAM,SAAS,CAAC;AAAA,EACvD;AACA,MAAI,QAAQ,kBAAkB;AAC5B,oBAAgB,IAAI,oBAAoB,QAAQ,gBAAgB;AAAA,EAClE;AAGA,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,QACE,UAAU,UACP,QAAQ,WACR,QAAQ,sBACR,UAAU,MACb;AACA,sBAAgB,IAAI,KAAK,OAAO,KAAK,CAAC;AAAA,IACxC;AAAA,EACF;AAEA,QAAM,cAAc,gBAAgB,SAAS;AAC7C,SAAO,cAAc,GAAG,QAAQ,IAAI,WAAW,KAAK;AACtD;AAMO,IAAM,kBAAkB,CAAC,EAAE,mBAAmB,MAA6B;AAChF,SAAO;AAAA,IACL,aAAa,OAAO,aAA2C;AAC7D,aAAO,YAAiC;AAAA,QACtC,UAAU,cAAc;AAAA,QACxB;AAAA,QACA,SAAS;AAAA,UACP,QAAQ;AAAA,QACV;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,WAAW,OAAO,YAAqC;AACrD,YAAM,WAAW,oBAAoB,OAAO;AAC5C,aAAO,YAA4B,EAAE,UAAU,mBAAmB,CAAC;AAAA,IACrE;AAAA,IACA,cAAc,OAAO,YAAqC;AACxD,YAAM,mBAAkC;AAAA,QACtC,GAAG;AAAA,QACH,YAAY;AAAA,MACd;AACA,YAAM,WAAW,oBAAoB,gBAAgB;AACrD,aAAO,YAA4B,EAAE,UAAU,mBAAmB,CAAC;AAAA,IACrE;AAAA,IACA,UAAU,OAAO,YAAoC;AACnD,YAAM,WAAW,mBAAmB,OAAO;AAC3C,aAAO,YAA2B,EAAE,UAAU,mBAAmB,CAAC;AAAA,IACpE;AAAA,IACA,WAAW,YAAY;AACrB,aAAO,YAA4B;AAAA,QACjC,UAAU,cAAc;AAAA,QACxB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;AFjEM,gBAAAC,cAAA;AA1DN,IAAM,sBAAsBC,eAAoD,MAAS;AAElF,IAAM,kBAAkB,MAAM;AACnC,QAAM,UAAUC,YAAW,mBAAmB;AAC9C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,uFAAuF;AAAA,EACzG;AACA,SAAO;AACT;AAmBO,IAAM,8BAA8B,CAAC,UAA+D;AACzG,QAAM,MAAMC,SAAQ,MAAM;AACxB,WAAO,QACH,oBAAoB,IACpB,gBAAgB,EAAE,oBAAoB,MAAM,mBAAmB,CAAC;AAAA,EACtE,GAAG,CAAC,MAAM,kBAAkB,CAAC;AAE7B,QAAM,cAAcC;AAAA,IAClB,CAAC,YAAgC;AAC/B,UAAI,QAAQ,OAAO,YAAY;AAC7B,eAAO,GAAG,MAAM,WAAW;AAAA,MAC7B;AACA,UAAI,QAAQ,OAAO,eAAe;AAChC,eAAO,GAAG,MAAM,WAAW,WAAW,QAAQ,OAAO;AAAA,MACvD;AACA,aAAO,GAAG,MAAM,WAAW;AAAA,IAC7B;AAAA,IACA,CAAC,MAAM,WAAW;AAAA,EACpB;AAEA,QAAM,eAAeD;AAAA,IACnB,OAAO;AAAA,MACL,eAAe,MAAM;AAAA,MACrB,oBAAoB,MAAM;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,CAAC,MAAM,eAAe,MAAM,oBAAoB,WAAW;AAAA,EAC7D;AAEA,SACE,gBAAAH,OAAC,eAAY,KACX,0BAAAA,OAAC,oBAAoB,UAApB,EAA6B,OAAO,cAClC,gBAAM,UACT,GACF;AAEJ;;;AGpGA,SAAS,eAAAK,cAAa,aAAAC,YAAW,YAAAC,iBAAgB;AAQ1C,SAAS,gBAAmB,KAAa,cAA0C;AAExF,QAAM,CAAC,aAAa,cAAc,IAAIA,UAAY,MAAM;AACtD,QAAI;AACF,YAAM,OAAO,WAAW,aAAa,QAAQ,GAAG;AAChD,aAAO,OAAQ,KAAK,MAAM,IAAI,IAAU;AAAA,IAC1C,SACO,OAAO;AACZ,cAAQ,MAAM,mCAAmC,GAAG,MAAM,KAAK;AAC/D,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AAGD,QAAM,WAAWF,aAAY,CAAC,UAAa;AACzC,QAAI;AACF,qBAAe,KAAK;AACpB,iBAAW,aAAa,QAAQ,KAAK,KAAK,UAAU,KAAK,CAAC;AAG1D,iBAAW,cAAc,IAAI,aAAa,WAAW;AAAA,QACnD;AAAA,QACA,UAAU,KAAK,UAAU,KAAK;AAAA,MAChC,CAAC,CAAC;AAAA,IACJ,SACO,OAAO;AACZ,cAAQ,MAAM,mCAAmC,GAAG,MAAM,KAAK;AAAA,IACjE;AAAA,EACF,GAAG,CAAC,GAAG,CAAC;AAGR,EAAAC,WAAU,MAAM;AACd,UAAM,sBAAsB,CAAC,UAAwB;AACnD,UAAI,MAAM,QAAQ,OAAO,MAAM,aAAa,MAAM;AAChD,YAAI;AACF,yBAAe,KAAK,MAAM,MAAM,QAAQ,CAAM;AAAA,QAChD,SACO,OAAO;AACZ,kBAAQ,MAAM,mCAAmC,GAAG,MAAM,KAAK;AAAA,QACjE;AAAA,MACF;AAAA,IACF;AAEA,eAAW,iBAAiB,WAAW,mBAAmB;AAC1D,WAAO,MAAM;AACX,iBAAW,oBAAoB,WAAW,mBAAmB;AAAA,IAC/D;AAAA,EACF,GAAG,CAAC,GAAG,CAAC;AAER,SAAO,CAAC,aAAa,QAAQ;AAC/B;;;AC1DA,SAAS,eAAAE,cAAa,aAAAC,YAAW,UAAAC,SAAQ,YAAAC,iBAAgB;AAelD,IAAM,YAAY,MAAqD;AAC5E,QAAM,MAAM,mBAAmB;AAC/B,QAAM,CAAC,UAAU,WAAW,IAAIC,UAAS,IAAI;AAC7C,QAAM,CAAC,QAAQ,SAAS,IAAIA,UAAqC;AACjE,QAAM,CAAC,OAAO,QAAQ,IAAIA,UAA4B;AACtD,QAAM,sBAAsBC,QAAO,KAAK;AACxC,QAAM,2BAA2BA,QAA+B,IAAI;AAEpE,QAAM,cAAcC,aAAY,YAAY;AAE1C,QAAI,yBAAyB,SAAS;AACpC,+BAAyB,QAAQ,MAAM;AAAA,IACzC;AAEA,UAAM,kBAAkB,IAAI,gBAAgB;AAC5C,6BAAyB,UAAU;AAEnC,gBAAY,IAAI;AAChB,QAAI;AACF,YAAM,WAAW,MAAM,IAAI,UAAU;AAErC,UAAI,CAAC,gBAAgB,OAAO,SAAS;AACnC,kBAAU,QAAQ;AAClB,iBAAS,MAAS;AAAA,MACpB;AAAA,IACF,SACO,QAAQ;AAEb,UAAI,CAAC,gBAAgB,OAAO,SAAS;AACnC,iBAAS,kBAAkB,QAAQ,SAAS,IAAI,MAAM,eAAe,CAAC;AACtE,kBAAU,MAAS;AAAA,MACrB;AAAA,IACF,UACA;AAEE,UAAI,CAAC,gBAAgB,OAAO,SAAS;AACnC,oBAAY,KAAK;AAAA,MACnB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,GAAG,CAAC;AAER,EAAAC,WAAU,MAAM;AAEd,QAAI,CAAC,oBAAoB,SAAS;AAChC,0BAAoB,UAAU;AAC9B,WAAK,YAAY;AAAA,IACnB;AAAA,EACF,GAAG,CAAC,WAAW,CAAC;AAEhB,SAAO,EAAE,UAAU,aAAa,OAAO,OAAO;AAChD;;;A5I0DY,gBAAAC,cAAA;AA7GZ,IAAM,sBAAsB,CAAC,IAAI,IAAI,GAAG;AAEjC,IAAM,gBAAoB,MAAM;AACrC,QAAM,MAAM,mBAAmB;AAC/B,QAAM,CAAC,OAAO,QAAQ,IAAIC,UAAiB;AAC3C,QAAM,CAAC,SAAS,UAAU,IAAIA,UAAS,KAAK;AAC5C,QAAM,aAAaC,QAAO,KAAK;AAC/B,QAAM,CAAC,uBAAuB,wBAAwB,IAAI,gBAAgB,yBAAyB,IAAI;AAEvG,QAAM,sBAAsBA,QAA+B,CAAC,CAAC;AAC7D,QAAM,CAAC,MAAM,OAAO,IAAID,UAAS,CAAC;AAClC,QAAM,CAAC,UAAU,WAAW,IAAIA,UAAS,GAAG;AAC5C,QAAM,CAAC,WAAW,YAAY,IAAIA,UAAS,CAAC;AAC5C,QAAM,eAAeE,SAAsB,MAAM;AAC/C,WAAO;AAAA,MACL,oBAAoB,wBAAwB,OAAO;AAAA,MACnD,OAAO;AAAA,MACP,kBAAkB,oBAAoB,QAAQ,OAAO,CAAC;AAAA,IACxD;AAAA,EACF,GAAG,CAAC,uBAAuB,UAAU,IAAI,CAAC;AAE1C,QAAM,CAAC,YAAY,aAAa,IAAIF,UAAgB;AACpD,QAAM,EAAE,aAAa,OAAO,aAAa,OAAO,IAAI,UAAU;AAC9D,QAAM,aAAaG,aAAY,YAAY;AACzC,eAAW,IAAI;AACf,QAAI;AACF,YAAM,WAAW,MAAM,IAAI,SAAS,YAAY;AAChD,eAAS,SAAS,KAAK;AACvB,mBAAa,SAAS,WAAW,WAAW;AAC5C,oBAAc,MAAS;AACvB,UAAI,SAAS,WAAW,QAAQ;AAC9B,4BAAoB,QAAQ,IAAI,IAAI,SAAS,WAAW;AAAA,MAC1D;AAAA,IACF,SACO,OAAO;AACZ,cAAQ,MAAM,KAAK;AACnB,oBAAc,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,iBAAiB,EAAE,OAAO,MAAM,CAAC,CAAC;AAAA,IAC7F,UACA;AACE,iBAAW,KAAK;AAAA,IAClB;AAAA,EACF,GAAG,CAAC,KAAK,MAAM,YAAY,CAAC;AAE5B,QAAM,iBAAiBA,aAAY,MAAM;AACvC,SAAK,WAAW;AAAA,EAClB,GAAG,CAAC,UAAU,CAAC;AAEf,EAAAC,WAAU,MAAM;AACd,QAAI,WAAW,QAAS;AAExB,QAAI,QAAQ,WAAW,UAAW;AAElC,eAAW,UAAU;AACrB,SAAK,WAAW;AAAA,EAClB,GAAG,CAAC,YAAY,MAAM,CAAC;AAGvB,EAAAA,WAAU,MAAM;AACd,QAAI,CAAC,WAAW,QAAS;AACzB,SAAK,WAAW;AAAA,EAClB,GAAG,CAAC,UAAU,CAAC;AAEf,QAAM,WAAW,YAAY;AAC7B,QAAM,EAAE,YAAY,IAAI,gBAAgB;AACxC,QAAM,iBAAiBD,aAAY,CAAC,SAAe;AACjD,UAAM,MAAM,YAAY,EAAE,IAAI,eAAe,SAAS,KAAK,SAAS,CAAC;AACrE,aAAS,GAAG,GAAG,WAAW,KAAK,OAAO,EAAE;AAAA,EAC1C,GAAG,CAAC,UAAU,WAAW,CAAC;AAE1B,QAAM,aAAaA,aAAY,YAAY;AACzC,eAAW,IAAI;AACf,QAAI;AACF,YAAM,IAAI,YAAY;AACtB,eAAS,CAAC,CAAC;AACX,oBAAc,MAAS;AAEvB,YAAM,WAAW;AAAA,IACnB,SACO,OAAO;AACZ,cAAQ,MAAM,2BAA2B,KAAK;AAC9C,oBAAc,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,0BAA0B,EAAE,OAAO,MAAM,CAAC,CAAC;AAAA,IACtG,UACA;AACE,iBAAW,KAAK;AAAA,IAClB;AAAA,EACF,GAAG,CAAC,KAAK,UAAU,CAAC;AAEpB,QAAM,cAAcA,aAAY,MAAM;AAEpC,SAAK,YAAY;AAAA,EAEnB,GAAG,CAAC,WAAW,CAAC;AAGhB,QAAM,0BAA0B,QAAQ,WAAW,KAAM,QAAQ,WAAW;AAE5E,SACE,gBAAAJ;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,eAAe;AAAA,QACf,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,MAEC,oCAEK,gBAAAN;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,UACP,SAAS;AAAA,UACT;AAAA;AAAA,MACF,IAGA,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,cAAc,MAAM;AAAE,iBAAK,WAAW;AAAA,UAAE;AAAA,UACxC,+BAA+B,CAAC,UAAU;AAAE,qCAAyB,KAAK;AAAA,UAAE;AAAA,UAC5E,cAAc;AAAA,UACd,kBAAkB;AAAA,UAClB,WAAW,MAAM;AAAE,2BAAe;AAAA,UAAE;AAAA,UACpC,aAAa,CAAC,SAAS;AAAE,2BAAe,IAAI;AAAA,UAAE;AAAA,UAC9C;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO;AAAA,YACL,MAAM;AAAA,YACN,OAAO;AAAA,YACP;AAAA,UACF;AAAA,UACA;AAAA;AAAA,MACF;AAAA;AAAA,EAER;AAEJ;;;A6ItJA,SAAS,iBAAiB;AAC1B,SAAS,OAAAO,OAAK,UAAAC,SAAQ,QAAQ,SAAAC,cAAa;AAC3C,SAAS,cAAc;AACvB,SAAS,yBAAyB;AAClC,SAAS,eAAAC,cAAa,aAAAC,YAAW,YAAAC,kBAAgB;AACjD,SAAS,eAAAC,cAAa,WAAW,uBAAuB;;;ACLxD,SAAS,OAAAC,OAAK,QAAAC,OAAM,WAAAC,UAAS,SAAAC,QAAO,cAAAC,mBAAkB;AACtD,SAAS,WAAAC,gBAAe;;;AC8CjB,SAAS,0BAA0B,SAA0D;AAElG,MAAI,QAAQ,uBAAuB,QAAQ,sBAAsB,GAAG;AAClE,WAAO;AAAA,EACT;AAGA,MAAI,QAAQ,cAAc,QAAQ,wBAAwB,QAAQ,uBAAuB,GAAG;AAC1F,WAAO;AAAA,EACT;AAGA,MAAI,QAAQ,YAAY;AACtB,WAAO;AAAA,EACT;AAGA,SAAO;AACT;AAKO,SAAS,uBAAuB,QAAqC;AAC1E,UAAQ,QAAQ;AAAA,IACd,KAAK,sBAAsB;AACzB,aAAO;AAAA,IACT;AAAA,IACA,KAAK,qBAAqB;AACxB,aAAO;AAAA,IACT;AAAA,IACA,KAAK,sBAAsB;AACzB,aAAO;AAAA,IACT;AAAA,IACA,KAAK,qBAAqB;AACxB,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAYO,SAAS,yBAAyB,QAAqC;AAC5E,UAAQ,QAAQ;AAAA,IACd,KAAK;AAAA,IACL,KAAK,sBAAsB;AACzB,aAAO;AAAA,IACT;AAAA,IACA,KAAK,qBAAqB;AACxB,aAAO;AAAA,IACT;AAAA,IACA,KAAK,qBAAqB;AACxB,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAKO,SAAS,cAAc,eAAmD;AAC/E,MAAI;AACF,UAAM,UAAU,KAAK,MAAM,aAAa;AAExC,UAAM,aAAa,0BAA0B,OAAO;AAGpD,UAAM,UAAoB,CAAC;AAC3B,UAAM,YAAsB,CAAC;AAE7B,QAAI,QAAQ,iBAAiB;AAC3B,iBAAW,SAAS,QAAQ,iBAAiB;AAC3C,YAAI,CAAC,QAAQ,SAAS,MAAM,MAAM,EAAG,SAAQ,KAAK,MAAM,MAAM;AAC9D,YAAI,CAAC,UAAU,SAAS,MAAM,QAAQ,EAAG,WAAU,KAAK,MAAM,QAAQ;AAAA,MACxE;AAAA,IACF;AAEA,QAAI,QAAQ,iBAAiB;AAC3B,iBAAW,QAAQ,QAAQ,iBAAiB;AAC1C,YAAI,CAAC,QAAQ,SAAS,KAAK,MAAM,EAAG,SAAQ,KAAK,KAAK,MAAM;AAC5D,YAAI,CAAC,UAAU,SAAS,KAAK,QAAQ,EAAG,WAAU,KAAK,KAAK,QAAQ;AAAA,MACtE;AAAA,IACF;AAEA,QAAI,QAAQ,iBAAiB;AAC3B,iBAAW,QAAQ,QAAQ,iBAAiB;AAC1C,YAAI,CAAC,QAAQ,SAAS,KAAK,MAAM,EAAG,SAAQ,KAAK,KAAK,MAAM;AAC5D,YAAI,CAAC,UAAU,SAAS,KAAK,QAAQ,EAAG,WAAU,KAAK,KAAK,QAAQ;AAAA,MACtE;AAAA,IACF;AAEA,WAAO;AAAA,MACL,SAAS;AAAA,QACP;AAAA,QACA,gBAAgB,QAAQ;AAAA,QACxB,gBAAgB,QAAQ;AAAA,QACxB,gBAAgB,QAAQ;AAAA,QACxB;AAAA,MACF;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB,SAAS,QAAQ;AAAA,IACnB;AAAA,EACF,SACO,OAAO;AACZ,YAAQ,MAAM,oCAAoC,KAAK;AACvD,WAAO;AAAA,EACT;AACF;;;AC1JA,IAAM,iBAAiB,CAAC,WAAmB,eAAmE;AAE5G,MAAI,YAAY,WAAW,OAAO,WAAW,YAAY,UAAU;AACjE,UAAM,YAAY,cAAc,WAAW,OAAO;AAElD,QAAI,WAAW;AACb,YAAMC,YAAW,GAAG,UAAU,OAAO,IAAI,UAAU,SAAS,MAAM,uBAAuB,UAAU,UAAU,CAAC;AAE9G,YAAM,eAAe,CAAC,cAAc,UAAU,SAAS,EAAE;AAEzD,UAAI,UAAU,QAAQ,WAAW,UAAU,QAAQ,QAAQ,SAAS,GAAG;AACrE,qBAAa,KAAK,YAAY,UAAU,QAAQ,QAAQ,KAAK,IAAI,CAAC,EAAE;AAAA,MACtE;AAEA,UAAI,UAAU,QAAQ,aAAa,UAAU,QAAQ,UAAU,SAAS,GAAG;AACzE,qBAAa,KAAK,cAAc,UAAU,QAAQ,UAAU,KAAK,IAAI,CAAC,EAAE;AAAA,MAC1E;AAEA,YAAM,eAAe,CAAC;AACtB,UAAI,UAAU,QAAQ,mBAAmB,QAAW;AAClD,qBAAa,KAAK,oBAAoB,OAAO,UAAU,QAAQ,cAAc,CAAC,EAAE;AAAA,MAClF;AACA,UAAI,UAAU,QAAQ,mBAAmB,QAAW;AAClD,qBAAa,KAAK,oBAAoB,OAAO,UAAU,QAAQ,cAAc,CAAC,EAAE;AAAA,MAClF;AACA,UAAI,UAAU,QAAQ,mBAAmB,QAAW;AAClD,qBAAa,KAAK,oBAAoB,OAAO,UAAU,QAAQ,cAAc,CAAC,EAAE;AAAA,MAClF;AAEA,aAAO;AAAA,QACL,SAAS,aAAa,KAAK,IAAI;AAAA,QAC/B,UAAAA;AAAA,QACA,SAAS,aAAa,KAAK,IAAI;AAAA,MACjC;AAAA,IACF;AAAA,EACF;AAGA,QAAM,WAAW,aAAa;AAC9B,QAAM,UAAU,OAAO,YAAY,YAAY,WAAW,WAAW,UAAU;AAC/E,QAAM,UAAU,OAAO,YAAY,YAAY,WAAW,WAAW,UAAU;AAE/E,SAAO,EAAE,SAAS,UAAU,QAAQ;AACtC;AAGA,IAAM,qBAAqB,CAAC,WAAmB,eAAmE;AAChH,QAAM,WAAW,aAAa;AAC9B,QAAM,UAAU,OAAO,YAAY,YAAY,WAAW,WAAW,UAAU;AAC/E,QAAM,UAAU,KAAK,UAAU,cAAc,CAAC,GAAG,QAAW,CAAC;AAE7D,SAAO,EAAE,SAAS,UAAU,QAAQ;AACtC;AAGA,IAAM,eAAiH;AAAA,EACrH,aAAa;AAAA,EACb,aAAa;AAAA,EACb,eAAe;AACjB;AAEO,IAAM,oBAAoB,CAAC,UAAqC;AACrE,MAAI,MAAM,cAAc,MAAM,MAAM;AAClC,QAAI;AACF,YAAM,SAAS,aAAa,MAAM,UAAU,KAAK;AACjD,aAAO,OAAO,MAAM,MAAM,MAAM,UAAU;AAAA,IAC5C,SACO,OAAO;AACZ,cAAQ,MAAM,gCAAgC,MAAM,UAAU,KAAK,KAAK;AACxE,aAAO;AAAA,QACL,SAAS;AAAA,QACT,UAAU,MAAM,QAAQ;AAAA,QACxB,SAAS,KAAK,UAAU,MAAM,UAAU;AAAA,MAC1C;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS,KAAK,UAAU,MAAM,cAAc,CAAC,CAAC;AAAA,IAC9C,UAAU,MAAM,QAAQ;AAAA,IACxB,SAAS,OAAO,MAAM,YAAY,YAAY,WAAW,MAAM,WAAW,UAAU;AAAA,EACtF;AACF;AAKO,IAAM,aAAa;AAAA,EACxB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,cAAc;AAChB;AAgBO,IAAM,gBAAgB,CAAC,cAAqD;AACjF,MAAI,CAAC,UAAW,QAAO;AAEvB,MAAI,UAAU,SAAS,OAAO,EAAG,QAAO;AACxC,MAAI,UAAU,SAAS,SAAS,EAAG,QAAO;AAC1C,MAAI,UAAU,SAAS,KAAK,EAAG,QAAO;AAEtC,SAAO;AACT;AASO,IAAM,uBAAuB,CAAC,WAAmC;AACtE,MAAI,OAAO,WAAW,GAAG;AACvB,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,SAAwB,CAAC;AAE/B,aAAW,SAAS,QAAQ;AAC1B,UAAM,QAAQ,cAAc,MAAM,UAAU;AAE5C,YAAQ,OAAO;AAAA,MACb,KAAK,SAAS;AACZ,eAAO,SAAS,CAAC,GAAI,OAAO,UAAU,CAAC,GAAI,KAAK;AAChD;AAAA,MACF;AAAA,MACA,KAAK,cAAc;AACjB,eAAO,cAAc,CAAC,GAAI,OAAO,eAAe,CAAC,GAAI,KAAK;AAC1D;AAAA,MACF;AAAA,MACA,KAAK,WAAW;AACd,eAAO,WAAW,CAAC,GAAI,OAAO,YAAY,CAAC,GAAI,KAAK;AACpD;AAAA,MACF;AAAA,MACA,SAAS;AACP,eAAO,OAAO,CAAC,GAAI,OAAO,QAAQ,CAAC,GAAI,KAAK;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;;;ACtKA,SAAS,aAAa;AACtB,SAAS,OAAAC,MAAK,YAAY,cAAAC,mBAAkB;AAsBpC,gBAAAC,QAGA,QAAAC,eAHA;AAbD,IAAM,qBAAkD,CAAC,EAAE,OAAO,QAAQ,MAAM;AACrF,SACE,gBAAAA;AAAA,IAACH;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,cAAc;AAAA,QACd,aAAa;AAAA,QACb,SAAS;AAAA,QACT,gBAAgB;AAAA,QAChB,GAAG;AAAA,MACL;AAAA,MAEA;AAAA,wBAAAG,QAACH,MAAA,EACC;AAAA,0BAAAE,OAACD,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,MAAK,2BAElD;AAAA,UACA,gBAAAE,QAACF,aAAA,EAAW,OAAM,kBAAiB,SAAQ,SACxC;AAAA,kBAAM;AAAA,YACN;AAAA,YAAI;AAAA,YAEJ,MAAM;AAAA,aACT;AAAA,WACF;AAAA,QACC,WACC,gBAAAC,OAAC,cAAW,SAAS,SAAS,MAAK,SACjC,0BAAAA,OAAC,SAAM,GACT;AAAA;AAAA;AAAA,EAEJ;AAEJ;;;ACxCA,SAAS,OAAAE,aAAW;;;ACApB,SAAS,qBAAAC,oBAAmB,sBAAAC,2BAA0B;AACtD,SAAS,OAAAC,OAAK,QAAAC,OAAM,cAAAC,aAAY,cAAAC,mBAAkB;AAClD,SAAS,aAAAC,YAAW,WAAAC,UAAS,UAAAC,SAAQ,YAAAC,iBAAgB;;;ACFrD,SAAS,QAAQ,aAAa,SAAAC,QAAO,MAAM,oBAAoB;AAC/D,SAAS,OAAAC,YAAW;AAaP,gBAAAC,cAAA;AAHN,IAAM,aAAkC,CAAC,EAAE,WAAW,MAAM;AACjE,UAAQ,YAAY;AAAA,IAClB,KAAK,WAAG,YAAY;AAClB,aAAO,gBAAAA,OAAC,UAAO,IAAI,EAAE,OAAO,MAAM,GAAG;AAAA,IACvC;AAAA,IACA,KAAK,WAAG,WAAW;AACjB,aAAO,gBAAAA,OAAC,QAAK,IAAI,EAAE,OAAO,OAAO,GAAG;AAAA,IACtC;AAAA,IACA,KAAK,WAAG,iBAAiB;AACvB,aAAO,gBAAAA,OAAC,gBAAa,IAAI,EAAE,OAAO,OAAO,GAAG;AAAA,IAC9C;AAAA,IACA,KAAK,WAAG,cAAc;AACpB,aAAO,gBAAAA,OAACC,QAAA,EAAM,IAAI,EAAE,OAAO,SAAS,GAAG;AAAA,IACzC;AAAA,IACA,SAAS;AACP,aAAO,gBAAAD,OAAC,eAAY,IAAI,EAAE,OAAO,YAAY,GAAG;AAAA,IAClD;AAAA,EACF;AACF;;;AC7BA,SAAS,eAAAE,cAAa,SAAS,WAAW,eAAe;AACzD,SAAS,OAAAC,OAAK,MAAM,QAAAC,OAAM,cAAAC,mBAAkB;AAW1C,SAEI,OAAAC,QAFJ,QAAAC,eAAA;AADF,IAAM,YAAsE,CAAC,EAAE,SAAS,MAAM,MAC5F,gBAAAA,QAACC,OAAA,EAAK,WAAS,MAAC,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,GACtC;AAAA,kBAAAF,OAACE,OAAA,EAAK,MAAI,MAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,GAC5B,0BAAAF;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,OAAO;AAAA,QACP,YAAY;AAAA,MACd;AAAA,MACA,SAAQ;AAAA,MAEP;AAAA;AAAA,EACH,GACF;AAAA,EACA,gBAAAH,OAACE,OAAA,EAAK,MAAI,MAAC,IAAI,GACZ,iBAAO,YAAY,WAEd,gBAAAF;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,OAAO;AAAA,QACP,WAAW;AAAA,MACb;AAAA,MACA,SAAQ;AAAA,MAEP;AAAA;AAAA,EACH,IAGA,SAER;AAAA,GACF;AAGF,IAAM,iBAAsD,CAAC,EAAE,OAAO,MAAM;AAC1E,UAAQ,QAAQ;AAAA,IACd,KAAK;AAAA,IACL,KAAK,sBAAsB;AACzB,aAAO,gBAAAH,OAACI,cAAA,EAAY,IAAI,EAAE,OAAO,gBAAgB,UAAU,OAAO,GAAG;AAAA,IACvE;AAAA,IACA,KAAK,qBAAqB;AACxB,aAAO,gBAAAJ,OAAC,aAAU,IAAI,EAAE,OAAO,cAAc,UAAU,OAAO,GAAG;AAAA,IACnE;AAAA,IACA,KAAK,qBAAqB;AACxB,aAAO,gBAAAA,OAAC,WAAQ,IAAI,EAAE,OAAO,gBAAgB,UAAU,OAAO,GAAG;AAAA,IACnE;AAAA,EACF;AACF;AAEO,IAAM,iBAA0C,CAAC,EAAE,MAAM,MAAM;AAEpE,QAAM,gBAAgB,MAAM,YAAY;AACxC,MAAI,CAAC,eAAe;AAClB,WACE,gBAAAA,OAACK,OAAA,EAAI,IAAI,EAAE,GAAG,EAAE,GACd,0BAAAL,OAACG,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,SAAQ,qDAErD,GACF;AAAA,EAEJ;AAEA,QAAM,YAAY,cAAc,aAAa;AAE7C,MAAI,CAAC,WAAW;AACd,WACE,gBAAAH,OAACK,OAAA,EAAI,IAAI,EAAE,GAAG,EAAE,GACd,0BAAAL,OAACG,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,SAAQ,4CAErD,GACF;AAAA,EAEJ;AAEA,SACE,gBAAAF,QAACI,OAAA,EAAI,IAAI,EAAE,GAAG,EAAE,GAEd;AAAA,oBAAAL,OAACK,OAAA,EAAI,IAAI,EAAE,IAAI,EAAE,GACf,0BAAAL;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,gBAAAA,OAAC,kBAAe,QAAQ,UAAU,YAAY;AAAA,QACpD,OAAO,uBAAuB,UAAU,UAAU;AAAA,QAClD,MAAK;AAAA,QACL,IAAI;AAAA,UACF,aAAa,yBAAyB,UAAU,UAAU;AAAA,UAC1D,OAAO,yBAAyB,UAAU,UAAU;AAAA,QACtD;AAAA,QACA,SAAQ;AAAA;AAAA,IACV,GACF;AAAA,IAGA,gBAAAA,OAAC,aAAU,SAAS,GAAG,UAAU,OAAO,IAAI,UAAU,SAAS,IAAI,OAAM,aAAY;AAAA,IACrF,gBAAAA,OAAC,aAAU,SAAS,UAAU,WAAW,OAAM,aAAY;AAAA,IAG1D,UAAU,QAAQ,WAAW,UAAU,QAAQ,QAAQ,SAAS,KAC/D,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,SACE,gBAAAA,OAACK,OAAA,EACE,oBAAU,QAAQ,QAAQ,IAAI,YAC7B,gBAAAL;AAAA,UAACG;AAAA,UAAA;AAAA,YAEC,IAAI;AAAA,cACF,OAAO;AAAA,YACT;AAAA,YACA,SAAQ;AAAA,YAEP;AAAA;AAAA,UANI;AAAA,QAOP,CACD,GACH;AAAA,QAEF,OAAM;AAAA;AAAA,IACR;AAAA,IAID,UAAU,QAAQ,aAAa,UAAU,QAAQ,UAAU,SAAS,KACnE,gBAAAH;AAAA,MAAC;AAAA;AAAA,QACC,SACE,gBAAAA,OAACK,OAAA,EACE,oBAAU,QAAQ,UAAU,IAAI,cAC/B,gBAAAL;AAAA,UAACG;AAAA,UAAA;AAAA,YAEC,IAAI;AAAA,cACF,OAAO;AAAA,cACP,WAAW;AAAA,YACb;AAAA,YACA,SAAQ;AAAA,YAEP;AAAA;AAAA,UAPI;AAAA,QAQP,CACD,GACH;AAAA,QAEF,OAAM;AAAA;AAAA,IACR;AAAA,IAIF,gBAAAF,QAACI,OAAA,EAAI,IAAI,EAAE,IAAI,EAAE,GACf;AAAA,sBAAAL,OAACG,aAAA,EAAW,IAAI,EAAE,YAAY,KAAK,IAAI,EAAE,GAAG,SAAQ,WAAU,+BAE9D;AAAA,MACA,gBAAAF,QAACC,OAAA,EAAK,WAAS,MAAC,SAAS,GACtB;AAAA,kBAAU,QAAQ,mBAAmB,UACpC,gBAAAF,OAACE,OAAA,EAAK,MAAI,MAAC,IAAI,GACb,0BAAAD,QAACI,OAAA,EAAI,IAAI,EAAE,WAAW,SAAS,GAC7B;AAAA,0BAAAL,OAACG,aAAA,EAAW,OAAM,gBAAe,IAAI,EAAE,YAAY,OAAO,GAAG,SAAQ,MAClE,oBAAU,QAAQ,gBACrB;AAAA,UACA,gBAAAH,OAACG,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,WAAU,6BAEvD;AAAA,WACF,GACF;AAAA,QAED,UAAU,QAAQ,mBAAmB,UACpC,gBAAAH,OAACE,OAAA,EAAK,MAAI,MAAC,IAAI,GACb,0BAAAD,QAACI,OAAA,EAAI,IAAI,EAAE,WAAW,SAAS,GAC7B;AAAA,0BAAAL,OAACG,aAAA,EAAW,OAAM,cAAa,IAAI,EAAE,YAAY,OAAO,GAAG,SAAQ,MAChE,oBAAU,QAAQ,gBACrB;AAAA,UACA,gBAAAH,OAACG,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,WAAU,6BAEvD;AAAA,WACF,GACF;AAAA,QAED,UAAU,QAAQ,mBAAmB,UACpC,gBAAAH,OAACE,OAAA,EAAK,MAAI,MAAC,IAAI,GACb,0BAAAD,QAACI,OAAA,EAAI,IAAI,EAAE,WAAW,SAAS,GAC7B;AAAA,0BAAAL,OAACG,aAAA,EAAW,OAAM,gBAAe,IAAI,EAAE,YAAY,OAAO,GAAG,SAAQ,MAClE,oBAAU,QAAQ,gBACrB;AAAA,UACA,gBAAAH,OAACG,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,WAAU,6BAEvD;AAAA,WACF,GACF;AAAA,SAEJ;AAAA,OACF;AAAA,KACF;AAEJ;;;ACnMA,SAAS,mBAAmB,0BAA0B;AACtD,SAAS,OAAAG,OAAK,QAAAC,OAAM,cAAAC,aAAY,cAAAC,mBAAkB;AAClD,SAAS,WAAAC,UAAS,YAAAC,iBAAgB;AAiD5B,SAEc,OAAAC,QAFd,QAAAC,eAAA;AAtCN,IAAM,gBAAgB,CAAC,WAAgC;AACrD,QAAM,YAAY,WAAW,wBAAwB,WAAW;AAChE,SAAO;AAAA,IACL,iBAAiB,YAAY,iBAAiB;AAAA,IAC9C,OAAO;AAAA,EACT;AACF;AAEA,IAAM,oBAA0C,CAAC,EAAE,MAAM,MAAM;AAC7D,QAAM,CAAC,QAAQ,SAAS,IAAIC,UAAS,KAAK;AAG1C,QAAM,aAAaC,SAAQ,MAAM;AAC/B,UAAM,gBAAgB,MAAM,YAAY;AACxC,QAAI,CAAC,eAAe;AAClB;AAAA,IACF;AAEA,UAAMC,aAAY,cAAc,aAAa;AAC7C,QAAI,CAACA,YAAW;AACd;AAAA,IACF;AAEA,WAAO;AAAA,MACL,YAAY,cAAcA,WAAU,UAAU;AAAA,MAC9C,WAAAA;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,YAAY,OAAO,CAAC;AAE9B,MAAI,CAAC,YAAY;AAEf,WAAO;AAAA,EACT;AAEA,QAAM,EAAE,YAAY,UAAU,IAAI;AAElC,SACE,gBAAAH,QAACI,OAAA,EAAI,IAAI,EAAE,IAAI,EAAE,GACf;AAAA,oBAAAJ,QAACI,OAAA,EAAI,IAAI,EAAE,YAAY,UAAU,SAAS,OAAO,GAC/C;AAAA,sBAAAL,OAACM,aAAA,EAAW,SAAS,MAAM;AAAE,kBAAU,CAAC,MAAM;AAAA,MAAE,GAAG,MAAK,SAAQ,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,GAC/E,mBAAS,gBAAAN,OAAC,qBAAkB,IAAK,gBAAAA,OAAC,sBAAmB,GACxD;AAAA,MAEA,gBAAAA;AAAA,QAACO;AAAA,QAAA;AAAA,UACC,OAAO,uBAAuB,UAAU,UAAU;AAAA,UAClD,MAAK;AAAA,UACL,IAAI;AAAA,YACF,GAAG;AAAA,YACH,YAAY;AAAA,UACd;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAEC,UACC,gBAAAP,OAACK,OAAA,EAAI,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GACtB,0BAAAJ,QAACI,OAAA,EACC;AAAA,sBAAAL,OAACQ,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,WAAU,uBAEvD;AAAA,MACA,gBAAAR,OAACQ,aAAA,EAAW,SAAQ,SACjB,oBAAU,WACb;AAAA,OACF,GACF;AAAA,KAEJ;AAEJ;AAEO,IAAM,sBAAoD,CAAC,EAAE,OAAO,MACzE,gBAAAR,OAACK,OAAA,EAAI,IAAI,EAAE,IAAI,EAAE,GACd,iBAAO,IAAI,WACV,gBAAAL,OAAC,qBAAkB,SAAmB,GAAG,MAAM,OAAO,IAAI,MAAM,QAAQ,EAAI,CAC7E,GACH;;;AHrEA,SAiHc,YAAAS,WA/GV,OAAAC,QAFJ,QAAAC,eAAA;AADF,IAAMC,aAAgC,CAAC,EAAE,SAAS,MAAM,MACtD,gBAAAD,QAACE,OAAA,EAAK,WAAS,MAAC,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,GACtC;AAAA,kBAAAH,OAACG,OAAA,EAAK,MAAI,MAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,GAC5B,0BAAAH;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,OAAO;AAAA,QACP,YAAY;AAAA,MACd;AAAA,MACA,SAAQ;AAAA,MAEP;AAAA;AAAA,EACH,GACF;AAAA,EACA,gBAAAJ,OAACG,OAAA,EAAK,MAAI,MAAC,IAAI,GACZ,iBAAO,YAAY,WAEd,gBAAAH;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,OAAO;AAAA,QACP,YAAY;AAAA,MACd;AAAA,MACA,SAAQ;AAAA,MAEP;AAAA;AAAA,EACH,IAGA,SAER;AAAA,GACF;AAOF,IAAM,eAAsC,CAAC,EAAE,MAAM,MAAM;AACzD,QAAM,CAAC,QAAQ,SAAS,IAAIC,UAAS,KAAK;AAC1C,QAAM,CAAC,eAAe,gBAAgB,IAAIA,UAAS,KAAK;AACxD,QAAM,gBAAgBC,QAAuB,IAAI;AAEjD,QAAM,gBAAgBC,SAAQ,MAAM,kBAAkB,KAAK,GAAG,CAAC,KAAK,CAAC;AAGrE,QAAM,mBAAmBA;AAAA,IACvB,MAAM,MAAM,eAAe,2BACtB,MAAM,YAAY,WAClB,OAAO,MAAM,WAAW,YAAY;AAAA,IACzC,CAAC,KAAK;AAAA,EACR;AAEA,EAAAC,WAAU,MAAM;AACd,UAAM,gBAAgB,MAAM;AAC1B,YAAM,UAAU,cAAc;AAC9B,UAAI,SAAS;AACX,yBAAiB,QAAQ,cAAc,QAAQ,WAAW;AAAA,MAC5D;AAAA,IACF;AAEA,kBAAc;AACd,WAAO,iBAAiB,UAAU,aAAa;AAC/C,WAAO,MAAM;AACX,aAAO,oBAAoB,UAAU,aAAa;AAAA,IACpD;AAAA,EACF,GAAG,CAAC,cAAc,QAAQ,CAAC;AAG3B,QAAM,uBAAuBD;AAAA,IAC3B,MAAM,cAAc,WAAW,cAAc,WAAW;AAAA,IACxD,CAAC,cAAc,SAAS,cAAc,SAAS,gBAAgB;AAAA,EACjE;AACA,QAAM,mBAAmBA;AAAA,IACvB,MAAM,iBAAiB;AAAA,IACvB,CAAC,eAAe,oBAAoB;AAAA,EACtC;AAEA,SACE,gBAAAN,QAACQ,OAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,eAAe,SAAS,GAClD;AAAA,oBAAAR,QAACQ,OAAA,EAAI,IAAI,EAAE,YAAY,cAAc,SAAS,OAAO,GAClD;AAAA,cAAQ,gBAAgB,KACvB,gBAAAT;AAAA,QAACU;AAAA,QAAA;AAAA,UACC,SAAS,MAAM;AAAE,sBAAU,CAAC,MAAM;AAAA,UAAE;AAAA,UACpC,MAAK;AAAA,UACL,IAAI,EAAE,IAAI,GAAG,IAAI,MAAM,GAAG,EAAE;AAAA,UAE3B,mBAAS,gBAAAV,OAACW,oBAAA,EAAkB,IAAK,gBAAAX,OAACY,qBAAA,EAAmB;AAAA;AAAA,MACxD;AAAA,MAEF,gBAAAZ;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,KAAK;AAAA,UACL,IAAI;AAAA,YACF,OAAO;AAAA,YACP,YAAY;AAAA,YACZ,UAAU;AAAA,YACV,IAAI,mBAAmB,IAAI;AAAA,YAC3B,UAAU;AAAA,YACV,cAAc,SAAS,SAAS;AAAA,YAChC,YAAY,SAAS,aAAa;AAAA,UACpC;AAAA,UACA,SAAQ;AAAA,UAEP,wBAAc;AAAA;AAAA,MACjB;AAAA,OACF;AAAA,IAEC,UACC,gBAAAJ,OAACS,OAAA,EAAI,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAErB,6BAEK,gBAAAT,OAAC,kBAAe,OAAc,IAG9B,gBAAAC,QAAAF,WAAA,EAEG;AAAA,cAAQ,cAAc,OAAO,KAC5B,gBAAAC,OAACE,YAAA,EAAU,SAAS,cAAc,SAAS,OAAM,YAAW;AAAA,MAE7D,QAAQ,cAAc,OAAO,KAC5B,gBAAAF,OAACE,YAAA,EAAU,SAAS,cAAc,SAAS,OAAM,YAAW;AAAA,OAEhE,GAER;AAAA,KAEJ;AAEJ;AAGA,IAAM,yBAAyB,CAAC,UAAkC;AAChE,UAAQ,OAAO;AAAA,IACb,KAAK,SAAS;AACZ,aAAO,WAAW;AAAA,IACpB;AAAA,IACA,KAAK,QAAQ;AACX,aAAO,WAAW;AAAA,IACpB;AAAA,IACA,KAAK,cAAc;AACjB,aAAO,WAAW;AAAA,IACpB;AAAA,IACA,KAAK,WAAW;AACd,aAAO,WAAW;AAAA,IACpB;AAAA,IACA,SAAS;AACP,aAAO,WAAW;AAAA,IACpB;AAAA,EACF;AACF;AAQO,IAAM,cAAoC,CAAC;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AACF,MAAM;AAEJ,MAAI,SAAS,cAAc;AACzB,WACE,gBAAAD,QAACQ,OAAA,EACC;AAAA,sBAAAT;AAAA,QAACS;AAAA,QAAA;AAAA,UACC,IAAI;AAAA,YACF,YAAY;AAAA,YACZ,SAAS;AAAA,YACT,IAAI;AAAA,UACN;AAAA,UAEA,0BAAAT;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,gBACF,YAAY;AAAA,gBACZ,SAAS;AAAA,gBACT,UAAU;AAAA,gBACV,YAAY;AAAA,cACd;AAAA,cACA,SAAQ;AAAA,cAEP;AAAA;AAAA,UACH;AAAA;AAAA,MACF;AAAA,MAEA,gBAAAJ,OAAC,uBAAoB,QAAgB;AAAA,OACvC;AAAA,EAEJ;AAEA,QAAM,aAAa,uBAAuB,IAAI;AAE9C,SACE,gBAAAC,QAACQ,OAAA,EACC;AAAA,oBAAAR;AAAA,MAACQ;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,IAAI;AAAA,QACN;AAAA,QAEA;AAAA,0BAAAT,OAAC,cAAW,YAAY,YAAY;AAAA,UACpC,gBAAAA;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,gBACF,YAAY;AAAA,gBACZ,OAAO;AAAA,gBACP,SAAS;AAAA,gBACT,UAAU;AAAA,gBACV,YAAY;AAAA,gBACZ,IAAI;AAAA,gBACJ,IAAI;AAAA,cACN;AAAA,cACA,SAAQ;AAAA,cAEP;AAAA;AAAA,UACH;AAAA;AAAA;AAAA,IACF;AAAA,IAEA,gBAAAJ,OAACS,OAAA,EAAI,IAAI,EAAE,IAAI,EAAE,GACd,iBAAO,IAAI,WACV,gBAAAT;AAAA,MAACS;AAAA,MAAA;AAAA,QAEC,IAAI;AAAA,UACF,UAAU;AAAA,UACV,IAAI;AAAA,QACN;AAAA,QAEA,0BAAAT,OAAC,gBAAa,OAAc;AAAA;AAAA,MANvB,GAAG,MAAM,OAAO,IAAI,MAAM,QAAQ;AAAA,IAOzC,CACD,GACH;AAAA,KACF;AAEJ;;;AI5PA,SAAS,qBAAAa,oBAAmB,sBAAAC,2BAA0B;AACtD,SAAS,OAAAC,OAAK,cAAAC,mBAAkB;AAChC,SAAS,YAAAC,iBAAgB;AAqBjB,SAQE,OAAAC,QARF,QAAAC,eAAA;AAbD,IAAM,gBAAwC,CAAC,EAAE,UAAU,UAAU,cAAc,KAAK,MAAM;AACnG,QAAM,CAAC,QAAQ,SAAS,IAAIF,UAAS,WAAW;AAEhD,SACE,gBAAAE,QAACJ,OAAA,EAAI,IAAI,EAAE,IAAI,EAAE,GAEf;AAAA,oBAAAG;AAAA,MAACH;AAAA,MAAA;AAAA,QACC,SAAS,MAAM;AAAE,oBAAU,CAAC,MAAM;AAAA,QAAE;AAAA,QACpC,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,IAAI;AAAA,QACN;AAAA,QAEA,0BAAAI;AAAA,UAACJ;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,IAAI;AAAA,cACF,YAAY;AAAA,cACZ,SAAS;AAAA,cACT,KAAK;AAAA,YACP;AAAA,YAEA;AAAA,8BAAAG,OAACF,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,aAC1C,oBACH;AAAA,cACC,SAEK,gBAAAE,OAACL,oBAAA,EAAkB,IAAI,EAAE,OAAO,kBAAkB,QAAQ,IAAI,OAAO,GAAG,GAAG,IAG3E,gBAAAK,OAACJ,qBAAA,EAAmB,IAAI,EAAE,OAAO,kBAAkB,QAAQ,IAAI,OAAO,GAAG,GAAG;AAAA;AAAA;AAAA,QAEpF;AAAA;AAAA,IACF;AAAA,IACC,UAAU,gBAAAI,OAACH,OAAA,EAAK,UAAS;AAAA,KAC5B;AAEJ;;;AL7BI,SAEI,OAAAK,QAFJ,QAAAC,eAAA;AALG,IAAM,eAAsC,CAAC;AAAA,EAClD;AAAA,EACA;AACF,MACE,gBAAAD,OAAC,iBAAc,UACb,0BAAAC,QAACC,OAAA,EACE;AAAA,cAAY,UACX,gBAAAF;AAAA,IAAC;AAAA;AAAA,MACC,aAAY;AAAA,MACZ,QAAQ,YAAY;AAAA,MACpB,MAAK;AAAA;AAAA,EACP;AAAA,EAED,YAAY,YACX,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,aAAY;AAAA,MACZ,QAAQ,YAAY;AAAA,MACpB,MAAK;AAAA;AAAA,EACP;AAAA,EAED,YAAY,eACX,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,aAAY;AAAA,MACZ,QAAQ,YAAY;AAAA,MACpB,MAAK;AAAA;AAAA,EACP;AAAA,EAED,YAAY,QACX,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,aAAY;AAAA,MACZ,QAAQ,YAAY;AAAA,MACpB,MAAK;AAAA;AAAA,EACP;AAAA,GAEJ,GACF;;;AJtBM,SA+GI,YAAAG,WA/GJ,OAAAC,QAgBM,QAAAC,eAhBN;AATD,IAAM,eAAsC,CAAC,EAAE,SAAS,cAAc,MAAM;AACjF,QAAM,aAAaC,SAAQ,MAAM;AAC/B,UAAMC,cAAa,OAAO,QAAQ,eAAe,cAAc,CAAC,CAAC;AACjE,WAAOA,YAAW,OAAO,CAAC,CAAC,GAAG,MAAM,QAAQ,+BAA+B,QAAQ,wBAAwB;AAAA,EAC7G,GAAG,CAAC,eAAe,UAAU,CAAC;AAE9B,MAAI,CAAC,eAAe;AAClB,WACE,gBAAAH,OAACI,OAAA,EAAI,IAAI,EAAE,GAAG,GAAG,WAAW,SAAS,GACnC,0BAAAJ,OAACK,aAAA,EAAW,OAAM,kBAAiB,SAAQ,SAAQ,6CAEnD,GACF;AAAA,EAEJ;AAEA,SACE,gBAAAJ,QAACG,OAAA,EAAI,eAAY,iBAAgB,IAAI,EAAE,SAAS,QAAQ,eAAe,UAAU,QAAQ,OAAO,GAC9F;AAAA,oBAAAJ,OAAC,sBAAmB,OAAO,eAAe,SAAkB;AAAA,IAE5D,gBAAAA,OAACI,OAAA,EAAI,IAAI,EAAE,UAAU,GAAG,UAAU,QAAQ,GAAG,EAAE,GAC7C,0BAAAH,QAACK,QAAA,EAAM,SAAS,GAEd;AAAA,sBAAAN,OAAC,iBAAc,UAAS,qBACtB,0BAAAC,QAACK,QAAA,EAAM,SAAS,GACd;AAAA,wBAAAL,QAACG,OAAA,EACC;AAAA,0BAAAJ,OAACK,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,WAAU,qBAEvD;AAAA,UACA,gBAAAL,OAACK,aAAA,EAAW,SAAQ,SAAS,wBAAc,SAAQ;AAAA,WACrD;AAAA,QACA,gBAAAJ,QAACG,OAAA,EACC;AAAA,0BAAAJ,OAACK,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,WAAU,sBAEvD;AAAA,UACA,gBAAAL,OAACK,aAAA,EAAW,SAAQ,SACjB,wBAAc,UACjB;AAAA,WACF;AAAA,QACA,gBAAAJ,QAACG,OAAA,EACC;AAAA,0BAAAJ,OAACK,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,WAAU,uBAEvD;AAAA,UACA,gBAAAL,OAACK,aAAA,EAAW,SAAQ,SAAS,wBAAc,gBAAe;AAAA,WAC5D;AAAA,SACF,GACF;AAAA,MAEA,gBAAAL,OAACO,UAAA,EAAQ;AAAA,MAGT,gBAAAP,OAAC,iBAAc,UAAS,uBACtB,0BAAAC,QAACK,QAAA,EAAM,SAAS,GACd;AAAA,wBAAAL,QAACG,OAAA,EACC;AAAA,0BAAAJ,OAACK,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,WAAU,qBAEvD;AAAA,UACA,gBAAAL,OAACK,aAAA,EAAW,SAAQ,SAAS,wBAAc,cAAa;AAAA,WAC1D;AAAA,QACA,gBAAAJ,QAACG,OAAA,EACC;AAAA,0BAAAJ,OAACK,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,WAAU,sBAEvD;AAAA,UACA,gBAAAL,OAACK,aAAA,EAAW,SAAQ,SAAS,wBAAc,eAAc;AAAA,WAC3D;AAAA,QACC,QAAQ,cAAc,MAAM,KAC3B,gBAAAJ,QAACG,OAAA,EACC;AAAA,0BAAAJ,OAACK,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,WAAU,oBAEvD;AAAA,UACA,gBAAAL,OAACK,aAAA,EAAW,SAAQ,SAAS,wBAAc,QAAO;AAAA,WACpD;AAAA,SAEJ,GACF;AAAA,MAEA,gBAAAL,OAACO,UAAA,EAAQ;AAAA,MAGT,gBAAAP,OAAC,iBAAc,UAAS,UACtB,0BAAAC,QAACK,QAAA,EAAM,SAAS,GACd;AAAA,wBAAAL,QAACG,OAAA,EACC;AAAA,0BAAAJ,OAACK,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,WAAU,wBAEvD;AAAA,UACA,gBAAAL,OAACK,aAAA,EAAW,SAAQ,SACjB,yBAAe,cAAc,oBAAoB,GAAG,YAAY,GACnE;AAAA,WACF;AAAA,QACC,QAAQ,cAAc,kBAAkB,KACvC,gBAAAJ,QAACG,OAAA,EACC;AAAA,0BAAAJ,OAACK,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,WAAU,sBAEvD;AAAA,UACA,gBAAAJ,QAACI,aAAA,EAAW,SAAQ,SACf;AAAA,qBAAO,cAAc,kBAAkB,IAAI,OAAO,cAAc,oBAAoB,KAAK,OAAO,SAAS,GAAG,SAAS;AAAA,YACvH;AAAA,YAAI;AAAA,aAEP;AAAA,WACF;AAAA,SAEJ,GACF;AAAA,MAEA,gBAAAL,OAACO,UAAA,EAAQ;AAAA,MAGT,gBAAAP,OAAC,iBAAc,UAAS,UACtB,0BAAAC,QAACK,QAAA,EAAM,WAAU,OAAM,SAAS,GAC9B;AAAA,wBAAAN;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,OAAO,cAAc,gBAAgB,IAAI,UAAW,cAAc,gBAAgB,IAAI,YAAY;AAAA,YAClG,OAAO,cAAc,gBAAgB,IAAI,UAAW,cAAc,gBAAgB,IAAI,OAAO;AAAA,YAC7F,MAAK;AAAA;AAAA,QACP;AAAA,QACC,QAAQ,cAAc,cAAc,KAAK,gBAAAR,OAACK,aAAA,EAAW,SAAQ,SAAS,wBAAc,gBAAe;AAAA,SACtG,GACF;AAAA,MAGC,cAAc,OAAO,SAAS,KAC7B,gBAAAJ,QAAAF,WAAA,EACE;AAAA,wBAAAC,OAACO,UAAA,EAAQ;AAAA,QACT,gBAAAP;AAAA,UAAC;AAAA;AAAA,YACC,aAAa,qBAAqB,cAAc,MAAM;AAAA,YACtD,UAAS;AAAA;AAAA,QACX;AAAA,SACF;AAAA,MAID,WAAW,SAAS,KACnB,gBAAAC,QAAAF,WAAA,EACE;AAAA,wBAAAC,OAACO,UAAA,EAAQ;AAAA,QACT,gBAAAP,OAAC,iBAAc,UAAS,cACtB,0BAAAA,OAACM,QAAA,EAAM,SAAS,GACb,qBAAW,IAAI,CAAC,CAAC,KAAK,KAAK,MAC1B,gBAAAL,QAACG,OAAA,EACC;AAAA,0BAAAJ,OAACK,aAAA,EAAW,IAAI,EAAE,YAAY,IAAI,GAAG,SAAQ,WAC1C,eACH;AAAA,UACC,eAAe,KAAK,KAAK;AAAA,aAJlB,GAKV,CACD,GACH,GACF;AAAA,SACF;AAAA,OAEJ,GACF;AAAA,KACF;AAEJ;AAEA,SAAS,eAAe,KAAa,OAA6B;AAChE,MAAI,OAAO,UAAU,aAAa,QAAQ,oCAAoC,QAAQ,qCAAqC,QAAQ,qCAAqC;AACtK,WACE,gBAAAL,OAACI,OAAA,EAAI,IAAI,EAAE,iBAAiB,WAAS,MAAM,QAAQ,WAAW,SAAS,cAAc,GAAG,GAAG,EAAE,GAC3F,0BAAAJ,OAAC,SAAI,OAAO,EAAE,QAAQ,GAAG,UAAU,OAAO,GACxC,0BAAAA,OAACK,aAAA,EAAW,SAAQ,SACjB,eAAK,UAAU,KAAK,MAAM,KAAK,GAAG,QAAW,CAAC,GACjD,GACF,GACF;AAAA,EAEJ;AAEA,MAAI,OAAO,UAAU,WAAW;AAC9B,WAAO,gBAAAL,OAACK,aAAA,EAAW,SAAQ,SAAS,kBAAQ,QAAQ,MAAK;AAAA,EAC3D;AAEA,SAAO,gBAAAL,OAACK,aAAA,EAAW,SAAQ,SAAS,iBAAM;AAC5C;;;AU5LA,OAAO;AAMP,SAAS,SAAAI,QAAO,UAAAC,eAAc;AAC9B,SAAS,YAAY,WAAW,gBAAAC,qBAAoB;AACpD,SAAS,eAAAC,cAAa,aAAAC,YAAW,YAAAC,iBAAgB;;;ACNjD,SAAS,OAAAC,OAAK,SAAAC,QAAO,cAAAC,oBAAkB;AACvC,OAAO;AACP,SAAS,QAAQ,gBAAgB;AACjC,SAAS,QAAAC,aAAY;;;ACJrB,SAAS,SAASC,YAAW,QAAAC,OAAM,WAAAC,gBAAe;AAClD,SAAS,OAAAC,OAAK,WAAAC,gBAAe;AAC7B,SAAS,WAAAC,gBAAe;AAcT,gBAAAC,cAAA;AAJR,IAAM,mBAA8C,CAAC,EAAE,MAAM,MAAM;AACxE,QAAM,OAAOD,SAAQ,MAAM;AACzB,YAAQ,MAAM,OAAO;AAAA,MACnB,KAAK,SAAS;AACZ,eAAO,gBAAAC,OAACN,YAAA,EAAU,IAAI,EAAE,OAAO,WAAW,UAAU,OAAO,GAAG;AAAA,MAChE;AAAA,MACA,KAAK,WAAW;AACd,eAAO,gBAAAM,OAACJ,UAAA,EAAQ,IAAI,EAAE,OAAO,WAAW,UAAU,OAAO,GAAG;AAAA,MAC9D;AAAA,MACA,SAAS;AACP,eAAO,gBAAAI,OAACL,OAAA,EAAK,IAAI,EAAE,OAAO,WAAW,UAAU,OAAO,GAAG;AAAA,MAC3D;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,KAAK,CAAC;AAEhB,QAAM,QAAQI,SAAQ,MAAM;AAC1B,YAAQ,MAAM,OAAO;AAAA,MACnB,KAAK,SAAS;AACZ,eAAO;AAAA,MACT;AAAA,MACA,KAAK,WAAW;AACd,eAAO;AAAA,MACT;AAAA,MACA,SAAS;AACP,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,KAAK,CAAC;AAEhB,SACE,gBAAAC,OAACF,UAAA,EAAQ,OAAK,MAAC,OAAO,MAAM,WAAW,kBACrC,0BAAAE;AAAA,IAACH;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,iBAAiB,GAAG,KAAK;AAAA,QACzB,QAAQ,aAAa,KAAK;AAAA,QAC1B,cAAc;AAAA,QACd,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,OAAO;AAAA,MACT;AAAA,MAEC;AAAA;AAAA,EACH,GACF;AAEJ;;;AD1BM,SAmBE,OAAAI,QAnBF,QAAAC,eAAA;AAvBN,IAAM,cAA6B;AAAA,EACjC,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,SAAS;AACX;AAcO,IAAM,cAA8CC,MAAK,CAAC,EAAE,MAAM,SAAS,MAAM;AACtF,QAAM,aAAa,KAAK,MAAM,UAAU,KAAK,MAAM,OAAO,SAAS,MAAM;AAEzE,SACE,gBAAAD,QAACE,OAAA,EAAI,IAAI,EAAE,UAAU,IAAI,GACvB;AAAA,oBAAAF;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,IAAI;AAAA,UACF,WAAW;AAAA,YACT,SAAS;AAAA,UACX;AAAA,UACA,cAAc;AAAA,UACd,gBAAgB;AAAA,UAChB,UAAU;AAAA,UACV,WAAW;AAAA,UACX,iBAAiB;AAAA,UACjB,YAAY;AAAA,UACZ,WAAW,WAAW,IAAI;AAAA,UAC1B,YAAY;AAAA,UACZ,cAAc;AAAA,UACd,SAAS;AAAA,QACX;AAAA,QACA,UAAU;AAAA,QAEV;AAAA,0BAAAH,OAAC,UAAO,UAAU,SAAS,MAAM,OAAO,aAAa,MAAK,UAAS;AAAA,UACnE,gBAAAA,OAAC,UAAO,UAAU,SAAS,OAAO,OAAO,aAAa,MAAK,UAAS;AAAA,UAEpE,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,QAAO;AAAA,cACP,UAAU,KAAK,MAAM;AAAA,cACrB;AAAA,cACA,SAAS,KAAK,MAAM;AAAA,cACpB,OAAM;AAAA;AAAA,UACR;AAAA;AAAA;AAAA,IACF;AAAA,IAEA,gBAAAC;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,YAAW;AAAA,QACX,WAAU;AAAA,QACV,SAAS;AAAA,QACT,IAAI;AAAA,UACF,IAAI;AAAA,UACJ,IAAI;AAAA,QACN;AAAA,QAEC;AAAA,uBACC,gBAAAJ;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,SAAS;AAAA,cACT,IAAI;AAAA,gBACF,UAAU;AAAA,gBACV,KAAK;AAAA,cACP;AAAA,cAEC,eAAK,MAAM,QAAQ,IAAI,WACtB,gBAAAJ,OAAC,oBAAiB,SAAmB,MAAM,OAAS,CACrD;AAAA;AAAA,UACH;AAAA,UAEF,gBAAAA;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,gBACF,UAAU;AAAA,gBACV,UAAU;AAAA,gBACV,IAAI,YAAY,IAAI;AAAA,gBACpB,UAAU;AAAA,gBACV,cAAc;AAAA,gBACd,YAAY;AAAA,cACd;AAAA,cACA,SAAQ;AAAA,cAEP,eAAK,MAAM;AAAA;AAAA,UACd;AAAA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ,CAAC;;;AExGD,OAAO,WAAW;AAClB,SAAS,YAAY,YAAAC,iBAAgB;AAU9B,IAAM,wBAAwB,CACnC,OACA,aACkB;AAClB,QAAM,QAA2B,CAAC;AAClC,QAAM,QAAgB,CAAC;AAEvB,QAAM,KAAK;AAAA,IACT,MAAM;AAAA,MACJ,MAAM,EAAE,CAAC,MAAM,OAAO,GAAG,MAAM;AAAA,MAC/B;AAAA,MACA,QAAQ;AAAA,MACR,IAAI,MAAM;AAAA,MACV,UAAU,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,MACvB,OAAO;AAAA,IACT;AAAA,IACA,IAAI,MAAM;AAAA,IACV,UAAU,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA;AAAA,IACvB,gBAAgBA,UAAS;AAAA,IACzB,gBAAgBA,UAAS;AAAA,IACzB,MAAM;AAAA,EACR,CAAC;AAED,MAAI,UAAU;AACZ,UAAM,KAAK;AAAA,MACT,UAAU;AAAA,MACV,IAAI,KAAK,QAAQ,IAAI,MAAM,OAAO;AAAA,MAClC,WAAW;AAAA,QACT,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,MAAM,WAAW;AAAA,QACjB,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,MACR,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,aAAa;AAAA,MACf;AAAA,MACA,QAAQ,MAAM;AAAA,IAChB,CAAC;AAAA,EACH;AAGA,MAAI,MAAM,YAAY,MAAM,SAAS,SAAS,GAAG;AAC/C,eAAW,SAAS,MAAM,UAAU;AAClC,YAAM,EAAE,OAAO,YAAY,OAAO,WAAW,IAAI;AAAA,QAAsB;AAAA,QACrE,MAAM;AAAA,MAAO;AACf,YAAM,KAAK,GAAG,UAAU;AACxB,YAAM,KAAK,GAAG,UAAU;AAAA,IAC1B;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,MAAM;AACxB;AAEO,IAAM,2BAA2B,CAAC,YAA+B,eAAsC;AAC5G,QAAM,aAAa,IAAI,MAAM,SAAS,MAAM,EAAE,oBAAoB,OAAO,CAAC,EAAE;AAE5E,QAAM,YAAY;AAClB,QAAM,YAAY;AAClB,QAAM,aAAa;AAEnB,aAAW,SAAS,EAAE,SAAS,UAAU,CAAC;AAE1C,aAAW,QAAQ,YAAY;AAC7B,eAAW,QAAQ,KAAK,IAAI,EAAE,QAAQ,YAAY,OAAO,UAAU,CAAC;AAAA,EACtE;AAEA,aAAW,QAAQ,YAAY;AAC7B,eAAW,QAAQ,KAAK,QAAQ,KAAK,MAAM;AAAA,EAC7C;AAEA,QAAM,OAAO,UAAU;AAEvB,QAAM,gBAAgB,WAAW,IAAI,CAAC,SAAS;AAC7C,UAAM,mBAAmB,WAAW,KAAK,KAAK,EAAE;AAChD,WAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU;AAAA,QACR,GAAG,iBAAiB,IAAI,YAAY;AAAA,QACpC,GAAG,iBAAiB,IAAI,aAAa;AAAA,MACvC;AAAA,MACA,YAAY;AAAA,IACd;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,YAAY,OAAO,cAAc;AACnD;AAEO,IAAM,kBAAkB,CAAC,UAA6D;AAC3F,MAAI,MAAM,WAAW,EAAG,QAAO,EAAE,MAAM,GAAG,MAAM,EAAE;AAElD,MAAI,OAAO,OAAO;AAClB,MAAI,OAAO,OAAO;AAElB,aAAW,QAAQ,OAAO;AACxB,WAAO,KAAK,IAAI,MAAM,KAAK,SAAS,CAAC;AACrC,WAAO,KAAK,IAAI,MAAM,KAAK,SAAS,CAAC;AAAA,EACvC;AAEA,SAAO,EAAE,MAAM,KAAK;AACtB;AAEO,IAAM,mBAAmB,CAC9B,YACA,oBACA,MACA,SACW;AACX,QAAM,YAAY;AAClB,QAAM,gBAAgB,aAAa,qBAAqB;AAExD,SAAO,KAAK,IAAI,KAAK,IAAI,eAAe,OAAO,qBAAqB,CAAC,GAAG,OAAO,qBAAqB,IAAI,SAAS;AACnH;;;AC3HA,SAAS,KAAK,WAAW,cAAc;AACvC,SAAS,OAAAC,OAAK,cAAAC,mBAAkB;AAChC,SAAS,cAAc,gBAAgB;AACvC,SAAS,QAAAC,aAAY;;;ACLrB,SAAS,UAAU,MAAM,MAAM;AAC7B,MAAI,OAAO,GAAG,MAAM,IAAI,GAAG;AACzB,WAAO;AAAA,EACT;AACA,MAAI,OAAO,SAAS,YAAY,SAAS,QAAQ,OAAO,SAAS,YAAY,SAAS,MAAM;AAC1F,WAAO;AAAA,EACT;AACA,MAAI,gBAAgB,OAAO,gBAAgB,KAAK;AAC9C,QAAI,KAAK,SAAS,KAAK,KAAM,QAAO;AACpC,eAAW,CAAC,KAAK,KAAK,KAAK,MAAM;AAC/B,UAAI,CAAC,OAAO,GAAG,OAAO,KAAK,IAAI,GAAG,CAAC,GAAG;AACpC,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,MAAI,gBAAgB,OAAO,gBAAgB,KAAK;AAC9C,QAAI,KAAK,SAAS,KAAK,KAAM,QAAO;AACpC,eAAW,SAAS,MAAM;AACxB,UAAI,CAAC,KAAK,IAAI,KAAK,GAAG;AACpB,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,OAAO,KAAK,IAAI;AAC9B,MAAI,MAAM,WAAW,OAAO,KAAK,IAAI,EAAE,QAAQ;AAC7C,WAAO;AAAA,EACT;AACA,aAAW,QAAQ,OAAO;AACxB,QAAI,CAAC,OAAO,UAAU,eAAe,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG;AAC3F,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;;;ADJI,SAkBI,OAAAC,QAlBJ,QAAAC,eAAA;AAvBJ,IAAM,WAAW,CAAC,OAAuB;AAAA,EACvC,eAAe,EAAE,kBAAkB,EAAE,oBAAoB,EAAE;AAAA,EAC3D,gBAAgB,EAAE,UAAU,CAAC,KAAK,EAAE;AAAA,EACpC,gBAAgB,EAAE,UAAU,CAAC,KAAK,EAAE;AACtC;AAEO,IAAM,WAAeC,MAAK,MAAM;AACrC,QAAM,EAAE,gBAAgB,eAAe,IAAI,SAAS,UAAU,SAAO;AACrE,QAAM,EAAE,SAAS,QAAQ,QAAQ,IAAI,aAAa;AAElD,QAAM,kBAAkB,MAAM;AAC5B,SAAK,OAAO;AAAA,EACd;AAEA,QAAM,mBAAmB,MAAM;AAC7B,SAAK,QAAQ;AAAA,EACf;AAEA,QAAM,mBAAmB,MAAM;AAC7B,SAAK,QAAQ;AAAA,EACf;AAEA,SACE,gBAAAD;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,eAAe;AAAA,QACf,KAAK;AAAA,QACL,MAAM;AAAA,QACN,GAAG;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MAEA;AAAA,wBAAAH;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,UAAU;AAAA,YACV,SAAS;AAAA,YACT,MAAK;AAAA,YAEL,0BAAAJ,OAAC,OAAI;AAAA;AAAA,QACP;AAAA,QACA,gBAAAA;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,UAAU;AAAA,YACV,SAAS;AAAA,YACT,MAAK;AAAA,YAEL,0BAAAJ,OAAC,UAAO;AAAA;AAAA,QACV;AAAA,QAEA,gBAAAA;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS;AAAA,YACT,MAAK;AAAA,YAEL,0BAAAJ,OAAC,aAAU;AAAA;AAAA,QACb;AAAA;AAAA;AAAA,EACF;AAEJ,CAAC;;;AJ2EG,qBAAAK,WAIQ,OAAAC,QAFJ,QAAAC,eAFJ;AA/HJ,IAAM,YAAY;AAAA,EAChB,SAAS;AACX;AAkBO,IAAM,aAAkC,CAAC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAoB;AAClB,QAAM,CAAC,OAAO,QAAQ,IAAIC,UAA4B,CAAC,CAAC;AACxD,QAAM,CAAC,OAAO,QAAQ,IAAIA,UAAiB,CAAC,CAAC;AAC7C,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,UAAS,KAAK;AAC1D,QAAM,EAAE,SAAS,UAAU,IAAIC,cAAa;AAE5C,QAAM,qBAAqBC,aAAY,CAAC,WAA+B;AACrE,UAAM,WAAW,IAAI,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;AAG/C,aAAS,CAAC,kBAAkB;AAC1B,aAAO,cAAc,IAAI,WAAS,EAAE,GAAG,MAAM,UAAU,SAAS,IAAI,KAAK,EAAE,EAAE,EAAE;AAAA,IACjF,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,EAAAC,WAAU,MAAM;AACd,UAAM,WAAW,oBAAI,IAA8B;AACnD,UAAM,YAAgC,CAAC;AAGvC,eAAW,QAAQ,MAAM,QAAQ,CAAC,GAAG;AACnC,eAAS,IAAI,KAAK,SAAS,EAAE,GAAG,MAAM,UAAU,CAAC,EAAE,CAAC;AAAA,IACtD;AAGA,eAAW,QAAQ,MAAM,QAAQ,CAAC,GAAG;AACnC,YAAM,cAAc,SAAS,IAAI,KAAK,OAAO;AAC7C,UAAI,CAAC,YAAa;AAElB,UAAI,KAAK,kBAAkB,SAAS,IAAI,KAAK,cAAc,GAAG;AAC5D,cAAM,aAAa,SAAS,IAAI,KAAK,cAAc;AACnD,YAAI,YAAY;AACd,qBAAW,aAAa,CAAC;AACzB,qBAAW,SAAS,KAAK,WAAW;AAAA,QACtC;AAAA,MACF,OACK;AAEH,kBAAU,KAAK,WAAW;AAAA,MAC5B;AAAA,IACF;AAGA,QAAI,WAA8B,CAAC;AACnC,QAAI,WAAmB,CAAC;AAExB,eAAW,YAAY,WAAW;AAChC,YAAM,EAAE,OAAO,UAAU,OAAO,SAAS,IAAI,sBAAsB,QAAQ;AAC3E,iBAAW,CAAC,GAAG,UAAU,GAAG,QAAQ;AACpC,iBAAW,CAAC,GAAG,UAAU,GAAG,QAAQ;AAAA,IACtC;AAEA,UAAM,EAAE,OAAO,eAAe,OAAO,cAAc,IAAI,yBAAyB,UAAU,QAAQ;AAElG,eAAW,QAAQ,eAAe;AAChC,UAAI,KAAK,OAAO,qBAAqB;AACnC,aAAK,WAAW;AAAA,MAClB;AAAA,IACF;AAEA,aAAS,aAAa;AACtB,aAAS,aAAa;AAAA,EACxB,GAAG,CAAC,MAAM,MAAM,mBAAmB,CAAC;AAEpC,EAAAA,WAAU,MAAM;AACd,UAAM,uBAAuB,CAAC,MAAM,WAAW,MAAM,SAAS,KAAK,CAAC;AAEpE,QAAI,sBAAsB;AACxB,UAAI,qBAAqB;AACvB,cAAM,YAAY,MAAM,KAAK,UAAQ,KAAK,OAAO,mBAAmB;AACpE,YAAI,WAAW;AACb,gBAAM,EAAE,MAAM,KAAK,IAAI,gBAAgB,KAAK;AAC5C,gBAAM,UAAU,iBAAiB,UAAU,SAAS,GAAG,oBAAoB,MAAM,IAAI;AACrF,eAAK,UAAU,SAAS,UAAU,SAAS,GAAG;AAAA,YAC5C,UAAU;AAAA,YACV,MAAM;AAAA,UACR,CAAC;AAED,wBAAc,UAAU,KAAK,KAAK;AAAA,QACpC;AAAA,MACF,OACK;AACH,aAAK,QAAQ,EAAE,UAAU,IAAI,CAAC;AAAA,MAChC;AACA,wBAAkB,IAAI;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,MAAM,SAAS,OAAO,qBAAqB,oBAAoB,WAAW,SAAS,eAAe,cAAc,CAAC;AAGrH,EAAAA,WAAU,MAAM;AACd,QAAI,qBAAqB;AACvB,yBAAmB,mBAAmB;AAAA,IACxC;AAAA,EACF,GAAG,CAAC,qBAAqB,kBAAkB,CAAC;AAE5C,QAAM,cAAcD,aAA+C,CAAC,QAAQ,SAAS;AACnF,kBAAc,KAAK,KAAK,KAAK;AAC7B,uBAAmB,KAAK,EAAE;AAAA,EAC5B,GAAG,CAAC,eAAe,kBAAkB,CAAC;AAEtC,SACE,gBAAAH,QAAAF,WAAA,EACG;AAAA,UAAM,SACL,gBAAAE;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,QACE,gBAAAN,OAACO,SAAA,EAAO,SAAS,MAAM;AAAE,oBAAU;AAAA,QAAE,GAAG,mBAAK;AAAA,QAE/C,UAAS;AAAA,QACV;AAAA;AAAA,UAEE;AAAA,UACA,MAAM,MAAM;AAAA;AAAA;AAAA,IACf;AAAA,IAGF,gBAAAN;AAAA,MAAC;AAAA;AAAA,QACC,eAAY;AAAA,QACZ,iBAAiB,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,EAAE;AAAA,QACvC;AAAA,QACA,SAAO;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA,mBAAmB;AAAA,QAEnB;AAAA,0BAAAD,OAAC,YAAS;AAAA,UACV,gBAAAA,OAAC,cAAW;AAAA;AAAA;AAAA,IACd;AAAA,KACF;AAEJ;;;AX3EM,SAwBQ,YAAAQ,WAvBuD,OAAAC,QAD/D,QAAAC,eAAA;AAnFN,IAAM,gBAAgB;AACtB,IAAM,eAAe;AAErB,IAAM,OAAO,OAAO,QAAQ,EAAE,mBAAmB,cAAY,aAAa,OAAO,CAAC,EAE/E,CAAC,EAAE,MAAM,MAAM,OAAO;AAAA,EACvB,UAAU;AAAA,EACV,aAAa,IAAI,YAAY;AAAA,EAC7B,YAAY,MAAM,YAAY,OAAO,UAAU;AAAA,IAC7C,UAAU,MAAM,YAAY,SAAS;AAAA,IACrC,QAAQ,MAAM,YAAY,OAAO;AAAA,EACnC,CAAC;AAAA,EACD,GAAI,QAAQ;AAAA,IACV,aAAa;AAAA,IACb,YAAY,MAAM,YAAY,OAAO,UAAU;AAAA,MAC7C,UAAU,MAAM,YAAY,SAAS;AAAA,MACrC,QAAQ,MAAM,YAAY,OAAO;AAAA,IACnC,CAAC;AAAA,EACH;AACF,EAAE;AAEF,IAAM,eAAe,OAAO,MAAM,EAAE,OAAO;AAAA,EACzC,sBAAsB;AAAA,IACpB,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,QAAQ,eAAe,cAAc,SAAS,CAAC;AAAA,IAC/C,WAAW;AAAA,IACX,KAAK;AAAA,IACL,OAAO;AAAA,EACT;AAAA,EACA,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,SAAS;AACX,EAAE;AAEK,IAAM,iBAgBR,CAAC;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AAEJ,QAAM,0BAA0B,QAAQ,WAAW,KAAM,QAAQ,WAAW;AAE5E,SACE,gBAAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,eAAe;AAAA,QACf,UAAU;AAAA,QACV,KAAK;AAAA,QACL,UAAU;AAAA,MACZ;AAAA,MAEA;AAAA,wBAAAD,QAACC,OAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,OAAO,OAAO,GACxC;AAAA,0BAAAF,OAACG,SAAA,EAAO,SAAS,MAAM;AAAE,gCAAoB;AAAA,UAAE,GAAG,WAAW,gBAAAH,OAAC,aAAU,GAAI,qBAE5E;AAAA,UACA,gBAAAA,OAACE,OAAA,EAAI,IAAI,EAAE,UAAU,EAAE,GAAG;AAAA,WAC5B;AAAA,QACA,gBAAAF;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,SAAS;AAAA,cACT,UAAU;AAAA,cACV,UAAU;AAAA,cACV,UAAU;AAAA,cACV,OAAO;AAAA,YACT;AAAA,YAEC,oCAEK,gBAAAJ;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO;AAAA,gBACP,SAAS;AAAA,gBACT;AAAA;AAAA,YACF,IAGA,gBAAAC,QAAAF,WAAA,EACE;AAAA,8BAAAC,OAAC,QAAK,MACJ,0BAAAA;AAAA,gBAACE;AAAA,gBAAA;AAAA,kBACC,IAAI;AAAA,oBACF,QAAQ;AAAA,oBACR,UAAU;AAAA,kBACZ;AAAA,kBAEC,sBAAY,UACX,gBAAAF,OAAC,qBACC,0BAAAA;AAAA,oBAAC;AAAA;AAAA,sBACC,qBAAqB;AAAA,sBACrB,eAAe;AAAA,sBACf,WAAW,MAAM;AAAE,mCAAW;AAAA,sBAAE;AAAA,sBAChC,OAAO;AAAA,wBACL,MAAM;AAAA,wBACN,OAAO;AAAA,wBACP;AAAA,sBACF;AAAA,sBACA;AAAA;AAAA,kBACF,GACF;AAAA;AAAA,cAEJ,GACF;AAAA,cACA,gBAAAA,OAAC,gBAAa,QAAO,SAAQ,MAAY,SAAQ,cAC/C,0BAAAA,OAAC,gBAAa,SAAS,aAAa,eAA8B,GACpE;AAAA,eACF;AAAA;AAAA,QAER;AAAA;AAAA;AAAA,EACF;AAEJ;AAEO,IAAM,iBAAqB,MAAM;AACtC,QAAM,EAAE,QAAQ,IAAI,UAA+B;AACnD,QAAM,CAAC,gBAAgB,IAAI,gBAAgB;AAC3C,QAAM,SAAS,iBAAiB,IAAI,QAAQ;AAE5C,QAAM,MAAM,mBAAmB;AAC/B,QAAM,CAAC,OAAO,QAAQ,IAAIK,WAAiB;AAC3C,QAAM,CAAC,SAAS,UAAU,IAAIA,WAAS,KAAK;AAE5C,QAAM,CAAC,YAAY,aAAa,IAAIA,WAAgB;AACpD,QAAM,aAAaC,aAAY,YAAY;AACzC,eAAW,IAAI;AACf,QAAI;AACF,YAAM,WAAW,MAAM,IAAI,SAAS;AAAA,QAClC,UAAU;AAAA,MACZ,CAAC;AACD,eAAS,SAAS,KAAK;AACvB,oBAAc,MAAS;AAAA,IACzB,SACO,OAAO;AACZ,cAAQ,MAAM,KAAK;AACnB,oBAAc,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,iBAAiB,EAAE,OAAO,MAAM,CAAC,CAAC;AAAA,IAC7F,UACA;AACE,iBAAW,KAAK;AAAA,IAClB;AAAA,EACF,GAAG,CAAC,KAAK,OAAO,CAAC;AAEjB,EAAAC,WAAU,MAAM;AACd,SAAK,WAAW;AAAA,EAClB,GAAG,CAAC,UAAU,CAAC;AAEf,QAAM,CAAC,MAAM,OAAO,IAAIF,WAAS,IAAI;AACrC,QAAM,CAAC,eAAe,gBAAgB,IAAIA,WAAe;AACzD,QAAM,CAAC,oBAAoB,qBAAqB,IAAIA,WAAS,CAAC;AAE9D,QAAM,EAAE,aAAa,OAAO,aAAa,OAAO,IAAI,UAAU;AAE9D,QAAM,uBAAuBC,aAAY,MAAM;AAC7C,UAAM,kBAAkB,SAAS,KAAK,YAAY;AAClD,QAAI,mBAAmB,MAAM;AAC3B,YAAM,aAAa,OAAO,SAAS,gBAAgB,CAAC,GAAG,EAAE;AACzD,aAAQ,OAAO,aAAa,aAAc;AAAA,IAC5C;AACA,WAAO;AAAA,EACT,GAAG,CAAC,IAAI,CAAC;AAGT,EAAAC,WAAU,MAAM;AACd,UAAM,sBAAsB,MAAM;AAChC,YAAM,aAAa,OAAO;AAC1B,YAAM,mBAAmB,OAAO,qBAAqB,IAAI;AACzD,4BAAsB,aAAa,gBAAgB;AAAA,IACrD;AAEA,wBAAoB;AACpB,UAAM,YAAY,WAAW,qBAAqB,EAAE;AACpD,WAAO,iBAAiB,UAAU,mBAAmB;AAErD,WAAO,MAAM;AACX,aAAO,oBAAoB,UAAU,mBAAmB;AACxD,mBAAa,SAAS;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,MAAM,oBAAoB,CAAC;AAE/B,QAAM,oBAAoBD,aAAY,CAAC,UAAgB;AACrD,qBAAiB,KAAK;AACtB,YAAQ,IAAI;AAAA,EACd,GAAG,CAAC,CAAC;AAEL,QAAM,cAAcA,aAAY,MAAM;AACpC,SAAK,YAAY;AAAA,EACnB,GAAG,CAAC,WAAW,CAAC;AAEhB,QAAM,WAAWE,aAAY;AAC7B,QAAM,EAAE,YAAY,IAAI,gBAAgB;AACxC,QAAM,sBAAsBF,aAAY,MAAM;AAC5C,UAAM,MAAM,YAAY,EAAE,IAAI,aAAa,CAAC;AAC5C,aAAS,GAAG;AAAA,EACd,GAAG,CAAC,UAAU,WAAW,CAAC;AAE1B,SACE,gBAAAN;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,YAAY,MAAM,KAAK,WAAW;AAAA,MAClC,aAAa,MAAM;AAAE,gBAAQ,KAAK;AAAA,MAAE;AAAA,MACpC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF;AAEJ;;;AiBjQO,IAAM,SAAS;AAAA,EACpB,0BAA0B;AAAA,EAC1B,2BAA2B;AAC7B;;;ACKO,IAAM,QAAQ;AAAA,EACnB,0BAA0B,CAAC,OAAO,0BAA0B,aAAa;AAAA,EACzE,2BAA2B,CAAC,OAAO,2BAA2B,cAAc;AAC9E;","names":["Box","useCallback","useEffect","useMemo","useRef","useState","Box","Button","Box","Tooltip","Typography","useMemo","useState","jsx","jsx","Box","Tooltip","jsx","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","jsx","jsx","Tooltip","Box","jsx","Fragment","jsx","jsxs","Box","Fragment","jsx","jsxs","Tooltip","useState","useMemo","Box","Typography","jsx","jsxs","Box","Button","Alert","Box","Button","Typography","Fragment","jsx","jsxs","Box","Alert","Typography","Button","createContext","useContext","useCallback","useMemo","jsx","createContext","useContext","useMemo","useCallback","useCallback","useEffect","useState","useCallback","useEffect","useRef","useState","useState","useRef","useCallback","useEffect","jsx","useState","useRef","useMemo","useCallback","useEffect","Box","Box","Button","Paper","useCallback","useEffect","useState","useNavigate","Box","Chip","Divider","Stack","Typography","useMemo","headline","Box","Typography","jsx","jsxs","Box","KeyboardArrowDown","KeyboardArrowRight","Box","Grid","IconButton","Typography","useEffect","useMemo","useRef","useState","Error","Box","jsx","Error","CheckCircle","Box","Grid","Typography","jsx","jsxs","Grid","Typography","CheckCircle","Box","Box","Chip","IconButton","Typography","useMemo","useState","jsx","jsxs","useState","useMemo","parsedIAM","Box","IconButton","Chip","Typography","Fragment","jsx","jsxs","DetailRow","Grid","Typography","useState","useRef","useMemo","useEffect","Box","IconButton","KeyboardArrowDown","KeyboardArrowRight","KeyboardArrowDown","KeyboardArrowRight","Box","Typography","useState","jsx","jsxs","jsx","jsxs","Box","Fragment","jsx","jsxs","useMemo","attributes","Box","Typography","Stack","Divider","Chip","Alert","Button","useReactFlow","useCallback","useEffect","useState","Box","Stack","Typography","memo","ErrorIcon","Info","Warning","Box","Tooltip","useMemo","jsx","jsx","jsxs","memo","Box","Stack","Typography","Position","Box","IconButton","memo","jsx","jsxs","memo","Box","IconButton","Fragment","jsx","jsxs","useState","useReactFlow","useCallback","useEffect","Alert","Button","Fragment","jsx","jsxs","Box","Button","Paper","useState","useCallback","useEffect","useNavigate"]}
|