@fudanda/admin-antd 2.20261109.1-beta.1 → 2.20261109.1-beta.2
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/chunks/ApiTokensPage-w3JGRNQC.js +2 -0
- package/dist/chunks/ApiTokensPage-w3JGRNQC.js.map +1 -0
- package/dist/chunks/{App-CfQx7jWq.js → App-nh6_qOo8.js} +5 -5
- package/dist/chunks/{App-CfQx7jWq.js.map → App-nh6_qOo8.js.map} +1 -1
- package/dist/chunks/{AppModal-CVoUC2t3.js → AppModal-CEouaU03.js} +2 -2
- package/dist/chunks/{AppModal-CVoUC2t3.js.map → AppModal-CEouaU03.js.map} +1 -1
- package/dist/chunks/{ArcBaseAdmin-DQyddbFC.js → ArcBaseAdmin-CX7fQz4x.js} +2 -2
- package/dist/chunks/{ArcBaseAdmin-DQyddbFC.js.map → ArcBaseAdmin-CX7fQz4x.js.map} +1 -1
- package/dist/chunks/{DepartmentsPage-CQx53QGE.js → DepartmentsPage-BdD9VfDI.js} +2 -2
- package/dist/chunks/{DepartmentsPage-CQx53QGE.js.map → DepartmentsPage-BdD9VfDI.js.map} +1 -1
- package/dist/chunks/{DictsPage-BGnamkWk.js → DictsPage-fxBdV1-3.js} +2 -2
- package/dist/chunks/{DictsPage-BGnamkWk.js.map → DictsPage-fxBdV1-3.js.map} +1 -1
- package/dist/chunks/{EntityContextRuntime-CbzeMNXR.js → EntityContextRuntime-CMhoj6qe.js} +2 -2
- package/dist/chunks/{EntityContextRuntime-CbzeMNXR.js.map → EntityContextRuntime-CMhoj6qe.js.map} +1 -1
- package/dist/chunks/EntityContextRuntime-Dc89ZSnM.js +1 -0
- package/dist/chunks/{ExportButton-sMPAV2hd.js → ExportButton-DGxB2tcu.js} +2 -2
- package/dist/chunks/{ExportButton-sMPAV2hd.js.map → ExportButton-DGxB2tcu.js.map} +1 -1
- package/dist/chunks/{FileViewerPreviewPanel-Rti7pUhU.js → FileViewerPreviewPanel-BMZ7FdKV.js} +3 -3
- package/dist/chunks/{FileViewerPreviewPanel-Rti7pUhU.js.map → FileViewerPreviewPanel-BMZ7FdKV.js.map} +1 -1
- package/dist/chunks/{FilesPage-D_iYsUwl.js → FilesPage-DrgWELKy.js} +3 -3
- package/dist/chunks/{FilesPage-D_iYsUwl.js.map → FilesPage-DrgWELKy.js.map} +1 -1
- package/dist/chunks/{IdentitySecurityPage-rDYX5ksX.js → IdentitySecurityPage-BjTKvr-O.js} +2 -2
- package/dist/chunks/{IdentitySecurityPage-rDYX5ksX.js.map → IdentitySecurityPage-BjTKvr-O.js.map} +1 -1
- package/dist/chunks/{LogStatsScaffold-CMIz4z0a.js → LogStatsScaffold-DaB0JeAN.js} +2 -2
- package/dist/chunks/{LogStatsScaffold-CMIz4z0a.js.map → LogStatsScaffold-DaB0JeAN.js.map} +1 -1
- package/dist/chunks/{LoginLogsPage-Bv5pPJb2.js → LoginLogsPage-VmYC7i6q.js} +2 -2
- package/dist/chunks/{LoginLogsPage-Bv5pPJb2.js.map → LoginLogsPage-VmYC7i6q.js.map} +1 -1
- package/dist/chunks/{LoginLogsTable-DYcTx2oR.js → LoginLogsTable-CULcc_e8.js} +2 -2
- package/dist/chunks/{LoginLogsTable-DYcTx2oR.js.map → LoginLogsTable-CULcc_e8.js.map} +1 -1
- package/dist/chunks/{MarkdownPreviewPanel-lqs6AsoN.js → MarkdownPreviewPanel-CBcPc7Wv.js} +2 -2
- package/dist/chunks/{MarkdownPreviewPanel-lqs6AsoN.js.map → MarkdownPreviewPanel-CBcPc7Wv.js.map} +1 -1
- package/dist/chunks/{MasterDetailLayout-B5uqvh98.js → MasterDetailLayout-ByIBpmkZ.js} +2 -2
- package/dist/chunks/{MasterDetailLayout-B5uqvh98.js.map → MasterDetailLayout-ByIBpmkZ.js.map} +1 -1
- package/dist/chunks/{McpSettingsPage-Cdej9Evi.js → McpSettingsPage-C5V_rj2V.js} +2 -2
- package/dist/chunks/{McpSettingsPage-Cdej9Evi.js.map → McpSettingsPage-C5V_rj2V.js.map} +1 -1
- package/dist/chunks/{MemberAssignmentSheet-AKvLbbYW.js → MemberAssignmentSheet-DL0fg1Yf.js} +2 -2
- package/dist/chunks/{MemberAssignmentSheet-AKvLbbYW.js.map → MemberAssignmentSheet-DL0fg1Yf.js.map} +1 -1
- package/dist/chunks/{MenuCommandPalette-ia0pSIFg.js → MenuCommandPalette-C2PvK3Gh.js} +2 -2
- package/dist/chunks/{MenuCommandPalette-ia0pSIFg.js.map → MenuCommandPalette-C2PvK3Gh.js.map} +1 -1
- package/dist/chunks/{MenusPage-Bh55bvKH.js → MenusPage-Bytd1HlW.js} +2 -2
- package/dist/chunks/{MenusPage-Bh55bvKH.js.map → MenusPage-Bytd1HlW.js.map} +1 -1
- package/dist/chunks/{MonacoPreviewPanel-CT_sjf7Z.js → MonacoPreviewPanel-BZrNIcFZ.js} +2 -2
- package/dist/chunks/{MonacoPreviewPanel-CT_sjf7Z.js.map → MonacoPreviewPanel-BZrNIcFZ.js.map} +1 -1
- package/dist/chunks/{NavListPanel-DMIUMh7q.js → NavListPanel-zwUDIYSP.js} +2 -2
- package/dist/chunks/{NavListPanel-DMIUMh7q.js.map → NavListPanel-zwUDIYSP.js.map} +1 -1
- package/dist/chunks/{OperationLogsPage-7XVfmhxP.js → OperationLogsPage-D2BQdGNp.js} +2 -2
- package/dist/chunks/{OperationLogsPage-7XVfmhxP.js.map → OperationLogsPage-D2BQdGNp.js.map} +1 -1
- package/dist/chunks/{OperationLogsTable-gp-WZxiF.js → OperationLogsTable-DaaON4QR.js} +3 -3
- package/dist/chunks/{OperationLogsTable-gp-WZxiF.js.map → OperationLogsTable-DaaON4QR.js.map} +1 -1
- package/dist/chunks/{PDFPreviewPanel-CyfhyWav.js → PDFPreviewPanel-CMmnWBKW.js} +3 -3
- package/dist/chunks/{PDFPreviewPanel-CyfhyWav.js.map → PDFPreviewPanel-CMmnWBKW.js.map} +1 -1
- package/dist/chunks/{PositionsPage-Bwua1vNV.js → PositionsPage-CBZITssT.js} +2 -2
- package/dist/chunks/{PositionsPage-Bwua1vNV.js.map → PositionsPage-CBZITssT.js.map} +1 -1
- package/dist/chunks/{PreferencesSheetBody-C80D3dOM.js → PreferencesSheetBody-B0poTPEA.js} +2 -2
- package/dist/chunks/{PreferencesSheetBody-C80D3dOM.js.map → PreferencesSheetBody-B0poTPEA.js.map} +1 -1
- package/dist/chunks/{ProfilePage-DeTw-59a.js → ProfilePage-DLhacdWt.js} +2 -2
- package/dist/chunks/{ProfilePage-DeTw-59a.js.map → ProfilePage-DLhacdWt.js.map} +1 -1
- package/dist/chunks/{ProjectInfoPage-Bqn3gfXa.js → ProjectInfoPage-CJpGxpu5.js} +2 -2
- package/dist/chunks/{ProjectInfoPage-Bqn3gfXa.js.map → ProjectInfoPage-CJpGxpu5.js.map} +1 -1
- package/dist/chunks/{RelationPanel-Bio-ig-l.js → RelationPanel-BsbfEDo2.js} +2 -2
- package/dist/chunks/{RelationPanel-Bio-ig-l.js.map → RelationPanel-BsbfEDo2.js.map} +1 -1
- package/dist/chunks/{RolesPage-fwUSs2HR.js → RolesPage-46dzdiah.js} +2 -2
- package/dist/chunks/{RolesPage-fwUSs2HR.js.map → RolesPage-46dzdiah.js.map} +1 -1
- package/dist/chunks/{SessionConflictModal-Dw4opoNP.js → SessionConflictModal-Bm38eExL.js} +2 -2
- package/dist/chunks/{SessionConflictModal-Dw4opoNP.js.map → SessionConflictModal-Bm38eExL.js.map} +1 -1
- package/dist/chunks/SettingModuleDetail-BjxUJeH5.js +17 -0
- package/dist/chunks/SettingModuleDetail-BjxUJeH5.js.map +1 -0
- package/dist/chunks/{SettingsPage-Cy5-q-P6.js → SettingsPage-C32Vuizm.js} +2 -2
- package/dist/chunks/{SettingsPage-Cy5-q-P6.js.map → SettingsPage-C32Vuizm.js.map} +1 -1
- package/dist/chunks/{StatCard-BROG4NSp.js → StatCard-CRPfkSBY.js} +2 -2
- package/dist/chunks/{StatCard-BROG4NSp.js.map → StatCard-CRPfkSBY.js.map} +1 -1
- package/dist/chunks/{UserGroupsPage-CsTBkUPy.js → UserGroupsPage-08G5MdGm.js} +2 -2
- package/dist/chunks/{UserGroupsPage-CsTBkUPy.js.map → UserGroupsPage-08G5MdGm.js.map} +1 -1
- package/dist/chunks/{UserLogsPanels-3u8Z93YU.js → UserLogsPanels-nbIrMym9.js} +2 -2
- package/dist/chunks/{UserLogsPanels-3u8Z93YU.js.map → UserLogsPanels-nbIrMym9.js.map} +1 -1
- package/dist/chunks/{UserTransferSelect-ChLj4EkS.js → UserTransferSelect-C8betaWG.js} +2 -2
- package/dist/chunks/{UserTransferSelect-ChLj4EkS.js.map → UserTransferSelect-C8betaWG.js.map} +1 -1
- package/dist/chunks/{UsersPage-CfNnQJi4.js → UsersPage-BjTiNEqF.js} +2 -2
- package/dist/chunks/{UsersPage-CfNnQJi4.js.map → UsersPage-BjTiNEqF.js.map} +1 -1
- package/dist/chunks/{browser-BKLM0ThC-D0TgzKTC.js → browser-BKLM0ThC-Cp7Gi4-F.js} +1 -1
- package/dist/chunks/{code-BkkeN2fd.js → code-LswxAr98.js} +1 -1
- package/dist/chunks/{direct-engine-m32m22nx.js → direct-engine-Dv_6v4sx.js} +1 -1
- package/dist/chunks/{html-BGNWR_Bp.js → html-BokjxlLb.js} +1 -1
- package/dist/chunks/{line-CsTeuEcK.js → line-Bqh6atHH.js} +1 -1
- package/dist/chunks/{lrc-D6gjnGZ5.js → lrc-T5e1svZG.js} +1 -1
- package/dist/chunks/{markdown-BglUe9j8.js → markdown-BpWokN1s.js} +1 -1
- package/dist/chunks/{patch-C97Yl3jr.js → patch-BYVX5C9G.js} +1 -1
- package/dist/chunks/{worker-engine-B7_3qQVS.js → worker-engine-CtUAeI4G.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/{src-DAkFn9SG.js → src-D6UlLiVN.js} +2 -2
- package/dist/{src-DAkFn9SG.js.map → src-D6UlLiVN.js.map} +1 -1
- package/package.json +9 -9
- package/dist/chunks/ApiTokensPage-DiRMgViD.js +0 -2
- package/dist/chunks/ApiTokensPage-DiRMgViD.js.map +0 -1
- package/dist/chunks/EntityContextRuntime-C9q95WDf.js +0 -1
- package/dist/chunks/SettingModuleDetail-I9CSJ-fh.js +0 -17
- package/dist/chunks/SettingModuleDetail-I9CSJ-fh.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginLogsPage-Bv5pPJb2.js","mappings":"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","names":["CellMark","BaseMark","createSymbol","attrs","symbolAttrs","g","groupAttrs","symbolType","isNil","Factory","registerShadowRoot","registerSymbol","registerSymbolDataLabel","heatmapPresetAnimation","preset","FadeInOutAnimation","BaseSeriesTooltipHelper","activeType","baseSeriesMark","BaseSeriesSpecTransformer","spec","HeatmapSeries","CartesianSeries","SeriesTypeEnum","HeatmapSeriesSpecTransformer","array","f","policy","HEATMAP_SERIES_DATA_RELATED_KEYS","shouldMarkDoMorph","textMark","datum","AttributeLevel","padding","normalizePadding","width","height","appearPreset","animationParams","getGroupAnimationParams","animationConfig","userAnimationConfig","axisHelper","HeatmapSeriesTooltipHelper","heatmapSeriesMark","registerTextMark","registerCellMark","registerHeatmapAnimation","registerCartesianBandAxis","registerCartesianLinearAxis","CartesianChartSpecTransformer","HeatmapChart","BaseChart","HeatmapChartSpecTransformer","registerMarkTooltipProcessor","registerHeatmapSeries","createChart","VChart","registerHeatmapChart","registerLabel","registers","shortGpuName","parts","gpu","s","LoginLogStatsPanel","palette","useChartPalette","days","setDays","useState","statsQuery","useLoginLogStats","stats","filledDailyStats","useMemo","dataMap","d","today","dayjs","date","weekdayChartData","weekdayBuckets","items","buildUserChartLabels","nameOf","fullOf","x","ipFailChartData","hourlyChartData","browserData","osData","failReasonData","locationChartData","resolutionChartData","gpuChartData","dowHourData","WEEKDAY_LABELS","summary","prevSummary","successRate","calcSuccessRate","successRateDelta","calcSuccessRateDelta","statusPieData","trendSpec","makeAreaSpec","shortDate","value","userBarSpec","makeBarSpec","userChartData","userChartTitleOf","ipFailBarSpec","hourlySpec","statusSpec","makePieSpec","browserSpec","osSpec","weekdaySpec","v","failReasonSpec","locationSpec","resolutionSpec","gpuSpec","dowHourSpec","makeHeatmapSpec","LogStatsScaffold","StatGrid","StatCard","EMPTY_PLACEHOLDER","LogIn","deltaOf","CheckCircle2","XCircle","ChartPanel","isEmptyValues","EmptyChart","AreaChart","chartOptions","BarChart","_Fragment","PieChart","LoginLogsPage","navigation","useSectionSelection","LOG_SECTION_KEYS","activeTab","defaultParams","useListSearch","loginLogKeys","useListDeepLink","startTime","parseDateTimeParam","params","endTime","applySearch","enumValueOf","LOGIN_STATUSES","filterQuery","useFilterQuery","submittedParams","LOGIN_EVENT_TYPES","formatDateTimeRangeForApi","listQuery","useLoginLogList","data","total","cleanLogsMutation","useCleanLoginLogs","clearLogsLoading","clearLogs","useClearLogs","setPage","MasterDetailLayout","NavListPanel","SectionNavigation","LOG_SECTIONS","LoginLogsTable","buildTableSearch","KeywordInput","bindKeyword","FilterSelect","LOGIN_EVENT_TYPE_OPTIONS","bind","StatusSelect","LOGIN_STATUS_OPTIONS","DateRangeFilter","handleSearch","handleReset","ExportButton","ClearLogsButtons","buildPagination","ClearLogsModal"],"ignoreList":[0,1,2,3,4,5,6,7,8,9],"sources":["../../../../node_modules/@visactor/vchart/esm/mark/cell.js","../../../../node_modules/@visactor/vchart/esm/series/heatmap/animation.js","../../../../node_modules/@visactor/vchart/esm/series/heatmap/tooltip-helper.js","../../../../node_modules/@visactor/vchart/esm/series/heatmap/constant.js","../../../../node_modules/@visactor/vchart/esm/series/heatmap/heatmap-transformer.js","../../../../node_modules/@visactor/vchart/esm/theme/builtin/common/series/heatmap.js","../../../../node_modules/@visactor/vchart/esm/series/heatmap/heatmap.js","../../../../node_modules/@visactor/vchart/esm/chart/heatmap/heatmap-transformer.js","../../../../node_modules/@visactor/vchart/esm/chart/heatmap/heatmap.js","../../../../node_modules/@visactor/react-vchart/esm/charts/HeatmapChart.js","../../src/pages/system/login-logs/LoginLogStatsPanel.tsx","../../src/pages/system/login-logs/LoginLogsPage.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,"import { useState, useMemo } from 'react';\nimport { LogIn, CheckCircle2, XCircle } from 'lucide-react';\nimport { AreaChart, BarChart, HeatmapChart, PieChart, EmptyChart, useChartPalette, chartOptions, makeAreaSpec, makeBarSpec, makeHeatmapSpec, makePieSpec, isEmptyValues, StatCard, StatGrid } from \"@/components/charts/index\";\nimport dayjs from 'dayjs';\nimport { useLoginLogStats } from \"@fudanda/react-core/hooks/queries/login-logs\";\nimport { buildUserChartLabels } from \"@fudanda/react-core/utils/user-labels\";\nimport { ChartPanel, LogStatsScaffold, WEEKDAY_LABELS, calcSuccessRate, calcSuccessRateDelta, deltaOf, weekdayBuckets } from \"@/components/logs/LogStatsScaffold\";\nimport { shortDate } from \"@fudanda/react-core/utils/date\";\nimport { EMPTY_PLACEHOLDER } from \"@/utils/table-columns\";\ninterface BarDatum {\n readonly name: string;\n readonly count: number;\n}\ninterface PieDatum {\n readonly name: string;\n readonly value: number;\n}\n/** GPU 名多为 \"ANGLE (NVIDIA, NVIDIA GeForce RTX 3060 Direct3D11 ...)\",提取括号内主体便于坐标轴展示 */\nfunction shortGpuName(gpu: string): string {\n const inner = /\\(([^)]+)\\)/.exec(gpu)?.[1] ?? gpu;\n const parts = inner.split(',').map((s) => s.trim());\n return (parts[1] || parts[0] || gpu).slice(0, 40);\n}\nexport default function LoginLogStatsPanel() {\n const palette = useChartPalette();\n const [days, setDays] = useState<number>(30);\n const statsQuery = useLoginLogStats({ days });\n const stats = statsQuery.data ?? null;\n const filledDailyStats = useMemo(() => {\n if (!stats)\n return [];\n const dataMap = new Map(stats.dailyStats.map((d) => [d.date, d]));\n const today = dayjs();\n return Array.from({ length: days }, (_, i) => {\n const date = today.subtract(days - 1 - i, 'day').format('YYYY-MM-DD');\n return dataMap.get(date) ?? { date, count: 0, successCount: 0, failCount: 0 };\n });\n }, [stats, days]);\n const weekdayChartData = useMemo<BarDatum[]>(() => weekdayBuckets(stats?.dailyStats), [stats]);\n const { userChartData, userChartTitleOf } = useMemo(() => {\n const items = [...(stats?.userStats ?? [])].reverse();\n const { nameOf, fullOf } = buildUserChartLabels(items);\n return {\n userChartData: items.map((d) => ({ name: nameOf(d), count: d.count })),\n userChartTitleOf: (x: string) => fullOf.get(x) ?? x,\n };\n }, [stats]);\n const ipFailChartData = useMemo<BarDatum[]>(() => [...(stats?.ipFailStats ?? [])].reverse().map((d) => ({ name: d.ip, count: d.count })), [stats]);\n const hourlyChartData = useMemo<BarDatum[]>(() => (stats?.hourlyStats ?? []).map((d) => ({ name: `${String(d.hour).padStart(2, '0')}:00`, count: d.count })), [stats]);\n const browserData = useMemo<PieDatum[]>(() => (stats?.browserStats ?? []).map((d) => ({ name: d.browser, value: d.count })), [stats]);\n const osData = useMemo<PieDatum[]>(() => (stats?.osStats ?? []).map((d) => ({ name: d.os, value: d.count })), [stats]);\n const failReasonData = useMemo<PieDatum[]>(() => (stats?.failReasonStats ?? []).map((d) => ({ name: d.message, value: d.count })), [stats]);\n const locationChartData = useMemo<BarDatum[]>(() => [...(stats?.locationStats ?? [])].reverse().map((d) => ({ name: d.location, count: d.count })), [stats]);\n const resolutionChartData = useMemo<BarDatum[]>(() => [...(stats?.resolutionStats ?? [])].reverse().map((d) => ({ name: d.resolution, count: d.count })), [stats]);\n const gpuChartData = useMemo<BarDatum[]>(() => [...(stats?.gpuStats ?? [])].reverse().map((d) => ({ name: shortGpuName(d.gpu), count: d.count })), [stats]);\n const dowHourData = useMemo(() => (stats?.dowHourStats ?? []).map((d) => ({\n hour: `${String(d.hour).padStart(2, '0')}h`,\n weekday: WEEKDAY_LABELS[d.dow - 1] ?? `周${d.dow}`,\n count: d.count,\n })), [stats]);\n const summary = stats?.summary;\n const prevSummary = stats?.prevSummary;\n const successRate = calcSuccessRate(summary);\n const successRateDelta = calcSuccessRateDelta(summary, prevSummary);\n const statusPieData = useMemo<PieDatum[]>(() => (summary\n ? [\n { name: '成功', value: summary.successCount },\n { name: '失败', value: summary.failCount },\n ]\n : []), [summary]);\n const trendSpec = useMemo(() => makeAreaSpec({\n data: filledDailyStats,\n xField: 'date',\n series: [\n { field: 'successCount', name: '成功', color: palette.success },\n { field: 'failCount', name: '失败', color: palette.danger },\n ],\n palette,\n point: days <= 7,\n pointSize: 6,\n fillOpacity: 0.26,\n axis: { xLabel: shortDate },\n tooltip: {\n title: (value) => `日期:${value}`,\n value: (value) => `${value} 次`,\n },\n }), [days, filledDailyStats, palette]);\n const userBarSpec = useMemo(() => makeBarSpec({\n data: userChartData,\n xField: 'name',\n series: [{ field: 'count', name: '登录次数', color: palette.success }],\n palette,\n horizontal: true,\n barMinHeight: 3,\n cornerRadius: 5,\n showLabel: true,\n labelColor: palette.success,\n categoryAxisWidth: 96,\n tooltip: { title: userChartTitleOf, value: (value) => `${value} 次` },\n }), [palette, userChartData, userChartTitleOf]);\n const ipFailBarSpec = useMemo(() => makeBarSpec({\n data: ipFailChartData,\n xField: 'name',\n series: [{ field: 'count', name: '失败次数', color: palette.risk }],\n palette,\n horizontal: true,\n barMinHeight: 3,\n cornerRadius: 5,\n showLabel: true,\n labelColor: palette.risk,\n categoryAxisWidth: 120,\n tooltip: { value: (value) => `${value} 次` },\n }), [ipFailChartData, palette]);\n const hourlySpec = useMemo(() => makeBarSpec({\n data: hourlyChartData,\n xField: 'name',\n series: [{ field: 'count', name: '登录次数', color: palette.active }],\n palette,\n barMaxWidth: 18,\n axis: { xLabel: (value) => value.replace(':00', 'h') },\n tooltip: {\n title: (value) => `${value} - ${value.replace(':00', ':59')}`,\n value: (value) => `${value} 次`,\n },\n }), [hourlyChartData, palette]);\n const statusSpec = useMemo(() => makePieSpec({\n data: statusPieData,\n categoryField: 'name',\n valueField: 'value',\n palette,\n donut: true,\n colors: [palette.success, palette.danger],\n outerRadius: 0.86,\n innerRadius: 0.58,\n padAngle: 1.5,\n cornerRadius: 5,\n label: 'value',\n labelPosition: 'inside',\n labelColor: '#fff',\n labelFontSize: 12,\n indicator: { title: successRate == null ? '--' : `${successRate}%`, subtitle: '成功率' },\n indicatorTitleFontSize: 28,\n tooltipKey: '次数',\n valueUnit: '次',\n }), [palette, statusPieData, successRate]);\n const browserSpec = useMemo(() => makePieSpec({\n data: browserData,\n categoryField: 'name',\n valueField: 'value',\n palette,\n donut: true,\n innerRadius: 0.48,\n outerRadius: 0.82,\n padAngle: 1,\n cornerRadius: 3,\n legendLabelFontSize: 11,\n tooltipKey: '访问次数',\n valueUnit: '次',\n }), [browserData, palette]);\n const osSpec = useMemo(() => makePieSpec({\n data: osData,\n categoryField: 'name',\n valueField: 'value',\n palette,\n donut: true,\n innerRadius: 0.48,\n outerRadius: 0.82,\n padAngle: 1,\n cornerRadius: 3,\n legendLabelFontSize: 11,\n tooltipKey: '访问次数',\n valueUnit: '次',\n }), [osData, palette]);\n const weekdaySpec = useMemo(() => makeBarSpec({\n data: weekdayChartData,\n xField: 'name',\n series: [{ field: 'count', name: '登录次数', color: palette.primary }],\n palette,\n showLabel: true,\n tooltip: { value: (v) => `${v} 次` },\n }), [weekdayChartData, palette]);\n const failReasonSpec = useMemo(() => makePieSpec({\n data: failReasonData,\n categoryField: 'name',\n valueField: 'value',\n palette,\n donut: true,\n innerRadius: 0.48,\n outerRadius: 0.82,\n padAngle: 1,\n cornerRadius: 3,\n legendLabelFontSize: 11,\n tooltipKey: '失败次数',\n valueUnit: '次',\n }), [failReasonData, palette]);\n const locationSpec = useMemo(() => makeBarSpec({\n data: locationChartData,\n xField: 'name',\n series: [{ field: 'count', name: '登录次数', color: palette.active }],\n palette,\n horizontal: true,\n barMinHeight: 3,\n cornerRadius: 5,\n showLabel: true,\n labelColor: palette.active,\n categoryAxisWidth: 120,\n tooltip: { value: (v) => `${v} 次` },\n }), [locationChartData, palette]);\n const resolutionSpec = useMemo(() => makeBarSpec({\n data: resolutionChartData,\n xField: 'name',\n series: [{ field: 'count', name: '登录次数', color: palette.dataColors[4] ?? palette.primary }],\n palette,\n horizontal: true,\n barMinHeight: 3,\n cornerRadius: 5,\n showLabel: true,\n categoryAxisWidth: 96,\n tooltip: { value: (v) => `${v} 次` },\n }), [resolutionChartData, palette]);\n const gpuSpec = useMemo(() => makeBarSpec({\n data: gpuChartData,\n xField: 'name',\n series: [{ field: 'count', name: '登录次数', color: palette.dataColors[6] ?? palette.primary }],\n palette,\n horizontal: true,\n barMinHeight: 3,\n cornerRadius: 5,\n showLabel: true,\n categoryAxisWidth: 150,\n tooltip: { value: (v) => `${v} 次` },\n }), [gpuChartData, palette]);\n const dowHourSpec = useMemo(() => makeHeatmapSpec({\n data: dowHourData,\n xField: 'hour',\n yField: 'weekday',\n valueField: 'count',\n palette,\n tooltip: {\n title: (d) => `${(d as {\n weekday?: string;\n })?.weekday ?? ''} ${(d as {\n hour?: string;\n })?.hour ?? ''}`,\n valueName: '登录次数',\n value: (v) => `${v} 次`,\n },\n }), [dowHourData, palette]);\n return (<LogStatsScaffold days={days} onDaysChange={setDays} loading={statsQuery.isLoading} fetching={statsQuery.isFetching}>\n <StatGrid style={{ marginBottom: 16 }}>\n <StatCard title=\"总登录次数\" value={summary ? summary.total.toLocaleString() : EMPTY_PLACEHOLDER} sub={`近 ${days} 天累计`} icon={<LogIn size={22}/>} accent=\"var(--arc-antd-color-primary)\" delta={summary && prevSummary ? deltaOf(summary.total, prevSummary.total) : null} deltaLabel=\"较上一周期\"/>\n <StatCard title=\"登录成功率\" value={successRate == null ? EMPTY_PLACEHOLDER : `${successRate}%`} sub={summary ? `成功 ${summary.successCount.toLocaleString()} · 失败 ${summary.failCount.toLocaleString()}` : undefined} icon={<CheckCircle2 size={22}/>} accent=\"var(--arc-antd-color-success)\" delta={successRateDelta} deltaLabel=\"较上一周期\" deltaFormat=\"ratio\"/>\n <StatCard title=\"登录失败次数\" value={summary ? summary.failCount.toLocaleString() : EMPTY_PLACEHOLDER} sub=\"密码错误、账号锁定等\" icon={<XCircle size={22}/>} accent={summary && summary.failCount > 0 ? 'var(--arc-antd-color-danger)' : undefined} delta={summary && prevSummary ? deltaOf(summary.failCount, prevSummary.failCount) : null} deltaLabel=\"较上一周期\"/>\n </StatGrid>\n\n <ChartPanel title=\"每日登录趋势(成功 / 失败)\">\n {isEmptyValues(filledDailyStats) ? <EmptyChart height={230}/> : (<AreaChart {...trendSpec} options={chartOptions} height={230}/>)}\n </ChartPanel>\n\n <div className=\"chart-grid\" style={{ marginTop: 16, marginBottom: 16 }}>\n <ChartPanel title=\"Top 10 登录用户\">\n {userChartData.length === 0 ? <EmptyChart /> : (<BarChart {...userBarSpec} options={chartOptions} height={260}/>)}\n </ChartPanel>\n <ChartPanel danger={ipFailChartData.length > 0} title={(<>\n 失败登录 Top 10 IP\n {ipFailChartData.length > 0 && <span style={{ fontSize: 12, fontWeight: 400, marginLeft: 8, color: 'var(--arc-antd-color-text-2)' }}>可能存在安全风险</span>}\n </>)}>\n {ipFailChartData.length === 0 ? <EmptyChart tone=\"success\" text=\"该时间段无失败登录\"/> : (<BarChart {...ipFailBarSpec} options={chartOptions} height={260}/>)}\n </ChartPanel>\n </div>\n\n <div className=\"chart-grid\" style={{ marginBottom: 16 }}>\n <ChartPanel title=\"按小时登录分布\">\n {isEmptyValues(hourlyChartData) ? <EmptyChart height={240}/> : (<BarChart {...hourlySpec} options={chartOptions} height={240}/>)}\n </ChartPanel>\n <ChartPanel title=\"成功 / 失败占比\">\n {isEmptyValues(statusPieData) ? <EmptyChart height={240}/> : (<PieChart {...statusSpec} options={chartOptions} height={240}/>)}\n </ChartPanel>\n </div>\n\n <div className=\"chart-grid\" style={{ marginBottom: 16 }}>\n <ChartPanel title=\"浏览器分布\">\n {browserData.length === 0 ? <EmptyChart height={260}/> : (<PieChart {...browserSpec} options={chartOptions} height={260}/>)}\n </ChartPanel>\n <ChartPanel title=\"操作系统分布\">\n {osData.length === 0 ? <EmptyChart height={260}/> : (<PieChart {...osSpec} options={chartOptions} height={260}/>)}\n </ChartPanel>\n </div>\n\n <div className=\"chart-grid\" style={{ marginBottom: 16 }}>\n <ChartPanel danger={failReasonData.length > 0} title=\"失败原因分布\">\n {failReasonData.length === 0 ? <EmptyChart tone=\"success\" text=\"该时间段无失败登录\" height={260}/> : (<PieChart {...failReasonSpec} options={chartOptions} height={260}/>)}\n </ChartPanel>\n <ChartPanel title=\"登录地点 Top 10\">\n {locationChartData.length === 0 ? <EmptyChart height={260}/> : (<BarChart {...locationSpec} options={chartOptions} height={260}/>)}\n </ChartPanel>\n </div>\n\n <ChartPanel title={`星期 × 小时登录热力(近 ${days} 天)`}>\n {isEmptyValues(dowHourData) ? <EmptyChart height={280}/> : (<HeatmapChart {...dowHourSpec} options={chartOptions} height={280}/>)}\n </ChartPanel>\n\n <div className=\"chart-grid\" style={{ marginTop: 16, marginBottom: 16 }}>\n <ChartPanel title=\"设备分辨率 Top 8\">\n {resolutionChartData.length === 0 ? <EmptyChart height={240}/> : (<BarChart {...resolutionSpec} options={chartOptions} height={240}/>)}\n </ChartPanel>\n <ChartPanel title=\"设备 GPU Top 8\">\n {gpuChartData.length === 0 ? <EmptyChart height={240}/> : (<BarChart {...gpuSpec} options={chartOptions} height={240}/>)}\n </ChartPanel>\n </div>\n\n <ChartPanel title={`按星期登录分布(近 ${days} 天)`}>\n {isEmptyValues(weekdayChartData) ? <EmptyChart height={220}/> : (<BarChart {...weekdaySpec} options={chartOptions} height={220}/>)}\n </ChartPanel>\n </LogStatsScaffold>);\n}\n","import { MasterDetailLayout } from '@/components/MasterDetailLayout';\nimport { NavListPanel } from '@/components/NavListPanel';\nimport { SectionNavigation } from '@/components/SectionNavigation';\nimport { LOG_SECTIONS, LOG_SECTION_KEYS } from '@/components/logs/log-sections';\nimport { useSectionSelection } from '@/hooks/useSectionSelection';\nimport { buildTableSearch } from \"@/components/list-page/index\";\nimport ExportButton from \"@/components/ExportButton\";\nimport { LoginLogsTable } from \"@/components/logs/LoginLogsTable\";\nimport { ClearLogsButtons, ClearLogsModal } from \"@/components/logs/ClearLogsControl\";\nimport { useClearLogs } from \"@/hooks/useClearLogs\";\nimport { formatDateTimeRangeForApi, parseDateTimeParam } from \"@fudanda/react-core/utils/date\";\nimport LoginLogStatsPanel from \"@/pages/system/login-logs/LoginLogStatsPanel\";\nimport { loginLogKeys, useCleanLoginLogs, useLoginLogList } from \"@fudanda/react-core/hooks/queries/login-logs\";\nimport { enumValueOf } from '@fudanda/shared/core';\nimport { LOGIN_EVENT_TYPE_OPTIONS, LOGIN_EVENT_TYPES, LOGIN_STATUS_OPTIONS, LOGIN_STATUSES } from '@fudanda/shared/identity';\nimport { useListSearch } from \"@fudanda/react-core/hooks/useListSearch\";\nimport { DateRangeFilter, FilterSelect, KeywordInput, StatusSelect } from \"@/components/search-filters\";\nimport { useFilterQuery } from \"@fudanda/react-core/hooks/useFilterQuery\";\nimport { useListDeepLink } from \"@fudanda/react-core/hooks/useListDeepLink\";\nexport default function LoginLogsPage() {\n const navigation = useSectionSelection(LOG_SECTION_KEYS, 'list');\n const activeTab = navigation.active;\n interface SearchParams {\n username: string;\n eventType?: string;\n status?: string;\n timeRange: [\n Date,\n Date\n ] | null;\n }\n const defaultParams: SearchParams = { username: '', eventType: undefined, status: undefined, timeRange: null };\n const { page, pageSize, setPage, buildPagination, bind, bindKeyword, submittedParams, handleSearch, handleReset, applySearch, } = useListSearch<SearchParams>({ defaults: defaultParams, listKey: loginLogKeys.lists });\n // 首页登录趋势图表下钻(?status=…&startTime=…&endTime=…):按某天与状态预置筛选,消费后即从地址栏移除;\n // 同时在同一次导航里把页签切回列表——深链要看的是记录,停在上次离开的「统计分析」页签会看不到结果\n useListDeepLink(['status', 'startTime', 'endTime'], (params) => {\n const startTime = parseDateTimeParam(params.startTime);\n const endTime = parseDateTimeParam(params.endTime);\n applySearch({\n ...defaultParams,\n status: enumValueOf(LOGIN_STATUSES, params.status),\n timeRange: startTime && endTime ? [startTime, endTime] : null,\n });\n }, { getNextParams: () => ({ tab: 'list' }) });\n // 已提交筛选 → 契约查询参数:列表与导出共用同一份映射\n const filterQuery = useFilterQuery({\n username: submittedParams.username,\n eventType: enumValueOf(LOGIN_EVENT_TYPES, submittedParams.eventType),\n status: enumValueOf(LOGIN_STATUSES, submittedParams.status),\n ...formatDateTimeRangeForApi(submittedParams.timeRange),\n });\n const listQuery = useLoginLogList({ page, pageSize, ...filterQuery }, activeTab === 'list');\n const data = listQuery.data?.list ?? [];\n const total = listQuery.data?.total ?? 0;\n const cleanLogsMutation = useCleanLoginLogs();\n const clearLogsLoading = cleanLogsMutation.isPending;\n const clearLogs = useClearLogs({\n clean: (days) => cleanLogsMutation.mutateAsync({ query: { days } }),\n onCleared: () => setPage(1),\n });\n return (<div className=\"page-container page-container--stretch\">\n <MasterDetailLayout defaultSize={260} minSize={200} maxSize={400} persistKey=\"login-logs\"\n style={{ flex: 1, minHeight: 0, overflow: 'hidden' }} showDetail={activeTab !== null}\n onBack={navigation.back} onResponsiveChange={navigation.responsiveChange}\n master={<NavListPanel title=\"日志模块\" rawBody>\n <SectionNavigation sections={LOG_SECTIONS} active={activeTab} onSelect={navigation.select} />\n </NavListPanel>}\n detail={<MasterDetailLayout.Body padding={16} scroll={activeTab === 'list' ? 'hidden' : 'auto'} style={{ display: 'flex', flexDirection: 'column' }}>\n {activeTab === 'list' && (\n <LoginLogsTable searchConfig={buildTableSearch({\n keyword: (<KeywordInput placeholder=\"用户名 / 昵称\" {...bindKeyword('username')} width={180}/>),\n filters: ((<>\n <FilterSelect placeholder=\"全部事件\" items={LOGIN_EVENT_TYPE_OPTIONS} {...bind('eventType')}/>\n <StatusSelect items={LOGIN_STATUS_OPTIONS} {...bind('status')}/>\n <DateRangeFilter searchLabel=\"登录时间\" {...bind('timeRange')}/>\n </>)),\n onSearch: (handleSearch),\n onReset: (handleReset),\n actions: ((<>\n <ExportButton entity=\"system.login-logs\" query={filterQuery}/>\n <ClearLogsButtons loading={clearLogsLoading} onClear={clearLogs.openClearModal}/>\n </>)),\n filterTitle: \"登录日志筛选\",\n actionTitle: \"日志操作\"\n })} dataSource={data} loading={listQuery.isFetching} onRefresh={() => void listQuery.refetch()} pagination={buildPagination(total)}/>\n )}\n {activeTab === 'stats' && <LoginLogStatsPanel />}\n </MasterDetailLayout.Body>} />\n <ClearLogsModal logName=\"登录日志\" control={clearLogs}/>\n </div>);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"LoginLogsPage-VmYC7i6q.js","mappings":"2gFAUa,EAAb,MAAaA,UAAiBC,EAAS,CACnC,aAAc,CACV,MAAM,GAAG,SAAS,EAAG,KAAK,KAAOD,EAAS,IAC9C,CACA,kBAAmB,CACf,OAAO,OAAO,OAAO,OAAO,OAAO,CAAC,EAAG,MAAM,iBAAiB,CAAC,EAAG,CAC9D,KAAM,IAAK,GACX,UAAW,EACX,QAAS,CACb,CAAC,CACL,CACA,eAAe,EAAQ,CAAC,EAAG,CACvB,OAAOE,GAAaC,CAAK,CAC7B,CACA,4BAA4B,EAAG,EAAO,EAAY,CAE9C,IAAMC,EAAc,MAAM,4BAA4BC,EAAGF,EAAOG,CAAU,EAAGC,EAA2CH,EAAY,OAA+BA,EAAY,YAAmDC,EAAE,WAA0C,WAC9Q,MAAO,CAAsDD,EAAY,WAAlEI,GAAMD,CAAU,EAA6B,OAAkCA,EACtFH,CACJ,CACJ,EAEA,EAAS,KAAO,OAEH,OAAyB,CAClCK,EAAQ,aAAaT,EAAS,KAAMA,CAAQ,EAAGS,EAAQ,yBAAyB,SAAUP,EAAY,EACtGQ,GAAmB,EAAGC,GAAe,EAAGC,GAAwB,CACpE,C,OCjCA,SAAgBC,GAAuB,EAAQ,CAC3C,MAAO,CAAC,IAAMC,EAAS,CAAC,EAAI,CACxB,KAAM,QACV,CACJ,C,gDAEa,OAAiC,CAC1CL,EAAQ,kBAAkB,YAAa,EAAQ,IAAW,OAAO,OAAO,OAAO,OAAO,CAAC,EAAGM,EAAkB,EAAG,CAC3G,OAAQF,GAAuBC,CAAM,CACzC,CAAC,EAAE,CACP,C,kDCZa,GAAb,cAAgDE,CAAwB,CACpE,aAAa,EAAY,CACrB,OAAuBC,IAAhB,WACX,CACJ,C,mDCJa,GAAoB,OAAO,OAAO,OAAO,OAAO,CAAC,EAAGC,CAAc,EAAG,CAC9E,KAAM,CACF,KAAM,OACN,KAAM,MACV,EACA,eAAgB,CACZ,KAAM,iBACN,KAAM,MACV,CACJ,CAAC,C,iDCTY,EAAb,cAAkDC,EAA0B,CACxE,oBAAoB,EAAM,CACtB,KAAK,kBAAkBC,EAAM,MAAM,CACvC,CACJ,C,6CCNa,EAAU,CACnB,KAAM,CACF,MAAO,CACH,MAAO,OACP,YAAa,CACjB,CACJ,EACA,eAAgB,CACZ,QAAS,CAAC,CACd,EACA,MAAO,CACH,MAAO,CACH,UAAW,CACf,CACJ,CACJ,C,mICiBM,GAAmC,CACrC,WAAY,CAAC,CACjB,EAEa,EAAb,MAAaC,UAAsBC,CAAgB,CAC/C,aAAc,CACV,MAAM,GAAG,SAAS,EAAG,KAAK,KAAOC,EAAe,QAAS,KAAK,uBAAyBC,CAC3F,CACA,eAAgB,CACZ,OAAO,KAAK,WAChB,CACA,cAAc,EAAG,CACb,KAAK,YAAcC,GAAMC,CAAC,CAC9B,CACA,sBAAuB,CACnB,IAAMC,EAAS,MAAM,qBAAqB,EAC1C,OAAO,OAAO,OAAO,OAAO,OAAO,CAAC,EAAGA,CAAM,EAAG,CAC5C,gBAAiB,OAAO,OAAO,OAAO,OAAO,CAAC,EAAGA,EAAO,eAAe,EAAGC,EAAgC,CAC9G,CAAC,CACL,CACA,iBAAkB,CACd,MAAM,gBAAgB,EAAG,KAAK,cAAc,KAAK,MAAM,UAAU,CACrE,CACA,UAAW,CACP,KAAK,UAAY,KAAK,YAAYP,EAAc,KAAK,KAAM,CACvD,aAAc,CAAC,CACnB,EAAG,CACC,MAAOQ,GAAkB,KAAK,MAAOR,EAAc,KAAK,KAAK,IAAI,EACjE,gBAAiB,KAAK,kBAAkB,CAAC,CAAC,EAC9C,CAAC,EAAG,KAAK,gBAAkB,KAAK,YAAYA,EAAc,KAAK,cAAc,CACjF,CACA,eAAgB,CACZ,KAAK,kBAAkB,EAAG,KAAK,4BAA4B,CAC/D,CACA,mBAAmB,EAAU,CAEzBS,GAAY,KAAK,aAAaA,EAAU,CACpC,KAAmD,KAAK,MAAM,MAAqC,OAAsC,MAA8B,KAAK,kBAAkB,EAC9L,KAAM,GAASC,EAAM,KAAK,gBAAgB,CAAC,CAAC,GAChD,CAAC,CACL,CACA,mBAAoB,CAChB,KAAK,aAAa,KAAK,UAAW,CAC9B,EAAG,GAAS,KAAK,gBAAgBA,CAAK,EACtC,EAAG,GAAS,KAAK,gBAAgBA,CAAK,EACtC,SAAY,CAAE,KAAK,YAAY,KAAK,YAAY,EAAG,KAAK,YAAY,KAAK,YAAY,CAAE,EACvF,KAAM,KAAK,kBAAkB,CACjC,EAAG,SAAUC,EAAe,MAAM,CACtC,CACA,6BAA8B,CAE1B,IAAMC,EAAUC,GAA8D,KAAK,MAAM,gBAA+C,OAAsC,SAAiC,CAAC,EAChN,KAAK,aAAa,KAAK,gBAAiB,CACpC,EAAG,GAAS,CACR,IAAMC,EAAQ,KAAK,YAAY,KAAK,YAAY,EAChD,OAAO,KAAK,gBAAgBJ,CAAK,EAAII,EAAQ,EAAIF,EAAQ,EAC7D,EACA,EAAG,GAAS,CACR,IAAMG,EAAS,KAAK,YAAY,KAAK,YAAY,EACjD,OAAO,KAAK,gBAAgBL,CAAK,EAAIK,EAAS,EAAIH,EAAQ,EAC9D,EACA,UAAa,KAAK,YAAY,KAAK,YAAY,EAAIA,EAAQ,GAAKA,EAAQ,GACxE,WAAc,KAAK,YAAY,KAAK,YAAY,EAAIA,EAAQ,GAAKA,EAAQ,EAC7E,EAAG,SAAUD,EAAe,MAAM,CACtC,CACA,mBAAoB,CAEhB,MAAO,CACH,MAAsB,KAAK,QAAQ,YAAY,SAAS,OAAO,GAA2B,KAAK,sBAAsB,EACrH,MAAO,KAAK,cAAc,CAAC,CAAC,EAChC,CACJ,CACA,wBAAyB,CACrB,OAAO,KAAK,wBAAwB,KAAK,UAAY,CAAE,KAAK,SAAU,EAAI,CAAC,CAAC,CAChF,CACA,eAAgB,CAEZ,IAAMK,EAA6C,KAAK,OAAsC,iBAAgD,OAAQC,EAAkBC,GAAwB,IAAI,EACpM,KAAK,UAAU,mBAAmBC,EAA+B/B,EAAQ,kBAAkB,SAAS,IAAkC4B,CAAY,EAAGI,GAAoB,OAAQ,KAAK,MAAO,KAAK,qBAAqB,EAAGH,CAAe,CAAC,CAC9O,CACA,YAAY,EAAY,CAEpB,OAAqCI,EAAW,cAA6C,KAAKA,EAAY,CAAC,GAA2B,CAC9I,CACA,aAAc,CACV,KAAK,eAAiB,IAAIC,GAA2B,IAAI,EAAG,KAAK,WAAa,KAAK,eAAe,iBAAiB,KAAK,IAAI,KAAK,SAAS,CAC9I,CACA,qBAAsB,CAClB,MAAO,MACX,CACA,mBAAoB,CAChB,MAAO,CAAC,CAAC,CAAC,OAAO,KAAK,OAAQ,KAAK,MAAM,CAC7C,CACA,iBAAkB,CACd,OAAO,KAAK,cAAc,CAC9B,CACA,gBAAiB,CACb,MAAO,CAAE,KAAK,SAAU,CAC5B,CACJ,EAEA,EAAc,KAAOpB,EAAe,QAAS,EAAc,KAAOqB,GAClE,EAAc,aAAe,CAChB,SACb,EAAG,EAAc,uBAAyBpB,EAE7B,OAA8B,CACvCqB,GAAiB,EAAGC,GAAiB,EAAGC,GAAyB,EAAGC,GAA0B,EAC9FC,GAA4B,EAAGxC,EAAQ,eAAeY,EAAc,KAAMA,CAAa,CAC3F,C,kDC3Ia,EAAb,cAAiD6B,CAA8B,CAC3E,sBAAsB,EAAM,CACxB,OAAO,MAAM,sBAAsB9B,EAAM,CAAE,aAAc,MAAO,CAAC,CACrE,CACJ,C,6ECMa+B,EAAb,cAAkCC,CAAU,CACxC,aAAc,CACV,MAAM,GAAG,SAAS,EAAG,KAAK,uBAAyBC,EACnD,KAAK,KAAO,UAAW,KAAK,WAAa9B,EAAe,OAC5D,CACJ,EAEA,EAAa,KAAO,UAAW,EAAa,WAAaA,EAAe,QACxE,EAAa,uBAAyB8B,EAEzB,OAA6B,CACtCC,GAA6B,EAAGC,GAAsB,EAAG9C,EAAQ,cAAc0C,EAAa,KAAMA,CAAY,CAClH,C,qEClBa,GAAeK,EAAY,eAAgB,CACpD,KAAM,UACN,kBAAmBC,EACvB,EAAG,CAAEC,GAAsBC,EAAe,GAAGC,EAAU,CAAC,C,OCSxD,SAASC,GAAa,EAAqB,CAEvC,IAAMC,GADQ,cAAc,KAAKC,CAAG,CAAC,GAAG,IAAMA,EAAA,CAC1B,MAAM,GAAG,CAAC,CAAC,IAAK,GAAMC,EAAE,KAAK,CAAC,EAClD,OAAQF,EAAM,IAAMA,EAAM,IAAMC,EAAA,CAAK,MAAM,EAAG,EAAE,CACpD,CACA,SAAwBE,IAAqB,CACzC,IAAMC,EAAUC,GAAgB,EAC1B,CAACC,EAAMC,GAAWC,GAAiB,EAAE,EACrCC,EAAaC,GAAiB,CAAE,MAAK,CAAC,EACtCC,EAAQF,EAAW,MAAQ,KAC3BG,EAAmBC,MAAc,CACnC,GAAI,CAACF,EACD,MAAO,CAAC,EACZ,IAAMG,EAAU,IAAI,IAAIH,EAAM,WAAW,IAAK,GAAM,CAACI,EAAE,KAAMA,CAAC,CAAC,CAAC,EAC1DC,EAAQC,GAAM,EACpB,OAAO,MAAM,KAAK,CAAE,OAAQX,CAAK,GAAI,EAAG,IAAM,CAC1C,IAAMY,EAAOF,EAAM,SAASV,EAAO,EAAI,EAAG,KAAK,CAAC,CAAC,OAAO,YAAY,EACpE,OAAOQ,EAAQ,IAAII,CAAI,GAAK,CAAE,OAAM,MAAO,EAAG,aAAc,EAAG,UAAW,CAAE,CAChF,CAAC,CACL,EAAG,CAACP,EAAOL,CAAI,CAAC,EACVa,EAAmBN,MAA0BO,GAAeT,GAAO,UAAU,EAAG,CAACA,CAAK,CAAC,EACvF,CAAE,gBAAe,oBAAqBE,MAAc,CACtD,IAAMQ,EAAQ,CAAC,GAAIV,GAAO,WAAa,CAAC,CAAE,CAAC,CAAC,QAAQ,EAC9C,CAAE,SAAQ,UAAWW,GAAqBD,CAAK,EACrD,MAAO,CACH,cAAeA,EAAM,IAAK,IAAO,CAAE,KAAME,EAAOR,CAAC,EAAG,MAAOA,EAAE,KAAM,EAAE,EACrE,iBAAmB,GAAcS,EAAO,IAAIC,CAAC,GAAKA,CACtD,CACJ,EAAG,CAACd,CAAK,CAAC,EACJe,EAAkBb,MAA0B,CAAC,GAAIF,GAAO,aAAe,CAAC,CAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAK,IAAO,CAAE,KAAMI,EAAE,GAAI,MAAOA,EAAE,KAAM,EAAE,EAAG,CAACJ,CAAK,CAAC,EAC3IgB,EAAkBd,OAA2BF,GAAO,aAAe,CAAC,GAAG,IAAK,IAAO,CAAE,KAAM,GAAG,OAAOI,EAAE,IAAI,CAAC,CAAC,SAAS,EAAG,GAAG,EAAE,KAAM,MAAOA,EAAE,KAAM,EAAE,EAAG,CAACJ,CAAK,CAAC,EAC/JiB,EAAcf,OAA2BF,GAAO,cAAgB,CAAC,GAAG,IAAK,IAAO,CAAE,KAAMI,EAAE,QAAS,MAAOA,EAAE,KAAM,EAAE,EAAG,CAACJ,CAAK,CAAC,EAC9HkB,EAAShB,OAA2BF,GAAO,SAAW,CAAC,GAAG,IAAK,IAAO,CAAE,KAAMI,EAAE,GAAI,MAAOA,EAAE,KAAM,EAAE,EAAG,CAACJ,CAAK,CAAC,EAC/GmB,EAAiBjB,OAA2BF,GAAO,iBAAmB,CAAC,GAAG,IAAK,IAAO,CAAE,KAAMI,EAAE,QAAS,MAAOA,EAAE,KAAM,EAAE,EAAG,CAACJ,CAAK,CAAC,EACpIoB,EAAoBlB,MAA0B,CAAC,GAAIF,GAAO,eAAiB,CAAC,CAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAK,IAAO,CAAE,KAAMI,EAAE,SAAU,MAAOA,EAAE,KAAM,EAAE,EAAG,CAACJ,CAAK,CAAC,EACrJqB,EAAsBnB,MAA0B,CAAC,GAAIF,GAAO,iBAAmB,CAAC,CAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAK,IAAO,CAAE,KAAMI,EAAE,WAAY,MAAOA,EAAE,KAAM,EAAE,EAAG,CAACJ,CAAK,CAAC,EAC3JsB,EAAepB,MAA0B,CAAC,GAAIF,GAAO,UAAY,CAAC,CAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAK,IAAO,CAAE,KAAMZ,GAAagB,EAAE,GAAG,EAAG,MAAOA,EAAE,KAAM,EAAE,EAAG,CAACJ,CAAK,CAAC,EACpJuB,EAAcrB,OAAeF,GAAO,cAAgB,CAAC,GAAG,IAAK,IAAO,CACtE,KAAM,GAAG,OAAOI,EAAE,IAAI,CAAC,CAAC,SAAS,EAAG,GAAG,EAAE,GACzC,QAASoB,GAAepB,EAAE,IAAM,IAAM,IAAIA,EAAE,MAC5C,MAAOA,EAAE,KACb,EAAE,EAAG,CAACJ,CAAK,CAAC,EACNyB,EAAUzB,GAAO,QACjB0B,EAAc1B,GAAO,YACrB2B,EAAcC,GAAgBH,CAAO,EACrCI,EAAmBC,GAAqBL,EAASC,CAAW,EAC5DK,EAAgB7B,MAA2BuB,EAC3C,CACE,CAAE,KAAM,KAAM,MAAOA,EAAQ,YAAa,EAC1C,CAAE,KAAM,KAAM,MAAOA,EAAQ,SAAU,CAC3C,EACE,CAAC,EAAI,CAACA,CAAO,CAAC,EACdO,EAAY9B,MAAc+B,GAAa,CACzC,KAAMhC,EACN,OAAQ,OACR,OAAQ,CACJ,CAAE,MAAO,eAAgB,KAAM,KAAM,MAAOR,EAAQ,OAAQ,EAC5D,CAAE,MAAO,YAAa,KAAM,KAAM,MAAOA,EAAQ,MAAO,CAC5D,EACA,UACA,MAAOE,GAAQ,EACf,UAAW,EACX,YAAa,IACb,KAAM,CAAE,OAAQuC,EAAU,EAC1B,QAAS,CACL,MAAQ,GAAU,MAAMC,IACxB,MAAQ,GAAU,GAAGA,EAAM,GAC/B,CACJ,CAAC,EAAG,CAACxC,EAAMM,EAAkBR,CAAO,CAAC,EAC/B2C,EAAclC,MAAcmC,EAAY,CAC1C,KAAMC,EACN,OAAQ,OACR,OAAQ,CAAC,CAAE,MAAO,QAAS,KAAM,OAAQ,MAAO7C,EAAQ,OAAQ,CAAC,EACjE,UACA,WAAY,GACZ,aAAc,EACd,aAAc,EACd,UAAW,GACX,WAAYA,EAAQ,QACpB,kBAAmB,GACnB,QAAS,CAAE,MAAO8C,EAAkB,MAAQ,GAAU,GAAGJ,EAAM,GAAI,CACvE,CAAC,EAAG,CAAC1C,EAAS6C,EAAeC,CAAgB,CAAC,EACxCC,EAAgBtC,MAAcmC,EAAY,CAC5C,KAAMtB,EACN,OAAQ,OACR,OAAQ,CAAC,CAAE,MAAO,QAAS,KAAM,OAAQ,MAAOtB,EAAQ,IAAK,CAAC,EAC9D,UACA,WAAY,GACZ,aAAc,EACd,aAAc,EACd,UAAW,GACX,WAAYA,EAAQ,KACpB,kBAAmB,IACnB,QAAS,CAAE,MAAQ,GAAU,GAAG0C,EAAM,GAAI,CAC9C,CAAC,EAAG,CAACpB,EAAiBtB,CAAO,CAAC,EACxBgD,GAAavC,MAAcmC,EAAY,CACzC,KAAMrB,EACN,OAAQ,OACR,OAAQ,CAAC,CAAE,MAAO,QAAS,KAAM,OAAQ,MAAOvB,EAAQ,MAAO,CAAC,EAChE,UACA,YAAa,GACb,KAAM,CAAE,OAAS,GAAU0C,EAAM,QAAQ,MAAO,GAAG,CAAE,EACrD,QAAS,CACL,MAAQ,GAAU,GAAGA,EAAM,KAAKA,EAAM,QAAQ,MAAO,KAAK,IAC1D,MAAQ,GAAU,GAAGA,EAAM,GAC/B,CACJ,CAAC,EAAG,CAACnB,EAAiBvB,CAAO,CAAC,EACxBiD,GAAaxC,MAAcyC,EAAY,CACzC,KAAMZ,EACN,cAAe,OACf,WAAY,QACZ,UACA,MAAO,GACP,OAAQ,CAACtC,EAAQ,QAASA,EAAQ,MAAM,EACxC,YAAa,IACb,YAAa,IACb,SAAU,IACV,aAAc,EACd,MAAO,QACP,cAAe,SACf,WAAY,OACZ,cAAe,GACf,UAAW,CAAE,MAAOkC,GAAe,KAAO,KAAO,GAAGA,EAAY,GAAI,SAAU,KAAM,EACpF,uBAAwB,GACxB,WAAY,KACZ,UAAW,GACf,CAAC,EAAG,CAAClC,EAASsC,EAAeJ,CAAW,CAAC,EACnCiB,GAAc1C,MAAcyC,EAAY,CAC1C,KAAM1B,EACN,cAAe,OACf,WAAY,QACZ,UACA,MAAO,GACP,YAAa,IACb,YAAa,IACb,SAAU,EACV,aAAc,EACd,oBAAqB,GACrB,WAAY,OACZ,UAAW,GACf,CAAC,EAAG,CAACA,EAAaxB,CAAO,CAAC,EACpBoD,EAAS3C,MAAcyC,EAAY,CACrC,KAAMzB,EACN,cAAe,OACf,WAAY,QACZ,UACA,MAAO,GACP,YAAa,IACb,YAAa,IACb,SAAU,EACV,aAAc,EACd,oBAAqB,GACrB,WAAY,OACZ,UAAW,GACf,CAAC,EAAG,CAACA,EAAQzB,CAAO,CAAC,EACfqD,EAAc5C,MAAcmC,EAAY,CAC1C,KAAM7B,EACN,OAAQ,OACR,OAAQ,CAAC,CAAE,MAAO,QAAS,KAAM,OAAQ,MAAOf,EAAQ,OAAQ,CAAC,EACjE,UACA,UAAW,GACX,QAAS,CAAE,MAAQ,GAAM,GAAGsD,EAAE,GAAI,CACtC,CAAC,EAAG,CAACvC,EAAkBf,CAAO,CAAC,EACzBuD,EAAiB9C,MAAcyC,EAAY,CAC7C,KAAMxB,EACN,cAAe,OACf,WAAY,QACZ,UACA,MAAO,GACP,YAAa,IACb,YAAa,IACb,SAAU,EACV,aAAc,EACd,oBAAqB,GACrB,WAAY,OACZ,UAAW,GACf,CAAC,EAAG,CAACA,EAAgB1B,CAAO,CAAC,EACvBwD,GAAe/C,MAAcmC,EAAY,CAC3C,KAAMjB,EACN,OAAQ,OACR,OAAQ,CAAC,CAAE,MAAO,QAAS,KAAM,OAAQ,MAAO3B,EAAQ,MAAO,CAAC,EAChE,UACA,WAAY,GACZ,aAAc,EACd,aAAc,EACd,UAAW,GACX,WAAYA,EAAQ,OACpB,kBAAmB,IACnB,QAAS,CAAE,MAAQ,GAAM,GAAGsD,EAAE,GAAI,CACtC,CAAC,EAAG,CAAC3B,EAAmB3B,CAAO,CAAC,EAC1ByD,GAAiBhD,MAAcmC,EAAY,CAC7C,KAAMhB,EACN,OAAQ,OACR,OAAQ,CAAC,CAAE,MAAO,QAAS,KAAM,OAAQ,MAAO5B,EAAQ,WAAW,IAAMA,EAAQ,OAAQ,CAAC,EAC1F,UACA,WAAY,GACZ,aAAc,EACd,aAAc,EACd,UAAW,GACX,kBAAmB,GACnB,QAAS,CAAE,MAAQ,GAAM,GAAGsD,EAAE,GAAI,CACtC,CAAC,EAAG,CAAC1B,EAAqB5B,CAAO,CAAC,EAC5B0D,GAAUjD,MAAcmC,EAAY,CACtC,KAAMf,EACN,OAAQ,OACR,OAAQ,CAAC,CAAE,MAAO,QAAS,KAAM,OAAQ,MAAO7B,EAAQ,WAAW,IAAMA,EAAQ,OAAQ,CAAC,EAC1F,UACA,WAAY,GACZ,aAAc,EACd,aAAc,EACd,UAAW,GACX,kBAAmB,IACnB,QAAS,CAAE,MAAQ,GAAM,GAAGsD,EAAE,GAAI,CACtC,CAAC,EAAG,CAACzB,EAAc7B,CAAO,CAAC,EACrB2D,GAAclD,MAAcmD,GAAgB,CAC9C,KAAM9B,EACN,OAAQ,OACR,OAAQ,UACR,WAAY,QACZ,UACA,QAAS,CACL,MAAQ,GAAM,GAAInB,GAEd,SAAW,GAAG,GAAIA,GAElB,MAAQ,KACZ,UAAW,OACX,MAAQ,GAAM,GAAG2C,EAAE,GACvB,CACJ,CAAC,EAAG,CAACxB,EAAa9B,CAAO,CAAC,EAC1B,MAAQ,kBAAC6D,GAAD,CAAwB,OAAM,aAAc1D,EAAS,QAASE,EAAW,UAAW,SAAUA,EAAW,WAAzG,UACJ,kBAACyD,GAAD,CAAU,MAAO,CAAE,aAAc,EAAG,EAApC,UACE,kBAACC,EAAD,CAAU,MAAM,QAAQ,MAAO/B,EAAUA,EAAQ,MAAM,eAAe,EAAIgC,EAAmB,IAAK,KAAK9D,EAAK,MAAO,KAAM,kBAAC+D,GAAD,CAAO,KAAM,EAAI,GAAG,OAAO,gCAAgC,MAAOjC,GAAWC,EAAciC,GAAQlC,EAAQ,MAAOC,EAAY,KAAK,EAAI,KAAM,WAAW,OAAQ,GACzR,kBAAC8B,EAAD,CAAU,MAAM,QAAQ,MAAO7B,GAAe,KAAO8B,EAAoB,GAAG9B,EAAY,GAAI,IAAKF,EAAU,MAAMA,EAAQ,aAAa,eAAe,EAAE,QAAQA,EAAQ,UAAU,eAAe,IAAM,OAAW,KAAM,kBAACmC,GAAD,CAAc,KAAM,EAAI,GAAG,OAAO,gCAAgC,MAAO/B,EAAkB,WAAW,QAAQ,YAAY,OAAQ,GACzV,kBAAC2B,EAAD,CAAU,MAAM,SAAS,MAAO/B,EAAUA,EAAQ,UAAU,eAAe,EAAIgC,EAAmB,IAAI,aAAa,KAAM,kBAACI,GAAD,CAAS,KAAM,EAAI,GAAG,OAAQpC,GAAWA,EAAQ,UAAY,EAAI,+BAAiC,OAAW,MAAOA,GAAWC,EAAciC,GAAQlC,EAAQ,UAAWC,EAAY,SAAS,EAAI,KAAM,WAAW,OAAQ,EAC3U,C,GAEV,kBAACoC,EAAD,CAAY,MAAM,kBACf,SAAAC,EAAc9D,CAAgB,EAAI,kBAAC+D,EAAD,CAAY,OAAQ,GAAK,GAAK,kBAACC,GAAD,CAAW,GAAIjC,EAAW,QAASkC,EAAc,OAAQ,GAAK,EACrH,GAEZ,kBAAC,MAAD,CAAK,UAAU,aAAa,MAAO,CAAE,UAAW,GAAI,aAAc,EAAG,EAArE,UACE,kBAACJ,EAAD,CAAY,MAAM,cACf,SAAAxB,EAAc,SAAW,EAAI,kBAAC0B,EAAD,CAAa,GAAK,kBAACG,EAAD,CAAU,GAAI/B,EAAa,QAAS8B,EAAc,OAAQ,GAAK,EACrG,GACZ,kBAACJ,EAAD,CAAY,OAAQ/C,EAAgB,OAAS,EAAG,MAAQ,kBAAAqD,EAAA,WAAE,iBAEnDrD,EAAgB,OAAS,GAAK,kBAAC,OAAD,CAAM,MAAO,CAAE,SAAU,GAAI,WAAY,IAAK,WAAY,EAAG,MAAO,8BAA+B,EAAG,mBAAc,EACnJ,IACH,SAAAA,EAAgB,SAAW,EAAI,kBAACiD,EAAD,CAAY,KAAK,UAAU,KAAK,WAAY,GAAK,kBAACG,EAAD,CAAU,GAAI3B,EAAe,QAAS0B,EAAc,OAAQ,GAAK,EACxI,EACT,C,GAEL,kBAAC,MAAD,CAAK,UAAU,aAAa,MAAO,CAAE,aAAc,EAAG,EAAtD,UACE,kBAACJ,EAAD,CAAY,MAAM,UACf,SAAAC,EAAc/C,CAAe,EAAI,kBAACgD,EAAD,CAAY,OAAQ,GAAK,GAAK,kBAACG,EAAD,CAAU,GAAI1B,GAAY,QAASyB,EAAc,OAAQ,GAAK,EACpH,GACZ,kBAACJ,EAAD,CAAY,MAAM,YACf,SAAAC,EAAchC,CAAa,EAAI,kBAACiC,EAAD,CAAY,OAAQ,GAAK,GAAK,kBAACK,EAAD,CAAU,GAAI3B,GAAY,QAASwB,EAAc,OAAQ,GAAK,EAClH,EACT,C,GAEL,kBAAC,MAAD,CAAK,UAAU,aAAa,MAAO,CAAE,aAAc,EAAG,EAAtD,UACE,kBAACJ,EAAD,CAAY,MAAM,QACf,SAAA7C,EAAY,SAAW,EAAI,kBAAC+C,EAAD,CAAY,OAAQ,GAAK,GAAK,kBAACK,EAAD,CAAU,GAAIzB,GAAa,QAASsB,EAAc,OAAQ,GAAK,EAC/G,GACZ,kBAACJ,EAAD,CAAY,MAAM,SACf,SAAA5C,EAAO,SAAW,EAAI,kBAAC8C,EAAD,CAAY,OAAQ,GAAK,GAAK,kBAACK,EAAD,CAAU,GAAIxB,EAAQ,QAASqB,EAAc,OAAQ,GAAK,EACrG,EACT,C,GAEL,kBAAC,MAAD,CAAK,UAAU,aAAa,MAAO,CAAE,aAAc,EAAG,EAAtD,UACE,kBAACJ,EAAD,CAAY,OAAQ3C,EAAe,OAAS,EAAG,MAAM,SAClD,SAAAA,EAAe,SAAW,EAAI,kBAAC6C,EAAD,CAAY,KAAK,UAAU,KAAK,YAAY,OAAQ,GAAK,GAAK,kBAACK,EAAD,CAAU,GAAIrB,EAAgB,QAASkB,EAAc,OAAQ,GAAK,EACrJ,GACZ,kBAACJ,EAAD,CAAY,MAAM,cACf,SAAA1C,EAAkB,SAAW,EAAI,kBAAC4C,EAAD,CAAY,OAAQ,GAAK,GAAK,kBAACG,EAAD,CAAU,GAAIlB,GAAc,QAASiB,EAAc,OAAQ,GAAK,EACtH,EACT,C,GAEL,kBAACJ,EAAD,CAAY,MAAO,iBAAiBnE,EAAK,KACtC,SAAAoE,EAAcxC,CAAW,EAAI,kBAACyC,EAAD,CAAY,OAAQ,GAAK,GAAK,kBAACtF,GAAD,CAAc,GAAI0E,GAAa,QAASc,EAAc,OAAQ,GAAK,EACrH,GAEZ,kBAAC,MAAD,CAAK,UAAU,aAAa,MAAO,CAAE,UAAW,GAAI,aAAc,EAAG,EAArE,UACE,kBAACJ,EAAD,CAAY,MAAM,cACf,SAAAzC,EAAoB,SAAW,EAAI,kBAAC2C,EAAD,CAAY,OAAQ,GAAK,GAAK,kBAACG,EAAD,CAAU,GAAIjB,GAAgB,QAASgB,EAAc,OAAQ,GAAK,EAC1H,GACZ,kBAACJ,EAAD,CAAY,MAAM,eACf,SAAAxC,EAAa,SAAW,EAAI,kBAAC0C,EAAD,CAAY,OAAQ,GAAK,GAAK,kBAACG,EAAD,CAAU,GAAIhB,GAAS,QAASe,EAAc,OAAQ,GAAK,EAC5G,EACT,C,GAEL,kBAACJ,EAAD,CAAY,MAAO,aAAanE,EAAK,KAClC,SAAAoE,EAAcvD,CAAgB,EAAI,kBAACwD,EAAD,CAAY,OAAQ,GAAK,GAAK,kBAACG,EAAD,CAAU,GAAIrB,EAAa,QAASoB,EAAc,OAAQ,GAAK,EACtH,EACE,C,EACtB,C,2GCxSA,SAAwBI,IAAgB,CACpC,IAAMC,EAAaC,GAAoBC,GAAkB,MAAM,EACzDC,EAAYH,EAAW,OAUvBI,EAA8B,CAAE,SAAU,GAAI,UAAW,OAAW,OAAQ,OAAW,UAAW,IAAK,EACvG,CAAE,OAAM,WAAU,UAAS,kBAAiB,OAAM,cAAa,kBAAiB,eAAc,cAAa,eAAiBC,GAA4B,CAAE,SAAUD,EAAe,QAASE,GAAa,KAAM,CAAC,EAGtNC,GAAgB,CAAC,SAAU,YAAa,SAAS,EAAI,GAAW,CAC5D,IAAMC,EAAYC,GAAmBC,EAAO,SAAS,EAC/CC,EAAUF,GAAmBC,EAAO,OAAO,EACjDE,EAAY,CACR,GAAGR,EACH,OAAQS,EAAYC,GAAgBJ,EAAO,MAAM,EACjD,UAAWF,GAAaG,EAAU,CAACH,EAAWG,CAAO,EAAI,IAC7D,CAAC,CACL,EAAG,CAAE,mBAAsB,CAAE,IAAK,MAAO,EAAG,CAAC,EAE7C,IAAMI,EAAcC,GAAe,CAC/B,SAAUC,EAAgB,SAC1B,UAAWJ,EAAYK,GAAmBD,EAAgB,SAAS,EACnE,OAAQJ,EAAYC,GAAgBG,EAAgB,MAAM,EAC1D,GAAGE,GAA0BF,EAAgB,SAAS,CAC1D,CAAC,EACKG,EAAYC,GAAgB,CAAE,OAAM,WAAU,GAAGN,CAAY,EAAGZ,IAAc,MAAM,EACpFmB,EAAOF,EAAU,MAAM,MAAQ,CAAC,EAChCG,EAAQH,EAAU,MAAM,OAAS,EACjCI,EAAoBC,GAAkB,EACtCC,EAAmBF,EAAkB,UACrCG,EAAYC,GAAa,CAC3B,MAAQ,GAASJ,EAAkB,YAAY,CAAE,MAAO,CAAE,MAAK,CAAE,CAAC,EAClE,cAAiBK,EAAQ,CAAC,CAC9B,CAAC,EACD,MAAQ,kBAAC,MAAD,CAAK,UAAU,yCAAf,UACN,kBAACC,EAAD,CAAoB,YAAa,IAAK,QAAS,IAAK,QAAS,IAAK,WAAW,aAC3E,MAAO,CAAE,KAAM,EAAG,UAAW,EAAG,SAAU,QAAS,EAAG,WAAY3B,IAAc,KAChF,OAAQH,EAAW,KAAM,mBAAoBA,EAAW,iBACxD,OAAQ,kBAAC+B,GAAD,CAAc,MAAM,OAAO,WACjC,2BAACC,GAAD,CAAmB,SAAUC,GAAc,OAAQ9B,EAAW,SAAUH,EAAW,MAAS,EAChF,GACd,OAAQ,kBAAC8B,EAAmB,KAApB,CAAyB,QAAS,GAAI,OAAQ3B,IAAc,OAAS,SAAW,OAAQ,MAAO,CAAE,QAAS,OAAQ,cAAe,QAAS,EAA1I,UACPA,IAAc,QACb,kBAAC+B,GAAD,CAAgB,aAAcC,EAAiB,CAC7C,QAAU,kBAACC,EAAD,CAAc,YAAY,WAAW,GAAIC,EAAY,UAAU,EAAG,MAAO,GAAK,GACxF,QAAW,kBAAAxC,EAAA,WACP,kBAACyC,EAAD,CAAc,YAAY,OAAO,MAAOC,GAA0B,GAAIC,EAAK,WAAW,CAAG,GACzF,kBAACC,EAAD,CAAc,MAAOC,GAAsB,GAAIF,EAAK,QAAQ,CAAG,GAC/D,kBAACG,EAAD,CAAiB,YAAY,OAAO,GAAIH,EAAK,WAAW,CAAG,EAC3D,IACJ,SAAWI,EACX,QAAUC,EACV,QAAW,kBAAAhD,EAAA,WACP,kBAACiD,GAAD,CAAc,OAAO,oBAAoB,MAAO/B,CAAa,GAC7D,kBAACgC,GAAD,CAAkB,QAASrB,EAAkB,QAASC,EAAU,cAAgB,EAChF,IACJ,YAAa,SACb,YAAa,MACjB,CAAC,EAAG,WAAYL,EAAM,QAASF,EAAU,WAAY,cAAiB,KAAKA,EAAU,QAAQ,EAAG,WAAY4B,EAAgBzB,CAAK,CAAG,GAEnIpB,IAAc,SAAW,kBAAClF,GAAD,CAAqB,EACxB,C,EAAI,GAC7B,kBAACgI,GAAD,CAAgB,QAAQ,OAAO,QAAStB,CAAW,EAChD,C,EACT,C","names":["CellMark","BaseMark","createSymbol","attrs","symbolAttrs","g","groupAttrs","symbolType","isNil","Factory","registerShadowRoot","registerSymbol","registerSymbolDataLabel","heatmapPresetAnimation","preset","FadeInOutAnimation","BaseSeriesTooltipHelper","activeType","baseSeriesMark","BaseSeriesSpecTransformer","spec","HeatmapSeries","CartesianSeries","SeriesTypeEnum","HeatmapSeriesSpecTransformer","array","f","policy","HEATMAP_SERIES_DATA_RELATED_KEYS","shouldMarkDoMorph","textMark","datum","AttributeLevel","padding","normalizePadding","width","height","appearPreset","animationParams","getGroupAnimationParams","animationConfig","userAnimationConfig","axisHelper","HeatmapSeriesTooltipHelper","heatmapSeriesMark","registerTextMark","registerCellMark","registerHeatmapAnimation","registerCartesianBandAxis","registerCartesianLinearAxis","CartesianChartSpecTransformer","HeatmapChart","BaseChart","HeatmapChartSpecTransformer","registerMarkTooltipProcessor","registerHeatmapSeries","createChart","VChart","registerHeatmapChart","registerLabel","registers","shortGpuName","parts","gpu","s","LoginLogStatsPanel","palette","useChartPalette","days","setDays","useState","statsQuery","useLoginLogStats","stats","filledDailyStats","useMemo","dataMap","d","today","dayjs","date","weekdayChartData","weekdayBuckets","items","buildUserChartLabels","nameOf","fullOf","x","ipFailChartData","hourlyChartData","browserData","osData","failReasonData","locationChartData","resolutionChartData","gpuChartData","dowHourData","WEEKDAY_LABELS","summary","prevSummary","successRate","calcSuccessRate","successRateDelta","calcSuccessRateDelta","statusPieData","trendSpec","makeAreaSpec","shortDate","value","userBarSpec","makeBarSpec","userChartData","userChartTitleOf","ipFailBarSpec","hourlySpec","statusSpec","makePieSpec","browserSpec","osSpec","weekdaySpec","v","failReasonSpec","locationSpec","resolutionSpec","gpuSpec","dowHourSpec","makeHeatmapSpec","LogStatsScaffold","StatGrid","StatCard","EMPTY_PLACEHOLDER","LogIn","deltaOf","CheckCircle2","XCircle","ChartPanel","isEmptyValues","EmptyChart","AreaChart","chartOptions","BarChart","_Fragment","PieChart","LoginLogsPage","navigation","useSectionSelection","LOG_SECTION_KEYS","activeTab","defaultParams","useListSearch","loginLogKeys","useListDeepLink","startTime","parseDateTimeParam","params","endTime","applySearch","enumValueOf","LOGIN_STATUSES","filterQuery","useFilterQuery","submittedParams","LOGIN_EVENT_TYPES","formatDateTimeRangeForApi","listQuery","useLoginLogList","data","total","cleanLogsMutation","useCleanLoginLogs","clearLogsLoading","clearLogs","useClearLogs","setPage","MasterDetailLayout","NavListPanel","SectionNavigation","LOG_SECTIONS","LoginLogsTable","buildTableSearch","KeywordInput","bindKeyword","FilterSelect","LOGIN_EVENT_TYPE_OPTIONS","bind","StatusSelect","LOGIN_STATUS_OPTIONS","DateRangeFilter","handleSearch","handleReset","ExportButton","ClearLogsButtons","buildPagination","ClearLogsModal"],"ignoreList":[0,1,2,3,4,5,6,7,8,9],"sources":["../../../../node_modules/@visactor/vchart/esm/mark/cell.js","../../../../node_modules/@visactor/vchart/esm/series/heatmap/animation.js","../../../../node_modules/@visactor/vchart/esm/series/heatmap/tooltip-helper.js","../../../../node_modules/@visactor/vchart/esm/series/heatmap/constant.js","../../../../node_modules/@visactor/vchart/esm/series/heatmap/heatmap-transformer.js","../../../../node_modules/@visactor/vchart/esm/theme/builtin/common/series/heatmap.js","../../../../node_modules/@visactor/vchart/esm/series/heatmap/heatmap.js","../../../../node_modules/@visactor/vchart/esm/chart/heatmap/heatmap-transformer.js","../../../../node_modules/@visactor/vchart/esm/chart/heatmap/heatmap.js","../../../../node_modules/@visactor/react-vchart/esm/charts/HeatmapChart.js","../../src/pages/system/login-logs/LoginLogStatsPanel.tsx","../../src/pages/system/login-logs/LoginLogsPage.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,"import { useState, useMemo } from 'react';\nimport { LogIn, CheckCircle2, XCircle } from 'lucide-react';\nimport { AreaChart, BarChart, HeatmapChart, PieChart, EmptyChart, useChartPalette, chartOptions, makeAreaSpec, makeBarSpec, makeHeatmapSpec, makePieSpec, isEmptyValues, StatCard, StatGrid } from \"@/components/charts/index\";\nimport dayjs from 'dayjs';\nimport { useLoginLogStats } from \"@fudanda/react-core/hooks/queries/login-logs\";\nimport { buildUserChartLabels } from \"@fudanda/react-core/utils/user-labels\";\nimport { ChartPanel, LogStatsScaffold, WEEKDAY_LABELS, calcSuccessRate, calcSuccessRateDelta, deltaOf, weekdayBuckets } from \"@/components/logs/LogStatsScaffold\";\nimport { shortDate } from \"@fudanda/react-core/utils/date\";\nimport { EMPTY_PLACEHOLDER } from \"@/utils/table-columns\";\ninterface BarDatum {\n readonly name: string;\n readonly count: number;\n}\ninterface PieDatum {\n readonly name: string;\n readonly value: number;\n}\n/** GPU 名多为 \"ANGLE (NVIDIA, NVIDIA GeForce RTX 3060 Direct3D11 ...)\",提取括号内主体便于坐标轴展示 */\nfunction shortGpuName(gpu: string): string {\n const inner = /\\(([^)]+)\\)/.exec(gpu)?.[1] ?? gpu;\n const parts = inner.split(',').map((s) => s.trim());\n return (parts[1] || parts[0] || gpu).slice(0, 40);\n}\nexport default function LoginLogStatsPanel() {\n const palette = useChartPalette();\n const [days, setDays] = useState<number>(30);\n const statsQuery = useLoginLogStats({ days });\n const stats = statsQuery.data ?? null;\n const filledDailyStats = useMemo(() => {\n if (!stats)\n return [];\n const dataMap = new Map(stats.dailyStats.map((d) => [d.date, d]));\n const today = dayjs();\n return Array.from({ length: days }, (_, i) => {\n const date = today.subtract(days - 1 - i, 'day').format('YYYY-MM-DD');\n return dataMap.get(date) ?? { date, count: 0, successCount: 0, failCount: 0 };\n });\n }, [stats, days]);\n const weekdayChartData = useMemo<BarDatum[]>(() => weekdayBuckets(stats?.dailyStats), [stats]);\n const { userChartData, userChartTitleOf } = useMemo(() => {\n const items = [...(stats?.userStats ?? [])].reverse();\n const { nameOf, fullOf } = buildUserChartLabels(items);\n return {\n userChartData: items.map((d) => ({ name: nameOf(d), count: d.count })),\n userChartTitleOf: (x: string) => fullOf.get(x) ?? x,\n };\n }, [stats]);\n const ipFailChartData = useMemo<BarDatum[]>(() => [...(stats?.ipFailStats ?? [])].reverse().map((d) => ({ name: d.ip, count: d.count })), [stats]);\n const hourlyChartData = useMemo<BarDatum[]>(() => (stats?.hourlyStats ?? []).map((d) => ({ name: `${String(d.hour).padStart(2, '0')}:00`, count: d.count })), [stats]);\n const browserData = useMemo<PieDatum[]>(() => (stats?.browserStats ?? []).map((d) => ({ name: d.browser, value: d.count })), [stats]);\n const osData = useMemo<PieDatum[]>(() => (stats?.osStats ?? []).map((d) => ({ name: d.os, value: d.count })), [stats]);\n const failReasonData = useMemo<PieDatum[]>(() => (stats?.failReasonStats ?? []).map((d) => ({ name: d.message, value: d.count })), [stats]);\n const locationChartData = useMemo<BarDatum[]>(() => [...(stats?.locationStats ?? [])].reverse().map((d) => ({ name: d.location, count: d.count })), [stats]);\n const resolutionChartData = useMemo<BarDatum[]>(() => [...(stats?.resolutionStats ?? [])].reverse().map((d) => ({ name: d.resolution, count: d.count })), [stats]);\n const gpuChartData = useMemo<BarDatum[]>(() => [...(stats?.gpuStats ?? [])].reverse().map((d) => ({ name: shortGpuName(d.gpu), count: d.count })), [stats]);\n const dowHourData = useMemo(() => (stats?.dowHourStats ?? []).map((d) => ({\n hour: `${String(d.hour).padStart(2, '0')}h`,\n weekday: WEEKDAY_LABELS[d.dow - 1] ?? `周${d.dow}`,\n count: d.count,\n })), [stats]);\n const summary = stats?.summary;\n const prevSummary = stats?.prevSummary;\n const successRate = calcSuccessRate(summary);\n const successRateDelta = calcSuccessRateDelta(summary, prevSummary);\n const statusPieData = useMemo<PieDatum[]>(() => (summary\n ? [\n { name: '成功', value: summary.successCount },\n { name: '失败', value: summary.failCount },\n ]\n : []), [summary]);\n const trendSpec = useMemo(() => makeAreaSpec({\n data: filledDailyStats,\n xField: 'date',\n series: [\n { field: 'successCount', name: '成功', color: palette.success },\n { field: 'failCount', name: '失败', color: palette.danger },\n ],\n palette,\n point: days <= 7,\n pointSize: 6,\n fillOpacity: 0.26,\n axis: { xLabel: shortDate },\n tooltip: {\n title: (value) => `日期:${value}`,\n value: (value) => `${value} 次`,\n },\n }), [days, filledDailyStats, palette]);\n const userBarSpec = useMemo(() => makeBarSpec({\n data: userChartData,\n xField: 'name',\n series: [{ field: 'count', name: '登录次数', color: palette.success }],\n palette,\n horizontal: true,\n barMinHeight: 3,\n cornerRadius: 5,\n showLabel: true,\n labelColor: palette.success,\n categoryAxisWidth: 96,\n tooltip: { title: userChartTitleOf, value: (value) => `${value} 次` },\n }), [palette, userChartData, userChartTitleOf]);\n const ipFailBarSpec = useMemo(() => makeBarSpec({\n data: ipFailChartData,\n xField: 'name',\n series: [{ field: 'count', name: '失败次数', color: palette.risk }],\n palette,\n horizontal: true,\n barMinHeight: 3,\n cornerRadius: 5,\n showLabel: true,\n labelColor: palette.risk,\n categoryAxisWidth: 120,\n tooltip: { value: (value) => `${value} 次` },\n }), [ipFailChartData, palette]);\n const hourlySpec = useMemo(() => makeBarSpec({\n data: hourlyChartData,\n xField: 'name',\n series: [{ field: 'count', name: '登录次数', color: palette.active }],\n palette,\n barMaxWidth: 18,\n axis: { xLabel: (value) => value.replace(':00', 'h') },\n tooltip: {\n title: (value) => `${value} - ${value.replace(':00', ':59')}`,\n value: (value) => `${value} 次`,\n },\n }), [hourlyChartData, palette]);\n const statusSpec = useMemo(() => makePieSpec({\n data: statusPieData,\n categoryField: 'name',\n valueField: 'value',\n palette,\n donut: true,\n colors: [palette.success, palette.danger],\n outerRadius: 0.86,\n innerRadius: 0.58,\n padAngle: 1.5,\n cornerRadius: 5,\n label: 'value',\n labelPosition: 'inside',\n labelColor: '#fff',\n labelFontSize: 12,\n indicator: { title: successRate == null ? '--' : `${successRate}%`, subtitle: '成功率' },\n indicatorTitleFontSize: 28,\n tooltipKey: '次数',\n valueUnit: '次',\n }), [palette, statusPieData, successRate]);\n const browserSpec = useMemo(() => makePieSpec({\n data: browserData,\n categoryField: 'name',\n valueField: 'value',\n palette,\n donut: true,\n innerRadius: 0.48,\n outerRadius: 0.82,\n padAngle: 1,\n cornerRadius: 3,\n legendLabelFontSize: 11,\n tooltipKey: '访问次数',\n valueUnit: '次',\n }), [browserData, palette]);\n const osSpec = useMemo(() => makePieSpec({\n data: osData,\n categoryField: 'name',\n valueField: 'value',\n palette,\n donut: true,\n innerRadius: 0.48,\n outerRadius: 0.82,\n padAngle: 1,\n cornerRadius: 3,\n legendLabelFontSize: 11,\n tooltipKey: '访问次数',\n valueUnit: '次',\n }), [osData, palette]);\n const weekdaySpec = useMemo(() => makeBarSpec({\n data: weekdayChartData,\n xField: 'name',\n series: [{ field: 'count', name: '登录次数', color: palette.primary }],\n palette,\n showLabel: true,\n tooltip: { value: (v) => `${v} 次` },\n }), [weekdayChartData, palette]);\n const failReasonSpec = useMemo(() => makePieSpec({\n data: failReasonData,\n categoryField: 'name',\n valueField: 'value',\n palette,\n donut: true,\n innerRadius: 0.48,\n outerRadius: 0.82,\n padAngle: 1,\n cornerRadius: 3,\n legendLabelFontSize: 11,\n tooltipKey: '失败次数',\n valueUnit: '次',\n }), [failReasonData, palette]);\n const locationSpec = useMemo(() => makeBarSpec({\n data: locationChartData,\n xField: 'name',\n series: [{ field: 'count', name: '登录次数', color: palette.active }],\n palette,\n horizontal: true,\n barMinHeight: 3,\n cornerRadius: 5,\n showLabel: true,\n labelColor: palette.active,\n categoryAxisWidth: 120,\n tooltip: { value: (v) => `${v} 次` },\n }), [locationChartData, palette]);\n const resolutionSpec = useMemo(() => makeBarSpec({\n data: resolutionChartData,\n xField: 'name',\n series: [{ field: 'count', name: '登录次数', color: palette.dataColors[4] ?? palette.primary }],\n palette,\n horizontal: true,\n barMinHeight: 3,\n cornerRadius: 5,\n showLabel: true,\n categoryAxisWidth: 96,\n tooltip: { value: (v) => `${v} 次` },\n }), [resolutionChartData, palette]);\n const gpuSpec = useMemo(() => makeBarSpec({\n data: gpuChartData,\n xField: 'name',\n series: [{ field: 'count', name: '登录次数', color: palette.dataColors[6] ?? palette.primary }],\n palette,\n horizontal: true,\n barMinHeight: 3,\n cornerRadius: 5,\n showLabel: true,\n categoryAxisWidth: 150,\n tooltip: { value: (v) => `${v} 次` },\n }), [gpuChartData, palette]);\n const dowHourSpec = useMemo(() => makeHeatmapSpec({\n data: dowHourData,\n xField: 'hour',\n yField: 'weekday',\n valueField: 'count',\n palette,\n tooltip: {\n title: (d) => `${(d as {\n weekday?: string;\n })?.weekday ?? ''} ${(d as {\n hour?: string;\n })?.hour ?? ''}`,\n valueName: '登录次数',\n value: (v) => `${v} 次`,\n },\n }), [dowHourData, palette]);\n return (<LogStatsScaffold days={days} onDaysChange={setDays} loading={statsQuery.isLoading} fetching={statsQuery.isFetching}>\n <StatGrid style={{ marginBottom: 16 }}>\n <StatCard title=\"总登录次数\" value={summary ? summary.total.toLocaleString() : EMPTY_PLACEHOLDER} sub={`近 ${days} 天累计`} icon={<LogIn size={22}/>} accent=\"var(--arc-antd-color-primary)\" delta={summary && prevSummary ? deltaOf(summary.total, prevSummary.total) : null} deltaLabel=\"较上一周期\"/>\n <StatCard title=\"登录成功率\" value={successRate == null ? EMPTY_PLACEHOLDER : `${successRate}%`} sub={summary ? `成功 ${summary.successCount.toLocaleString()} · 失败 ${summary.failCount.toLocaleString()}` : undefined} icon={<CheckCircle2 size={22}/>} accent=\"var(--arc-antd-color-success)\" delta={successRateDelta} deltaLabel=\"较上一周期\" deltaFormat=\"ratio\"/>\n <StatCard title=\"登录失败次数\" value={summary ? summary.failCount.toLocaleString() : EMPTY_PLACEHOLDER} sub=\"密码错误、账号锁定等\" icon={<XCircle size={22}/>} accent={summary && summary.failCount > 0 ? 'var(--arc-antd-color-danger)' : undefined} delta={summary && prevSummary ? deltaOf(summary.failCount, prevSummary.failCount) : null} deltaLabel=\"较上一周期\"/>\n </StatGrid>\n\n <ChartPanel title=\"每日登录趋势(成功 / 失败)\">\n {isEmptyValues(filledDailyStats) ? <EmptyChart height={230}/> : (<AreaChart {...trendSpec} options={chartOptions} height={230}/>)}\n </ChartPanel>\n\n <div className=\"chart-grid\" style={{ marginTop: 16, marginBottom: 16 }}>\n <ChartPanel title=\"Top 10 登录用户\">\n {userChartData.length === 0 ? <EmptyChart /> : (<BarChart {...userBarSpec} options={chartOptions} height={260}/>)}\n </ChartPanel>\n <ChartPanel danger={ipFailChartData.length > 0} title={(<>\n 失败登录 Top 10 IP\n {ipFailChartData.length > 0 && <span style={{ fontSize: 12, fontWeight: 400, marginLeft: 8, color: 'var(--arc-antd-color-text-2)' }}>可能存在安全风险</span>}\n </>)}>\n {ipFailChartData.length === 0 ? <EmptyChart tone=\"success\" text=\"该时间段无失败登录\"/> : (<BarChart {...ipFailBarSpec} options={chartOptions} height={260}/>)}\n </ChartPanel>\n </div>\n\n <div className=\"chart-grid\" style={{ marginBottom: 16 }}>\n <ChartPanel title=\"按小时登录分布\">\n {isEmptyValues(hourlyChartData) ? <EmptyChart height={240}/> : (<BarChart {...hourlySpec} options={chartOptions} height={240}/>)}\n </ChartPanel>\n <ChartPanel title=\"成功 / 失败占比\">\n {isEmptyValues(statusPieData) ? <EmptyChart height={240}/> : (<PieChart {...statusSpec} options={chartOptions} height={240}/>)}\n </ChartPanel>\n </div>\n\n <div className=\"chart-grid\" style={{ marginBottom: 16 }}>\n <ChartPanel title=\"浏览器分布\">\n {browserData.length === 0 ? <EmptyChart height={260}/> : (<PieChart {...browserSpec} options={chartOptions} height={260}/>)}\n </ChartPanel>\n <ChartPanel title=\"操作系统分布\">\n {osData.length === 0 ? <EmptyChart height={260}/> : (<PieChart {...osSpec} options={chartOptions} height={260}/>)}\n </ChartPanel>\n </div>\n\n <div className=\"chart-grid\" style={{ marginBottom: 16 }}>\n <ChartPanel danger={failReasonData.length > 0} title=\"失败原因分布\">\n {failReasonData.length === 0 ? <EmptyChart tone=\"success\" text=\"该时间段无失败登录\" height={260}/> : (<PieChart {...failReasonSpec} options={chartOptions} height={260}/>)}\n </ChartPanel>\n <ChartPanel title=\"登录地点 Top 10\">\n {locationChartData.length === 0 ? <EmptyChart height={260}/> : (<BarChart {...locationSpec} options={chartOptions} height={260}/>)}\n </ChartPanel>\n </div>\n\n <ChartPanel title={`星期 × 小时登录热力(近 ${days} 天)`}>\n {isEmptyValues(dowHourData) ? <EmptyChart height={280}/> : (<HeatmapChart {...dowHourSpec} options={chartOptions} height={280}/>)}\n </ChartPanel>\n\n <div className=\"chart-grid\" style={{ marginTop: 16, marginBottom: 16 }}>\n <ChartPanel title=\"设备分辨率 Top 8\">\n {resolutionChartData.length === 0 ? <EmptyChart height={240}/> : (<BarChart {...resolutionSpec} options={chartOptions} height={240}/>)}\n </ChartPanel>\n <ChartPanel title=\"设备 GPU Top 8\">\n {gpuChartData.length === 0 ? <EmptyChart height={240}/> : (<BarChart {...gpuSpec} options={chartOptions} height={240}/>)}\n </ChartPanel>\n </div>\n\n <ChartPanel title={`按星期登录分布(近 ${days} 天)`}>\n {isEmptyValues(weekdayChartData) ? <EmptyChart height={220}/> : (<BarChart {...weekdaySpec} options={chartOptions} height={220}/>)}\n </ChartPanel>\n </LogStatsScaffold>);\n}\n","import { MasterDetailLayout } from '@/components/MasterDetailLayout';\nimport { NavListPanel } from '@/components/NavListPanel';\nimport { SectionNavigation } from '@/components/SectionNavigation';\nimport { LOG_SECTIONS, LOG_SECTION_KEYS } from '@/components/logs/log-sections';\nimport { useSectionSelection } from '@/hooks/useSectionSelection';\nimport { buildTableSearch } from \"@/components/list-page/index\";\nimport ExportButton from \"@/components/ExportButton\";\nimport { LoginLogsTable } from \"@/components/logs/LoginLogsTable\";\nimport { ClearLogsButtons, ClearLogsModal } from \"@/components/logs/ClearLogsControl\";\nimport { useClearLogs } from \"@/hooks/useClearLogs\";\nimport { formatDateTimeRangeForApi, parseDateTimeParam } from \"@fudanda/react-core/utils/date\";\nimport LoginLogStatsPanel from \"@/pages/system/login-logs/LoginLogStatsPanel\";\nimport { loginLogKeys, useCleanLoginLogs, useLoginLogList } from \"@fudanda/react-core/hooks/queries/login-logs\";\nimport { enumValueOf } from '@fudanda/shared/core';\nimport { LOGIN_EVENT_TYPE_OPTIONS, LOGIN_EVENT_TYPES, LOGIN_STATUS_OPTIONS, LOGIN_STATUSES } from '@fudanda/shared/identity';\nimport { useListSearch } from \"@fudanda/react-core/hooks/useListSearch\";\nimport { DateRangeFilter, FilterSelect, KeywordInput, StatusSelect } from \"@/components/search-filters\";\nimport { useFilterQuery } from \"@fudanda/react-core/hooks/useFilterQuery\";\nimport { useListDeepLink } from \"@fudanda/react-core/hooks/useListDeepLink\";\nexport default function LoginLogsPage() {\n const navigation = useSectionSelection(LOG_SECTION_KEYS, 'list');\n const activeTab = navigation.active;\n interface SearchParams {\n username: string;\n eventType?: string;\n status?: string;\n timeRange: [\n Date,\n Date\n ] | null;\n }\n const defaultParams: SearchParams = { username: '', eventType: undefined, status: undefined, timeRange: null };\n const { page, pageSize, setPage, buildPagination, bind, bindKeyword, submittedParams, handleSearch, handleReset, applySearch, } = useListSearch<SearchParams>({ defaults: defaultParams, listKey: loginLogKeys.lists });\n // 首页登录趋势图表下钻(?status=…&startTime=…&endTime=…):按某天与状态预置筛选,消费后即从地址栏移除;\n // 同时在同一次导航里把页签切回列表——深链要看的是记录,停在上次离开的「统计分析」页签会看不到结果\n useListDeepLink(['status', 'startTime', 'endTime'], (params) => {\n const startTime = parseDateTimeParam(params.startTime);\n const endTime = parseDateTimeParam(params.endTime);\n applySearch({\n ...defaultParams,\n status: enumValueOf(LOGIN_STATUSES, params.status),\n timeRange: startTime && endTime ? [startTime, endTime] : null,\n });\n }, { getNextParams: () => ({ tab: 'list' }) });\n // 已提交筛选 → 契约查询参数:列表与导出共用同一份映射\n const filterQuery = useFilterQuery({\n username: submittedParams.username,\n eventType: enumValueOf(LOGIN_EVENT_TYPES, submittedParams.eventType),\n status: enumValueOf(LOGIN_STATUSES, submittedParams.status),\n ...formatDateTimeRangeForApi(submittedParams.timeRange),\n });\n const listQuery = useLoginLogList({ page, pageSize, ...filterQuery }, activeTab === 'list');\n const data = listQuery.data?.list ?? [];\n const total = listQuery.data?.total ?? 0;\n const cleanLogsMutation = useCleanLoginLogs();\n const clearLogsLoading = cleanLogsMutation.isPending;\n const clearLogs = useClearLogs({\n clean: (days) => cleanLogsMutation.mutateAsync({ query: { days } }),\n onCleared: () => setPage(1),\n });\n return (<div className=\"page-container page-container--stretch\">\n <MasterDetailLayout defaultSize={260} minSize={200} maxSize={400} persistKey=\"login-logs\"\n style={{ flex: 1, minHeight: 0, overflow: 'hidden' }} showDetail={activeTab !== null}\n onBack={navigation.back} onResponsiveChange={navigation.responsiveChange}\n master={<NavListPanel title=\"日志模块\" rawBody>\n <SectionNavigation sections={LOG_SECTIONS} active={activeTab} onSelect={navigation.select} />\n </NavListPanel>}\n detail={<MasterDetailLayout.Body padding={16} scroll={activeTab === 'list' ? 'hidden' : 'auto'} style={{ display: 'flex', flexDirection: 'column' }}>\n {activeTab === 'list' && (\n <LoginLogsTable searchConfig={buildTableSearch({\n keyword: (<KeywordInput placeholder=\"用户名 / 昵称\" {...bindKeyword('username')} width={180}/>),\n filters: ((<>\n <FilterSelect placeholder=\"全部事件\" items={LOGIN_EVENT_TYPE_OPTIONS} {...bind('eventType')}/>\n <StatusSelect items={LOGIN_STATUS_OPTIONS} {...bind('status')}/>\n <DateRangeFilter searchLabel=\"登录时间\" {...bind('timeRange')}/>\n </>)),\n onSearch: (handleSearch),\n onReset: (handleReset),\n actions: ((<>\n <ExportButton entity=\"system.login-logs\" query={filterQuery}/>\n <ClearLogsButtons loading={clearLogsLoading} onClear={clearLogs.openClearModal}/>\n </>)),\n filterTitle: \"登录日志筛选\",\n actionTitle: \"日志操作\"\n })} dataSource={data} loading={listQuery.isFetching} onRefresh={() => void listQuery.refetch()} pagination={buildPagination(total)}/>\n )}\n {activeTab === 'stats' && <LoginLogStatsPanel />}\n </MasterDetailLayout.Body>} />\n <ClearLogsModal logName=\"登录日志\" control={clearLogs}/>\n </div>);\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-Bruge11p.js";import{M as t,O as n,_ as r,m as i}from"./clipboard-dpqHdCyy.js";import{i as a,r as o,s}from"./table-columns-CvT6OHd2.js";import{n as c,t as l}from"./ConfigurableTable-8sYmeul2.js";import{n as u,t as d}from"./AppModal-
|
|
2
|
-
//# sourceMappingURL=LoginLogsTable-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bruge11p.js";import{M as t,O as n,_ as r,m as i}from"./clipboard-dpqHdCyy.js";import{i as a,r as o,s}from"./table-columns-CvT6OHd2.js";import{n as c,t as l}from"./ConfigurableTable-8sYmeul2.js";import{n as u,t as d}from"./AppModal-CEouaU03.js";import{n as f,t as p}from"./UserDisplay-BpkQ78cZ.js";import{useMemo as m,useState as h}from"react";import{Fragment as g,jsx as _,jsxs as v}from"react/jsx-runtime";import{formatDateTime as y}from"@fudanda/admin-antd/core/utils/date";import{LOGIN_EVENT_TYPE_LABELS as b}from"@fudanda/client/identity";import{formatUserLabel as x}from"@fudanda/admin-antd/core/utils/user-labels";function S({status:e,size:t}){return/* @__PURE__ */ _(n,{color:e===`success`?`green`:`red`,size:t,children:e===`success`?`成功`:`失败`})}function C({eventType:e,size:t}){let r=e??`login`;return/* @__PURE__ */ _(n,{color:T[r],size:t,children:b[r]})}function w({searchConfig:e,dataSource:t,loading:n,pagination:a,onRefresh:c,columnSettings:u,columnSettingsKey:f}){let[b,w]=h(null),T=m(()=>[{title:`ID`,dataIndex:`id`,width:80,defaultHidden:!0},{title:`用户`,dataIndex:`username`,width:160,render:(e,t)=>/* @__PURE__ */ _(p,{username:e,nickname:t.nickname})},{title:`事件`,dataIndex:`eventType`,width:110,render:e=>/* @__PURE__ */ _(C,{eventType:e})},{title:`事件信息`,dataIndex:`message`,minWidth:160,render:s},{title:`IP 地址`,dataIndex:`ip`,width:150,render:e=>e??`-`},{title:`地点`,dataIndex:`location`,width:180,defaultHidden:!0,render:s},{title:`浏览器`,dataIndex:`browser`,width:150,defaultHidden:!0,render:s},{title:`操作系统`,dataIndex:`os`,width:150,defaultHidden:!0,render:s},o(`操作时间`,`createdAt`),{title:`状态`,dataIndex:`status`,width:90,fixed:`right`,render:e=>/* @__PURE__ */ _(S,{status:e})},{title:`操作`,key:`operation`,width:80,fixed:`right`,render:(e,t)=>/* @__PURE__ */ _(i,{theme:`borderless`,type:`primary`,size:`small`,onClick:()=>w(t),children:`详情`})}],[]);return/* @__PURE__ */ v(g,{children:[/* @__PURE__ */ _(l,{searchConfig:e,bordered:!0,columns:T,dataSource:t,loading:n,pagination:a,rowKey:`id`,onRefresh:c,columnSettings:u,columnSettingsKey:f}),/* @__PURE__ */ _(d,{title:`登录日志详情`,visible:b!==null,onCancel:()=>w(null),footer:null,width:960,style:{top:40},children:b&&/* @__PURE__ */ _(r,{className:`login-log-details`,data:[{key:`ID`,value:String(b.id)},{key:`用户`,value:x(b.username,b.nickname)},{key:`事件`,value:/* @__PURE__ */ _(C,{eventType:b.eventType,size:`small`})},{key:`状态`,value:/* @__PURE__ */ _(S,{status:b.status,size:`small`})},{key:`IP 地址`,value:b.ip??`-`},{key:`地点`,value:`-`},{key:`浏览器`,value:b.browser??`-`},{key:`操作系统`,value:b.os??`-`},{key:`操作时间`,value:y(b.createdAt),span:`filled`},{key:`事件信息`,value:b.message??`-`,span:`filled`},{key:`User-Agent`,value:b.userAgent??`-`,span:`filled`}],column:{xs:1,sm:1,md:2},layout:`horizontal`,align:`left`})})]})}var T;function E(){return(E=e((()=>{t(),u(),c(),a(),f(),T={login:`cyan`,logout:`blue`,impersonate:`orange`,impersonate_end:`grey`,kicked:`red`}})))()}export{E as n,w as t};
|
|
2
|
+
//# sourceMappingURL=LoginLogsTable-CULcc_e8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginLogsTable-
|
|
1
|
+
{"version":3,"file":"LoginLogsTable-CULcc_e8.js","mappings":"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","names":["LoginStatusTag","Tag","status","LoginEventTypeTag","normalized","eventType","LOGIN_EVENT_TYPE_COLORS","LOGIN_EVENT_TYPE_LABELS","LoginLogsTable","detailLog","setDetailLog","useState","columns","useMemo","UserDisplayCell","v","r","renderEllipsis","dateTimeColumn","Button","record","_Fragment","ConfigurableTable","AppModal","Descriptions","formatUserLabel","formatDateTime"],"ignoreList":[],"sources":["../../src/components/logs/LoginLogsTable.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport { Button, Descriptions, Tag } from \"@/ui\";\nimport AppModal from \"@/components/AppModal\";\nimport type { ColumnProps, TableProps } from \"@/ui\";\nimport type { TagColor } from \"@/ui\";\nimport { LOGIN_EVENT_TYPE_LABELS, type LoginEventType, type LoginLog } from '@fudanda/shared/identity';\nimport ConfigurableTable from \"@/components/ConfigurableTable\";\nimport { formatDateTime } from \"@fudanda/react-core/utils/date\";\nimport { dateTimeColumn, renderEllipsis } from \"@/utils/table-columns\";\nimport { UserDisplayCell } from \"@/components/UserDisplay\";\nimport { formatUserLabel } from \"@fudanda/react-core/utils/user-labels\";\nimport '@/components/logs/LoginLogsTable.css';\ninterface LoginLogsTableProps {\n readonly searchConfig?: TableProps<LoginLog>['searchConfig'];\n readonly dataSource: LoginLog[];\n readonly loading?: boolean;\n readonly pagination?: TableProps<LoginLog>['pagination'];\n readonly onRefresh?: () => void;\n readonly columnSettings?: boolean;\n readonly columnSettingsKey?: string;\n}\nfunction LoginStatusTag({ status, size }: Readonly<{\n status: LoginLog['status'];\n size?: 'small' | 'default' | 'large';\n}>) {\n return (<Tag color={status === 'success' ? 'green' : 'red'} size={size}>\n {status === 'success' ? '成功' : '失败'}\n </Tag>);\n}\nconst LOGIN_EVENT_TYPE_COLORS: Record<LoginEventType, TagColor> = {\n login: 'cyan',\n logout: 'blue',\n impersonate: 'orange',\n impersonate_end: 'grey',\n kicked: 'red',\n};\nfunction LoginEventTypeTag({ eventType, size }: Readonly<{\n eventType?: LoginLog['eventType'];\n size?: 'small' | 'default' | 'large';\n}>) {\n const normalized: LoginEventType = eventType ?? 'login';\n return (<Tag color={LOGIN_EVENT_TYPE_COLORS[normalized]} size={size}>\n {LOGIN_EVENT_TYPE_LABELS[normalized]}\n </Tag>);\n}\nexport function LoginLogsTable({ searchConfig, dataSource, loading, pagination, onRefresh, columnSettings, columnSettingsKey, }: LoginLogsTableProps) {\n const [detailLog, setDetailLog] = useState<LoginLog | null>(null);\n const columns = useMemo<ColumnProps<LoginLog>[]>(() => [\n { title: 'ID', dataIndex: 'id', width: 80, defaultHidden: true },\n { title: '用户', dataIndex: 'username', width: 160, render: (v: string, r: LoginLog) => <UserDisplayCell username={v} nickname={r.nickname}/> },\n {\n title: '事件',\n dataIndex: 'eventType',\n width: 110,\n render: (eventType: LoginLog['eventType']) => <LoginEventTypeTag eventType={eventType}/>,\n },\n { title: '事件信息', dataIndex: 'message', minWidth: 160, render: renderEllipsis },\n { title: 'IP 地址', dataIndex: 'ip', width: 150, render: (v: string | null) => v ?? '-' },\n { title: '地点', dataIndex: 'location', width: 180, defaultHidden: true, render: renderEllipsis },\n { title: '浏览器', dataIndex: 'browser', width: 150, defaultHidden: true, render: renderEllipsis },\n { title: '操作系统', dataIndex: 'os', width: 150, defaultHidden: true, render: renderEllipsis },\n dateTimeColumn('操作时间', 'createdAt'),\n {\n title: '状态',\n dataIndex: 'status',\n width: 90,\n fixed: 'right' as const,\n render: (status: LoginLog['status']) => <LoginStatusTag status={status}/>,\n },\n {\n title: '操作',\n key: 'operation',\n width: 80,\n fixed: 'right' as const,\n render: (_: unknown, record: LoginLog) => (<Button theme=\"borderless\" type=\"primary\" size=\"small\" onClick={() => setDetailLog(record)}>\n 详情\n </Button>),\n },\n ], []);\n return (<>\n <ConfigurableTable<LoginLog> searchConfig={searchConfig} bordered columns={columns} dataSource={dataSource} loading={loading} pagination={pagination} rowKey=\"id\" onRefresh={onRefresh} columnSettings={columnSettings} columnSettingsKey={columnSettingsKey}/>\n\n <AppModal title=\"登录日志详情\" visible={detailLog !== null} onCancel={() => setDetailLog(null)} footer={null} width={960} style={{ top: 40 }}>\n {detailLog && (<Descriptions className=\"login-log-details\" data={[\n { key: 'ID', value: String(detailLog.id) },\n { key: '用户', value: formatUserLabel(detailLog.username, detailLog.nickname) },\n { key: '事件', value: <LoginEventTypeTag eventType={detailLog.eventType} size=\"small\"/> },\n {\n key: '状态',\n value: <LoginStatusTag status={detailLog.status} size=\"small\"/>,\n },\n { key: 'IP 地址', value: detailLog.ip ?? '-' },\n { key: '地点', value: '-' },\n { key: '浏览器', value: detailLog.browser ?? '-' },\n { key: '操作系统', value: detailLog.os ?? '-' },\n { key: '操作时间', value: formatDateTime(detailLog.createdAt), span: 'filled' },\n { key: '事件信息', value: detailLog.message ?? '-', span: 'filled' },\n { key: 'User-Agent', value: detailLog.userAgent ?? '-', span: 'filled' },\n ]} column={{ xs: 1, sm: 1, md: 2 }} layout=\"horizontal\" align=\"left\"/>)}\n </AppModal>\n </>);\n}\nexport default LoginLogsTable;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t,s as n,t as r}from"./rolldown-runtime-Bruge11p.js";import{c as i,n as a,o,r as s,u as c}from"./sql-CsFA0PX8.js";import{n as l}from"./markdown-ZBqZtX01.js";import{a as u,c as d,n as f,o as p,r as m,s as h}from"./vbnet-mqEycoPk.js";import{c as g,d as _,i as v,l as y,n as b,o as x,p as S,r as C}from"./wasm-CptMNRZj.js";import{i as w,n as T}from"./php-template-D_Pg4gY1.js";import{c as E,f as ee,i as D,n as te,o as ne,u as re}from"./r-C2uVK1pf.js";import{c as O,l as k,o as ie,r as ae,t as A}from"./diff-Cgsp4ZpW.js";import{a as oe,c as se,i as ce,l as le,n as ue,o as de,r as fe,s as pe,t as me,u as he}from"./scss-WVhaIzjv.js";import{r as ge,t as _e}from"./core-P4Vm-C2v.js";import{c as ve,s as ye}from"./App-CfQx7jWq.js";import{isValidElement as be}from"react";import{Fragment as xe,jsx as j,jsxs as Se}from"react/jsx-runtime";import{slugifyHeading as Ce}from"@fudanda/admin-antd/core/utils/markdown-outline";function we(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}function Te(e,t){return((t||Oe).jsx?De:Ee).test(e)}var Ee,De,Oe;function ke(){return(ke=e((()=>{Ee=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,De=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Oe={}})))()}function Ae(e){return typeof e==`object`?e.type===`text`&&je(e.value):je(e)}function je(e){return e.replace(Me,``)===``}var Me;function Ne(){return(Ne=e((()=>{Me=/[ \t\n\f\r]/g})))()}var Pe;function Fe(){return(Fe=e((()=>{Pe=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}},Pe.prototype.normal={},Pe.prototype.property={},Pe.prototype.space=void 0})))()}function Ie(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new Pe(n,r,t)}function Le(){return(Le=e((()=>{Fe()})))()}function Re(e){return e.toLowerCase()}var M;function ze(){return(ze=e((()=>{M=class{constructor(e,t){this.attribute=t,this.property=e}},M.prototype.attribute=``,M.prototype.booleanish=!1,M.prototype.boolean=!1,M.prototype.commaOrSpaceSeparated=!1,M.prototype.commaSeparated=!1,M.prototype.defined=!1,M.prototype.mustUseProperty=!1,M.prototype.number=!1,M.prototype.overloadedBoolean=!1,M.prototype.property=``,M.prototype.spaceSeparated=!1,M.prototype.space=void 0})))()}var Be=/* @__PURE__ */ t({boolean:()=>N,booleanish:()=>P,commaOrSpaceSeparated:()=>L,commaSeparated:()=>We,number:()=>F,overloadedBoolean:()=>Ue,spaceSeparated:()=>I});function Ve(){return 2**++He}var He,N,P,Ue,F,I,We,L;function Ge(){return(Ge=e((()=>{He=0,N=Ve(),P=Ve(),Ue=Ve(),F=Ve(),I=Ve(),We=Ve(),L=Ve()})))()}function Ke(e,t,n){n&&(e[t]=n)}var qe,Je;function Ye(){return(Ye=e((()=>{ze(),Ge(),qe=Object.keys(Be),Je=class extends M{constructor(e,t,n,r){let i=-1;if(super(e,t),Ke(this,`space`,r),typeof n==`number`)for(;++i<qe.length;){let e=qe[i];Ke(this,qe[i],(n&Be[e])===Be[e])}}},Je.prototype.defined=!0})))()}function Xe(e){let t={},n={};for(let[r,i]of Object.entries(e.properties)){let a=new Je(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[Re(r)]=r,n[Re(a.attribute)]=r}return new Pe(t,n,e.space)}function Ze(){return(Ze=e((()=>{Ye(),Fe()})))()}var Qe;function $e(){return($e=e((()=>{Ze(),Ge(),Qe=Xe({properties:{ariaActiveDescendant:null,ariaAtomic:P,ariaAutoComplete:null,ariaBusy:P,ariaChecked:P,ariaColCount:F,ariaColIndex:F,ariaColSpan:F,ariaControls:I,ariaCurrent:null,ariaDescribedBy:I,ariaDetails:null,ariaDisabled:P,ariaDropEffect:I,ariaErrorMessage:null,ariaExpanded:P,ariaFlowTo:I,ariaGrabbed:P,ariaHasPopup:null,ariaHidden:P,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:I,ariaLevel:F,ariaLive:null,ariaModal:P,ariaMultiLine:P,ariaMultiSelectable:P,ariaOrientation:null,ariaOwns:I,ariaPlaceholder:null,ariaPosInSet:F,ariaPressed:P,ariaReadOnly:P,ariaRelevant:null,ariaRequired:P,ariaRoleDescription:I,ariaRowCount:F,ariaRowIndex:F,ariaRowSpan:F,ariaSelected:P,ariaSetSize:F,ariaSort:null,ariaValueMax:F,ariaValueMin:F,ariaValueNow:F,ariaValueText:null,role:null},transform(e,t){return t===`role`?t:`aria-`+t.slice(4).toLowerCase()}})})))()}function et(e,t){return t in e?e[t]:t}function tt(e,t){return et(e,t.toLowerCase())}function nt(){return(nt=e((()=>{})))()}var rt;function it(){return(it=e((()=>{nt(),Ze(),Ge(),rt=Xe({attributes:{acceptcharset:`accept-charset`,classname:`class`,htmlfor:`for`,httpequiv:`http-equiv`},mustUseProperty:[`checked`,`multiple`,`muted`,`selected`],properties:{abbr:null,accept:We,acceptCharset:I,accessKey:I,action:null,allow:null,allowFullScreen:N,allowPaymentRequest:N,allowUserMedia:N,alt:null,as:null,async:N,autoCapitalize:null,autoComplete:I,autoFocus:N,autoPlay:N,blocking:I,capture:null,charSet:null,checked:N,cite:null,className:I,cols:F,colSpan:null,content:null,contentEditable:P,controls:N,controlsList:I,coords:F|We,crossOrigin:null,data:null,dateTime:null,decoding:null,default:N,defer:N,dir:null,dirName:null,disabled:N,download:Ue,draggable:P,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:N,formTarget:null,headers:I,height:F,hidden:Ue,high:F,href:null,hrefLang:null,htmlFor:I,httpEquiv:I,id:null,imageSizes:null,imageSrcSet:null,inert:N,inputMode:null,integrity:null,is:null,isMap:N,itemId:null,itemProp:I,itemRef:I,itemScope:N,itemType:I,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:N,low:F,manifest:null,max:null,maxLength:F,media:null,method:null,min:null,minLength:F,multiple:N,muted:N,name:null,nonce:null,noModule:N,noValidate:N,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:N,optimum:F,pattern:null,ping:I,placeholder:null,playsInline:N,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:N,referrerPolicy:null,rel:I,required:N,reversed:N,rows:F,rowSpan:F,sandbox:I,scope:null,scoped:N,seamless:N,selected:N,shadowRootClonable:N,shadowRootDelegatesFocus:N,shadowRootMode:null,shape:null,size:F,sizes:null,slot:null,span:F,spellCheck:P,src:null,srcDoc:null,srcLang:null,srcSet:null,start:F,step:null,style:null,tabIndex:F,target:null,title:null,translate:null,type:null,typeMustMatch:N,useMap:null,value:P,width:F,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:I,axis:null,background:null,bgColor:null,border:F,borderColor:null,bottomMargin:F,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:N,declare:N,event:null,face:null,frame:null,frameBorder:null,hSpace:F,leftMargin:F,link:null,longDesc:null,lowSrc:null,marginHeight:F,marginWidth:F,noResize:N,noHref:N,noShade:N,noWrap:N,object:null,profile:null,prompt:null,rev:null,rightMargin:F,rules:null,scheme:null,scrolling:P,standby:null,summary:null,text:null,topMargin:F,valueType:null,version:null,vAlign:null,vLink:null,vSpace:F,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:N,disableRemotePlayback:N,prefix:null,property:null,results:F,security:null,unselectable:null},space:`html`,transform:tt})})))()}var at;function ot(){return(ot=e((()=>{Ze(),Ge(),at=Xe({attributes:{accentHeight:`accent-height`,alignmentBaseline:`alignment-baseline`,arabicForm:`arabic-form`,baselineShift:`baseline-shift`,capHeight:`cap-height`,className:`class`,clipPath:`clip-path`,clipRule:`clip-rule`,colorInterpolation:`color-interpolation`,colorInterpolationFilters:`color-interpolation-filters`,colorProfile:`color-profile`,colorRendering:`color-rendering`,crossOrigin:`crossorigin`,dataType:`datatype`,dominantBaseline:`dominant-baseline`,enableBackground:`enable-background`,fillOpacity:`fill-opacity`,fillRule:`fill-rule`,floodColor:`flood-color`,floodOpacity:`flood-opacity`,fontFamily:`font-family`,fontSize:`font-size`,fontSizeAdjust:`font-size-adjust`,fontStretch:`font-stretch`,fontStyle:`font-style`,fontVariant:`font-variant`,fontWeight:`font-weight`,glyphName:`glyph-name`,glyphOrientationHorizontal:`glyph-orientation-horizontal`,glyphOrientationVertical:`glyph-orientation-vertical`,hrefLang:`hreflang`,horizAdvX:`horiz-adv-x`,horizOriginX:`horiz-origin-x`,horizOriginY:`horiz-origin-y`,imageRendering:`image-rendering`,letterSpacing:`letter-spacing`,lightingColor:`lighting-color`,markerEnd:`marker-end`,markerMid:`marker-mid`,markerStart:`marker-start`,navDown:`nav-down`,navDownLeft:`nav-down-left`,navDownRight:`nav-down-right`,navLeft:`nav-left`,navNext:`nav-next`,navPrev:`nav-prev`,navRight:`nav-right`,navUp:`nav-up`,navUpLeft:`nav-up-left`,navUpRight:`nav-up-right`,onAbort:`onabort`,onActivate:`onactivate`,onAfterPrint:`onafterprint`,onBeforePrint:`onbeforeprint`,onBegin:`onbegin`,onCancel:`oncancel`,onCanPlay:`oncanplay`,onCanPlayThrough:`oncanplaythrough`,onChange:`onchange`,onClick:`onclick`,onClose:`onclose`,onCopy:`oncopy`,onCueChange:`oncuechange`,onCut:`oncut`,onDblClick:`ondblclick`,onDrag:`ondrag`,onDragEnd:`ondragend`,onDragEnter:`ondragenter`,onDragExit:`ondragexit`,onDragLeave:`ondragleave`,onDragOver:`ondragover`,onDragStart:`ondragstart`,onDrop:`ondrop`,onDurationChange:`ondurationchange`,onEmptied:`onemptied`,onEnd:`onend`,onEnded:`onended`,onError:`onerror`,onFocus:`onfocus`,onFocusIn:`onfocusin`,onFocusOut:`onfocusout`,onHashChange:`onhashchange`,onInput:`oninput`,onInvalid:`oninvalid`,onKeyDown:`onkeydown`,onKeyPress:`onkeypress`,onKeyUp:`onkeyup`,onLoad:`onload`,onLoadedData:`onloadeddata`,onLoadedMetadata:`onloadedmetadata`,onLoadStart:`onloadstart`,onMessage:`onmessage`,onMouseDown:`onmousedown`,onMouseEnter:`onmouseenter`,onMouseLeave:`onmouseleave`,onMouseMove:`onmousemove`,onMouseOut:`onmouseout`,onMouseOver:`onmouseover`,onMouseUp:`onmouseup`,onMouseWheel:`onmousewheel`,onOffline:`onoffline`,onOnline:`ononline`,onPageHide:`onpagehide`,onPageShow:`onpageshow`,onPaste:`onpaste`,onPause:`onpause`,onPlay:`onplay`,onPlaying:`onplaying`,onPopState:`onpopstate`,onProgress:`onprogress`,onRateChange:`onratechange`,onRepeat:`onrepeat`,onReset:`onreset`,onResize:`onresize`,onScroll:`onscroll`,onSeeked:`onseeked`,onSeeking:`onseeking`,onSelect:`onselect`,onShow:`onshow`,onStalled:`onstalled`,onStorage:`onstorage`,onSubmit:`onsubmit`,onSuspend:`onsuspend`,onTimeUpdate:`ontimeupdate`,onToggle:`ontoggle`,onUnload:`onunload`,onVolumeChange:`onvolumechange`,onWaiting:`onwaiting`,onZoom:`onzoom`,overlinePosition:`overline-position`,overlineThickness:`overline-thickness`,paintOrder:`paint-order`,panose1:`panose-1`,pointerEvents:`pointer-events`,referrerPolicy:`referrerpolicy`,renderingIntent:`rendering-intent`,shapeRendering:`shape-rendering`,stopColor:`stop-color`,stopOpacity:`stop-opacity`,strikethroughPosition:`strikethrough-position`,strikethroughThickness:`strikethrough-thickness`,strokeDashArray:`stroke-dasharray`,strokeDashOffset:`stroke-dashoffset`,strokeLineCap:`stroke-linecap`,strokeLineJoin:`stroke-linejoin`,strokeMiterLimit:`stroke-miterlimit`,strokeOpacity:`stroke-opacity`,strokeWidth:`stroke-width`,tabIndex:`tabindex`,textAnchor:`text-anchor`,textDecoration:`text-decoration`,textRendering:`text-rendering`,transformOrigin:`transform-origin`,typeOf:`typeof`,underlinePosition:`underline-position`,underlineThickness:`underline-thickness`,unicodeBidi:`unicode-bidi`,unicodeRange:`unicode-range`,unitsPerEm:`units-per-em`,vAlphabetic:`v-alphabetic`,vHanging:`v-hanging`,vIdeographic:`v-ideographic`,vMathematical:`v-mathematical`,vectorEffect:`vector-effect`,vertAdvY:`vert-adv-y`,vertOriginX:`vert-origin-x`,vertOriginY:`vert-origin-y`,wordSpacing:`word-spacing`,writingMode:`writing-mode`,xHeight:`x-height`,playbackOrder:`playbackorder`,timelineBegin:`timelinebegin`},properties:{about:L,accentHeight:F,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:F,amplitude:F,arabicForm:null,ascent:F,attributeName:null,attributeType:null,azimuth:F,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:F,by:null,calcMode:null,capHeight:F,className:I,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:F,diffuseConstant:F,direction:null,display:null,dur:null,divisor:F,dominantBaseline:null,download:N,dx:null,dy:null,edgeMode:null,editable:null,elevation:F,enableBackground:null,end:null,event:null,exponent:F,externalResourcesRequired:null,fill:null,fillOpacity:F,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:We,g2:We,glyphName:We,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:F,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:F,horizOriginX:F,horizOriginY:F,id:null,ideographic:F,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:F,k:F,k1:F,k2:F,k3:F,k4:F,kernelMatrix:L,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:F,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:F,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:F,overlineThickness:F,paintOrder:null,panose1:null,path:null,pathLength:F,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:I,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:F,pointsAtY:F,pointsAtZ:F,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:L,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:L,rev:L,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:L,requiredFeatures:L,requiredFonts:L,requiredFormats:L,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:F,specularExponent:F,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:F,strikethroughThickness:F,string:null,stroke:null,strokeDashArray:L,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:F,strokeOpacity:F,strokeWidth:null,style:null,surfaceScale:F,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:L,tabIndex:F,tableValues:null,target:null,targetX:F,targetY:F,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:L,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:F,underlineThickness:F,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:F,values:null,vAlphabetic:F,vMathematical:F,vectorEffect:null,vHanging:F,vIdeographic:F,version:null,vertAdvY:F,vertOriginX:F,vertOriginY:F,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:F,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:`svg`,transform:et})})))()}var st;function ct(){return(ct=e((()=>{Ze(),st=Xe({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:`xlink`,transform(e,t){return`xlink:`+t.slice(5).toLowerCase()}})})))()}var lt;function ut(){return(ut=e((()=>{Ze(),nt(),lt=Xe({attributes:{xmlnsxlink:`xmlns:xlink`},properties:{xmlnsXLink:null,xmlns:null},space:`xmlns`,transform:tt})})))()}var dt;function ft(){return(ft=e((()=>{Ze(),dt=Xe({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:`xml`,transform(e,t){return`xml:`+t.slice(3).toLowerCase()}})})))()}var pt;function mt(){return(mt=e((()=>{pt={classId:`classID`,dataType:`datatype`,itemId:`itemID`,strokeDashArray:`strokeDasharray`,strokeDashOffset:`strokeDashoffset`,strokeLineCap:`strokeLinecap`,strokeLineJoin:`strokeLinejoin`,strokeMiterLimit:`strokeMiterlimit`,typeOf:`typeof`,xLinkActuate:`xlinkActuate`,xLinkArcRole:`xlinkArcrole`,xLinkHref:`xlinkHref`,xLinkRole:`xlinkRole`,xLinkShow:`xlinkShow`,xLinkTitle:`xlinkTitle`,xLinkType:`xlinkType`,xmlnsXLink:`xmlnsXlink`}})))()}function ht(e,t){let n=Re(t),r=t,i=M;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)===`data`&&bt.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(yt,_t);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!yt.test(e)){let n=e.replace(vt,gt);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=Je}return new i(r,t)}function gt(e){return`-`+e.toLowerCase()}function _t(e){return e.charAt(1).toUpperCase()}var vt,yt,bt;function xt(){return(xt=e((()=>{Ye(),ze(),vt=/[A-Z]/g,yt=/-[a-z]/g,bt=/^data[-\w.:]+$/i})))()}var St,Ct;function wt(){return(wt=e((()=>{Le(),$e(),it(),ot(),ct(),ut(),ft(),xt(),St=Ie([Qe,rt,st,lt,dt],`html`),Ct=Ie([Qe,at,st,lt,dt],`svg`)})))()}function Tt(e){return e.join(` `).trim()}var Et=/* @__PURE__ */ r(((e,t)=>{var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,i=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,l=/^\s+|\s+$/g;function u(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var l=1,u=1;function f(e){var t=e.match(r);t&&(l+=t.length);var n=e.lastIndexOf(`
|
|
1
|
+
import{n as e,r as t,s as n,t as r}from"./rolldown-runtime-Bruge11p.js";import{c as i,n as a,o,r as s,u as c}from"./sql-CsFA0PX8.js";import{n as l}from"./markdown-ZBqZtX01.js";import{a as u,c as d,n as f,o as p,r as m,s as h}from"./vbnet-mqEycoPk.js";import{c as g,d as _,i as v,l as y,n as b,o as x,p as S,r as C}from"./wasm-CptMNRZj.js";import{i as w,n as T}from"./php-template-D_Pg4gY1.js";import{c as E,f as ee,i as D,n as te,o as ne,u as re}from"./r-C2uVK1pf.js";import{c as O,l as k,o as ie,r as ae,t as A}from"./diff-Cgsp4ZpW.js";import{a as oe,c as se,i as ce,l as le,n as ue,o as de,r as fe,s as pe,t as me,u as he}from"./scss-WVhaIzjv.js";import{r as ge,t as _e}from"./core-P4Vm-C2v.js";import{c as ve,s as ye}from"./App-nh6_qOo8.js";import{isValidElement as be}from"react";import{Fragment as xe,jsx as j,jsxs as Se}from"react/jsx-runtime";import{slugifyHeading as Ce}from"@fudanda/admin-antd/core/utils/markdown-outline";function we(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}function Te(e,t){return((t||Oe).jsx?De:Ee).test(e)}var Ee,De,Oe;function ke(){return(ke=e((()=>{Ee=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,De=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Oe={}})))()}function Ae(e){return typeof e==`object`?e.type===`text`&&je(e.value):je(e)}function je(e){return e.replace(Me,``)===``}var Me;function Ne(){return(Ne=e((()=>{Me=/[ \t\n\f\r]/g})))()}var Pe;function Fe(){return(Fe=e((()=>{Pe=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}},Pe.prototype.normal={},Pe.prototype.property={},Pe.prototype.space=void 0})))()}function Ie(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new Pe(n,r,t)}function Le(){return(Le=e((()=>{Fe()})))()}function Re(e){return e.toLowerCase()}var M;function ze(){return(ze=e((()=>{M=class{constructor(e,t){this.attribute=t,this.property=e}},M.prototype.attribute=``,M.prototype.booleanish=!1,M.prototype.boolean=!1,M.prototype.commaOrSpaceSeparated=!1,M.prototype.commaSeparated=!1,M.prototype.defined=!1,M.prototype.mustUseProperty=!1,M.prototype.number=!1,M.prototype.overloadedBoolean=!1,M.prototype.property=``,M.prototype.spaceSeparated=!1,M.prototype.space=void 0})))()}var Be=/* @__PURE__ */ t({boolean:()=>N,booleanish:()=>P,commaOrSpaceSeparated:()=>L,commaSeparated:()=>We,number:()=>F,overloadedBoolean:()=>Ue,spaceSeparated:()=>I});function Ve(){return 2**++He}var He,N,P,Ue,F,I,We,L;function Ge(){return(Ge=e((()=>{He=0,N=Ve(),P=Ve(),Ue=Ve(),F=Ve(),I=Ve(),We=Ve(),L=Ve()})))()}function Ke(e,t,n){n&&(e[t]=n)}var qe,Je;function Ye(){return(Ye=e((()=>{ze(),Ge(),qe=Object.keys(Be),Je=class extends M{constructor(e,t,n,r){let i=-1;if(super(e,t),Ke(this,`space`,r),typeof n==`number`)for(;++i<qe.length;){let e=qe[i];Ke(this,qe[i],(n&Be[e])===Be[e])}}},Je.prototype.defined=!0})))()}function Xe(e){let t={},n={};for(let[r,i]of Object.entries(e.properties)){let a=new Je(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[Re(r)]=r,n[Re(a.attribute)]=r}return new Pe(t,n,e.space)}function Ze(){return(Ze=e((()=>{Ye(),Fe()})))()}var Qe;function $e(){return($e=e((()=>{Ze(),Ge(),Qe=Xe({properties:{ariaActiveDescendant:null,ariaAtomic:P,ariaAutoComplete:null,ariaBusy:P,ariaChecked:P,ariaColCount:F,ariaColIndex:F,ariaColSpan:F,ariaControls:I,ariaCurrent:null,ariaDescribedBy:I,ariaDetails:null,ariaDisabled:P,ariaDropEffect:I,ariaErrorMessage:null,ariaExpanded:P,ariaFlowTo:I,ariaGrabbed:P,ariaHasPopup:null,ariaHidden:P,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:I,ariaLevel:F,ariaLive:null,ariaModal:P,ariaMultiLine:P,ariaMultiSelectable:P,ariaOrientation:null,ariaOwns:I,ariaPlaceholder:null,ariaPosInSet:F,ariaPressed:P,ariaReadOnly:P,ariaRelevant:null,ariaRequired:P,ariaRoleDescription:I,ariaRowCount:F,ariaRowIndex:F,ariaRowSpan:F,ariaSelected:P,ariaSetSize:F,ariaSort:null,ariaValueMax:F,ariaValueMin:F,ariaValueNow:F,ariaValueText:null,role:null},transform(e,t){return t===`role`?t:`aria-`+t.slice(4).toLowerCase()}})})))()}function et(e,t){return t in e?e[t]:t}function tt(e,t){return et(e,t.toLowerCase())}function nt(){return(nt=e((()=>{})))()}var rt;function it(){return(it=e((()=>{nt(),Ze(),Ge(),rt=Xe({attributes:{acceptcharset:`accept-charset`,classname:`class`,htmlfor:`for`,httpequiv:`http-equiv`},mustUseProperty:[`checked`,`multiple`,`muted`,`selected`],properties:{abbr:null,accept:We,acceptCharset:I,accessKey:I,action:null,allow:null,allowFullScreen:N,allowPaymentRequest:N,allowUserMedia:N,alt:null,as:null,async:N,autoCapitalize:null,autoComplete:I,autoFocus:N,autoPlay:N,blocking:I,capture:null,charSet:null,checked:N,cite:null,className:I,cols:F,colSpan:null,content:null,contentEditable:P,controls:N,controlsList:I,coords:F|We,crossOrigin:null,data:null,dateTime:null,decoding:null,default:N,defer:N,dir:null,dirName:null,disabled:N,download:Ue,draggable:P,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:N,formTarget:null,headers:I,height:F,hidden:Ue,high:F,href:null,hrefLang:null,htmlFor:I,httpEquiv:I,id:null,imageSizes:null,imageSrcSet:null,inert:N,inputMode:null,integrity:null,is:null,isMap:N,itemId:null,itemProp:I,itemRef:I,itemScope:N,itemType:I,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:N,low:F,manifest:null,max:null,maxLength:F,media:null,method:null,min:null,minLength:F,multiple:N,muted:N,name:null,nonce:null,noModule:N,noValidate:N,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:N,optimum:F,pattern:null,ping:I,placeholder:null,playsInline:N,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:N,referrerPolicy:null,rel:I,required:N,reversed:N,rows:F,rowSpan:F,sandbox:I,scope:null,scoped:N,seamless:N,selected:N,shadowRootClonable:N,shadowRootDelegatesFocus:N,shadowRootMode:null,shape:null,size:F,sizes:null,slot:null,span:F,spellCheck:P,src:null,srcDoc:null,srcLang:null,srcSet:null,start:F,step:null,style:null,tabIndex:F,target:null,title:null,translate:null,type:null,typeMustMatch:N,useMap:null,value:P,width:F,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:I,axis:null,background:null,bgColor:null,border:F,borderColor:null,bottomMargin:F,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:N,declare:N,event:null,face:null,frame:null,frameBorder:null,hSpace:F,leftMargin:F,link:null,longDesc:null,lowSrc:null,marginHeight:F,marginWidth:F,noResize:N,noHref:N,noShade:N,noWrap:N,object:null,profile:null,prompt:null,rev:null,rightMargin:F,rules:null,scheme:null,scrolling:P,standby:null,summary:null,text:null,topMargin:F,valueType:null,version:null,vAlign:null,vLink:null,vSpace:F,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:N,disableRemotePlayback:N,prefix:null,property:null,results:F,security:null,unselectable:null},space:`html`,transform:tt})})))()}var at;function ot(){return(ot=e((()=>{Ze(),Ge(),at=Xe({attributes:{accentHeight:`accent-height`,alignmentBaseline:`alignment-baseline`,arabicForm:`arabic-form`,baselineShift:`baseline-shift`,capHeight:`cap-height`,className:`class`,clipPath:`clip-path`,clipRule:`clip-rule`,colorInterpolation:`color-interpolation`,colorInterpolationFilters:`color-interpolation-filters`,colorProfile:`color-profile`,colorRendering:`color-rendering`,crossOrigin:`crossorigin`,dataType:`datatype`,dominantBaseline:`dominant-baseline`,enableBackground:`enable-background`,fillOpacity:`fill-opacity`,fillRule:`fill-rule`,floodColor:`flood-color`,floodOpacity:`flood-opacity`,fontFamily:`font-family`,fontSize:`font-size`,fontSizeAdjust:`font-size-adjust`,fontStretch:`font-stretch`,fontStyle:`font-style`,fontVariant:`font-variant`,fontWeight:`font-weight`,glyphName:`glyph-name`,glyphOrientationHorizontal:`glyph-orientation-horizontal`,glyphOrientationVertical:`glyph-orientation-vertical`,hrefLang:`hreflang`,horizAdvX:`horiz-adv-x`,horizOriginX:`horiz-origin-x`,horizOriginY:`horiz-origin-y`,imageRendering:`image-rendering`,letterSpacing:`letter-spacing`,lightingColor:`lighting-color`,markerEnd:`marker-end`,markerMid:`marker-mid`,markerStart:`marker-start`,navDown:`nav-down`,navDownLeft:`nav-down-left`,navDownRight:`nav-down-right`,navLeft:`nav-left`,navNext:`nav-next`,navPrev:`nav-prev`,navRight:`nav-right`,navUp:`nav-up`,navUpLeft:`nav-up-left`,navUpRight:`nav-up-right`,onAbort:`onabort`,onActivate:`onactivate`,onAfterPrint:`onafterprint`,onBeforePrint:`onbeforeprint`,onBegin:`onbegin`,onCancel:`oncancel`,onCanPlay:`oncanplay`,onCanPlayThrough:`oncanplaythrough`,onChange:`onchange`,onClick:`onclick`,onClose:`onclose`,onCopy:`oncopy`,onCueChange:`oncuechange`,onCut:`oncut`,onDblClick:`ondblclick`,onDrag:`ondrag`,onDragEnd:`ondragend`,onDragEnter:`ondragenter`,onDragExit:`ondragexit`,onDragLeave:`ondragleave`,onDragOver:`ondragover`,onDragStart:`ondragstart`,onDrop:`ondrop`,onDurationChange:`ondurationchange`,onEmptied:`onemptied`,onEnd:`onend`,onEnded:`onended`,onError:`onerror`,onFocus:`onfocus`,onFocusIn:`onfocusin`,onFocusOut:`onfocusout`,onHashChange:`onhashchange`,onInput:`oninput`,onInvalid:`oninvalid`,onKeyDown:`onkeydown`,onKeyPress:`onkeypress`,onKeyUp:`onkeyup`,onLoad:`onload`,onLoadedData:`onloadeddata`,onLoadedMetadata:`onloadedmetadata`,onLoadStart:`onloadstart`,onMessage:`onmessage`,onMouseDown:`onmousedown`,onMouseEnter:`onmouseenter`,onMouseLeave:`onmouseleave`,onMouseMove:`onmousemove`,onMouseOut:`onmouseout`,onMouseOver:`onmouseover`,onMouseUp:`onmouseup`,onMouseWheel:`onmousewheel`,onOffline:`onoffline`,onOnline:`ononline`,onPageHide:`onpagehide`,onPageShow:`onpageshow`,onPaste:`onpaste`,onPause:`onpause`,onPlay:`onplay`,onPlaying:`onplaying`,onPopState:`onpopstate`,onProgress:`onprogress`,onRateChange:`onratechange`,onRepeat:`onrepeat`,onReset:`onreset`,onResize:`onresize`,onScroll:`onscroll`,onSeeked:`onseeked`,onSeeking:`onseeking`,onSelect:`onselect`,onShow:`onshow`,onStalled:`onstalled`,onStorage:`onstorage`,onSubmit:`onsubmit`,onSuspend:`onsuspend`,onTimeUpdate:`ontimeupdate`,onToggle:`ontoggle`,onUnload:`onunload`,onVolumeChange:`onvolumechange`,onWaiting:`onwaiting`,onZoom:`onzoom`,overlinePosition:`overline-position`,overlineThickness:`overline-thickness`,paintOrder:`paint-order`,panose1:`panose-1`,pointerEvents:`pointer-events`,referrerPolicy:`referrerpolicy`,renderingIntent:`rendering-intent`,shapeRendering:`shape-rendering`,stopColor:`stop-color`,stopOpacity:`stop-opacity`,strikethroughPosition:`strikethrough-position`,strikethroughThickness:`strikethrough-thickness`,strokeDashArray:`stroke-dasharray`,strokeDashOffset:`stroke-dashoffset`,strokeLineCap:`stroke-linecap`,strokeLineJoin:`stroke-linejoin`,strokeMiterLimit:`stroke-miterlimit`,strokeOpacity:`stroke-opacity`,strokeWidth:`stroke-width`,tabIndex:`tabindex`,textAnchor:`text-anchor`,textDecoration:`text-decoration`,textRendering:`text-rendering`,transformOrigin:`transform-origin`,typeOf:`typeof`,underlinePosition:`underline-position`,underlineThickness:`underline-thickness`,unicodeBidi:`unicode-bidi`,unicodeRange:`unicode-range`,unitsPerEm:`units-per-em`,vAlphabetic:`v-alphabetic`,vHanging:`v-hanging`,vIdeographic:`v-ideographic`,vMathematical:`v-mathematical`,vectorEffect:`vector-effect`,vertAdvY:`vert-adv-y`,vertOriginX:`vert-origin-x`,vertOriginY:`vert-origin-y`,wordSpacing:`word-spacing`,writingMode:`writing-mode`,xHeight:`x-height`,playbackOrder:`playbackorder`,timelineBegin:`timelinebegin`},properties:{about:L,accentHeight:F,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:F,amplitude:F,arabicForm:null,ascent:F,attributeName:null,attributeType:null,azimuth:F,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:F,by:null,calcMode:null,capHeight:F,className:I,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:F,diffuseConstant:F,direction:null,display:null,dur:null,divisor:F,dominantBaseline:null,download:N,dx:null,dy:null,edgeMode:null,editable:null,elevation:F,enableBackground:null,end:null,event:null,exponent:F,externalResourcesRequired:null,fill:null,fillOpacity:F,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:We,g2:We,glyphName:We,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:F,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:F,horizOriginX:F,horizOriginY:F,id:null,ideographic:F,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:F,k:F,k1:F,k2:F,k3:F,k4:F,kernelMatrix:L,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:F,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:F,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:F,overlineThickness:F,paintOrder:null,panose1:null,path:null,pathLength:F,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:I,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:F,pointsAtY:F,pointsAtZ:F,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:L,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:L,rev:L,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:L,requiredFeatures:L,requiredFonts:L,requiredFormats:L,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:F,specularExponent:F,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:F,strikethroughThickness:F,string:null,stroke:null,strokeDashArray:L,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:F,strokeOpacity:F,strokeWidth:null,style:null,surfaceScale:F,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:L,tabIndex:F,tableValues:null,target:null,targetX:F,targetY:F,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:L,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:F,underlineThickness:F,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:F,values:null,vAlphabetic:F,vMathematical:F,vectorEffect:null,vHanging:F,vIdeographic:F,version:null,vertAdvY:F,vertOriginX:F,vertOriginY:F,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:F,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:`svg`,transform:et})})))()}var st;function ct(){return(ct=e((()=>{Ze(),st=Xe({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:`xlink`,transform(e,t){return`xlink:`+t.slice(5).toLowerCase()}})})))()}var lt;function ut(){return(ut=e((()=>{Ze(),nt(),lt=Xe({attributes:{xmlnsxlink:`xmlns:xlink`},properties:{xmlnsXLink:null,xmlns:null},space:`xmlns`,transform:tt})})))()}var dt;function ft(){return(ft=e((()=>{Ze(),dt=Xe({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:`xml`,transform(e,t){return`xml:`+t.slice(3).toLowerCase()}})})))()}var pt;function mt(){return(mt=e((()=>{pt={classId:`classID`,dataType:`datatype`,itemId:`itemID`,strokeDashArray:`strokeDasharray`,strokeDashOffset:`strokeDashoffset`,strokeLineCap:`strokeLinecap`,strokeLineJoin:`strokeLinejoin`,strokeMiterLimit:`strokeMiterlimit`,typeOf:`typeof`,xLinkActuate:`xlinkActuate`,xLinkArcRole:`xlinkArcrole`,xLinkHref:`xlinkHref`,xLinkRole:`xlinkRole`,xLinkShow:`xlinkShow`,xLinkTitle:`xlinkTitle`,xLinkType:`xlinkType`,xmlnsXLink:`xmlnsXlink`}})))()}function ht(e,t){let n=Re(t),r=t,i=M;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)===`data`&&bt.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(yt,_t);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!yt.test(e)){let n=e.replace(vt,gt);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=Je}return new i(r,t)}function gt(e){return`-`+e.toLowerCase()}function _t(e){return e.charAt(1).toUpperCase()}var vt,yt,bt;function xt(){return(xt=e((()=>{Ye(),ze(),vt=/[A-Z]/g,yt=/-[a-z]/g,bt=/^data[-\w.:]+$/i})))()}var St,Ct;function wt(){return(wt=e((()=>{Le(),$e(),it(),ot(),ct(),ut(),ft(),xt(),St=Ie([Qe,rt,st,lt,dt],`html`),Ct=Ie([Qe,at,st,lt,dt],`svg`)})))()}function Tt(e){return e.join(` `).trim()}var Et=/* @__PURE__ */ r(((e,t)=>{var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,i=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,l=/^\s+|\s+$/g;function u(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var l=1,u=1;function f(e){var t=e.match(r);t&&(l+=t.length);var n=e.lastIndexOf(`
|
|
2
2
|
`);u=~n?e.length-n:u+e.length}function p(){var e={line:l,column:u};return function(t){return t.position=new m(e),_(),t}}function m(e){this.start=e,this.end={line:l,column:u},this.source=t.source}m.prototype.content=e;function h(n){var r=/* @__PURE__ */ Error(t.source+`:`+l+`:`+u+`: `+n);if(r.reason=n,r.filename=t.source,r.line=l,r.column=u,r.source=e,!t.silent)throw r}function g(t){var n=t.exec(e);if(n){var r=n[0];return f(r),e=e.slice(r.length),n}}function _(){g(i)}function v(e){var t;for(e||=[];t=y();)t!==!1&&e.push(t);return e}function y(){var t=p();if(e.charAt(0)==`/`&&e.charAt(1)==`*`){for(var n=2;e.charAt(n)!=``&&(e.charAt(n)!=`*`||e.charAt(n+1)!=`/`);)++n;if(n+=2,e.charAt(n-1)===``)return h(`End of comment missing`);var r=e.slice(2,n-2);return u+=2,f(r),e=e.slice(n),u+=2,t({type:`comment`,comment:r})}}function b(){var e=p(),t=g(a);if(t){if(y(),!g(o))return h(`property missing ':'`);var r=g(s),i=e({type:`declaration`,property:d(t[0].replace(n,``)),value:r?d(r[0].replace(n,``)):``});return g(c),i}}function x(){var e=[];v(e);for(var t;t=b();)t!==!1&&(e.push(t),v(e));return e}return _(),x()}function d(e){return e?e.replace(l,``):``}t.exports=u})),Dt=/* @__PURE__ */ r(((e,t,n)=>{var r=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.default=a;var i=r(Et());function a(e,t){let n=null;if(!e||typeof e!=`string`)return n;let r=(0,i.default)(e),a=typeof t==`function`;return r.forEach(e=>{if(e.type!==`declaration`)return;let{property:r,value:i}=e;a?t(r,i,e):i&&(n||={},n[r]=i)}),n}})),Ot=/* @__PURE__ */ r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,r=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,a=/^-(ms)-/,o=function(e){return!e||r.test(e)||t.test(e)},s=function(e,t){return t.toUpperCase()},c=function(e,t){return`${t}-`};e.camelCase=function(e,t){return t===void 0&&(t={}),o(e)?e:(e=e.toLowerCase(),e=t.reactCompat?e.replace(a,c):e.replace(i,c),e.replace(n,s))}})),kt=/* @__PURE__ */ r(((e,t,n)=>{var r=(n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(Dt()),i=Ot();function a(e,t){var n={};return!e||typeof e!=`string`||(0,r.default)(e,function(e,r){e&&r&&(n[(0,i.camelCase)(e,t)]=r)}),n}a.default=a,t.exports=a}));function At(e){return t;function t(t){let n=t&&t.position&&t.position[e]||{};if(typeof n.line==`number`&&n.line>0&&typeof n.column==`number`&&n.column>0)return{line:n.line,column:n.column,offset:typeof n.offset==`number`&&n.offset>-1?n.offset:void 0}}}function jt(e){let t=Nt(e),n=Mt(e);if(t&&n)return{start:t,end:n}}var Mt,Nt;function Pt(){return(Pt=e((()=>{Mt=At(`end`),Nt=At(`start`)})))()}function Ft(e){return!e||typeof e!=`object`?``:`position`in e||`type`in e?Lt(e.position):`start`in e||`end`in e?Lt(e):`line`in e||`column`in e?It(e):``}function It(e){return Rt(e&&e.line)+`:`+Rt(e&&e.column)}function Lt(e){return It(e&&e.start)+`-`+It(e&&e.end)}function Rt(e){return e&&typeof e==`number`?e:1}var R;function zt(){return(zt=e((()=>{R=class extends Error{constructor(e,t,n){super(),typeof t==`string`&&(n=t,t=void 0);let r=``,i={},a=!1;if(t&&(i=`line`in t&&`column`in t||`start`in t&&`end`in t?{place:t}:`type`in t?{ancestors:[t],place:t.position}:{...t}),typeof e==`string`?r=e:!i.cause&&e&&(a=!0,r=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof n==`string`){let e=n.indexOf(`:`);e===-1?i.ruleId=n:(i.source=n.slice(0,e),i.ruleId=n.slice(e+1))}if(!i.place&&i.ancestors&&i.ancestors){let e=i.ancestors[i.ancestors.length-1];e&&(i.place=e.position)}let o=i.place&&`start`in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file=``,this.message=r,this.line=o?o.line:void 0,this.name=Ft(i.place)||`1:1`,this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&typeof i.cause.stack==`string`?i.cause.stack:``,this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}},R.prototype.file=``,R.prototype.name=``,R.prototype.reason=``,R.prototype.message=``,R.prototype.stack=``,R.prototype.column=void 0,R.prototype.line=void 0,R.prototype.ancestors=void 0,R.prototype.cause=void 0,R.prototype.fatal=void 0,R.prototype.place=void 0,R.prototype.ruleId=void 0,R.prototype.source=void 0})))()}function Bt(e,t){if(!t||t.Fragment===void 0)throw TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!=`function`)throw TypeError("Expected `jsxDEV` in options when `development: true`");r=Zt(n,t.jsxDEV)}else{if(typeof t.jsx!=`function`)throw TypeError("Expected `jsx` in production options");if(typeof t.jsxs!=`function`)throw TypeError("Expected `jsxs` in production options");r=Xt(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||`react`,evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space===`svg`?Ct:St,stylePropertyNameCase:t.stylePropertyNameCase||`dom`,tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=Vt(i,e,void 0);return a&&typeof a!=`string`?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function Vt(e,t,n){if(t.type===`element`)return Ht(e,t,n);if(t.type===`mdxFlowExpression`||t.type===`mdxTextExpression`)return Ut(e,t);if(t.type===`mdxJsxFlowElement`||t.type===`mdxJsxTextElement`)return Gt(e,t,n);if(t.type===`mdxjsEsm`)return Wt(e,t);if(t.type===`root`)return Kt(e,t,n);if(t.type===`text`)return qt(e,t)}function Ht(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()===`svg`&&r.space===`html`&&(i=Ct,e.schema=i),e.ancestors.push(t);let a=rn(e,t.tagName,!1),o=Qt(e,t),s=en(e,t);return pn.has(t.tagName)&&(s=s.filter(function(e){return typeof e!=`string`||!Ae(e)})),Jt(e,o,a,t),Yt(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function Ut(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}an(e,t.position)}function Wt(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);an(e,t.position)}function Gt(e,t,n){let r=e.schema,i=r;t.name===`svg`&&r.space===`html`&&(i=Ct,e.schema=i),e.ancestors.push(t);let a=t.name===null?e.Fragment:rn(e,t.name,!0),o=$t(e,t),s=en(e,t);return Jt(e,o,a,t),Yt(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function Kt(e,t,n){let r={};return Yt(r,en(e,t)),e.create(t,e.Fragment,r,n)}function qt(e,t){return t.value}function Jt(e,t,n,r){typeof n!=`string`&&n!==e.Fragment&&e.passNode&&(t.node=r)}function Yt(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function Xt(e,t,n){return r;function r(e,r,i,a){let o=Array.isArray(i.children)?n:t;return a?o(r,i,a):o(r,i)}}function Zt(e,t){return n;function n(n,r,i,a){let o=Array.isArray(i.children),s=Nt(n);return t(r,i,a,o,{columnNumber:s?s.column-1:void 0,fileName:e,lineNumber:s?s.line:void 0},void 0)}}function Qt(e,t){let n={},r,i;for(i in t.properties)if(i!==`children`&&un.call(t.properties,i)){let a=tn(e,i,t.properties[i]);if(a){let[i,o]=a;e.tableCellAlignToStyle&&i===`align`&&typeof o==`string`&&mn.has(t.tagName)?r=o:n[i]=o}}if(r){let t=n.style||={};t[e.stylePropertyNameCase===`css`?`text-align`:`textAlign`]=r}return n}function $t(e,t){let n={};for(let r of t.attributes)if(r.type===`mdxJsxExpressionAttribute`){if(r.data&&r.data.estree&&e.evaluater){let t=r.data.estree.body[0];t.type;let i=t.expression;i.type;let a=i.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else an(e,t.position)}else{let i=r.name,a;if(r.value&&typeof r.value==`object`){if(r.value.data&&r.value.data.estree&&e.evaluater){let t=r.value.data.estree.body[0];t.type,a=e.evaluater.evaluateExpression(t.expression)}else an(e,t.position)}else a=r.value===null||r.value;n[i]=a}return n}function en(e,t){let n=[],r=-1,i=e.passKeys?/* @__PURE__ */ new Map:dn;for(;++r<t.children.length;){let a=t.children[r],o;if(e.passKeys){let e=a.type===`element`?a.tagName:a.type===`mdxJsxFlowElement`||a.type===`mdxJsxTextElement`?a.name:void 0;if(e){let t=i.get(e)||0;o=e+`-`+t,i.set(e,t+1)}}let s=Vt(e,a,o);s!==void 0&&n.push(s)}return n}function tn(e,t,n){let r=ht(e.schema,t);if(!(n==null||typeof n==`number`&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?we(n):Tt(n)),r.property===`style`){let t=typeof n==`object`?n:nn(e,String(n));return e.stylePropertyNameCase===`css`&&(t=on(t)),[`style`,t]}return[e.elementAttributeNameCase===`react`&&r.space?pt[r.property]||r.property:r.attribute,n]}}function nn(e,t){try{return(0,ln.default)(t,{reactCompat:!0})}catch(t){if(e.ignoreInvalidStyle)return{};let n=t,r=new R("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:`style`,source:`hast-util-to-jsx-runtime`});throw r.file=e.filePath||void 0,r.url=hn+`#cannot-parse-style-attribute`,r}}function rn(e,t,n){let r;if(!n)r={type:`Literal`,value:t};else if(t.includes(`.`)){let e=t.split(`.`),n=-1,i;for(;++n<e.length;){let t=Te(e[n])?{type:`Identifier`,name:e[n]}:{type:`Literal`,value:e[n]};i=i?{type:`MemberExpression`,object:i,property:t,computed:!!(n&&t.type===`Literal`),optional:!1}:t}r=i}else r=Te(t)&&!/^[a-z]/.test(t)?{type:`Identifier`,name:t}:{type:`Literal`,value:t};if(r.type===`Literal`){let t=r.value;return un.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);an(e)}function an(e,t){let n=new R("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:`mdx-estree`,source:`hast-util-to-jsx-runtime`});throw n.file=e.filePath||void 0,n.url=hn+`#cannot-handle-mdx-estrees-without-createevaluater`,n}function on(e){let t={},n;for(n in e)un.call(e,n)&&(t[sn(n)]=e[n]);return t}function sn(e){let t=e.replace(fn,cn);return t.slice(0,3)===`ms-`&&(t=`-`+t),t}function cn(e){return`-`+e.toLowerCase()}var ln,un,dn,fn,pn,mn,hn;function gn(){return(gn=e((()=>{ke(),Ne(),mt(),wt(),ln=/* @__PURE__ */ n(kt(),1),Pt(),zt(),un={}.hasOwnProperty,dn=/* @__PURE__ */ new Map,fn=/[A-Z]/g,pn=/* @__PURE__ */ new Set([`table`,`tbody`,`thead`,`tfoot`,`tr`]),mn=/* @__PURE__ */ new Set([`td`,`th`]),hn=`https://github.com/syntax-tree/hast-util-to-jsx-runtime`})))()}var _n;function vn(){return(vn=e((()=>{_n={action:[`form`],cite:[`blockquote`,`del`,`ins`,`q`],data:[`object`],formAction:[`button`,`input`],href:[`a`,`area`,`base`,`link`],icon:[`menuitem`],itemId:null,manifest:[`html`],ping:[`a`,`area`],poster:[`video`],src:[`audio`,`embed`,`iframe`,`img`,`input`,`script`,`source`,`track`,`video`]}})))()}function yn(e,t){let n=t||Cn;return bn(e,typeof n.includeImageAlt!=`boolean`||n.includeImageAlt,typeof n.includeHtml!=`boolean`||n.includeHtml)}function bn(e,t,n){if(Sn(e)){if(`value`in e)return e.type===`html`&&!n?``:e.value;if(t&&`alt`in e&&e.alt)return e.alt;if(`children`in e)return xn(e.children,t,n)}return Array.isArray(e)?xn(e,t,n):``}function xn(e,t,n){let r=[],i=-1;for(;++i<e.length;)r[i]=bn(e[i],t,n);return r.join(``)}function Sn(e){return!!(e&&typeof e==`object`)}var Cn;function wn(){return(wn=e((()=>{Cn={}})))()}function Tn(e){let t=`&`+e+`;`;En.innerHTML=t;let n=En.textContent;return n.charCodeAt(n.length-1)===59&&e!==`semi`?!1:n!==t&&n}var En;function Dn(){return(Dn=e((()=>{En=document.createElement(`i`)})))()}function z(e,t,n,r){let i=e.length,a=0,o;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a<r.length;)o=r.slice(a,a+1e4),o.unshift(t,0),e.splice(...o),a+=1e4,t+=1e4}function B(e,t){return e.length>0?(z(e,e.length,0,t),e):t}function On(e){let t={},n=-1;for(;++n<e.length;)kn(t,e[n]);return t}function kn(e,t){let n;for(n in t){let r=(jn.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i){jn.call(r,a)||(r[a]=[]);let e=i[a];An(r[a],Array.isArray(e)?e:e?[e]:[])}}}function An(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add===`after`?e:r).push(t[n]);z(e,0,0,r)}var jn;function Mn(){return(Mn=e((()=>{jn={}.hasOwnProperty})))()}function Nn(e,t){let n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)==65535||(n&65535)==65534||n>1114111?`�`:String.fromCodePoint(n)}function V(e){return e.replace(/[\t\n\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}function Pn(e){return e!==null&&(e<32||e===127)}function H(e){return e!==null&&e<-2}function U(e){return e!==null&&(e<0||e===32)}function W(e){return e===-2||e===-1||e===32}function Fn(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}var G,K,In,Ln,Rn,zn,Bn,Vn;function q(){return(q=e((()=>{G=Fn(/[A-Za-z]/),K=Fn(/[\dA-Za-z]/),In=Fn(/[#-'*+\--9=?A-Z^-~]/),Ln=Fn(/\d/),Rn=Fn(/[\dA-Fa-f]/),zn=Fn(/[!-/:-@[-`{-~]/),Bn=Fn(/\p{P}|\p{S}/u),Vn=Fn(/\s/)})))()}function Hn(e){let t=[],n=-1,r=0,i=0;for(;++n<e.length;){let a=e.charCodeAt(n),o=``;if(a===37&&K(e.charCodeAt(n+1))&&K(e.charCodeAt(n+2)))i=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(o=String.fromCharCode(a,t),i=1):o=`�`}else o=String.fromCharCode(a);o&&=(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,``),i&&=(n+=i,0)}return t.join(``)+e.slice(r)}function Un(){return(Un=e((()=>{q()})))()}function J(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return W(r)?(e.enter(n),s(r)):t(r)}function s(r){return W(r)&&a++<i?(e.consume(r),s):(e.exit(n),t(r))}}function Y(){return(Y=e((()=>{q()})))()}function Wn(e){let t=e.attempt(this.parser.constructs.contentInitial,r,i),n;return t;function r(n){if(n===null)e.consume(n);else return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),J(e,t,`linePrefix`)}function i(t){return e.enter(`paragraph`),a(t)}function a(t){let r=e.enter(`chunkText`,{contentType:`text`,previous:n});return n&&(n.next=r),n=r,o(t)}function o(t){if(t===null)e.exit(`chunkText`),e.exit(`paragraph`),e.consume(t);else return H(t)?(e.consume(t),e.exit(`chunkText`),a):(e.consume(t),o)}}var Gn;function Kn(){return(Kn=e((()=>{Y(),q(),Gn={tokenize:Wn}})))()}function qn(e){let t=this,n=[],r=0,i,a,o;return s;function s(i){if(r<n.length){let a=n[r];return t.containerState=a[1],e.attempt(a[0].continuation,c,l)(i)}return l(i)}function c(e){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&v();let n=t.events.length,a=n,o;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){o=t.events[a][1].end;break}_(r);let s=n;for(;s<t.events.length;)t.events[s][1].end={...o},s++;return z(t.events,a+1,0,t.events.slice(n)),t.events.length=s,l(e)}return s(e)}function l(a){if(r===n.length){if(!i)return f(a);if(i.currentConstruct&&i.currentConstruct.concrete)return m(a);t.interrupt=!(!i.currentConstruct||i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Xn,u,d)(a)}function u(e){return i&&v(),_(r),f(e)}function d(e){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,m(e)}function f(n){return t.containerState={},e.attempt(Xn,p,m)(n)}function p(e){return r++,n.push([t.currentConstruct,t.containerState]),f(e)}function m(n){if(n===null)i&&v(),_(0),e.consume(n);else return i||=t.parser.flow(t.now()),e.enter(`chunkFlow`,{_tokenizer:i,contentType:`flow`,previous:a}),h(n)}function h(n){if(n===null)g(e.exit(`chunkFlow`),!0),_(0),e.consume(n);else return H(n)?(e.consume(n),g(e.exit(`chunkFlow`)),r=0,t.interrupt=void 0,s):(e.consume(n),h)}function g(e,n){let s=t.sliceStream(e);if(n&&s.push(null),e.previous=a,a&&(a.next=e),a=e,i.defineSkip(e.start),i.write(s),t.parser.lazy[e.start.line]){let e=i.events.length;for(;e--;)if(i.events[e][1].start.offset<o&&(!i.events[e][1].end||i.events[e][1].end.offset>o))return;let n=t.events.length,a=n,s,c;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){if(s){c=t.events[a][1].end;break}s=!0}for(_(r),e=n;e<t.events.length;)t.events[e][1].end={...c},e++;z(t.events,a+1,0,t.events.slice(n)),t.events.length=e}}function _(r){let i=n.length;for(;i-->r;){let r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function Jn(e,t,n){return J(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}var Yn,Xn;function Zn(){return(Zn=e((()=>{Y(),q(),Yn={tokenize:qn},Xn={tokenize:Jn}})))()}function Qn(e){if(e===null||U(e)||Vn(e))return 1;if(Bn(e))return 2}function $n(){return($n=e((()=>{q()})))()}function er(e,t,n){let r=[],i=-1;for(;++i<e.length;){let a=e[i].resolveAll;a&&!r.includes(a)&&(t=a(t,n),r.push(a))}return t}function tr(e,t){let n=-1,r,i,a,o,s,c,l,u;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`attentionSequence`&&e[n][1]._close){for(r=n;r--;)if(e[r][0]===`exit`&&e[r][1].type===`attentionSequence`&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;c=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[n][1].start};rr(d,-c),rr(f,c),o={type:c>1?`strongSequence`:`emphasisSequence`,start:d,end:{...e[r][1].end}},s={type:c>1?`strongSequence`:`emphasisSequence`,start:{...e[n][1].start},end:f},a={type:c>1?`strongText`:`emphasisText`,start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?`strong`:`emphasis`,start:{...o.start},end:{...s.end}},e[r][1].end={...o.start},e[n][1].start={...s.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=B(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=B(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=B(l,er(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=B(l,[[`exit`,a,t],[`enter`,s,t],[`exit`,s,t],[`exit`,i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=B(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,z(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`attentionSequence`&&(e[n][1].type=`data`);return e}function nr(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=Qn(r),a;return o;function o(t){return a=t,e.enter(`attentionSequence`),s(t)}function s(o){if(o===a)return e.consume(o),s;let c=e.exit(`attentionSequence`),l=Qn(o),u=!l||l===2&&i||n.includes(o),d=!i||i===2&&l||n.includes(r);return c._open=!!(a===42?u:u&&(i||!d)),c._close=!!(a===42?d:d&&(l||!u)),t(o)}}function rr(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var ir;function ar(){return(ar=e((()=>{$n(),ir={name:`attention`,resolveAll:tr,tokenize:nr}})))()}function or(e,t,n){let r=0;return i;function i(t){return e.enter(`autolink`),e.enter(`autolinkMarker`),e.consume(t),e.exit(`autolinkMarker`),e.enter(`autolinkProtocol`),a}function a(t){return G(t)?(e.consume(t),o):t===64?n(t):l(t)}function o(e){return e===43||e===45||e===46||K(e)?(r=1,s(e)):l(e)}function s(t){return t===58?(e.consume(t),r=0,c):(t===43||t===45||t===46||K(t))&&r++<32?(e.consume(t),s):(r=0,l(t))}function c(r){return r===62?(e.exit(`autolinkProtocol`),e.enter(`autolinkMarker`),e.consume(r),e.exit(`autolinkMarker`),e.exit(`autolink`),t):r===null||r===32||r===60||Pn(r)?n(r):(e.consume(r),c)}function l(t){return t===64?(e.consume(t),u):In(t)?(e.consume(t),l):n(t)}function u(e){return K(e)?d(e):n(e)}function d(n){return n===46?(e.consume(n),r=0,u):n===62?(e.exit(`autolinkProtocol`).type=`autolinkEmail`,e.enter(`autolinkMarker`),e.consume(n),e.exit(`autolinkMarker`),e.exit(`autolink`),t):f(n)}function f(t){if((t===45||K(t))&&r++<63){let n=t===45?f:d;return e.consume(t),n}return n(t)}}var sr;function cr(){return(cr=e((()=>{q(),sr={name:`autolink`,tokenize:or}})))()}function lr(e,t,n){return r;function r(t){return W(t)?J(e,i,`linePrefix`)(t):i(t)}function i(e){return e===null||H(e)?t(e):n(e)}}var ur;function dr(){return(dr=e((()=>{Y(),q(),ur={partial:!0,tokenize:lr}})))()}function fr(e,t,n){let r=this;return i;function i(t){if(t===62){let n=r.containerState;return n.open||=(e.enter(`blockQuote`,{_container:!0}),!0),e.enter(`blockQuotePrefix`),e.enter(`blockQuoteMarker`),e.consume(t),e.exit(`blockQuoteMarker`),a}return n(t)}function a(n){return W(n)?(e.enter(`blockQuotePrefixWhitespace`),e.consume(n),e.exit(`blockQuotePrefixWhitespace`),e.exit(`blockQuotePrefix`),t):(e.exit(`blockQuotePrefix`),t(n))}}function pr(e,t,n){let r=this;return i;function i(t){return W(t)?J(e,a,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):a(t)}function a(r){return e.attempt(hr,t,n)(r)}}function mr(e){e.exit(`blockQuote`)}var hr;function gr(){return(gr=e((()=>{Y(),q(),hr={continuation:{tokenize:pr},exit:mr,name:`blockQuote`,tokenize:fr}})))()}function _r(e,t,n){return r;function r(t){return e.enter(`characterEscape`),e.enter(`escapeMarker`),e.consume(t),e.exit(`escapeMarker`),i}function i(r){return zn(r)?(e.enter(`characterEscapeValue`),e.consume(r),e.exit(`characterEscapeValue`),e.exit(`characterEscape`),t):n(r)}}var vr;function yr(){return(yr=e((()=>{q(),vr={name:`characterEscape`,tokenize:_r}})))()}function br(e,t,n){let r=this,i=0,a,o;return s;function s(t){return e.enter(`characterReference`),e.enter(`characterReferenceMarker`),e.consume(t),e.exit(`characterReferenceMarker`),c}function c(t){return t===35?(e.enter(`characterReferenceMarkerNumeric`),e.consume(t),e.exit(`characterReferenceMarkerNumeric`),l):(e.enter(`characterReferenceValue`),a=31,o=K,u(t))}function l(t){return t===88||t===120?(e.enter(`characterReferenceMarkerHexadecimal`),e.consume(t),e.exit(`characterReferenceMarkerHexadecimal`),e.enter(`characterReferenceValue`),a=6,o=Rn,u):(e.enter(`characterReferenceValue`),a=7,o=Ln,u(t))}function u(s){if(s===59&&i){let i=e.exit(`characterReferenceValue`);return o===K&&!Tn(r.sliceSerialize(i))?n(s):(e.enter(`characterReferenceMarker`),e.consume(s),e.exit(`characterReferenceMarker`),e.exit(`characterReference`),t)}return o(s)&&i++<a?(e.consume(s),u):n(s)}}var xr;function Sr(){return(Sr=e((()=>{Dn(),q(),xr={name:`characterReference`,tokenize:br}})))()}function Cr(e,t,n){let r=this,i={partial:!0,tokenize:x},a=0,o=0,s;return c;function c(e){return l(e)}function l(t){let n=r.events[r.events.length-1];return a=n&&n[1].type===`linePrefix`?n[2].sliceSerialize(n[1],!0).length:0,s=t,e.enter(`codeFenced`),e.enter(`codeFencedFence`),e.enter(`codeFencedFenceSequence`),u(t)}function u(t){return t===s?(o++,e.consume(t),u):o<3?n(t):(e.exit(`codeFencedFenceSequence`),W(t)?J(e,d,`whitespace`)(t):d(t))}function d(n){return n===null||H(n)?(e.exit(`codeFencedFence`),r.interrupt?t(n):e.check(Tr,h,b)(n)):(e.enter(`codeFencedFenceInfo`),e.enter(`chunkString`,{contentType:`string`}),f(n))}function f(t){return t===null||H(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),d(t)):W(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),J(e,p,`whitespace`)(t)):t===96&&t===s?n(t):(e.consume(t),f)}function p(t){return t===null||H(t)?d(t):(e.enter(`codeFencedFenceMeta`),e.enter(`chunkString`,{contentType:`string`}),m(t))}function m(t){return t===null||H(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceMeta`),d(t)):t===96&&t===s?n(t):(e.consume(t),m)}function h(t){return e.attempt(i,b,g)(t)}function g(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),_}function _(t){return a>0&&W(t)?J(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||H(t)?e.check(Tr,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||H(t)?(e.exit(`codeFlowValue`),v(t)):(e.consume(t),y)}function b(n){return e.exit(`codeFenced`),t(n)}function x(e,t,n){let i=0;return a;function a(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c}function c(t){return e.enter(`codeFencedFence`),W(t)?J(e,l,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):l(t)}function l(t){return t===s?(e.enter(`codeFencedFenceSequence`),u(t)):n(t)}function u(t){return t===s?(i++,e.consume(t),u):i>=o?(e.exit(`codeFencedFenceSequence`),W(t)?J(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||H(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function wr(e,t,n){let r=this;return i;function i(t){return t===null?n(t):(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}var Tr,Er;function Dr(){return(Dr=e((()=>{Y(),q(),Tr={partial:!0,tokenize:wr},Er={concrete:!0,name:`codeFenced`,tokenize:Cr}})))()}function Or(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),J(e,a,`linePrefix`,5)(t)}function a(e){let t=r.events[r.events.length-1];return t&&t[1].type===`linePrefix`&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return t===null?c(t):H(t)?e.attempt(jr,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||H(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function kr(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):H(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):J(e,a,`linePrefix`,5)(t)}function a(e){let a=r.events[r.events.length-1];return a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):H(e)?i(e):n(e)}}var Ar,jr;function Mr(){return(Mr=e((()=>{Y(),q(),Ar={name:`codeIndented`,tokenize:Or},jr={partial:!0,tokenize:kr}})))()}function Nr(e){let t=e.length-4,n=3,r,i;if((e[n][1].type===`lineEnding`||e[n][1].type===`space`)&&(e[t][1].type===`lineEnding`||e[t][1].type===`space`)){for(r=n;++r<t;)if(e[r][1].type===`codeTextData`){e[n][1].type=`codeTextPadding`,e[t][1].type=`codeTextPadding`,n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!==`lineEnding`&&(i=r):(r===t||e[r][1].type===`lineEnding`)&&(e[i][1].type=`codeTextData`,r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function Pr(e){return e!==96||this.events[this.events.length-1][1].type===`characterEscape`}function Fr(e,t,n){let r=0,i,a;return o;function o(t){return e.enter(`codeText`),e.enter(`codeTextSequence`),s(t)}function s(t){return t===96?(e.consume(t),r++,s):(e.exit(`codeTextSequence`),c(t))}function c(t){return t===null?n(t):t===32?(e.enter(`space`),e.consume(t),e.exit(`space`),c):t===96?(a=e.enter(`codeTextSequence`),i=0,u(t)):H(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c):(e.enter(`codeTextData`),l(t))}function l(t){return t===null||t===32||t===96||H(t)?(e.exit(`codeTextData`),c(t)):(e.consume(t),l)}function u(n){return n===96?(e.consume(n),i++,u):i===r?(e.exit(`codeTextSequence`),e.exit(`codeText`),t(n)):(a.type=`codeTextData`,l(n))}}var Ir;function Lr(){return(Lr=e((()=>{q(),Ir={name:`codeText`,previous:Pr,resolve:Nr,tokenize:Fr}})))()}function Rr(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}var zr;function Br(){return(Br=e((()=>{zr=class{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){let n=t??1/0;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let i=this.right.splice(this.right.length-r,1/0);return n&&Rr(this.left,n),i.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(e){this.setCursor(1/0),this.left.push(e)}pushMany(e){this.setCursor(1/0),Rr(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Rr(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0)){if(e<this.left.length){let t=this.left.splice(e,1/0);Rr(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,1/0);Rr(this.left,t.reverse())}}}}})))()}function Vr(e){let t={},n=-1,r,i,a,o,s,c,l,u=new zr(e);for(;++n<u.length;){for(;n in t;)n=t[n];if(r=u.get(n),n&&r[1].type===`chunkFlow`&&u.get(n-1)[1].type===`listItemPrefix`&&(c=r[1]._tokenizer.events,a=0,a<c.length&&c[a][1].type===`lineEndingBlank`&&(a+=2),a<c.length&&c[a][1].type===`content`))for(;++a<c.length&&c[a][1].type!==`content`;)c[a][1].type===`chunkText`&&(c[a][1]._isInFirstContentOfListItem=!0,a++);if(r[0]===`enter`)r[1].contentType&&(Object.assign(t,Hr(u,n)),n=t[n],l=!0);else if(r[1]._container){for(a=n,i=void 0;a--;)if(o=u.get(a),o[1].type===`lineEnding`||o[1].type===`lineEndingBlank`)o[0]===`enter`&&(i&&(u.get(i)[1].type=`lineEndingBlank`),o[1].type=`lineEnding`,i=a);else if(o[1].type!==`linePrefix`&&o[1].type!==`listItemIndent`)break;i&&(r[1].end={...u.get(i)[1].start},s=u.slice(i,n),s.unshift(r),u.splice(i,n-i+1,s))}}return z(e,0,1/0,u.slice(0)),!l}function Hr(e,t){let n=e.get(t)[1],r=e.get(t)[2],i=t-1,a=[],o=n._tokenizer;o||(o=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));let s=o.events,c=[],l={},u,d,f=-1,p=n,m=0,h=0,g=[h];for(;p;){for(;e.get(++i)[1]!==p;);a.push(i),p._tokenizer||(u=r.sliceStream(p),p.next||u.push(null),d&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=n;++f<s.length;)s[f][0]===`exit`&&s[f-1][0]===`enter`&&s[f][1].type===s[f-1][1].type&&s[f][1].start.line!==s[f][1].end.line&&(h=f+1,g.push(h),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):g.pop(),f=g.length;f--;){let t=s.slice(g[f],g[f+1]),n=a.pop();c.push([n,n+t.length-1]),e.splice(n,2,t)}for(c.reverse(),f=-1;++f<c.length;)l[m+c[f][0]]=m+c[f][1],m+=c[f][1]-c[f][0]-1;return l}function Ur(){return(Ur=e((()=>{Br()})))()}function Wr(e){return Vr(e),e}function Gr(e,t){let n;return r;function r(t){return e.enter(`content`),n=e.enter(`chunkContent`,{contentType:`content`}),i(t)}function i(t){return t===null?a(t):H(t)?e.check(Jr,o,a)(t):(e.consume(t),i)}function a(n){return e.exit(`chunkContent`),e.exit(`content`),t(n)}function o(t){return e.consume(t),e.exit(`chunkContent`),n.next=e.enter(`chunkContent`,{contentType:`content`,previous:n}),n=n.next,i}}function Kr(e,t,n){let r=this;return i;function i(t){return e.exit(`chunkContent`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),J(e,a,`linePrefix`)}function a(i){if(i===null||H(i))return n(i);let a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(`codeIndented`)&&a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}}var qr,Jr;function Yr(){return(Yr=e((()=>{Y(),q(),Ur(),qr={resolve:Wr,tokenize:Gr},Jr={partial:!0,tokenize:Kr}})))()}function Xr(e,t,n,r,i,a,o,s,c){let l=c||1/0,u=0;return d;function d(t){return t===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(t),e.exit(a),f):t===null||t===32||t===41||Pn(t)?n(t):(e.enter(r),e.enter(o),e.enter(s),e.enter(`chunkString`,{contentType:`string`}),h(t))}function f(n){return n===62?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter(`chunkString`,{contentType:`string`}),p(n))}function p(t){return t===62?(e.exit(`chunkString`),e.exit(s),f(t)):t===null||t===60||H(t)?n(t):(e.consume(t),t===92?m:p)}function m(t){return t===60||t===62||t===92?(e.consume(t),p):p(t)}function h(i){return!u&&(i===null||i===41||U(i))?(e.exit(`chunkString`),e.exit(s),e.exit(o),e.exit(r),t(i)):u<l&&i===40?(e.consume(i),u++,h):i===41?(e.consume(i),u--,h):i===null||i===32||i===40||Pn(i)?n(i):(e.consume(i),i===92?g:h)}function g(t){return t===40||t===41||t===92?(e.consume(t),h):h(t)}}function Zr(){return(Zr=e((()=>{q()})))()}function Qr(e,t,n,r,i,a){let o=this,s=0,c;return l;function l(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),e.enter(a),u}function u(l){return s>999||l===null||l===91||l===93&&!c||
|
|
3
3
|
/* c8 ignore next 3 */
|
|
4
4
|
l===94&&!s&&`_hiddenFootnoteSupport`in o.parser.constructs?n(l):l===93?(e.exit(a),e.enter(i),e.consume(l),e.exit(i),e.exit(r),t):H(l)?(e.enter(`lineEnding`),e.consume(l),e.exit(`lineEnding`),u):(e.enter(`chunkString`,{contentType:`string`}),d(l))}function d(t){return t===null||t===91||t===93||H(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||=!W(t),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function $r(){return($r=e((()=>{q()})))()}function ei(e,t,n,r,i,a){let o;return s;function s(t){return t===34||t===39||t===40?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=t===40?41:t,c):n(t)}function c(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===o?(e.exit(a),c(o)):t===null?n(t):H(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),J(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||H(t)?(e.exit(`chunkString`),l(t)):(e.consume(t),t===92?d:u)}function d(t){return t===o||t===92?(e.consume(t),u):u(t)}}function ti(){return(ti=e((()=>{Y(),q()})))()}function ni(e,t){let n;return r;function r(i){return H(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):W(i)?J(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}function ri(){return(ri=e((()=>{Y(),q()})))()}function ii(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return Qr.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=V(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),c):n(t)}function c(t){return U(t)?ni(e,l)(t):l(t)}function l(t){return Xr(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(si,d,d)(t)}function d(t){return W(t)?J(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||H(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function ai(e,t,n){return r;function r(t){return U(t)?ni(e,i)(t):n(t)}function i(t){return ei(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return W(t)?J(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||H(e)?t(e):n(e)}}var oi,si;function ci(){return(ci=e((()=>{Zr(),$r(),Y(),ti(),ri(),q(),oi={name:`definition`,tokenize:ii},si={partial:!0,tokenize:ai}})))()}function li(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return H(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}var ui;function di(){return(di=e((()=>{q(),ui={name:`hardBreakEscape`,tokenize:li}})))()}function fi(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type===`whitespace`&&(r+=2),n-2>r&&e[n][1].type===`whitespace`&&(n-=2),e[n][1].type===`atxHeadingSequence`&&(r===n-1||n-4>r&&e[n-2][1].type===`whitespace`)&&(n-=r+1===n?2:4),n>r&&(i={type:`atxHeadingText`,start:e[r][1].start,end:e[n][1].end},a={type:`chunkText`,start:e[r][1].start,end:e[n][1].end,contentType:`text`},z(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function pi(e,t,n){let r=0;return i;function i(t){return e.enter(`atxHeading`),a(t)}function a(t){return e.enter(`atxHeadingSequence`),o(t)}function o(t){return t===35&&r++<6?(e.consume(t),o):t===null||U(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||H(n)?(e.exit(`atxHeading`),t(n)):W(n)?J(e,s,`whitespace`)(n):(e.enter(`atxHeadingText`),l(n))}function c(t){return t===35?(e.consume(t),c):(e.exit(`atxHeadingSequence`),s(t))}function l(t){return t===null||t===35||U(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}var mi;function hi(){return(hi=e((()=>{Y(),q(),mi={name:`headingAtx`,resolve:fi,tokenize:pi}})))()}var gi,_i;function vi(){return(vi=e((()=>{gi=/* @__PURE__ */ `address.article.aside.base.basefont.blockquote.body.caption.center.col.colgroup.dd.details.dialog.dir.div.dl.dt.fieldset.figcaption.figure.footer.form.frame.frameset.h1.h2.h3.h4.h5.h6.head.header.hr.html.iframe.legend.li.link.main.menu.menuitem.nav.noframes.ol.optgroup.option.p.param.search.section.summary.table.tbody.td.tfoot.th.thead.title.tr.track.ul`.split(`.`),_i=[`pre`,`script`,`style`,`textarea`]})))()}function yi(e){let t=e.length;for(;t--&&(e[t][0]!==`enter`||e[t][1].type!==`htmlFlow`););return t>1&&e[t-2][1].type===`linePrefix`&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function bi(e,t,n){let r=this,i,a,o,s,c;return l;function l(e){return u(e)}function u(t){return e.enter(`htmlFlow`),e.enter(`htmlFlowData`),e.consume(t),d}function d(s){return s===33?(e.consume(s),f):s===47?(e.consume(s),a=!0,h):s===63?(e.consume(s),i=3,r.interrupt?t:A):G(s)?(e.consume(s),o=String.fromCharCode(s),g):n(s)}function f(a){return a===45?(e.consume(a),i=2,p):a===91?(e.consume(a),i=5,s=0,m):G(a)?(e.consume(a),i=4,r.interrupt?t:A):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:A):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:D:m):n(i)}function h(t){return G(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||U(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&_i.includes(l)?(i=1,r.interrupt?t(s):D(s)):gi.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):D(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||K(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:D):n(i)}function v(t){return W(t)?(e.consume(t),v):E(t)}function y(t){return t===47?(e.consume(t),E):t===58||t===95||G(t)?(e.consume(t),b):W(t)?(e.consume(t),y):E(t)}function b(t){return t===45||t===46||t===58||t===95||K(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):W(t)?(e.consume(t),x):y(t)}function S(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),c=t,C):W(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||H(t)?n(t):(e.consume(t),C)}function w(t){return t===null||t===34||t===39||t===47||t===60||t===61||t===62||t===96||U(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||W(e)?y(e):n(e)}function E(t){return t===62?(e.consume(t),ee):n(t)}function ee(t){return t===null||H(t)?D(t):W(t)?(e.consume(t),ee):n(t)}function D(t){return t===45&&i===2?(e.consume(t),O):t===60&&i===1?(e.consume(t),k):t===62&&i===4?(e.consume(t),oe):t===63&&i===3?(e.consume(t),A):t===93&&i===5?(e.consume(t),ae):H(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(wi,se,te)(t)):t===null||H(t)?(e.exit(`htmlFlowData`),te(t)):(e.consume(t),D)}function te(t){return e.check(Ti,ne,se)(t)}function ne(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),re}function re(t){return t===null||H(t)?te(t):(e.enter(`htmlFlowData`),D(t))}function O(t){return t===45?(e.consume(t),A):D(t)}function k(t){return t===47?(e.consume(t),o=``,ie):D(t)}function ie(t){if(t===62){let n=o.toLowerCase();return _i.includes(n)?(e.consume(t),oe):D(t)}return G(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),ie):D(t)}function ae(t){return t===93?(e.consume(t),A):D(t)}function A(t){return t===62?(e.consume(t),oe):t===45&&i===2?(e.consume(t),A):D(t)}function oe(t){return t===null||H(t)?(e.exit(`htmlFlowData`),se(t)):(e.consume(t),oe)}function se(n){return e.exit(`htmlFlow`),t(n)}}function xi(e,t,n){let r=this;return i;function i(t){return H(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a):n(t)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function Si(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(ur,t,n)}}var Ci,wi,Ti;function Ei(){return(Ei=e((()=>{q(),vi(),dr(),Ci={concrete:!0,name:`htmlFlow`,resolveTo:yi,tokenize:bi},wi={partial:!0,tokenize:Si},Ti={partial:!0,tokenize:xi}})))()}function Di(e,t,n){let r=this,i,a,o;return s;function s(t){return e.enter(`htmlText`),e.enter(`htmlTextData`),e.consume(t),c}function c(t){return t===33?(e.consume(t),l):t===47?(e.consume(t),x):t===63?(e.consume(t),y):G(t)?(e.consume(t),w):n(t)}function l(t){return t===45?(e.consume(t),u):t===91?(e.consume(t),a=0,m):G(t)?(e.consume(t),v):n(t)}function u(t){return t===45?(e.consume(t),p):n(t)}function d(t){return t===null?n(t):t===45?(e.consume(t),f):H(t)?(o=d,k(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?O(e):e===45?f(e):d(e)}function m(t){return t===`CDATA[`.charCodeAt(a++)?(e.consume(t),a===6?h:m):n(t)}function h(t){return t===null?n(t):t===93?(e.consume(t),g):H(t)?(o=h,k(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?O(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?O(t):H(t)?(o=v,k(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):H(t)?(o=y,k(t)):(e.consume(t),y)}function b(e){return e===62?O(e):y(e)}function x(t){return G(t)?(e.consume(t),S):n(t)}function S(t){return t===45||K(t)?(e.consume(t),S):C(t)}function C(t){return H(t)?(o=C,k(t)):W(t)?(e.consume(t),C):O(t)}function w(t){return t===45||K(t)?(e.consume(t),w):t===47||t===62||U(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),O):t===58||t===95||G(t)?(e.consume(t),E):H(t)?(o=T,k(t)):W(t)?(e.consume(t),T):O(t)}function E(t){return t===45||t===46||t===58||t===95||K(t)?(e.consume(t),E):ee(t)}function ee(t){return t===61?(e.consume(t),D):H(t)?(o=ee,k(t)):W(t)?(e.consume(t),ee):T(t)}function D(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,te):H(t)?(o=D,k(t)):W(t)?(e.consume(t),D):(e.consume(t),ne)}function te(t){return t===i?(e.consume(t),i=void 0,re):t===null?n(t):H(t)?(o=te,k(t)):(e.consume(t),te)}function ne(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||U(t)?T(t):(e.consume(t),ne)}function re(e){return e===47||e===62||U(e)?T(e):n(e)}function O(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function k(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),ie}function ie(t){return W(t)?J(e,ae,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):ae(t)}function ae(t){return e.enter(`htmlTextData`),o(t)}}var Oi;function ki(){return(ki=e((()=>{Y(),q(),Oi={name:`htmlText`,tokenize:Di}})))()}function Ai(e){let t=-1,n=[];for(;++t<e.length;){let r=e[t][1];if(n.push(e[t]),r.type===`labelImage`||r.type===`labelLink`||r.type===`labelEnd`){let e=r.type===`labelImage`?4:2;r.type=`data`,t+=e}}return e.length!==n.length&&z(e,0,e.length,n),e}function ji(e,t){let n=e.length,r=0,i,a,o,s;for(;n--;)if(i=e[n][1],a){if(i.type===`link`||i.type===`labelLink`&&i._inactive)break;e[n][0]===`enter`&&i.type===`labelLink`&&(i._inactive=!0)}else if(o){if(e[n][0]===`enter`&&(i.type===`labelImage`||i.type===`labelLink`)&&!i._balanced&&(a=n,i.type!==`labelLink`)){r=2;break}}else i.type===`labelEnd`&&(o=n);let c={type:e[a][1].type===`labelLink`?`link`:`image`,start:{...e[a][1].start},end:{...e[e.length-1][1].end}},l={type:`label`,start:{...e[a][1].start},end:{...e[o][1].end}},u={type:`labelText`,start:{...e[a+r+2][1].end},end:{...e[o-2][1].start}};return s=[[`enter`,c,t],[`enter`,l,t]],s=B(s,e.slice(a+1,a+r+3)),s=B(s,[[`enter`,u,t]]),s=B(s,er(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=B(s,[[`exit`,u,t],e[o-2],e[o-1],[`exit`,l,t]]),s=B(s,e.slice(o+1)),s=B(s,[[`exit`,c,t]]),z(e,a,e.length,s),e}function Mi(e,t,n){let r=this,i=r.events.length,a,o;for(;i--;)if((r.events[i][1].type===`labelImage`||r.events[i][1].type===`labelLink`)&&!r.events[i][1]._balanced){a=r.events[i][1];break}return s;function s(t){return a?a._inactive?d(t):(o=r.parser.defined.includes(V(r.sliceSerialize({start:a.end,end:r.now()}))),e.enter(`labelEnd`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelEnd`),c):n(t)}function c(t){return t===40?e.attempt(Li,u,o?u:d)(t):t===91?e.attempt(Ri,u,o?l:d)(t):o?u(t):d(t)}function l(t){return e.attempt(zi,u,d)(t)}function u(e){return t(e)}function d(e){return a._balanced=!0,n(e)}}function Ni(e,t,n){return r;function r(t){return e.enter(`resource`),e.enter(`resourceMarker`),e.consume(t),e.exit(`resourceMarker`),i}function i(t){return U(t)?ni(e,a)(t):a(t)}function a(t){return t===41?u(t):Xr(e,o,s,`resourceDestination`,`resourceDestinationLiteral`,`resourceDestinationLiteralMarker`,`resourceDestinationRaw`,`resourceDestinationString`,32)(t)}function o(t){return U(t)?ni(e,c)(t):u(t)}function s(e){return n(e)}function c(t){return t===34||t===39||t===40?ei(e,l,n,`resourceTitle`,`resourceTitleMarker`,`resourceTitleString`)(t):u(t)}function l(t){return U(t)?ni(e,u)(t):u(t)}function u(r){return r===41?(e.enter(`resourceMarker`),e.consume(r),e.exit(`resourceMarker`),e.exit(`resource`),t):n(r)}}function Pi(e,t,n){let r=this;return i;function i(t){return Qr.call(r,e,a,o,`reference`,`referenceMarker`,`referenceString`)(t)}function a(e){return r.parser.defined.includes(V(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function o(e){return n(e)}}function Fi(e,t,n){return r;function r(t){return e.enter(`reference`),e.enter(`referenceMarker`),e.consume(t),e.exit(`referenceMarker`),i}function i(r){return r===93?(e.enter(`referenceMarker`),e.consume(r),e.exit(`referenceMarker`),e.exit(`reference`),t):n(r)}}var Ii,Li,Ri,zi;function Bi(){return(Bi=e((()=>{Zr(),$r(),ti(),ri(),q(),Ii={name:`labelEnd`,resolveAll:Ai,resolveTo:ji,tokenize:Mi},Li={tokenize:Ni},Ri={tokenize:Pi},zi={tokenize:Fi}})))()}function Vi(e,t,n){let r=this;return i;function i(t){return e.enter(`labelImage`),e.enter(`labelImageMarker`),e.consume(t),e.exit(`labelImageMarker`),a}function a(t){return t===91?(e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelImage`),o):n(t)}function o(e){
|
|
@@ -45,4 +45,4 @@ if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let
|
|
|
45
45
|
if(o.errorRaised)throw Error("Could not highlight with `Highlight.js`",{cause:o.errorRaised});let s=o._emitter.root,c=s.data;return c.language=o.language,c.relevance=o.relevance,s}function r(e,r){let a=(r||Qf).subset||i(),o=-1,s=0,c;for(;++o<a.length;){let i=a[o];if(!t.getLanguage(i))continue;let l=n(i,e,r);l.data&&l.data.relevance!==void 0&&l.data.relevance>s&&(s=l.data.relevance,c=l)}return c||{type:`root`,children:[],data:{language:void 0,relevance:s}}}function i(){return t.listLanguages()}function a(e,n){if(typeof e==`string`)t.registerLanguage(e,n);else{let n;for(n in e)Object.hasOwn(e,n)&&t.registerLanguage(n,e[n])}}function o(e,n){if(typeof e==`string`)t.registerAliases(typeof n==`string`?n:[...n],{languageName:e});else{let n;for(n in e)if(Object.hasOwn(e,n)){let r=e[n];t.registerAliases(typeof r==`string`?r:[...r],{languageName:n})}}}function s(e){return!!t.getLanguage(e)}}var Qf,$f,ep;function tp(){return(tp=e((()=>{ge(),Qf={},$f=`hljs-`,ep=class{constructor(e){this.options=e,this.root={type:`root`,children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(e){if(e===``)return;let t=this.stack[this.stack.length-1],n=t.children[t.children.length-1];n&&n.type===`text`?n.value+=e:t.children.push({type:`text`,value:e})}startScope(e){this.openNode(String(e))}endScope(){this.closeNode()}__addSublanguage(e,t){let n=this.stack[this.stack.length-1],r=e.root.children;t?n.children.push({type:`element`,tagName:`span`,properties:{className:[t]},children:r}):n.children.push(...r)}openNode(e){let t=this,n=e.split(`.`).map(function(e,n){return n?e+`_`.repeat(n):t.options.classPrefix+e}),r=this.stack[this.stack.length-1],i={type:`element`,tagName:`span`,properties:{className:n},children:[]};r.children.push(i),this.stack.push(i)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return``}}})))()}function np(e){let t=e||ip,n=t.aliases,r=t.detect||!1,i=t.languages||Yf,a=t.plainText,o=t.prefix,s=t.subset,c=`hljs`,l=Zf(i);if(n&&l.registerAlias(n),o){let e=o.indexOf(`-`);c=e===-1?o:o.slice(0,e)}return function(e,t){Ss(e,`element`,function(e,n,i){if(e.tagName!==`code`||!i||i.type!==`element`||i.tagName!==`pre`)return;let u=rp(e);if(u===!1||!u&&!r||u&&a&&a.includes(u))return;Array.isArray(e.properties.className)||(e.properties.className=[]),e.properties.className.includes(c)||e.properties.className.unshift(c);let d=Df(e,{whitespace:`pre`}),f;try{f=u?l.highlight(u,d,{prefix:o}):l.highlightAuto(d,{prefix:o,subset:s})}catch(n){let r=n;if(u&&/Unknown language/.test(r.message)){t.message("Cannot highlight as `"+u+"`, it’s not registered",{ancestors:[i,e],cause:r,place:e.position,ruleId:`missing-language`,source:`rehype-highlight`});
|
|
46
46
|
/* c8 ignore next 5 -- throw arbitrary hljs errors */
|
|
47
47
|
return}throw r}!u&&f.data&&f.data.language&&e.properties.className.push(`language-`+f.data.language),f.children.length>0&&(e.children=f.children)})}}function rp(e){let t=e.properties.className,n=-1;if(!Array.isArray(t))return;let r;for(;++n<t.length;){let e=String(t[n]);if(e===`no-highlight`||e===`nohighlight`)return!1;!r&&e.slice(0,5)===`lang-`&&(r=e.slice(5)),!r&&e.slice(0,9)===`language-`&&(r=e.slice(9))}return r}var ip;function ap(){return(ap=e((()=>{Gf(),Xf(),tp(),Cs(),ip={}})))()}function op(e){return e==null||typeof e==`boolean`?``:typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(op).join(``):be(e)?op(e.props.children):``}function sp(e){return function({node:t,children:n,...r}){return/* @__PURE__ */ j(e,{id:Ce(op(n)),...r,children:n})}}function cp({content:e,rawText:t,anchorHeadings:n,style:r}){let{isDark:i}=ve();return/* @__PURE__ */ j(`div`,{className:`md-preview-body${i?` md-preview-body--dark`:``}`,style:{width:`100%`,height:`100%`,overflowY:`auto`,...r},children:t?/* @__PURE__ */ j(`pre`,{style:{margin:0,padding:`24px 32px`,fontFamily:`'JetBrains Mono', 'Fira Code', Consolas, monospace`,fontSize:13,lineHeight:1.7,color:`var(--arc-antd-color-text-0)`,whiteSpace:`pre-wrap`,wordBreak:`break-all`},children:e}):/* @__PURE__ */ j(`div`,{className:`md-preview-content`,children:/* @__PURE__ */ j(Ec,{remarkPlugins:[hf],rehypePlugins:[np],components:{a:({node:e,href:t,children:n,...r})=>{let i=/^https?:\/\//i.test(t??``);return/* @__PURE__ */ j(`a`,{href:t,...i?{target:`_blank`,rel:`noopener noreferrer`}:{},...r,children:n})},...n?lp:{}},children:e})})})}var lp;function up(){return(up=e((()=>{Fc(),_f(),ap(),ye(),lp={h1:sp(`h1`),h2:sp(`h2`),h3:sp(`h3`)}})))()}up();export{cp as MarkdownPreviewPanel,cp as default};
|
|
48
|
-
//# sourceMappingURL=MarkdownPreviewPanel-
|
|
48
|
+
//# sourceMappingURL=MarkdownPreviewPanel-CBcPc7Wv.js.map
|