@ammarkhalidfarooq/dashboard-package 0.5.15 → 0.5.16

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/config/customTheme.js","../src/components/MetricSelector.jsx","../src/components/RevenueChart.jsx","../src/components/UI/RenderChartCard/index.jsx","../src/components/Dashboard.jsx","../src/config/helper.js","../src/components/UI/NewOverview/index.jsx","../src/components/UI/PerformanceSection/index.jsx","../src/components/UI/RecurringDonationAmounts/index.jsx","../src/components/UI/RecurringRevenueSection/index.jsx","../src/components/UI/UTMPerformance/index.jsx","../src/components/UI/DropOffPoints/index.jsx","../src/components/UI/DonorBehavior/index.jsx","../src/components/UI/AbandonedDonationRecovery/index.jsx","../src/config/customColors.js","../src/components/UI/ActiveCampaignsCard/index.jsx","../src/components/UI/DonorMixCard/index.jsx","../src/components/UI/TrafficSourceCard/index.jsx","../src/components/UI/MetricSparklineCard/index.jsx","../src/components/UI/MetricDonutCard/index.jsx","../src/components/UI/DonationTypeBarChart/index.jsx","../src/components/UI/TOPCards/index.jsx","../src/components/UI/RefundsChargebacksCard/index.jsx","../src/components/advanced/MetricCard/index.jsx","../src/components/UI/NewOverview/OverallSection.jsx","../src/components/UI/NewOverview/PaidSection.jsx","../src/components/UI/NewOverview/OrganicSection.jsx","../src/components/UI/EmailTrendCard/index.jsx","../src/components/UI/NewOverview/EmailSection.jsx","../node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.mjs"],"sourcesContent":["import { createTheme } from \"@mui/material/styles\";\r\n\r\nexport const theme = createTheme({\r\n cssVariables: true, // Enable CSS variables for better SSR support\r\n typography: {\r\n fontFamily: [\r\n \"var(--font-league-spartan)\",\r\n \"var(--font-noto-sans-arabic)\", // Added as a fallback for Arabic text\r\n \"-apple-system\",\r\n \"BlinkMacSystemFont\",\r\n \"Segoe UI\",\r\n \"Roboto\",\r\n \"Helvetica Neue\",\r\n \"Arial\",\r\n \"sans-serif\",\r\n \"Apple Color Emoji\",\r\n \"Segoe UI Emoji\",\r\n \"Segoe UI Symbol\",\r\n ].join(\",\"),\r\n },\r\n palette: {\r\n primary: {\r\n main: \"#6363E6\",\r\n mainLight: \"#F7F7FF\",\r\n light: \"#FFFFFF\",\r\n gray: \"#A1A1A8\",\r\n lightGreen: \"#E1FBF2\",\r\n green: \"#0CAB72\",\r\n red: \"#E61D1D\",\r\n lightRed: \"#FFEDED\",\r\n lightGray: \"#E9E9EB\",\r\n darkGray: \"#606062\",\r\n dark: \"#090909\",\r\n },\r\n text: { primary: \"#666666\" },\r\n secondary: {\r\n main: \"#E0C2FF\",\r\n light: \"#F5EBFF\",\r\n // dark: will be calculated from palette.secondary.main,\r\n contrastText: \"#47008F\",\r\n },\r\n white: {\r\n main: \"#FFFFFF\",\r\n light: \"#F8F8F8\",\r\n },\r\n\r\n gradients: {\r\n primary: \"linear-gradient(90deg, #6363E6 0.05%, #59C9F9 99.96%)\",\r\n secondary: \"linear-gradient(180deg, #E9E9FF 0%, #C9EEFF 100%)\",\r\n // You can add more gradients if needed\r\n },\r\n },\r\n});\r\n","import React from 'react';\r\nimport { Button, Menu, MenuItem, Box } from '@mui/material';\r\nimport { MoreHoriz as MoreHorizIcon } from '@mui/icons-material';\r\n\r\nconst MetricSelector = ({ metric, onMetricChange, options = ['Revenue', 'Donations'], label = \"Metric\" }) => {\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const open = Boolean(anchorEl);\r\n\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = (value) => {\r\n if (typeof value === 'string') {\r\n onMetricChange(value);\r\n }\r\n setAnchorEl(null);\r\n };\r\n\r\n return (\r\n <Box sx={{ display: 'flex', gap: 1 }}>\r\n <Button\r\n id=\"metric-button\"\r\n aria-controls={open ? 'metric-menu' : undefined}\r\n aria-haspopup=\"true\"\r\n aria-expanded={open ? 'true' : undefined}\r\n onClick={handleClick}\r\n variant=\"outlined\"\r\n sx={{ \r\n borderRadius: '8px', \r\n borderColor: '#E9E9EB', \r\n color: '#000', \r\n textTransform: 'none',\r\n fontWeight: 600,\r\n px: 2,\r\n height: '40px',\r\n '&:hover': {\r\n borderColor: 'primary.main',\r\n bgcolor: 'rgba(99, 99, 230, 0.04)'\r\n }\r\n }}\r\n >\r\n {label}: {metric}\r\n </Button>\r\n <Menu\r\n id=\"metric-menu\"\r\n anchorEl={anchorEl}\r\n open={open}\r\n onClose={() => handleClose()}\r\n MenuListProps={{\r\n 'aria-labelledby': 'metric-button',\r\n }}\r\n PaperProps={{\r\n sx: {\r\n borderRadius: '8px',\r\n mt: 1,\r\n boxShadow: '0 4px 12px rgba(0,0,0,0.1)',\r\n minWidth: '150px'\r\n }\r\n }}\r\n >\r\n {options.map((option) => (\r\n <MenuItem \r\n key={option} \r\n onClick={() => handleClose(option)} \r\n sx={{ fontWeight: metric === option ? 700 : 400 }}\r\n >\r\n {option}\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default MetricSelector;\r\n","import React from 'react';\r\nimport ReactApexChart from 'react-apexcharts';\r\nimport { useTheme } from '@mui/material/styles';\r\n\r\nconst RevenueChart = ({ metric, data, series, categories, height = 350, stacked = false, type = \"area\", id = \"revenue-chart\", colors, showLegend = true }) => {\r\n const theme = useTheme();\r\n\r\n const isRadial = type === 'donut' || type === 'pie';\r\n\r\n // Base options common to all charts\r\n const baseOptions = {\r\n chart: {\r\n id: id,\r\n type: type,\r\n toolbar: { show: false },\r\n sparkline: { enabled: false },\r\n animations: { enabled: false }\r\n },\r\n colors: colors || [theme.palette.primary.main, '#4B4BC2', '#7E7EE6', '#A3A3F0', '#C8C8FA'],\r\n tooltip: {\r\n theme: 'light',\r\n y: {\r\n formatter: (value) => (metric?.toLowerCase() === 'revenue') ? `$${(value || 0).toLocaleString()}` : (value || 0)\r\n }\r\n }\r\n };\r\n\r\n const radialOptions = {\r\n ...baseOptions,\r\n labels: categories || [],\r\n stroke: { width: 0 },\r\n dataLabels: { enabled: true },\r\n legend: {\r\n show: showLegend,\r\n position: 'bottom',\r\n horizontalAlign: 'center'\r\n },\r\n plotOptions: {\r\n pie: {\r\n donut: {\r\n size: '70%',\r\n labels: {\r\n show: true,\r\n total: {\r\n show: true,\r\n label: 'Total',\r\n formatter: function (w) {\r\n const sum = w.globals.seriesTotals.reduce((a, b) => a + b, 0);\r\n return metric === 'Revenue' ? `$${Math.round(sum).toLocaleString()}` : Math.round(sum).toLocaleString();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n const linearOptions = {\r\n ...baseOptions,\r\n chart: {\r\n ...baseOptions.chart,\r\n stacked: stacked\r\n },\r\n stroke: {\r\n curve: 'smooth',\r\n width: type === 'bar' ? 0 : 2\r\n },\r\n fill: {\r\n type: 'gradient',\r\n gradient: {\r\n shadeIntensity: 1,\r\n opacityFrom: 0.8,\r\n opacityTo: 0.4,\r\n stops: [0, 100]\r\n }\r\n },\r\n xaxis: {\r\n categories: categories || [],\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n tickAmount: 5,\r\n labels: {\r\n rotate: 0,\r\n rotateAlways: false,\r\n hideOverlappingLabels: true,\r\n style: { colors: '#A1A1A8', fontSize: '12px' },\r\n formatter: (val) => {\r\n if (!val || typeof val !== 'string') return val;\r\n const date = new Date(val);\r\n if (isNaN(date.getTime())) return val;\r\n return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });\r\n }\r\n }\r\n },\r\n yaxis: {\r\n show: true,\r\n labels: {\r\n style: { colors: '#A1A1A8', fontSize: '12px' },\r\n formatter: (value) => (metric?.toLowerCase() === 'revenue') ? `$${(value || 0).toLocaleString()}` : (value || 0)\r\n }\r\n },\r\n grid: {\r\n show: true,\r\n borderColor: '#f1f1f1',\r\n strokeDashArray: 4,\r\n position: 'back'\r\n },\r\n dataLabels: { enabled: false },\r\n legend: {\r\n show: showLegend && (stacked || (series && series.length > 1)),\r\n position: 'top',\r\n horizontalAlign: 'left'\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n columnWidth: '60%'\r\n }\r\n }\r\n };\r\n\r\n const chartOptions = isRadial ? radialOptions : linearOptions;\r\n\r\n // Ensure series is in the correct format for the chart type\r\n let chartSeries = [];\r\n if (isRadial) {\r\n // For donut/pie, series must be a simple array of numbers\r\n const processedData = Array.isArray(data) ? data.map(v => (typeof v === 'object' && v !== null) ? v.value : v) : [];\r\n chartSeries = processedData.length > 0 ? processedData : (series?.[0]?.data || []);\r\n } else {\r\n // For bar/line/area, series must be an array of objects [{ name: '', data: [] }]\r\n const processedData = Array.isArray(data) ? data.map(v => (typeof v === 'object' && v !== null) ? v.value : v) : [];\r\n chartSeries = Array.isArray(series) ? series : [\r\n {\r\n name: metric || \"Value\",\r\n data: processedData\r\n }\r\n ];\r\n }\r\n\r\n return (\r\n <ReactApexChart\r\n key={`${id}-${type}-${chartSeries.length}`}\r\n options={chartOptions}\r\n series={chartSeries}\r\n type={type}\r\n height={height}\r\n width=\"100%\"\r\n />\r\n );\r\n};\r\n\r\nexport default RevenueChart;\r\n","import {\r\n Box,\r\n Card,\r\n CardContent,\r\n Grid,\r\n IconButton,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport RevenueChart from \"../../RevenueChart\";\r\nimport { MoreHoriz as MoreHorizIcon } from \"@mui/icons-material\";\r\nimport MetricSelector from \"../../MetricSelector\";\r\n\r\nconst RenderChartCard = ({\r\n item,\r\n index,\r\n isPrimary = false,\r\n isPremium = false,\r\n metric,\r\n setMetric,\r\n md = 4,\r\n type = \"area\"\r\n}) => {\r\n return (\r\n <Grid\r\n item\r\n xs={12}\r\n md={md}\r\n key={item.label + index}\r\n sx={{ display: \"flex\", paddingTop: \"0px !important\" }}\r\n >\r\n <Card\r\n sx={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <CardContent\r\n sx={{ p: 3, flexGrow: 1, display: \"flex\", flexDirection: \"column\" }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"flex-start\",\r\n mb: isPremium ? 3 : 2,\r\n }}\r\n >\r\n {isPremium ? (\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n mb: 0.2,\r\n }}\r\n >\r\n {item.label}\r\n </Typography>\r\n <Typography\r\n variant=\"caption\"\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 400,\r\n display: \"block\",\r\n mb: 1.5,\r\n }}\r\n >\r\n {item.subtitle || \"Last 30 days - daily aggregation\"}\r\n </Typography>\r\n\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n {item.value && (\r\n <Typography\r\n sx={{ fontWeight: 700, color: \"#000000\", fontSize: \"28px\" }}\r\n >\r\n {typeof item.value === 'object' && item.value !== null\r\n ? (item.value.value !== undefined ? item.value.value : JSON.stringify(item.value))\r\n : item.value}\r\n </Typography>\r\n )}\r\n {(item.trend || \"18%\") && (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n bgcolor: \"#8df3be9a\",\r\n color: \"#054835ff\",\r\n px: 1,\r\n py: 0.5,\r\n borderRadius: \"100px\",\r\n fontSize: \"12px\",\r\n fontWeight: 600,\r\n }}\r\n >\r\n <span>▲</span>\r\n {item.trend || \"18% vs last month\"}\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n ) : (\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 600,\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.5px\",\r\n mb: 0.5,\r\n }}\r\n >\r\n {item.label}\r\n </Typography>\r\n {item.value && (\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{ fontWeight: 600, color: \"#000000\", mb: 0.5 }}\r\n >\r\n {typeof item.value === 'object' && item.value !== null\r\n ? (item.value.value !== undefined ? item.value.value : JSON.stringify(item.value))\r\n : item.value}\r\n </Typography>\r\n )}\r\n {item.subValue && (\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{ color: \"#000000\", fontWeight: 600 }}\r\n >\r\n {typeof item.subValue === 'object' && item.subValue !== null\r\n ? JSON.stringify(item.subValue)\r\n : item.subValue}\r\n </Typography>\r\n )}\r\n </Box>\r\n )}\r\n\r\n <Box sx={{ display: \"flex\", gap: 1, alignItems: \"center\" }}>\r\n {item.hideControls ? (\r\n item.series && (\r\n <Box\r\n sx={{\r\n display: { xs: \"none\", sm: \"flex\" },\r\n gap: 2,\r\n alignItems: \"center\",\r\n }}\r\n >\r\n {[\r\n { label: \"Paid Ads\", color: \"#6366F1\" },\r\n { label: \"Organic\", color: \"#10B981\" },\r\n { label: \"Email\", color: \"#06B6D4\" },\r\n ].map((leg) => (\r\n <Box\r\n key={leg.label}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}\r\n >\r\n <Box\r\n sx={{\r\n width: 8,\r\n height: 8,\r\n borderRadius: \"50%\",\r\n bgcolor: leg.color,\r\n }}\r\n />\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0,0,0,0.6)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n {leg.label}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n )\r\n) : (\r\n <>\r\n {item.showSelector && (\r\n <MetricSelector\r\n metric={metric}\r\n onMetricChange={setMetric}\r\n options={[\"Revenue\", \"Donations\"]}\r\n />\r\n )}\r\n <IconButton\r\n sx={{\r\n border: \"1px solid #E9E9EB\",\r\n borderRadius: \"8px\",\r\n color: \"#000\",\r\n height: \"40px\",\r\n width: \"40px\",\r\n \"&:hover\": {\r\n borderColor: \"primary.main\",\r\n bgcolor: \"rgba(99, 99, 230, 0.04)\",\r\n },\r\n }}\r\n >\r\n <MoreHorizIcon sx={{ fontSize: \"1.2rem\" }} />\r\n </IconButton>\r\n </>\r\n )}\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ flexGrow: 1, minHeight: isPrimary ? \"250px\" : \"200px\" }}>\r\n <RevenueChart\r\n id={`${item.label}-${index}`}\r\n metric={\r\n item.label.includes(\"Rate\") ||\r\n item.label.includes(\"Performance\") ||\r\n item.label.includes(\"source\") ||\r\n item.label === \"URL\"\r\n ? \"Percent\"\r\n : item.stacked\r\n ? item.label.includes(\"Traffic\")\r\n ? \"Visitors\"\r\n : \"Donors\"\r\n : metric\r\n }\r\n data={item.data}\r\n series={item.series}\r\n categories={item.categories}\r\n height={isPrimary ? 250 : 200}\r\n stacked={item.stacked}\r\n type={type || item.type || \"area\"}\r\n colors={item.colors}\r\n showLegend={!item.hideControls}\r\n />\r\n {item.hideControls && item.series && (\r\n <Box\r\n sx={{\r\n display: { xs: \"flex\", sm: \"none\" },\r\n justifyContent: \"center\",\r\n gap: 2,\r\n flexWrap: \"wrap\",\r\n mt: 1.5,\r\n }}\r\n >\r\n {[\r\n { label: \"Paid Ads\", color: \"#6366F1\" },\r\n { label: \"Organic\", color: \"#10B981\" },\r\n { label: \"Email\", color: \"#06B6D4\" },\r\n ].map((leg) => (\r\n <Box\r\n key={leg.label}\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 8,\r\n height: 8,\r\n borderRadius: \"50%\",\r\n bgcolor: leg.color,\r\n }}\r\n />\r\n <Typography\r\n sx={{\r\n fontSize: \"11px\",\r\n color: \"rgba(0,0,0,0.6)\",\r\n fontWeight: 500,\r\n marginTop: {xs: \"1px\", sm: 0}\r\n }}\r\n >\r\n {leg.label}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n )}\r\n </Box>\r\n\r\n {item.footer && (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n mt: 2,\r\n pt: 2,\r\n borderTop: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n variant=\"caption\"\r\n sx={{ color: \"#606062\", fontWeight: 600 }}\r\n >\r\n {item.footer.left}\r\n </Typography>\r\n <Typography\r\n variant=\"caption\"\r\n sx={{ color: \"#606062\", fontWeight: 600 }}\r\n >\r\n {item.footer.right}\r\n </Typography>\r\n </Box>\r\n )}\r\n </CardContent>\r\n </Card>\r\n </Grid>\r\n );\r\n};\r\n\r\nexport default RenderChartCard;\r\n","import React, { lazy, Suspense } from \"react\";\r\nimport {\r\n Box,\r\n Typography,\r\n Card,\r\n CardContent,\r\n ThemeProvider,\r\n IconButton,\r\n Grid,\r\n CircularProgress,\r\n} from \"@mui/material\";\r\nimport { MoreHoriz as MoreHorizIcon, Update } from \"@mui/icons-material\";\r\nimport { theme } from \"../config/customTheme\";\r\nimport MetricSelector from \"./MetricSelector\";\r\nimport RevenueChart from \"./RevenueChart\";\r\nimport RenderChartCard from \"./UI/RenderChartCard\";\r\n\r\nconst PerformanceSection = lazy(() => import(\"./UI/PerformanceSection\"));\r\nconst Overview = lazy(() => import(\"./Overview\"));\r\nconst RecurringRevenueSection = lazy(() => import(\"./UI/RecurringRevenueSection\"));\r\nconst RecurringPlans = lazy(() => import(\"./UI/RecurringPlans\"));\r\nconst DonorBehavior = lazy(() => import(\"./UI/DonorBehavior\"));\r\nconst UpdateEmails = lazy(() => import(\"./UI/UpdateEmails\"));\r\nconst NewOverview = lazy(() => import(\"./UI/NewOverview\"));\r\nconst Dashboard = ({\r\n apiData = {},\r\n overviewType = \"overall\",\r\n dateName = \"Last Period\",\r\n exportTrigger = 0\r\n}) => {\r\n\r\n\r\n\r\n\r\n return (\r\n <ThemeProvider theme={theme}>\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <NewOverview apiData={apiData} activeSection={overviewType} dateName={dateName} exportTrigger={exportTrigger} />\r\n </Suspense>\r\n\r\n {/* <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <PerformanceSection apiData={apiData} performanceData={performanceData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <RecurringPlans apiData={apiData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <RecurringRevenueSection apiData={apiData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <DonorBehavior apiData={apiData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <UpdateEmails apiData={apiData} />\r\n </Suspense> */}\r\n </ThemeProvider>\r\n );\r\n};\r\n\r\nexport default Dashboard;\r\nexport { MetricSelector, RevenueChart };\r\n","export function formatNumber(num) {\r\n if (num >= 1_000_000_000) {\r\n return (num / 1_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"B\";\r\n }\r\n\r\n if (num >= 1_000_000) {\r\n return (num / 1_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"M\";\r\n }\r\n\r\n if (num >= 1_000) {\r\n return (num / 1_000).toFixed(1).replace(/\\.0$/, \"\") + \"K\";\r\n }\r\n\r\n return (num ?? 0).toString();\r\n}","import { Box, Button, Grid, Typography, CircularProgress } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport { useState, lazy, Suspense, useEffect } from \"react\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\nconst OverallSection = lazy(() => import(\"./OverallSection\"));\r\nconst PaidSection = lazy(() => import(\"./PaidSection\"));\r\nconst OrganicSection = lazy(() => import(\"./OrganicSection\"));\r\nconst EmailSection = lazy(() => import(\"./EmailSection\"));\r\n\r\nconst NewOverview = ({ apiData = {}, activeSection: activeSectionProp, dateName = \"Last Period\", exportTrigger = 0 }) => {\r\n const initialMetric = \"Revenue\";\r\n const revenueData = apiData?.revenueData || [\r\n 3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000,\r\n ];\r\n const donationsData = apiData?.donationsData || [\r\n 15, 22, 18, 30, 25, 35, 42, 45, 28,\r\n ];\r\n const categories = apiData?.categories || [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n ];\r\n const [metric, setMetric] = useState(initialMetric);\r\n const [activeSection, setActiveSection] = useState(\"Overall\");\r\n\r\n useEffect(() => {\r\n if (activeSectionProp) {\r\n const capitalized =\r\n activeSectionProp.charAt(0).toUpperCase() +\r\n activeSectionProp.slice(1).toLowerCase();\r\n setActiveSection(capitalized);\r\n }\r\n }, [activeSectionProp]);\r\n\r\n useEffect(() => {\r\n if (exportTrigger <= 0) return;\r\n\r\n const buildAndDownloadPdf = async () => {\r\n try {\r\n const [{ jsPDF }, autoTableModule] = await Promise.all([\r\n import(\"jspdf\"),\r\n import(\"jspdf-autotable\"),\r\n ]);\r\n const autoTable =\r\n autoTableModule.default || autoTableModule.autoTable || autoTableModule;\r\n\r\n const growth = apiData?.overviewStats?.overview?.growthPercentage || {};\r\n const overview = apiData?.overviewStats?.overview || {};\r\n const dateLabel = dateName || \"Last Period\";\r\n const generatedAt = new Date();\r\n const generatedLabel = `${generatedAt.toLocaleDateString()} ${generatedAt.toLocaleTimeString()}`;\r\n const fmtPct = (value, digits = 2) => `${Number(value || 0).toFixed(digits)}%`;\r\n const fmtSigned = (value, suffix = \"\") => {\r\n const numeric = Number(value || 0);\r\n const sign = numeric > 0 ? \"+\" : \"\";\r\n return `${sign}${numeric.toFixed(2)}${suffix}`;\r\n };\r\n\r\n const doc = new jsPDF({ unit: \"pt\", format: \"a4\" });\r\n const pageWidth = doc.internal.pageSize.getWidth();\r\n const marginX = 40;\r\n const contentWidth = pageWidth - marginX * 2;\r\n const cardGap = 10;\r\n const cardWidth = (contentWidth - cardGap * 2) / 3;\r\n\r\n const addHeader = () => {\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setTextColor(17, 24, 39);\r\n doc.setFontSize(18);\r\n doc.text(\"Madinah\", marginX, 34);\r\n doc.setFontSize(10);\r\n doc.setTextColor(75, 85, 99);\r\n doc.text(\"PERFORMANCE REPORT\", marginX, 50);\r\n doc.setTextColor(17, 24, 39);\r\n doc.setFontSize(13);\r\n doc.text(\"Dashboard overview — Overall\", marginX, 72);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(10);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(`${dateLabel} · 30-day window · Generated ${generatedLabel}`, marginX, 88);\r\n const activeFilters = apiData?.activeFilters || \"\";\r\n if (activeFilters) {\r\n doc.setFontSize(8.5);\r\n doc.setTextColor(55, 65, 81);\r\n doc.text(`ACTIVE FILTERS ${activeFilters}`, marginX, 100);\r\n }\r\n };\r\n\r\n const addFooter = (pageNumber, totalPages) => {\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setTextColor(107, 114, 128);\r\n doc.setFontSize(8.5);\r\n doc.text(\r\n `Confidential · Generated by Dashboard · ${generatedLabel} · Page ${pageNumber} of ${totalPages} · madinah.com`,\r\n marginX,\r\n 818\r\n );\r\n };\r\n\r\n const metricCard = ({ x, y, title, value, trend, detail }) => {\r\n const positive = !`${trend}`.trim().startsWith(\"-\");\r\n doc.setDrawColor(229, 231, 235);\r\n doc.setFillColor(255, 255, 255);\r\n doc.roundedRect(x, y, cardWidth, 96, 6, 6, \"FD\");\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(9);\r\n doc.setTextColor(75, 85, 99);\r\n doc.text(title.toUpperCase(), x + 10, y + 16);\r\n doc.setFontSize(17);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(value, x + 10, y + 42);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9.5);\r\n doc.setTextColor(...(positive ? [22, 163, 74] : [220, 38, 38]));\r\n doc.text(trend, x + 10, y + 61);\r\n doc.setTextColor(107, 114, 128);\r\n doc.setFontSize(8.5);\r\n doc.text(detail, x + 10, y + 77, { maxWidth: cardWidth - 20 });\r\n };\r\n\r\n const donorMixRaw = apiData?.donorPieChartData;\r\n let newDonorsCount = 0;\r\n let returningDonorsCount = 0;\r\n let avgGift = 0;\r\n if (Array.isArray(donorMixRaw)) {\r\n const newDonorsObj =\r\n donorMixRaw.find((d) => d.type === \"New Donors\" || d.type === \"New donors\") || {};\r\n const returningDonorsObj =\r\n donorMixRaw.find((d) => d.type === \"Returning Donors\" || d.type === \"Returning\") || {};\r\n newDonorsCount = newDonorsObj.totalDonations || 0;\r\n returningDonorsCount = returningDonorsObj.totalDonations || 0;\r\n const totalAmount = (newDonorsObj.totalAmount || 0) + (returningDonorsObj.totalAmount || 0);\r\n const totalCount = newDonorsCount + returningDonorsCount;\r\n avgGift = totalCount > 0 ? Number((totalAmount / totalCount).toFixed(2)) : 0;\r\n } else if (donorMixRaw && typeof donorMixRaw === \"object\") {\r\n newDonorsCount = donorMixRaw.newDonors || 0;\r\n returningDonorsCount = donorMixRaw.returningDonors || 0;\r\n avgGift = donorMixRaw.avgGift || 0;\r\n }\r\n\r\n const activeCampaignRows = (apiData?.activeCampaigns || []).map((campaign) => [\r\n campaign.title || \"Untitled Campaign\",\r\n `$${formatNumber(campaign.collectedAmount || 0)}`,\r\n `${Math.round(((campaign.collectedAmount || 0) / (campaign.usdTargetAmount || 1)) * 100)}%`,\r\n `${formatNumber(campaign.uniqueDonationsCount || 0)}`,\r\n `$${formatNumber(campaign.avgGift || 0)}`,\r\n campaign.status || \"Active\",\r\n ]);\r\n\r\n const trafficRows = (apiData?.trafficSourceData?.data || []).map((item) => [\r\n item?.source || item?.name || \"-\",\r\n `${formatNumber(item?.donors || item?.totalDonors || 0)}`,\r\n `$${formatNumber(item?.revenue || item?.raised || 0)}`,\r\n ]);\r\n\r\n const donorMixRows = [\r\n [\"New donors\", `${formatNumber(newDonorsCount)}`],\r\n [\"Returning donors\", `${formatNumber(returningDonorsCount)}`],\r\n [\"Avg gift\", `$${formatNumber(avgGift)}`],\r\n ];\r\n const recurringTotal = Number(apiData?.recurringBarChartData?.recurringTotal || 0);\r\n const oneTimeTotalValue = Number(apiData?.recurringBarChartData?.oneTimeTotal || 0);\r\n const donorGeographyRaw = apiData?.donorGeography;\r\n const donorGeographyList = Array.isArray(donorGeographyRaw)\r\n ? donorGeographyRaw\r\n : Array.isArray(donorGeographyRaw?.data)\r\n ? donorGeographyRaw.data\r\n : [];\r\n const donorGeoRows = donorGeographyList.slice(0, 6).map((item) => [\r\n item.country || item.name || \"-\",\r\n `${formatNumber(item.totalDonors || item.donors || 0)}`,\r\n `${formatNumber(item.percentage || 0)}%`,\r\n ]);\r\n\r\n const refundsData = apiData?.refundAndChargeBacks || {};\r\n const totalRaised = Number(overview?.totalRevenue || 0);\r\n const netRaised = Number(overview?.netRevenue || 0);\r\n const totalDonors = Number(overview?.totalDonations || 0);\r\n const convRate = Number(overview?.conversionRate || 0);\r\n const avgDonation = Number(overview?.overallAVGDonations || 0);\r\n const totalVisits = Number(apiData?.totalVisits || 0);\r\n const passThrough = totalRaised > 0 ? `${((netRaised / totalRaised) * 100).toFixed(1)}% pass-through` : \"0% pass-through\";\r\n const refundRate = Number(refundsData?.refundRate || 0);\r\n const chargebackRate = Number(refundsData?.chargebackRate || 0);\r\n\r\n const page1Cards = [\r\n {\r\n title: \"Total Raised\",\r\n value: `$${formatNumber(totalRaised)}`,\r\n trend: `${fmtSigned(growth?.totalRevenue, \"%\")} vs ${dateLabel}`,\r\n detail: `${passThrough} · ${formatNumber(totalDonors)} donors · $${formatNumber(avgDonation)} avg · ${formatNumber(totalVisits)} visits`,\r\n },\r\n {\r\n title: \"Net Raised\",\r\n value: `$${formatNumber(netRaised)}`,\r\n trend: fmtSigned(growth?.netRevenue, \"%\"),\r\n detail: passThrough,\r\n },\r\n {\r\n title: \"Total Donors\",\r\n value: `${formatNumber(totalDonors)}`,\r\n trend: fmtSigned(growth?.totalDonations, \"%\"),\r\n detail: `${formatNumber(newDonorsCount)} new · ${formatNumber(returningDonorsCount)} returning`,\r\n },\r\n {\r\n title: \"Avg Donation\",\r\n value: `$${formatNumber(avgDonation)}`,\r\n trend: fmtSigned(growth?.overallAVGDonations, \"%\"),\r\n detail: `Median $${formatNumber(apiData?.medianGift || 0)} · top decile $${formatNumber(apiData?.topDecileGift || 0)}`,\r\n },\r\n {\r\n title: \"ROAS\",\r\n value: `${formatNumber(apiData?.roasCard ?? 0)}x`,\r\n trend: fmtSigned(apiData?.roasCardPrev, \"x\"),\r\n detail: `$${formatNumber(apiData?.adSpend || 0)} spend · $${formatNumber(apiData?.attributedRevenue || 0)} attrib.`,\r\n },\r\n {\r\n title: \"Conversion\",\r\n value: fmtPct(convRate, 1),\r\n trend: fmtSigned(growth?.conversionRate, \"pp\"),\r\n detail: `${formatNumber(totalDonors)} from ${formatNumber(totalVisits)} visits`,\r\n },\r\n {\r\n title: \"Refund Rate\",\r\n value: fmtPct(refundRate, 2),\r\n trend: fmtSigned(refundsData?.refundRateChange, \"pp\"),\r\n detail: `${formatNumber(refundsData?.refundCount || 0)} refunds this period`,\r\n },\r\n ];\r\n\r\n addHeader();\r\n let y = 114;\r\n page1Cards.forEach((card, idx) => {\r\n const col = idx % 3;\r\n const row = Math.floor(idx / 3);\r\n metricCard({\r\n x: marginX + col * (cardWidth + cardGap),\r\n y: y + row * (96 + 10),\r\n ...card,\r\n });\r\n });\r\n\r\n let trendY = y + Math.ceil(page1Cards.length / 3) * (96 + 10) + 8;\r\n doc.setDrawColor(229, 231, 235);\r\n doc.roundedRect(marginX, trendY, contentWidth, 130, 6, 6);\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(12);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(\"Total revenue trend\", marginX + 12, trendY + 20);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9.5);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(\"Last 30 days · daily aggregation\", marginX + 12, trendY + 35);\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(14);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(`$${formatNumber(totalRaised)}`, marginX + 12, trendY + 58);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9.5);\r\n doc.setTextColor(22, 163, 74);\r\n doc.text(`${fmtSigned(growth?.totalRevenue, \"%\")} vs ${dateLabel}`, marginX + 110, trendY + 58);\r\n autoTable(doc, {\r\n startY: trendY + 68,\r\n head: [[\"Channel\", \"Total\"]],\r\n body: [\r\n [\"Email\", `$${formatNumber(apiData?.overviewStats?.totalRaised?.email?.reduce?.((s, i) => s + (i?.value || 0), 0) || 0)}`],\r\n [\"Organic\", `$${formatNumber(apiData?.overviewStats?.totalRaised?.organic?.reduce?.((s, i) => s + (i?.value || 0), 0) || 0)}`],\r\n [\"Paid Ads\", `$${formatNumber(apiData?.overviewStats?.totalRaised?.paidAds?.reduce?.((s, i) => s + (i?.value || 0), 0) || 0)}`],\r\n ],\r\n margin: { left: marginX + 12, right: marginX + 12 },\r\n styles: { fontSize: 9, cellPadding: 4 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n alternateRowStyles: { fillColor: [248, 250, 252] },\r\n });\r\n addFooter(1, 2);\r\n\r\n doc.addPage();\r\n addHeader();\r\n\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(12);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(\"Active campaigns\", marginX, 112);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9.5);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(\"Live fundraisers ranked by velocity\", marginX, 126);\r\n doc.setTextColor(99, 102, 241);\r\n doc.text(\"View all →\", pageWidth - marginX, 126, { align: \"right\" });\r\n autoTable(doc, {\r\n startY: 136,\r\n head: [[\"CAMPAIGN\", \"RAISED\", \"PROGRESS\", \"DONORS\", \"AVG GIFT\", \"STATUS\"]],\r\n body: activeCampaignRows.length ? activeCampaignRows : [[\"-\", \"$0\", \"0%\", \"0\", \"$0\", \"-\"]],\r\n margin: { left: marginX, right: marginX },\r\n styles: { fontSize: 9, cellPadding: 5 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n alternateRowStyles: { fillColor: [248, 250, 252] },\r\n });\r\n\r\n const donorCardTop = (doc.lastAutoTable?.finalY || 230) + 14;\r\n doc.setDrawColor(229, 231, 235);\r\n doc.roundedRect(marginX, donorCardTop, 250, 108, 6, 6);\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setFontSize(11);\r\n doc.setTextColor(17, 24, 39);\r\n doc.text(\"Donor mix\", marginX + 10, donorCardTop + 18);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(\"Acquisition vs retention\", marginX + 10, donorCardTop + 32);\r\n autoTable(doc, {\r\n startY: donorCardTop + 38,\r\n head: [[\"Type\", \"Value\"]],\r\n body: donorMixRows,\r\n margin: { left: marginX + 10, right: pageWidth - (marginX + 240) },\r\n styles: { fontSize: 9, cellPadding: 4 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n });\r\n\r\n autoTable(doc, {\r\n startY: donorCardTop,\r\n head: [[\"SOURCE\", \"DONORS\", \"REVENUE\"]],\r\n body: trafficRows.length > 0 ? trafficRows : [[\"-\", \"0\", \"$0\"]],\r\n margin: { left: marginX + 266, right: marginX },\r\n styles: { fontSize: 9, cellPadding: 5 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n alternateRowStyles: { fillColor: [248, 250, 252] },\r\n });\r\n\r\n const cardsTop = (doc.lastAutoTable?.finalY || donorCardTop + 120) + 12;\r\n const halfGap = 12;\r\n const halfW = (contentWidth - halfGap) / 2;\r\n\r\n const drawInfoCard = ({ x, y, w, h, title, subtitle, lines = [] }) => {\r\n doc.setDrawColor(229, 231, 235);\r\n doc.roundedRect(x, y, w, h, 6, 6);\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setTextColor(17, 24, 39);\r\n doc.setFontSize(10);\r\n doc.text(title, x + 10, y + 16);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(8.5);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(subtitle, x + 10, y + 30);\r\n doc.setTextColor(55, 65, 81);\r\n lines.forEach((line, idx) => {\r\n doc.text(line, x + 10, y + 46 + idx * 12, { maxWidth: w - 20 });\r\n });\r\n };\r\n\r\n drawInfoCard({\r\n x: marginX,\r\n y: cardsTop,\r\n w: halfW,\r\n h: 86,\r\n title: \"Recurring vs one-time\",\r\n subtitle: \"Donation type · weekly\",\r\n lines: [\r\n `Recurring $${formatNumber(recurringTotal)}`,\r\n `One-time $${formatNumber(oneTimeTotalValue)}`,\r\n ],\r\n });\r\n drawInfoCard({\r\n x: marginX + halfW + halfGap,\r\n y: cardsTop,\r\n w: halfW,\r\n h: 86,\r\n title: \"Refunds & chargebacks\",\r\n subtitle: \"Trust health · 30-day window\",\r\n lines: [\r\n `Refunds ${fmtPct(refundRate, 2)} (${fmtSigned(refundsData?.refundRateChange, \"pp\")})`,\r\n `Chargebacks ${fmtPct(chargebackRate, 2)} (${fmtSigned(refundsData?.chargebackRateChange, \"pp\")})`,\r\n `$${formatNumber(refundsData?.refundAmount || 0)} refunded · $${formatNumber(refundsData?.disputedAmount || 0)} disputed`,\r\n ],\r\n });\r\n drawInfoCard({\r\n x: marginX,\r\n y: cardsTop + 96,\r\n w: halfW,\r\n h: 88,\r\n title: \"Order Bump\",\r\n subtitle: \"Revenue trend · last 30 days\",\r\n lines: [\r\n `$${formatNumber(apiData?.orderBumpDetails?.totalRevenue || 0)} (${fmtSigned(apiData?.orderBumpDetails?.growthPercentage, \"%\")})`,\r\n `Avg/day $${formatNumber(apiData?.orderBumpDetails?.averagePerDay || 0)} · Orders ${formatNumber(apiData?.orderBumpDetails?.totalOrders || 0)}`,\r\n ],\r\n });\r\n drawInfoCard({\r\n x: marginX + halfW + halfGap,\r\n y: cardsTop + 96,\r\n w: halfW,\r\n h: 88,\r\n title: \"Upsell / Downsell / Referrals\",\r\n subtitle: \"Acceptance & raised\",\r\n lines: [\r\n `Upsell $${formatNumber(apiData?.upSellDetails?.raised || 0)} · ${fmtPct(apiData?.upSellDetails?.acceptanceRate || 0, 1)} accepted`,\r\n `Downsell $${formatNumber(apiData?.downSellDetails?.raised || 0)} · ${fmtPct(apiData?.downSellDetails?.acceptanceRate || 0, 1)} accepted`,\r\n `Referrals $${formatNumber(apiData?.referralDetails?.totalRevenue || 0)} · ${fmtPct(apiData?.referralDetails?.conversionRate || 0, 1)} conv.`,\r\n ],\r\n });\r\n\r\n if (donorGeoRows.length > 0) {\r\n autoTable(doc, {\r\n startY: cardsTop + 192,\r\n head: [[\"COUNTRY\", \"DONORS\", \"SHARE\"]],\r\n body: donorGeoRows,\r\n margin: { left: marginX, right: marginX },\r\n styles: { fontSize: 9, cellPadding: 4.5 },\r\n headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] },\r\n alternateRowStyles: { fillColor: [248, 250, 252] },\r\n });\r\n }\r\n addFooter(2, 2);\r\n\r\n const safeDate = new Date().toISOString().slice(0, 10);\r\n doc.save(`DashboardOverview_report_${safeDate}.pdf`);\r\n } catch (error) {\r\n // Keep console message for host app debugging when export dependency is missing.\r\n console.error(\"Failed to export overall dashboard PDF:\", error);\r\n }\r\n };\r\n\r\n buildAndDownloadPdf();\r\n }, [exportTrigger]);\r\n\r\n const currentData = metric === \"Revenue\" ? revenueData : donationsData;\r\n const oneTimeData = apiData?.oneTimeDonations || [];\r\n const oneTimeValues =\r\n oneTimeData.length > 0\r\n ? oneTimeData.map((item) => item.value)\r\n : currentData;\r\n const oneTimeCategories =\r\n oneTimeData.length > 0 ? oneTimeData.map((item) => item.date) : categories;\r\n const oneTimeTotal =\r\n oneTimeData.length > 0\r\n ? oneTimeValues.reduce((sum, val) => sum + val, 0)\r\n : 7100;\r\n\r\n const firstInstData = apiData?.firstInstallmentRevenue || [];\r\n const firstInstValues =\r\n firstInstData.length > 0\r\n ? firstInstData.map((item) => item.value)\r\n : currentData.slice(-7);\r\n const firstInstCategories =\r\n firstInstData.length > 0\r\n ? firstInstData.map((item) => item.date)\r\n : categories.slice(-7);\r\n const firstInstTotal =\r\n firstInstData.length > 0\r\n ? firstInstValues.reduce((sum, val) => sum + val, 0)\r\n : 510;\r\n\r\n const totalRevData = Array.isArray(apiData?.totalRevenue)\r\n ? apiData.totalRevenue\r\n : [];\r\n const totalRevValues =\r\n totalRevData.length > 0\r\n ? totalRevData.map((item) => item.value)\r\n : currentData;\r\n const totalRevCategories =\r\n totalRevData.length > 0\r\n ? totalRevData.map((item) => item.date)\r\n : categories;\r\n const totalRevTotal =\r\n totalRevData.length > 0\r\n ? totalRevValues.reduce((sum, val) => sum + val, 0)\r\n : 9200;\r\n\r\n const avgDonData = Array.isArray(apiData?.averageDonation) ? apiData.averageDonation : [];\r\n const avgDonValues = avgDonData.length > 0 ? avgDonData.map(item => item.value) : currentData.map((v) => v * 0.5);\r\n const avgDonCategories = avgDonData.length > 0 ? avgDonData.map(item => item.date) : categories;\r\n const avgDonOverall = avgDonData.length > 0 ? (avgDonValues.reduce((sum, val) => sum + val, 0) / avgDonValues.length) : 42.80;\r\n\r\n const tipData = Array.isArray(apiData?.tipAmount) ? apiData.tipAmount : [];\r\n const tipValues = tipData.length > 0 ? tipData.map(item => item.value) : currentData.map((v) => v * 0.2);\r\n const tipCategories = tipData.length > 0 ? tipData.map(item => item.date) : categories;\r\n const tipTotal = tipData.length > 0 ? tipValues.reduce((sum, val) => sum + val, 0) : 1250;\r\n\r\n const convRateData = Array.isArray(apiData?.conversionRate) ? apiData.conversionRate : [];\r\n const convRateValues = convRateData.length > 0 ? convRateData.map(item => item.value) : [1.5, 1.8, 1.7, 2.1, 2.0, 1.9, 2.2, 2.5, 2.0];\r\n const convRateCategories = convRateData.length > 0 ? convRateData.map(item => item.date) : categories;\r\n const convRateAvg = convRateData.length > 0 ? (convRateValues.reduce((sum, val) => sum + val, 0) / convRateValues.length) : 2.0;\r\n\r\n const organicVisData = Array.isArray(apiData?.organicVisits) ? apiData.organicVisits : [];\r\n const paidVisData = Array.isArray(apiData?.paidVisits) ? apiData.paidVisits : [];\r\n const organicVisValues = organicVisData.length > 0 ? organicVisData.map(item => item.value) : [500, 600, 550, 700, 800, 750, 900, 1000, 950];\r\n const paidVisValues = paidVisData.length > 0 ? paidVisData.map(item => item.value) : [200, 250, 220, 300, 350, 320, 400, 450, 420];\r\n const trafficCategories = organicVisData.length > 0 ? organicVisData.map(item => item.date) : categories;\r\n\r\n const primaryCharts = [\r\n {\r\n label: \"Total Raised\",\r\n value:\r\n totalRevData.length > 0\r\n ? `$${totalRevTotal.toLocaleString()}`\r\n : typeof apiData?.totalRevenue === \"string\"\r\n ? apiData.totalRevenue\r\n : \"$9,200.00\",\r\n subValue: `Total Donations: ${apiData?.totalDonations || 215}`,\r\n data: totalRevValues,\r\n categories: totalRevCategories,\r\n showSelector: true,\r\n },\r\n {\r\n label: \"First installments\",\r\n value: apiData?.firstInstallmentRevenue\r\n ? `$${firstInstTotal.toLocaleString()}`\r\n : \"$510.00\",\r\n data: firstInstValues,\r\n categories: firstInstCategories,\r\n },\r\n {\r\n label: \"One-time donations\",\r\n value: apiData?.oneTimeDonations\r\n ? `$${oneTimeTotal.toLocaleString()}`\r\n : \"$7,100.00\",\r\n data: oneTimeValues,\r\n categories: oneTimeCategories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: \"New vs Returning Donors\",\r\n series: [\r\n { name: \"New Donors\", data: [10, 15, 12, 20, 18, 25, 30, 35, 20] },\r\n { name: \"Returning\", data: [5, 7, 6, 10, 7, 10, 12, 10, 8] },\r\n ],\r\n categories: categories,\r\n stacked: true,\r\n footer: { left: \"New donors: 195\", right: \"Returning donors: 20\" },\r\n },\r\n {\r\n label: \"Average Donation Amount\",\r\n value: apiData?.averageDonation ? `$${avgDonOverall.toFixed(2)}` : \"$42.80\",\r\n data: avgDonValues,\r\n categories: avgDonCategories,\r\n },\r\n {\r\n label: \"Tip Amount\",\r\n value: apiData?.tipAmount ? `$${tipTotal.toLocaleString()}` : \"$1,250.00\",\r\n subValue: `Number of Tips: ${apiData?.totalTips || 110}`,\r\n data: tipValues,\r\n categories: tipCategories,\r\n },\r\n ];\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: \"Conversion Rate\",\r\n value: apiData?.conversionRate ? `${convRateAvg.toFixed(1)}%` : \"2%\",\r\n data: convRateValues,\r\n categories: convRateCategories,\r\n },\r\n {\r\n label: \"Organic vs Paid Traffic\",\r\n series: [\r\n {\r\n name: \"Organic\",\r\n data: organicVisValues,\r\n },\r\n { name: \"Paid\", data: paidVisValues },\r\n ],\r\n categories: trafficCategories,\r\n stacked: true,\r\n },\r\n {\r\n label: \"Organic Donations\",\r\n value: \"120\",\r\n data: [8, 12, 10, 15, 14, 18, 22, 20, 12],\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const quaternaryCharts = [\r\n {\r\n label: \"Email Marketing\",\r\n value: \"56\",\r\n data: [45, 48, 52, 50, 56, 54, 58, 60, 56],\r\n categories: categories,\r\n },\r\n {\r\n label: \"Traffic source\",\r\n value: \"23%\",\r\n data: [18, 22, 20, 25, 23, 21, 24, 26, 23],\r\n categories: categories,\r\n },\r\n {\r\n label: \"URL\",\r\n value: \"10%\",\r\n data: [8, 9, 11, 10, 10, 12, 9, 11, 10],\r\n categories: categories,\r\n },\r\n ];\r\n\r\n return (\r\n <Box sx={{ minHeight: \"100vh\", display: \"flex\", flexDirection: \"column\", alignItems: \"stretch\" }}>\r\n <Suspense\r\n fallback={\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n py: 10,\r\n }}\r\n >\r\n <CircularProgress color=\"primary\" />\r\n </Box>\r\n }\r\n >\r\n {activeSection === \"Overall\" && (\r\n <OverallSection\r\n apiData={apiData}\r\n primaryCharts={primaryCharts}\r\n secondaryCharts={secondaryCharts}\r\n tertiaryCharts={tertiaryCharts}\r\n quaternaryCharts={quaternaryCharts}\r\n dateName={dateName}\r\n />\r\n )}\r\n {activeSection === \"Paid\" && <PaidSection apiData={apiData} />}\r\n {activeSection === \"Organic\" && (\r\n <Box sx={{}}>\r\n <OrganicSection apiData={apiData} />\r\n </Box>\r\n )}\r\n {activeSection === \"Email\" && (\r\n <Box sx={{}}>\r\n <EmailSection />\r\n </Box>\r\n )}\r\n </Suspense>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default NewOverview;\r\n","import Grid from \"@mui/material/Grid\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\n\r\nconst PerformanceSection = ({ title, performanceData = {} }) => {\r\n const revenueData = [3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000];\r\n const visitorsData = [100, 200, 150, 250, 300, 275, 325, 350, 280];\r\n const categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'];\r\n\r\n const revPerVisData = Array.isArray(performanceData?.revenuePerVisitor) ? performanceData.revenuePerVisitor : [];\r\n const revPerVisValues = revPerVisData.length > 0 ? revPerVisData.map(item => item.value) : revenueData;\r\n const revPerVisCategories = revPerVisData.length > 0 ? revPerVisData.map(item => item.date) : categories;\r\n const revPerVisTotal = revPerVisData.length > 0 ? (revPerVisValues.reduce((sum, val) => sum + val, 0) / revPerVisValues.length) : 5.12;\r\n\r\n const totalVisData = Array.isArray(performanceData?.totalVisits) ? performanceData.totalVisits : [];\r\n const totalVisValues = totalVisData.length > 0 ? totalVisData.map(item => item.value) : visitorsData;\r\n const totalVisCategories = totalVisData.length > 0 ? totalVisData.map(item => item.date) : categories;\r\n const totalVisTotal = totalVisData.length > 0 ? totalVisValues.reduce((sum, val) => sum + val, 0) : 1200;\r\n\r\n const upSellData = Array.isArray(performanceData?.upSellRaisedAmount) ? performanceData.upSellRaisedAmount : [];\r\n const upSellValues = upSellData.length > 0 ? upSellData.map(item => item.value) : revenueData;\r\n const upSellCategories = upSellData.length > 0 ? upSellData.map(item => item.date) : categories;\r\n const upSellTotal = upSellData.length > 0 ? upSellValues.reduce((sum, val) => sum + val, 0) : 11050;\r\n\r\n const downSellData = Array.isArray(performanceData?.downSellRaisedAmount) ? performanceData.downSellRaisedAmount : [];\r\n const downSellValues = downSellData.length > 0 ? downSellData.map(item => item.value) : revenueData;\r\n const downSellCategories = downSellData.length > 0 ? downSellData.map(item => item.date) : categories;\r\n const downSellTotal = downSellData.length > 0 ? downSellValues.reduce((sum, val) => sum + val, 0) : 1200;\r\n\r\n const abandonedData = Array.isArray(performanceData?.abandonedDonationRecoveryCount) ? performanceData.abandonedDonationRecoveryCount : [];\r\n const abandonedValues = abandonedData.length > 0 ? abandonedData.map(item => item.value) : visitorsData;\r\n const abandonedCategories = abandonedData.length > 0 ? abandonedData.map(item => item.date) : categories;\r\n const abandonedTotal = abandonedData.length > 0 ? abandonedValues.reduce((sum, val) => sum + val, 0) : 14;\r\n\r\n const primaryCharts = [\r\n {\r\n label: 'Revenue per Visitor',\r\n value: performanceData?.revenuePerVisitor ? `$${revPerVisTotal.toFixed(2)}` : '$5.12',\r\n data: revPerVisValues,\r\n categories: revPerVisCategories,\r\n },\r\n {\r\n label: 'Visitors',\r\n value: performanceData?.totalVisits ? totalVisTotal.toLocaleString() : '1200',\r\n data: totalVisValues,\r\n categories: totalVisCategories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: 'Upsell Acceptance Rate',\r\n value: '23%',\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n {\r\n label: 'Upsell Raised Amount',\r\n value: performanceData?.upSellRaisedAmount ? `$${upSellTotal.toLocaleString()}` : '$1,1050',\r\n data: upSellValues,\r\n categories: upSellCategories,\r\n },\r\n ]\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: 'Downsell Acceptance Rate',\r\n value: '15%',\r\n data: visitorsData,\r\n categories: categories\r\n },\r\n {\r\n label: 'Downsell Raised Amount',\r\n value: performanceData?.downSellRaisedAmount ? `$${downSellTotal.toLocaleString()}` : '$1,200',\r\n data: downSellValues,\r\n categories: downSellCategories\r\n }\r\n ]\r\n\r\n const quaternaryCharts = [\r\n {\r\n label: 'Abandoned Donation Recovery',\r\n value: performanceData?.abandonedDonationRecoveryCount ? abandonedTotal.toLocaleString() : '14',\r\n data: abandonedValues,\r\n categories: abandonedCategories\r\n },\r\n ]\r\n\r\n return (\r\n <Box sx={{ minHeight: \"100vh\", display: \"flex\", flexDirection: \"column\", alignItems: \"stretch\" }}>\r\n <Box sx={{ display: 'flex' }}>\r\n <Typography variant=\"h4\" gutterBottom sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 2, mt: 2 }}>\r\n Performance\r\n </Typography>\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 1 }}>\r\n {primaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {secondaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {tertiaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {quaternaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={12} isPremium={true} />)}\r\n </Grid>\r\n </Box>\r\n );\r\n};\r\nexport default PerformanceSection;","import {\r\n Box,\r\n Card,\r\n CardContent,\r\n Typography,\r\n LinearProgress,\r\n} from '@mui/material';\r\n\r\nconst data = [\r\n { range: \"$0 – $12\", plans: 21, share: 24 },\r\n { range: \"$12 – $12\", plans: 14, share: 16 },\r\n { range: \"$12 – $18\", plans: 19, share: 22 },\r\n { range: \"$18 – $28\", plans: 18, share: 21 },\r\n { range: \"$28 and more\", plans: 15, share: 17 },\r\n];\r\n\r\nconst RecurringDonationAmounts = () => {\r\n return (\r\n <Card\r\n sx={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n height: \"100%\",\r\n }}\r\n >\r\n <CardContent sx={{ p: 3 }}>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Recurring donation amounts\r\n </Typography>\r\n <Typography\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"13px\",\r\n mb: 3,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Overview of recurring donation plans by amount\r\n </Typography>\r\n\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.5 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"100px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.range}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.share}\r\n sx={{\r\n height: 15,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: \"#6366F1\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#111\",\r\n minWidth: \"60px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {`${item.plans} · ${item.share}%`}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </CardContent>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default RecurringDonationAmounts;\r\n","import { Box, Grid, Typography } from \"@mui/material\"\r\nimport RenderChartCard from \"../RenderChartCard\"\r\nimport RecurringDonationAmounts from \"../RecurringDonationAmounts\"\r\n\r\nconst RecurringRevenueSection = () => {\r\n\r\n const revenueData = [3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000];\r\n const visitorsData = [100, 200, 150, 250, 300, 275, 325, 350, 280];\r\n const categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'];\r\n\r\n\r\n\r\n const primaryCharts = [\r\n {\r\n label: 'MRR',\r\n value: '$1026.52',\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: 'MRR growth rate',\r\n value: '24.65%',\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: 'Share of recurring revenue',\r\n value: '21.5%',\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ]\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: 'Average revenue per plan',\r\n value: '$38.44',\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: 'Churn rate',\r\n value: '5.4%',\r\n data: visitorsData,\r\n categories: categories,\r\n }\r\n ]\r\n\r\n return (\r\n <Box sx={{ minHeight: \"100vh\", display: \"flex\", flexDirection: \"column\", alignItems: \"stretch\" }}>\r\n <Box sx={{ display: 'flex' }}>\r\n <Typography variant=\"h4\" gutterBottom sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 2, mt: 2 }}>\r\n Recurring revenue\r\n </Typography>\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 1 }}>\r\n {primaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {secondaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n <Grid item xs={12} md={6} sx={{ display: 'flex' }}>\r\n <RecurringDonationAmounts />\r\n </Grid>\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {tertiaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n </Box>\r\n )\r\n}\r\n\r\nexport default RecurringRevenueSection\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Box, Typography, Table, TableBody, TableCell,\r\n TableContainer, TableHead, TableRow, IconButton,\r\n Menu, MenuItem\r\n} from \"@mui/material\";\r\nimport { MoreVert as MoreVertIcon, Check as CheckIcon, MoreHoriz as MoreHorizIcon } from \"@mui/icons-material\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport MetricSelector from \"../../MetricSelector\";\r\n\r\nconst UTM_COLORS = [\r\n \"#1877F2\", // Facebook blue\r\n \"#4267B2\", // FB darker blue\r\n \"#C13584\", // Instagram pink/purple\r\n \"#000000\", // Threads black\r\n];\r\n\r\nconst rawData = [\r\n {\r\n source: \"facebook\",\r\n donations: 156,\r\n totalRaised: 4520.50,\r\n series: {\r\n Revenue: [120, 250, 230, 670, 890, 340, 1221, 780, 900, 230],\r\n Donations: [12, 25, 23, 67, 89, 34, 121, 78, 90, 23]\r\n }\r\n },\r\n {\r\n source: \"fb\",\r\n donations: 89,\r\n totalRaised: 2150.25,\r\n series: {\r\n Revenue: [50, 100, 180, 250, 120, 80, 1150, 220, 450, 300],\r\n Donations: [5, 10, 18, 25, 12, 8, 115, 22, 45, 30]\r\n }\r\n },\r\n {\r\n source: \"ig\",\r\n donations: 245,\r\n totalRaised: 8950.75,\r\n series: {\r\n Revenue: [80, 150, 180, 120, 200, 150, 100, 1180, 250, 400],\r\n Donations: [8, 15, 18, 12, 20, 15, 10, 118, 25, 40]\r\n }\r\n },\r\n {\r\n source: \"th\",\r\n donations: 34,\r\n totalRaised: 850.00,\r\n series: {\r\n Revenue: [20, 50, 80, 120, 50, 1120, 1450, 850, 500, 800],\r\n Donations: [2, 5, 8, 12, 5, 112, 145, 85, 50, 80]\r\n }\r\n },\r\n];\r\n\r\nconst SORT_OPTIONS = [\r\n { label: \"Sort ascending\", value: \"asc\" },\r\n { label: \"Sort descending\", value: \"desc\" },\r\n];\r\n\r\nconst dateCategories = Array.from({ length: 10 }, (_, i) => {\r\n const d = new Date(2024, 2, 16 + i);\r\n return `${d.toLocaleString(\"default\", { month: \"short\" })} ${d.getDate()}`;\r\n});\r\n\r\nconst UTMPerformance = () => {\r\n const [sortMode, setSortMode] = useState(\"desc\");\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n const [metric, setMetric] = useState(\"Revenue\");\r\n const [parameter, setParameter] = useState(\"utm_source\");\r\n\r\n const sortedData = [...rawData].sort((a, b) => {\r\n const valA = metric === \"Revenue\" ? a.totalRaised : a.donations;\r\n const valB = metric === \"Revenue\" ? b.totalRaised : b.donations;\r\n if (sortMode === \"asc\") return valA - valB;\r\n if (sortMode === \"desc\") return valB - valA;\r\n return 0;\r\n });\r\n\r\n const chartSeries = rawData.map((d, i) => ({\r\n name: d.source,\r\n data: d.series[metric],\r\n color: UTM_COLORS[i],\r\n }));\r\n\r\n const chartOptions = {\r\n chart: {\r\n type: \"line\", height: 320, toolbar: { show: false },\r\n zoom: { enabled: false },\r\n animations: { enabled: false },\r\n },\r\n stroke: { curve: \"straight\", width: 1.5 },\r\n colors: UTM_COLORS,\r\n xaxis: {\r\n categories: dateCategories,\r\n tickAmount: 2,\r\n labels: { style: { fontSize: \"11px\", colors: \"#888\" } },\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n },\r\n yaxis: {\r\n opposite: true,\r\n min: 0,\r\n tickAmount: 3,\r\n labels: {\r\n formatter: (v) => metric === \"Revenue\" ? `$${Math.round(v)}` : Math.round(v),\r\n style: { fontSize: \"11px\", colors: \"#888\" },\r\n },\r\n },\r\n grid: { borderColor: \"#f0f0f0\", strokeDashArray: 0, padding: { left: 20 } },\r\n legend: { show: false },\r\n tooltip: {\r\n shared: true,\r\n custom: ({ dataPointIndex, w }) => {\r\n const date = dateCategories[dataPointIndex];\r\n const items = w.config.series.map((s, i) => {\r\n const val = s.data[dataPointIndex];\r\n return `<div style=\"display:flex;justify-content:space-between;gap:24px;padding:3px 0;font-size:12px\">\r\n <span style=\"display:flex;align-items:center;gap:6px\">\r\n <span style=\"display:inline-block;width:8px;height:8px;border-radius:50%;background:${UTM_COLORS[i]}\"></span>\r\n <span style=\"color:#333\">${s.name}</span>\r\n </span>\r\n <span style=\"font-weight:600;color:#111\">${metric === \"Revenue\" ? `$${val.toFixed(2)}` : val}</span>\r\n </div>`;\r\n }).join(\"\");\r\n return `<div style=\"background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:12px 16px;min-width:200px;box-shadow:0 4px 16px rgba(0,0,0,0.08)\">\r\n <div style=\"font-weight:600;font-size:13px;color:#111;margin-bottom:8px\">${date}</div>\r\n ${items}\r\n </div>`;\r\n },\r\n },\r\n markers: { size: 0 },\r\n };\r\n\r\n const BORDER = \"1px solid #f0f0f0\";\r\n const headerCellSx = {\r\n fontWeight: 600, fontSize: \"0.78rem\", color: \"#555\",\r\n borderBottom: \"1.5px solid #e8e8e8\", py: 1.5, px: 2,\r\n bgcolor: \"#fff\",\r\n };\r\n const cellSx = {\r\n fontSize: \"0.85rem\", color: \"#333\",\r\n borderBottom: BORDER, py: 1.5, px: 2,\r\n verticalAlign: \"middle\",\r\n };\r\n\r\n return (\r\n <Box sx={{ mt: 4 }}>\r\n <Typography variant=\"h4\" sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 3, textAlign: \"left\" }}>\r\n UTM Parameters\r\n </Typography>\r\n\r\n <Box sx={{ bgcolor: \"#ffffffff\", borderRadius: 4, border: BORDER, boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\", p: 2, overflow: \"hidden\" }}>\r\n <Box sx={{ display: 'flex', justifyContent: 'flex-start', gap: 1, mb: 2 }}>\r\n <MetricSelector\r\n metric={parameter}\r\n onMetricChange={setParameter}\r\n options={[\"utm_source\", \"utm_medium\", \"utm_campaign\", \"utm_content\", \"utm_term\"]}\r\n label=\"Parameter\"\r\n />\r\n <MetricSelector\r\n metric={metric}\r\n onMetricChange={setMetric}\r\n options={[\"Revenue\", \"Donations\"]}\r\n label=\"Metric\"\r\n />\r\n <IconButton\r\n sx={{\r\n border: \"1px solid #E9E9EB\",\r\n borderRadius: \"8px\",\r\n color: \"#000\",\r\n height: \"40px\",\r\n width: \"40px\",\r\n \"&:hover\": {\r\n borderColor: \"primary.main\",\r\n bgcolor: \"rgba(99, 99, 230, 0.04)\",\r\n },\r\n }}\r\n >\r\n <MoreHorizIcon sx={{ fontSize: \"1.2rem\" }} />\r\n </IconButton>\r\n </Box>\r\n <ReactApexChart options={chartOptions} series={chartSeries} type=\"line\" height={320} />\r\n\r\n <TableContainer>\r\n <Table sx={{ borderCollapse: \"collapse\" }}>\r\n <TableHead>\r\n <TableRow>\r\n <TableCell sx={{ ...headerCellSx }}>Parameter values</TableCell>\r\n <TableCell sx={{ ...headerCellSx, textAlign: \"right\" }}>Donations</TableCell>\r\n <TableCell sx={{ ...headerCellSx, textAlign: \"right\" }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", justifyContent: \"flex-end\", gap: 0.5 }}>\r\n Total raised ↓\r\n <IconButton size=\"small\" onClick={(e) => setAnchorEl(e.currentTarget)} sx={{ ml: 0.5, p: 0.3 }}>\r\n <MoreVertIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {sortedData.map((row, i) => {\r\n const colorIdx = rawData.findIndex(d => d.source === row.source);\r\n const color = UTM_COLORS[colorIdx] || \"#ccc\";\r\n return (\r\n <TableRow key={row.source} sx={{ \"&:hover\": { bgcolor: \"#fafafa\" } }}>\r\n <TableCell sx={{ ...cellSx }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n <Box sx={{ width: 20, height: 3, bgcolor: color, borderRadius: 2, flexShrink: 0 }} />\r\n <Typography variant=\"body2\" fontWeight={500}>{row.source}</Typography>\r\n </Box>\r\n </TableCell>\r\n <TableCell sx={{ ...cellSx, textAlign: \"right\" }}>{row.donations}</TableCell>\r\n <TableCell sx={{ ...cellSx, textAlign: \"right\", fontWeight: 600 }}>${row.totalRaised.toFixed(2)}</TableCell>\r\n </TableRow>\r\n );\r\n })}\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n </Box>\r\n\r\n <Menu\r\n anchorEl={anchorEl}\r\n open={Boolean(anchorEl)}\r\n onClose={() => setAnchorEl(null)}\r\n PaperProps={{ sx: { borderRadius: 2, boxShadow: \"0 4px 16px rgba(0,0,0,0.1)\", border: \"1px solid #f0f0f0\", minWidth: 200 } }}\r\n >\r\n {SORT_OPTIONS.map((opt) => (\r\n <MenuItem\r\n key={opt.value}\r\n onClick={() => { setSortMode(opt.value); setAnchorEl(null); }}\r\n sx={{ fontSize: \"13px\", display: \"flex\", justifyContent: \"space-between\", gap: 2 }}\r\n >\r\n {opt.label}\r\n {sortMode === opt.value && <CheckIcon sx={{ fontSize: \"16px\", color: \"primary.main\" }} />}\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default UTMPerformance;\r\n","import { Box, Card, CardContent, Typography, LinearProgress } from \"@mui/material\";\r\n\r\nconst data = [\r\n { step: \"Step 1: Amount Selection\", share: 22 },\r\n { step: \"Step 2: Add Payment\", share: 18 },\r\n { step: \"Step 3: Option Details\", share: 10 },\r\n { step: \"Step 4: Review and Pay\", share: 5 },\r\n];\r\n\r\nconst DropOffPoints = () => {\r\n return (\r\n <Card\r\n sx={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n height: \"100%\",\r\n }}\r\n >\r\n <CardContent sx={{ p: 3 }}>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Drop off points in donation flow\r\n </Typography>\r\n <Typography\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"13px\",\r\n mb: 3,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Points where donors exit the donation flow\r\n </Typography>\r\n\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.5 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"160px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.step}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.share}\r\n sx={{\r\n height: 15,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: \"#6366F1\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#111\",\r\n minWidth: \"40px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {item.share}%\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </CardContent>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default DropOffPoints;\r\n","import { Box, Grid, Typography } from \"@mui/material\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport DropOffPoints from \"../DropOffPoints\";\r\n\r\nconst DonorBehavior = () => {\r\n const revenueData = [3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000];\r\n const visitorsData = [100, 200, 150, 250, 300, 275, 325, 350, 280];\r\n const categories = [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n ];\r\n\r\n const primaryCharts = [\r\n {\r\n label: \"Average Donations per Donor\",\r\n value: \"2.1\",\r\n subValue: \"Avg. Donation Amount: $45.20\",\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: \"Avg Donor Lifetime Value (LTV)\",\r\n value: \"$185.75\",\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: \"New Vs Returning Donors\",\r\n value: \"35%\",\r\n subValue: \"New Donors: 65%\",\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: \"Repeater donation rate\",\r\n value: \"28%\",\r\n subValue: \"Calculated from 3-month avg\",\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: \"Time Between Donations\",\r\n value: \"48 days\",\r\n subValue: \"Average for active donors\",\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n return (\r\n <Box\r\n sx={{\r\n // p: 4,\r\n // bgcolor: \"primary.mainLight\",\r\n minHeight: \"100vh\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"stretch\",\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\" }}>\r\n <Typography\r\n variant=\"h4\"\r\n gutterBottom\r\n sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 2, mt: 2 }}\r\n >\r\n Donor Behavior\r\n </Typography>\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 1 }}>\r\n {primaryCharts.map((item, index) => (\r\n <RenderChartCard item={item} index={index} md={6} isPremium={true} />\r\n ))}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n <Grid item xs={12} md={6} sx={{ display: \"flex\" }}>\r\n <DropOffPoints />\r\n </Grid>\r\n {secondaryCharts.map((item, index) => (\r\n <RenderChartCard item={item} index={index} md={6} isPremium={true} />\r\n ))}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {tertiaryCharts.map((item, index) => (\r\n <RenderChartCard item={item} index={index} md={6} isPremium={true} />\r\n ))}\r\n </Grid>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default DonorBehavior;\r\n","import React from \"react\";\r\nimport {\r\n Box, Typography, IconButton, Table, TableBody,\r\n TableCell, TableContainer, TableHead, TableRow,\r\n} from \"@mui/material\";\r\nimport { InfoOutlined, Settings } from \"@mui/icons-material\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\n\r\nconst miniChartOptions = (color = \"#6363e6\") => ({\r\n chart: { type: \"area\", sparkline: { enabled: true }, animations: { enabled: false } },\r\n stroke: { curve: \"smooth\", width: 2 },\r\n fill: { type: \"gradient\", gradient: { shadeIntensity: 0.4, opacityFrom: 5, opacityTo: 5 } },\r\n colors: [color],\r\n tooltip: { enabled: false },\r\n});\r\n\r\nconst MiniChart = ({ data, color }) => (\r\n <ReactApexChart options={miniChartOptions(color)} series={[{ data }]} type=\"area\" width={90} height={40} />\r\n);\r\n\r\nconst rows = [\r\n {\r\n title: \"Reminder 1 (1hr)\",\r\n abandoned: \"1,240\", sent: \"1,240\",\r\n openRate: \"42.1%\", openCount: \"(522)\",\r\n clickRate: \"18.3%\", clickCount: \"(227)\",\r\n recoveryRate: \"8.2%\",\r\n recoveryData: [1, 2, 3, 4, 5, 6, 7, 7, 8],\r\n revenue: \"$3,850\",\r\n revenueData: [2, 3, 4, 5, 4, 6, 5, 7, 6],\r\n recovered: \"102\",\r\n recoveredData: [1, 2, 3, 4, 3, 5, 4, 6, 5],\r\n },\r\n {\r\n title: \"Reminder 2 (24hr)\",\r\n abandoned: \"1,138\", sent: \"1,138\",\r\n openRate: \"31.4%\", openCount: \"(357)\",\r\n clickRate: \"12.6%\", clickCount: \"(143)\",\r\n recoveryRate: \"4.1%\",\r\n recoveryData: [2, 3, 2, 4, 3, 4, 3, 4, 4],\r\n revenue: \"$1,920\",\r\n revenueData: [2, 3, 3, 4, 3, 5, 4, 5, 4],\r\n recovered: \"47\",\r\n recoveredData: [1, 2, 2, 3, 2, 3, 3, 4, 3],\r\n },\r\n {\r\n title: \"Reminder 3 (72hr)\",\r\n abandoned: \"1,091\", sent: \"1,091\",\r\n openRate: \"22.8%\", openCount: \"(249)\",\r\n clickRate: \"8.9%\", clickCount: \"(97)\",\r\n recoveryRate: \"2.3%\",\r\n recoveryData: [1, 2, 1, 2, 2, 2, 3, 2, 3],\r\n revenue: \"$890\",\r\n revenueData: [1, 2, 2, 3, 2, 3, 2, 3, 3],\r\n recovered: \"25\",\r\n recoveredData: [1, 1, 2, 1, 2, 2, 2, 2, 3],\r\n },\r\n];\r\n\r\nconst aggregates = {\r\n abandoned: \"1,240\", sent: \"3,469\", sentData: [2, 3, 4, 5, 4, 6, 5, 7, 8],\r\n openRate: \"32.1%\", openCount: \"(1,128)\", openRateData: [5, 6, 5, 7, 6, 7, 6, 8, 7],\r\n clickRate: \"13.3%\", clickCount: \"(467)\", clickRateData: [3, 4, 5, 4, 5, 4, 5, 5, 6],\r\n recoveryRate: \"14.6%\", recoveryData: [2, 3, 4, 5, 5, 6, 6, 7, 8],\r\n revenue: \"$6,660\", revenueData: [3, 4, 5, 6, 5, 7, 6, 8, 7],\r\n recovered: \"174\", recoveredData: [2, 3, 4, 5, 4, 6, 5, 7, 6],\r\n};\r\n\r\nconst BORDER = \"1px solid #e0e0e0\";\r\n\r\nconst headerCellSx = {\r\n fontWeight: 900, fontSize: \"0.78rem\", color: \"#111\", bgcolor: \"#f3f3f3\",\r\n borderBottom: BORDER, borderRight: BORDER, py: \"20px\", px: \"5px\",\r\n lineHeight: 1.4, textAlign: \"center\", \"&:last-child\": { borderRight: 0 },\r\n};\r\n\r\nconst cellSx = {\r\n fontSize: \"0.85rem\", color: \"#333\", borderBottom: BORDER, borderRight: BORDER,\r\n py: \"10px\", px: \"5px\", verticalAlign: \"middle\", textAlign: \"center\",\r\n \"&:last-child\": { borderRight: 0 },\r\n};\r\n\r\nconst aggCellSx = { ...cellSx, bgcolor: \"#f3f3f3\", fontWeight: 900 };\r\n\r\nconst AbandonedDonationRecovery = () => {\r\n return (\r\n <Box sx={{ bgcolor: \"#fff\", borderRadius: 4, border: \"1px solid #f0f0f0\", boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\", overflow: \"hidden\", width: \"100%\" }}>\r\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", px: 3, py: 2 }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Typography variant=\"subtitle2\" sx={{ fontWeight: 600, color: \"#111\" }}>Abandoned Donation Recovery</Typography>\r\n <InfoOutlined sx={{ fontSize: \"1rem\", color: \"#9e9e9e\" }} />\r\n <Settings sx={{ fontSize: \"1rem\", color: \"#9e9e9e\" }} />\r\n </Box>\r\n <IconButton sx={{ border: \"1px solid #E9E9EB\", borderRadius: \"8px\", height: \"36px\", width: \"36px\" }}>\r\n <Settings sx={{ fontSize: \"1.1rem\", color: \"#555\" }} />\r\n </IconButton>\r\n </Box>\r\n\r\n <TableContainer sx={{ pb: 2, overflowX: \"auto\", width: \"100%\", boxSizing: \"border-box\" }}>\r\n <Box sx={{ px: \"25px\" }}>\r\n <Table sx={{ borderCollapse: \"separate\", borderSpacing: 0, border: BORDER, borderRadius: \"12px\", overflow: \"hidden\", width: \"100%\", minWidth: 800 }}>\r\n <TableHead>\r\n <TableRow>\r\n <TableCell sx={{ ...headerCellSx, textAlign: \"left\", minWidth: 160 }}>Reminder Email</TableCell>\r\n <TableCell sx={headerCellSx}>Abandoned Count</TableCell>\r\n <TableCell sx={headerCellSx}>Emails Sent</TableCell>\r\n <TableCell sx={headerCellSx}>Open Rate (No.)</TableCell>\r\n <TableCell sx={headerCellSx}>Click Rate (No.)</TableCell>\r\n <TableCell sx={headerCellSx}>Recovery Rate</TableCell>\r\n <TableCell sx={headerCellSx}>Recovered Revenue</TableCell>\r\n <TableCell sx={headerCellSx}>Recovered Donations</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {rows.map((row, i) => (\r\n <TableRow key={i} sx={{ \"&:hover\": { bgcolor: \"#fafafa\" } }}>\r\n <TableCell sx={{ ...cellSx, textAlign: \"left\", fontWeight: 500 }}>{row.title}</TableCell>\r\n <TableCell sx={cellSx}>{row.abandoned}</TableCell>\r\n <TableCell sx={cellSx}>{row.sent}</TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.openRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{row.openCount}</Typography>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.clickRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{row.clickCount}</Typography>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500} >{row.recoveryRate}</Typography>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={row.recoveryData} /></Box>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.revenue}</Typography>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={row.revenueData} /></Box>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.recovered}</Typography>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={row.recoveredData} /></Box>\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n\r\n {/* Aggregates */}\r\n <TableRow sx={{ \"& td\": { borderBottom: 0 } }}>\r\n <TableCell sx={{ ...aggCellSx, textAlign: \"left\" }}>\r\n <Typography variant=\"body2\" fontWeight={700}>Total Aggregates</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\">(Mar 3 - Apr 3)</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}><Typography variant=\"body2\" fontWeight={700}>{aggregates.abandoned}</Typography></TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.sent}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.sentData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}>\r\n <Typography variant=\"body2\" fontWeight={700}>{aggregates.openRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{aggregates.openCount}</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.openRateData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}>\r\n <Typography variant=\"body2\" fontWeight={700}>{aggregates.clickRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{aggregates.clickCount}</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.clickRateData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.recoveryRate}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.recoveryData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.revenue}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.revenueData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.recovered}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.recoveredData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </Box>\r\n </TableContainer>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default AbandonedDonationRecovery;","/**\r\n * Theme colors for server components\r\n *\r\n * These are plain JavaScript objects that can be safely imported\r\n * in both server and client components without triggering\r\n * client-only code in server components.\r\n *\r\n * For client components, use the full theme from @/config/customTheme\r\n */\r\n\r\nexport const themeColors = {\r\n primary: {\r\n main: \"#6363E6\",\r\n mainLight: \"#F7F7FF\",\r\n light: \"#FFFFFF\",\r\n gray: \"#A1A1A8\",\r\n lightGreen: \"#E1FBF2\",\r\n green: \"#0CAB72\",\r\n red: \"#E61D1D\",\r\n lightRed: \"#FFEDED\",\r\n lightGray: \"#E9E9EB\",\r\n darkGray: \"#606062\",\r\n dark: \"#090909\",\r\n },\r\n text: {\r\n primary: \"#666666\",\r\n },\r\n secondary: {\r\n main: \"#E0C2FF\",\r\n light: \"#F5EBFF\",\r\n contrastText: \"#47008F\",\r\n },\r\n white: {\r\n main: \"#FFFFFF\",\r\n light: \"#F8F8F8\",\r\n },\r\n gradients: {\r\n primary: \"linear-gradient(90deg, #6363E6 0.05%, #59C9F9 99.96%)\",\r\n secondary: \"linear-gradient(180deg, #E9E9FF 0%, #C9EEFF 100%)\",\r\n },\r\n};\r\n\r\n// Typography settings for server components\r\nexport const themeTypography = {\r\n fontFamily: [\r\n \"var(--font-league-spartan)\",\r\n \"var(--font-noto-sans-arabic)\",\r\n \"-apple-system\",\r\n \"BlinkMacSystemFont\",\r\n \"Segoe UI\",\r\n \"Roboto\",\r\n \"Helvetica Neue\",\r\n \"Arial\",\r\n \"sans-serif\",\r\n \"Apple Color Emoji\",\r\n \"Segoe UI Emoji\",\r\n \"Segoe UI Symbol\",\r\n ].join(\",\"),\r\n};\r\n","import { Box, Typography, LinearProgress, Avatar } from \"@mui/material\";\r\n\r\nconst ActiveCampaignsCard = ({\r\n title = \"Active campaigns\",\r\n subtitle = \"Live fundraisers ranked by velocity\",\r\n columns = [\"Campaign\", \"Raised\", \"Progress\", \"Donors\", \"Avg gift\",],\r\n rows = [],\r\n gridTemplateColumns = \"3fr 1fr 1.5fr 0.8fr 1fr \",\r\n height\r\n}) => {\r\n return (\r\n <Box\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n height: height,\r\n // height: \"100%\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"flex-start\",\r\n mb: 3,\r\n }}\r\n >\r\n <Box>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0.2 }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ overflowX: \"auto\" }}>\r\n <Box sx={{ minWidth: \"600px\" }}>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: gridTemplateColumns,\r\n gap: 2,\r\n pb: 2.5,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n {columns.map((header) => (\r\n <Typography\r\n key={header}\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {header}\r\n </Typography>\r\n ))}\r\n </Box>\r\n\r\n <Box sx={{ mt: 1 }}>\r\n {rows.map((row, idx) => (\r\n <Box\r\n key={idx}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: gridTemplateColumns,\r\n gap: 2,\r\n py: 1.2,\r\n alignItems: \"center\",\r\n borderBottom:\r\n idx === rows.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n {/* Column 1: Item with Avatar/Icon */}\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n {row.id && (\r\n <Avatar\r\n sx={{\r\n width: 28,\r\n height: 28,\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n bgcolor: row.avatarBg || \"#F3F4F6\",\r\n color: \"rgb(99, 99, 230)\",\r\n }}\r\n >\r\n {row.id}\r\n </Avatar>\r\n )}\r\n {row.icon && (\r\n <Box\r\n sx={{\r\n color: row.iconColor || \"inherit\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <row.icon sx={{ fontSize: \"18px\" }} />\r\n </Box>\r\n )}\r\n <Typography\r\n sx={{ fontSize: \"12px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {row.name}\r\n </Typography>\r\n </Box>\r\n\r\n {/* Column 2: Value 1 (Spent/Raised) */}\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 600,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val1}\r\n </Typography>\r\n\r\n {/* Column 3: Progress or Value 2 */}\r\n {row.type === \"progress\" ? (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5, }}>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={row.progress}\r\n sx={{\r\n height: 8,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: row.progressColor || \"rgb(99, 99, 230)\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"11px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"30px\",\r\n }}\r\n >\r\n {row.progress}%\r\n </Typography>\r\n </Box>\r\n ) : (\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 600,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val2}\r\n </Typography>\r\n )}\r\n\r\n {/* Column 4: Value 3 or highlighted ROAS */}\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: row.highlightVal3 ? 700 : 500,\r\n color: row.highlightVal3\r\n ? row.val3Color || \"#22C55E\"\r\n : \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val3}\r\n </Typography>\r\n\r\n {/* Column 5: Value 4 */}\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val4}\r\n </Typography>\r\n\r\n {/* Column 6: Status or Trend */}\r\n {columns.length > 5 && (\r\n <Box>\r\n {row.type === \"trend\" ? (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n }}\r\n >\r\n {row.trendType === \"up\" ? (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#22C55E\" }}>\r\n ▲\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"#22C55E\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {row.trendLabel}\r\n </Typography>\r\n </>\r\n ) : (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#EF4444\" }}>\r\n ▼\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"#EF4444\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {row.trendLabel}\r\n </Typography>\r\n </>\r\n )}\r\n </Box>\r\n ) : (\r\n <Box\r\n sx={{\r\n display: \"inline-block\",\r\n px: 1.5,\r\n py: 0.5,\r\n borderRadius: \"100px\",\r\n bgcolor: row.statusBg,\r\n color: row.statusColor,\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n textAlign: \"center\",\r\n }}\r\n >\r\n {row.status}\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n </Box>\r\n ))}\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default ActiveCampaignsCard;\r\n","import React from \"react\";\r\nimport { Box, Typography } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\n\r\nconst DonorMixCard = ({\r\n title = \"Donor mix\",\r\n subtitle = \"Acquisition vs retention\",\r\n series = [68, 32],\r\n labels = [\"New donors\", \"Returning\"],\r\n colors = [\"rgb(99, 99, 230)\", \"#10B981\"],\r\n centerLabel = \"donors\",\r\n centerValue = \"215\",\r\n items = [\r\n { label: \"New donors\", val: \"146 · 68%\", color: \"rgb(99, 99, 230)\" },\r\n { label: \"Returning\", val: \"69 · 32%\", color: \"#10B981\" },\r\n ],\r\n showBottomSummary = true,\r\n bottomSummaryValue = \"$130.58\",\r\n bottomSummaryTrend = \"8.4% vs last month\",\r\n sx = {},\r\n}) => {\r\n const chartOptions = {\r\n chart: {\r\n type: \"donut\",\r\n },\r\n labels: labels,\r\n colors: colors,\r\n plotOptions: {\r\n pie: {\r\n donut: {\r\n size: \"75%\",\r\n labels: {\r\n show: true,\r\n name: {\r\n show: true,\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n offsetY: 25,\r\n },\r\n value: {\r\n show: true,\r\n fontSize: \"24px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n offsetY: -15,\r\n formatter: (val) => val,\r\n },\r\n total: {\r\n show: true,\r\n label: centerLabel,\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n formatter: () => centerValue,\r\n },\r\n },\r\n },\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n legend: {\r\n show: false,\r\n },\r\n stroke: {\r\n show: false,\r\n },\r\n states: {\r\n hover: {\r\n filter: {\r\n type: \"none\",\r\n },\r\n },\r\n },\r\n };\r\n\r\n return (\r\n <Box\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n // height: \"100%\",\r\n // width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx,\r\n }}\r\n >\r\n <Box sx={{}}>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n // mt: 0.2,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n position: \"relative\",\r\n height: \"180px\",\r\n // mb: 1,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n <Chart\r\n options={chartOptions}\r\n series={series}\r\n type=\"donut\"\r\n width=\"210\"\r\n />\r\n </Box>\r\n\r\n <Box sx={{}}>\r\n {items.map((item, idx) => (\r\n <Box\r\n key={idx}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n mb: idx === items.length - 1 ? (showBottomSummary ? 1 : 0) : 1,\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Box\r\n sx={{\r\n width: 10,\r\n height: 10,\r\n bgcolor: item.color,\r\n borderRadius: \"2px\",\r\n }}\r\n />\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n }}\r\n >\r\n {item.label}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#111\" }}\r\n >\r\n {item.val}\r\n </Typography>\r\n </Box>\r\n ))}\r\n\r\n {showBottomSummary && (\r\n <Box\r\n sx={{\r\n // display: \"flex\",\r\n // justifyContent: \"space-between\",\r\n // alignItems: \"center\",\r\n pt: 2,\r\n borderTop: \"1px solid #f0f0f0\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\", fontWeight: 500, color: \"rgba(0, 0, 0, 0.4)\",\r\n }}\r\n >\r\n Avg gift\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {bottomSummaryValue}\r\n </Typography>\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n color: \"#22C55E\",\r\n fontSize: \"12px\",\r\n fontWeight: 600,\r\n }}\r\n >\r\n <span>▲</span>\r\n {bottomSummaryTrend}\r\n </Box>\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default DonorMixCard;\r\n","import React from \"react\";\r\nimport { Box, Typography, Card, LinearProgress } from \"@mui/material\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nconst TrafficSourceCard = ({\r\n title = \"Traffic source\",\r\n subtitle = \"Revenue by channel · 30 days\",\r\n trafficSourceData = [],\r\n total = \"$0\",\r\n sx,\r\n}) => {\r\n const paidAdsColor = \"rgb(99, 99, 230)\";\r\n const organicColor = \"#10B981\";\r\n const emailColor = \"#0EA5E9\";\r\n const directColor = \"#94A3B8\";\r\n\r\n const getSourceColor = (source) => {\r\n switch (source) {\r\n case \"Paid Ads\":\r\n return paidAdsColor;\r\n case \"Organic\":\r\n return organicColor;\r\n case \"Email\":\r\n return emailColor;\r\n case \"Direct\":\r\n return directColor;\r\n default:\r\n return \"#CBD5E1\";\r\n }\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx,\r\n }}\r\n >\r\n <Box>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n mt: 0.5,\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1.5fr 2fr\",\r\n gap: 2,\r\n // mb: 1.5,\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n letterSpacing: \"0.05em\",\r\n }}\r\n >\r\n SOURCE\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n letterSpacing: \"0.05em\",\r\n }}\r\n >\r\n REVENUE\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n letterSpacing: \"0.05em\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n SHARE\r\n </Typography>\r\n </Box>\r\n\r\n <Box>\r\n {trafficSourceData?.map((item, index) => {\r\n const shareValue = Number(item.share || 0);\r\n\r\n return (\r\n <Box\r\n key={`${item.source}-${index}`}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1.5fr 2fr\",\r\n gap: 2,\r\n py: 0.75,\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1,\r\n minWidth: 0,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 10,\r\n height: 10,\r\n bgcolor: getSourceColor(item.source),\r\n borderRadius: \"2px\",\r\n flexShrink: 0,\r\n }}\r\n />\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 600,\r\n color: \"rgba(0, 0, 0, 0.7)\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n title={item.source}\r\n >\r\n {item.source}\r\n </Typography>\r\n </Box>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n ${formatNumber(item.revenue)}\r\n </Typography>\r\n\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n justifyContent: \"flex-end\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: \"60px\",\r\n flexShrink: 0,\r\n }}\r\n >\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={Math.max(shareValue, 0)}\r\n sx={{\r\n height: 6,\r\n borderRadius: 3,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 3,\r\n bgcolor: getSourceColor(item.source),\r\n },\r\n }}\r\n />\r\n </Box>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n minWidth: \"40px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {shareValue < 1 && shareValue > 0\r\n ? `${shareValue.toFixed(2)}%`\r\n : `${shareValue.toFixed(0)}%`}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n pt: 2,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n }}\r\n >\r\n Total\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"16px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n {total}\r\n </Typography>\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default TrafficSourceCard;","import React from \"react\";\r\nimport { Box, Typography, Card } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nconst MetricSparklineCard = ({\r\n title,\r\n subtitle,\r\n value,\r\n trend,\r\n trendColor = \"#22C55E\",\r\n chartData = [], // [{ label: \"2026-05-01\", value: 1200 }]\r\n chartColor = \"rgb(99, 99, 230)\",\r\n footerMetrics = [],\r\n sx,\r\n bottomSection = false\r\n}) => {\r\n\r\n // Extract values for chart series\r\n const series = [\r\n {\r\n name: title,\r\n data: chartData.map((item) => item.value),\r\n },\r\n ];\r\n\r\n // Extract labels for x-axis\r\n const categories = chartData.map((item) => item.label);\r\n\r\n const chartOptions = {\r\n chart: {\r\n type: \"area\",\r\n sparkline: { enabled: true },\r\n animations: { enabled: true },\r\n toolbar: { show: false },\r\n },\r\n\r\n xaxis: {\r\n categories,\r\n labels: {\r\n show: false,\r\n },\r\n },\r\n\r\n stroke: {\r\n curve: \"smooth\",\r\n width: 2,\r\n },\r\n\r\n fill: {\r\n type: \"gradient\",\r\n gradient: {\r\n shadeIntensity: 1,\r\n opacityFrom: 0.45,\r\n opacityTo: 0.05,\r\n stops: [20, 100, 100],\r\n },\r\n },\r\n\r\n colors: [chartColor],\r\n\r\n tooltip: {\r\n enabled: true,\r\n theme: \"light\",\r\n\r\n x: {\r\n show: true,\r\n formatter: (_, { dataPointIndex }) => {\r\n return categories[dataPointIndex];\r\n },\r\n },\r\n\r\n y: {\r\n formatter: (val) => {\r\n if (title?.toLowerCase().includes(\"revenue\")) {\r\n return `$${Number(val).toLocaleString()}`;\r\n }\r\n\r\n if (\r\n title?.toLowerCase().includes(\"rate\") ||\r\n title?.toLowerCase().includes(\"bounce\")\r\n ) {\r\n return `${val}%`;\r\n }\r\n\r\n return Number(val).toLocaleString();\r\n },\r\n },\r\n\r\n marker: { show: false },\r\n },\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{ mb: 1 }}>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n mt: 0.2,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n mt: 1,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"flex-start\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"24px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n {value}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n color: trendColor,\r\n mt: 0.2,\r\n }}\r\n >\r\n {trend}\r\n </Typography>\r\n </Box>\r\n\r\n <Box sx={{ height: 60, mb: 2 }}>\r\n <Chart\r\n options={chartOptions}\r\n series={series}\r\n type=\"area\"\r\n height=\"100%\"\r\n />\r\n\r\n {/* Optional custom visible dates */}\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n mt: 0.5,\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n }}\r\n >\r\n {categories[0]}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n }}\r\n >\r\n {categories[Math.floor(categories.length / 2)]}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n }}\r\n >\r\n {categories[categories.length - 1]}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n mt: \"auto\",\r\n pt: bottomSection ? 1.5 : 3,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n {footerMetrics.map((m, idx) => (\r\n <Box key={idx} sx={{ textAlign: \"center\" }}>\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n {m.label}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n {`$${formatNumber(m.value)}`}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default MetricSparklineCard;","import React from \"react\";\r\nimport { Box, Typography, Card } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\nimport { TrendingUp, TrendingDown } from \"@mui/icons-material\";\r\n\r\nconst MetricDonutCard = ({\r\n title,\r\n subtitle,\r\n acceptanceRate,\r\n acceptanceVal,\r\n acceptanceTrend,\r\n raisedVal,\r\n raisedTrend,\r\n chartColors = [\"rgb(99, 99, 230)\", \"#88bfd290\"],\r\n sx,\r\n}) => {\r\n const chartOptions = {\r\n chart: {\r\n type: \"radialBar\",\r\n sparkline: { enabled: true },\r\n },\r\n plotOptions: {\r\n radialBar: {\r\n hollow: { size: \"45%\" },\r\n track: {\r\n background: chartColors[1] || \"#f0f0f0\",\r\n strokeWidth: \"100%\",\r\n },\r\n dataLabels: {\r\n name: {\r\n show: true,\r\n fontSize: \"11px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n offsetY: 15,\r\n },\r\n value: {\r\n show: true,\r\n fontSize: \"18px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n offsetY: -15,\r\n formatter: () => acceptanceRate + \"%\",\r\n },\r\n }\r\n }\r\n },\r\n stroke: { lineCap: \"butt\" },\r\n colors: [chartColors[0]],\r\n labels: [\"accepted\"],\r\n tooltip: {\r\n enabled: true,\r\n theme: \"dark\",\r\n y: {\r\n formatter: (val) => `${val}%`,\r\n }\r\n }\r\n };\r\n\r\n const series = [acceptanceRate];\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n // height: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{}}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"16px\", color: \"#000\", textAlign: \"left\" }}>\r\n {title}\r\n </Typography>\r\n <Typography sx={{ fontSize: \"12px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0.2, textAlign: \"left\" }}>\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box sx={{ height: 160, position: \"relative\", mt: 1, display: \"flex\", justifyContent: \"center\" }}>\r\n <Chart options={chartOptions} series={series} type=\"radialBar\" width=\"100%\" height=\"100%\" />\r\n </Box>\r\n\r\n <Box sx={{}}>\r\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Box sx={{ width: 10, height: 10, bgcolor: chartColors[0], borderRadius: \"2px\" }} />\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>Acceptance</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\r\n <Typography sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}>{acceptanceVal}</Typography>\r\n <Typography sx={{ fontSize: \"10px\", fontWeight: 700, color: \"#22C55E\", display: \"flex\", alignItems: \"center\" }}>\r\n <TrendingUp sx={{ fontSize: \"12px\" }} /> {acceptanceTrend}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Box sx={{ width: 10, height: 10, bgcolor: chartColors[1], borderRadius: \"2px\" }} />\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>Raised</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\r\n <Typography sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}>{raisedVal}</Typography>\r\n <Typography sx={{ fontSize: \"10px\", fontWeight: 700, color: \"#22C55E\", display: \"flex\", alignItems: \"center\" }}>\r\n <TrendingUp sx={{ fontSize: \"12px\" }} /> {raisedTrend}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default MetricDonutCard;\r\n","import React from \"react\";\r\nimport { Box, Typography, Card, CardContent } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nconst DonationTypeBarChart = ({ sx, donationTypeData }) => {\r\n const recurringColor = \"rgb(99, 99, 230)\";\r\n const oneTimeColor = \"#10B981\";\r\n const colors = [recurringColor, oneTimeColor, \"#06B6D4\", \"#F59E0B\", \"#EF4444\"];\r\n\r\n let categories = [];\r\n let series = [];\r\n let summaries = [];\r\n let title = \"Donation Type\";\r\n let isDistributed = false;\r\n\r\n if (donationTypeData && donationTypeData.data && Array.isArray(donationTypeData.data)) {\r\n // Time series recurring vs one-time format\r\n categories = donationTypeData.data.map((item) => item.label || \"\");\r\n series = [\r\n {\r\n name: \"Recurring\",\r\n data: donationTypeData.data.map((item) => item.recurring || 0),\r\n },\r\n {\r\n name: \"One-time\",\r\n data: donationTypeData.data.map((item) => item.oneTime || 0),\r\n },\r\n ];\r\n summaries = [\r\n {\r\n label: \"Recurring\",\r\n total: donationTypeData.totalRecurringDonations || 0,\r\n color: recurringColor,\r\n },\r\n {\r\n label: \"One-time\",\r\n total: donationTypeData.totalOneTimeDonations || 0,\r\n color: oneTimeColor,\r\n },\r\n ];\r\n title = \"Recurring vs One-time\";\r\n isDistributed = false;\r\n } else if (Array.isArray(donationTypeData) && donationTypeData.length > 0 && donationTypeData[0].totalAmount !== undefined) {\r\n // New array format\r\n categories = donationTypeData.map((item) => item.type || \"\");\r\n series = [\r\n {\r\n name: \"Amount\",\r\n data: donationTypeData.map((item) => item.totalAmount || 0),\r\n },\r\n ];\r\n summaries = donationTypeData.map((item, index) => ({\r\n label: item.type || \"\",\r\n total: item.totalAmount || 0,\r\n color: colors[index % colors.length]\r\n }));\r\n isDistributed = true;\r\n if (donationTypeData.length === 2) {\r\n title = `${donationTypeData[0].type} vs ${donationTypeData[1].type}`;\r\n }\r\n } else {\r\n // Object format or simple series array\r\n const dataObj = donationTypeData || {};\r\n categories = dataObj.categories || [];\r\n series = Array.isArray(donationTypeData) ? donationTypeData : (dataObj.series || []);\r\n \r\n summaries = [\r\n {\r\n label: dataObj?.summary?.recurring?.label || \"Recurring\",\r\n total: dataObj?.summary?.recurring?.total || 0,\r\n color: recurringColor\r\n },\r\n {\r\n label: dataObj?.summary?.oneTime?.label || \"One-time\",\r\n total: dataObj?.summary?.oneTime?.total || 0,\r\n color: oneTimeColor\r\n }\r\n ];\r\n title = \"Recurring vs one-time\";\r\n isDistributed = false;\r\n }\r\n\r\n const chartOptions = {\r\n chart: {\r\n type: \"bar\",\r\n toolbar: { show: false },\r\n zoom: { enabled: false },\r\n fontFamily: \"Inter, sans-serif\",\r\n },\r\n plotOptions: {\r\n bar: {\r\n horizontal: false,\r\n columnWidth: \"50%\",\r\n borderRadius: 4,\r\n distributed: isDistributed,\r\n dataLabels: {\r\n position: \"top\",\r\n },\r\n },\r\n },\r\n dataLabels: {\r\n enabled: true,\r\n formatter: (val) => `$${formatNumber(val)}`,\r\n offsetY: -20,\r\n style: {\r\n fontSize: \"9px\",\r\n fontWeight: 600,\r\n colors: [\"#000\"],\r\n },\r\n },\r\n stroke: {\r\n show: true,\r\n width: 2,\r\n colors: [\"transparent\"],\r\n },\r\n xaxis: {\r\n categories: categories,\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n labels: {\r\n style: {\r\n colors: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"11px\",\r\n },\r\n },\r\n },\r\n yaxis: {\r\n min: 0,\r\n tickAmount: 4,\r\n labels: {\r\n formatter: (val) => `$${formatNumber(val)}`,\r\n style: {\r\n colors: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"10px\",\r\n },\r\n },\r\n },\r\n fill: {\r\n opacity: 1,\r\n },\r\n colors: colors,\r\n grid: {\r\n borderColor: \"#f1f1f1\",\r\n strokeDashArray: 4,\r\n padding: {\r\n left: 0,\r\n right: 0,\r\n },\r\n yaxis: {\r\n lines: { show: true },\r\n },\r\n },\r\n legend: {\r\n show: false,\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: (val) => `$${formatNumber(val)}`,\r\n },\r\n },\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", }}>\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\" }}>\r\n {title}\r\n </Typography>\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0 }}>\r\n Donation type\r\n </Typography>\r\n </Box>\r\n\r\n <Box sx={{ display: \"flex\", gap: 1.5, mt: 0.5, flexWrap: \"wrap\" }}>\r\n {summaries.map((item, index) => (\r\n <Box key={item.label || index} sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\r\n <Box sx={{ width: 8, height: 8, bgcolor: item.color, borderRadius: \"50%\" }} />\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>\r\n {item.label}\r\n </Typography>\r\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600, color: \"#000\" }}>\r\n ${formatNumber(item.total || 0)}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ height: 170, width: \"calc(100% + 48px)\", ml: -3, mr: -3, }}>\r\n <Chart options={chartOptions} series={series} type=\"bar\" height=\"100%\" />\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default DonationTypeBarChart;\r\n","import React from \"react\";\r\nimport {\r\n Box,\r\n Card,\r\n CardContent,\r\n Typography,\r\n LinearProgress,\r\n} from \"@mui/material\";\r\n\r\nconst CardWrapper = ({ title, subtitle, children, sx }) => (\r\n <Card\r\n sx={{\r\n // width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n ...sx,\r\n height: \"100%\",\r\n }}\r\n >\r\n <CardContent>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n {subtitle && (\r\n <Typography\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"13px\",\r\n mb: 3,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n )}\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 1 }}>\r\n {children}\r\n </Box>\r\n </CardContent>\r\n </Card>\r\n);\r\n\r\nexport const LandingPagesCard = () => {\r\n const data = [\r\n {\r\n page: \"/yemen-orphans-appeal\",\r\n visitors: \"1,840\",\r\n donations: \"32\",\r\n revenue: \"$38,200\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/gaza-emergency-food\",\r\n visitors: \"1,620\",\r\n donations: \"28\",\r\n revenue: \"$28,600\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/why-zakat-matters\",\r\n visitors: \"1,210\",\r\n donations: \"21\",\r\n revenue: \"$24,800\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/somalia-masjid-build\",\r\n visitors: \"890\",\r\n donations: \"15\",\r\n revenue: \"$16,400\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/ramadan-giving-guide\",\r\n visitors: \"720\",\r\n donations: \"11\",\r\n revenue: \"$11,200\",\r\n cvr: \"1.5%\",\r\n },\r\n {\r\n page: \"/water-wells-pakistan\",\r\n visitors: \"510\",\r\n donations: \"11\",\r\n revenue: \"$22,980\",\r\n cvr: \"2.2%\",\r\n },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top landing pages\"\r\n subtitle=\"Pages ranked by donations attributed\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"3fr 1.2fr 1.2fr 1.2fr 0.8fr\",\r\n gap: 2,\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Page\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Visitors\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Donations\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Revenue\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n Conv. rate\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"3fr 1.2fr 1.2fr 1.2fr 0.8fr\",\r\n gap: 2,\r\n py: 0.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.page}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.visitors}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.donations}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.revenue}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"#22C55E\",\r\n fontWeight: 700,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.cvr}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const KeywordsCard = () => {\r\n const data = [\r\n {\r\n keyword: \"zakat calculator\",\r\n clicks: \"1,240\",\r\n rank: \"#2.1\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n {\r\n keyword: \"orphan sponsorship\",\r\n clicks: \"860\",\r\n rank: \"#3.4\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n {\r\n keyword: \"ramadan donation guide\",\r\n clicks: \"720\",\r\n rank: \"#1.8\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n {\r\n keyword: \"yemen humanitarian crisis\",\r\n clicks: \"580\",\r\n rank: \"#5.2\",\r\n trend: \"Declining\",\r\n trendType: \"down\",\r\n },\r\n {\r\n keyword: \"masjid building fund\",\r\n clicks: \"410\",\r\n rank: \"#4.1\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top organic keywords\"\r\n subtitle=\"Search terms ranked by clicks · last 30 days\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 1fr\",\r\n gap: 2,\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Keyword\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Clicks\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Position\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Trend\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 1fr\",\r\n gap: 2,\r\n // py: 0.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.keyword}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.clicks}\r\n </Typography>\r\n <Box\r\n sx={{\r\n textAlign: \"left\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: \"40px\",\r\n bgcolor: \"#ebf2ffb1\",\r\n color: \"#3431e4\",\r\n // px: 0.5,\r\n p: 0.5,\r\n borderRadius: \"100px\",\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n textAlign: \"center\",\r\n minWidth: \"45px\",\r\n }}\r\n >\r\n {item.rank}\r\n </Box>\r\n </Box>\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-start\",\r\n gap: 0.5,\r\n }}\r\n >\r\n {item.trendType === \"up\" ? (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#22C55E\" }}>\r\n ▲\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"12px\", color: \"#22C55E\", fontWeight: 700 }}\r\n >\r\n Improving\r\n </Typography>\r\n </>\r\n ) : (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#EF4444\" }}>\r\n ▼\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"12px\", color: \"#EF4444\", fontWeight: 700 }}\r\n >\r\n Declining\r\n </Typography>\r\n </>\r\n )}\r\n </Box>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const GeographyCard = ({\r\n subtitle = \"Top countries by organic traffic\",\r\n}) => {\r\n const data = [\r\n { country: \"United States\", stats: \"3,120 · 37%\", percentage: 37 },\r\n { country: \"United Kingdom\", stats: \"1,840 · 22%\", percentage: 22 },\r\n { country: \"Canada\", stats: \"920 · 11%\", percentage: 11 },\r\n { country: \"Australia\", stats: \"650 · 8%\", percentage: 8 },\r\n { country: \"UAE\", stats: \"580 · 7%\", percentage: 7 },\r\n { country: \"Other\", stats: \"1,310 · 16%\", percentage: 16 },\r\n ];\r\n\r\n return (\r\n <CardWrapper title=\"Geography insights\" subtitle={subtitle}>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.8 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"120px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.country}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.percentage}\r\n sx={{\r\n height: 10,\r\n borderRadius: 5,\r\n bgcolor: \"#f3f4f6ff\",\r\n \"& .MuiLinearProgress-bar\": {\r\n bgcolor: \"#6366F1\",\r\n borderRadius: 5,\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n minWidth: \"80px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {item.stats}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopCampaignsRaisedCard = () => {\r\n const data = [\r\n { id: \"RK\", name: \"Ramadan kickoff\", value: \"$14,200\" },\r\n { id: \"YO\", name: \"Yemen orphans drive\", value: \"$11,800\" },\r\n { id: \"GE\", name: \"Gaza emergency\", value: \"$9,400\" },\r\n { id: \"ZR\", name: \"Zakat reminder\", value: \"$7,200\" },\r\n { id: \"EA\", name: \"Eid appeal\", value: \"$6,320\" },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top campaigns by total raised\"\r\n subtitle=\"Email campaigns ranked by donations\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Raised\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n // py: 1.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#ebf2ff\",\r\n color: \"#3431e4\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography sx={{ fontSize: \"13px\", color: \"#000\", fontWeight: 700 }}>\r\n {item.value}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopCampaignsCTRCard = () => {\r\n const data = [\r\n { id: \"RK\", name: \"Ramadan kickoff\", value: \"12.4%\" },\r\n { id: \"EA\", name: \"Eid appeal\", value: \"10.8%\" },\r\n { id: \"YO\", name: \"Yemen orphans drive\", value: \"9.7%\" },\r\n { id: \"PF\", name: \"Pakistan flood relief\", value: \"8.9%\" },\r\n { id: \"ZR\", name: \"Zakat reminder\", value: \"7.6%\" },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top campaigns by CTR\"\r\n subtitle=\"Click-through rate leaders\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n CTR\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n // py: 1.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#ebf2ff\",\r\n color: \"#3431e4\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", color: \"#22C55E\", fontWeight: 700 }}\r\n >\r\n {item.value}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopCampaignsConvRateCard = () => {\r\n const data = [\r\n { id: \"YO\", name: \"Yemen orphans drive\", value: \"5.2%\" },\r\n { id: \"RK\", name: \"Ramadan kickoff\", value: \"4.8%\" },\r\n { id: \"GE\", name: \"Gaza emergency\", value: \"4.1%\" },\r\n { id: \"PF\", name: \"Pakistan flood relief\", value: \"3.9%\" },\r\n { id: \"EA\", name: \"Eid appeal\", value: \"3.4%\" },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top campaigns by conversion\"\r\n subtitle=\"Click-to-donation conversion\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Conv. rate\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n // py: 1.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#ebf2ff\",\r\n color: \"#3431e4\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", color: \"#3431e4\", fontWeight: 700 }}\r\n >\r\n {item.value}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopPerformingCampaignsCard = () => {\r\n const data = [\r\n {\r\n id: \"YO\",\r\n // avatarBg: \"#c1cfde70\",\r\n name: \"Yemen Orphans - Meta\",\r\n spend: \"$8,200\",\r\n revenue: \"$31,400\",\r\n roas: \"3.8x\",\r\n },\r\n {\r\n id: \"GF\",\r\n // avatarBg: \"#c1cfdedb\",\r\n name: \"Gaza Food - Google\",\r\n spend: \"$7,400\",\r\n revenue: \"$25,200\",\r\n roas: \"3.4x\",\r\n },\r\n {\r\n id: \"PW\",\r\n // avatarBg: \"#c1cfdedb\",\r\n name: \"Pakistan Wells - Meta\",\r\n spend: \"$5,800\",\r\n revenue: \"$18,600\",\r\n roas: \"3.2x\",\r\n },\r\n {\r\n id: \"R\",\r\n // avatarBg: \"#c1cfdedb\",\r\n name: \"Ramadan - TikTok\",\r\n spend: \"$3,200\",\r\n revenue: \"$8,900\",\r\n roas: \"2.8x\",\r\n },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top performing campaigns\"\r\n subtitle=\"Paid campaigns ranked by ROAS\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 0.8fr\",\r\n gap: 1,\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Spend\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Revenue\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n ROAS\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 0.8fr\",\r\n gap: 1,\r\n py: 1,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#c1cfde71\",\r\n color: \"#3431e4ff\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"#000\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.spend}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"#000\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.revenue}\r\n </Typography>\r\n <Box\r\n sx={{\r\n bgcolor: \"#48d8d620\",\r\n color: \"#157c3bff\",\r\n // px: 1,\r\n p: 0.5,\r\n width: \"40px\",\r\n // height: \"25px\",\r\n borderRadius: \"100px\",\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n textAlign: \"center\",\r\n }}\r\n >\r\n {item.roas}\r\n </Box>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const PaidDonorGeographyCard = ({ sx, donorGeographyData }) => {\r\n const rawCountries = Array.isArray(donorGeographyData)\r\n ? donorGeographyData\r\n : (donorGeographyData?.countries || []);\r\n\r\n const data = rawCountries.map((item) => ({\r\n country: item.countryName || item.country || \"Unknown\",\r\n percentage: typeof item.percentage === \"number\" ? item.percentage : 0,\r\n value: item.donations !== undefined ? item.donations : (item.value || 0),\r\n }));\r\n\r\n return (\r\n <Card\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n // height: \"100%\",\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\" }}>\r\n Paid donor geography\r\n </Typography>\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0 }}>\r\n Where ad-acquired donors come from\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.7 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"100px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.country}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.percentage}\r\n sx={{\r\n height: 8,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: \"#6366F1\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#111\",\r\n minWidth: \"60px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {item.value} · {item.percentage}%\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Card>\r\n );\r\n};\r\n","import React from \"react\";\nimport { Box, Typography, Card } from \"@mui/material\";\nimport Chart from \"react-apexcharts\";\n\nconst RefundsChargebacksCard = ({ sx, refundsChargebacksData = {} }) => {\n const {\n refundRate = 0,\n chargebackRate = 0,\n totalRefundedAmount = 0,\n totalRefunds = 0,\n totalChargebacks = 0,\n growthPercentage = 0,\n totalRevenue = 0,\n chartData = [],\n } = refundsChargebacksData;\n\n const categories = chartData.map((item) => item.date);\n const refundSeries = chartData.map((item) => parseFloat((item.refundRate || 0).toFixed(2)));\n const chargebackSeries = chartData.map((item) => parseFloat((item.chargebackRate || 0).toFixed(2)));\n\n const maxVal = Math.max(...chargebackSeries, ...refundSeries, 1);\n const yAxisMax = Math.ceil(maxVal * 1.2);\n\n const chartOptions = {\n chart: {\n type: \"area\",\n toolbar: { show: false },\n zoom: { enabled: false },\n fontFamily: \"Inter, sans-serif\",\n sparkline: { enabled: false },\n },\n dataLabels: { enabled: false },\n stroke: { curve: \"smooth\", width: 2 },\n fill: {\n type: \"gradient\",\n gradient: {\n shadeIntensity: 1,\n opacityFrom: 0.35,\n opacityTo: 0.02,\n stops: [20, 100],\n },\n },\n xaxis: {\n categories,\n axisBorder: { show: false },\n axisTicks: { show: false },\n labels: {\n show: categories.length <= 15,\n rotate: -45,\n style: { colors: \"rgba(0, 0, 0, 0.4)\", fontSize: \"10px\" },\n },\n },\n yaxis: {\n min: 0,\n max: yAxisMax,\n tickAmount: 4,\n labels: {\n formatter: (val) => `${parseFloat(val.toFixed(1))}%`,\n style: { colors: \"rgba(0, 0, 0, 0.4)\", fontSize: \"11px\" },\n },\n },\n grid: {\n borderColor: \"#f1f1f1\",\n strokeDashArray: 4,\n yaxis: { lines: { show: true } },\n padding: { left: 0, right: 0 },\n },\n colors: [\"#F59E0B\", \"#EF4444\"],\n legend: { show: false },\n annotations: {\n yaxis: [\n {\n y: 1,\n borderColor: \"#EF4444\",\n strokeDashArray: 3,\n label: {\n borderColor: \"transparent\",\n style: {\n color: \"#EF4444\",\n background: \"transparent\",\n fontSize: \"10px\",\n fontWeight: 700,\n },\n position: \"left\",\n offsetY: -10,\n offsetX: 10,\n },\n },\n ],\n },\n tooltip: {\n shared: true,\n y: { formatter: (val) => `${parseFloat(val.toFixed(2))}%` },\n },\n };\n\n const series = [\n { name: \"Refunds\", data: refundSeries },\n { name: \"Chargebacks\", data: chargebackSeries },\n ];\n\n const fmt = (n) =>\n n >= 1000\n ? `${(n / 1000).toFixed(1)}k`\n : parseFloat(n?.toFixed(2) ?? 0).toString();\n\n const growthColor = growthPercentage > 0 ? \"#EF4444\" : growthPercentage < 0 ? \"#22C55E\" : \"rgba(0,0,0,0.4)\";\n const growthLabel =\n growthPercentage > 0\n ? `▲ ${growthPercentage.toFixed(1)}%`\n : growthPercentage < 0\n ? `▼ ${Math.abs(growthPercentage).toFixed(1)}%`\n : \"stable\";\n\n return (\n <Card\n sx={{\n bgcolor: \"#fff\",\n borderRadius: 4,\n border: \"1px solid #f0f0f0\",\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\n p: 3,\n display: \"flex\",\n flexDirection: \"column\",\n ...sx,\n }}\n >\n {/* Header */}\n <Box sx={{ mb: 0 }}>\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\", textAlign: \"left\" }}>\n Refunds &amp; chargebacks\n </Typography>\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", textAlign: \"left\" }}>\n Trust health · 30-day window\n </Typography>\n </Box>\n\n {/* Legend + Stats */}\n <Box sx={{ display: \"flex\", gap: 2, mb: 0.75, flexWrap: \"wrap\", mt: 1 }}>\n {/* Refunds */}\n <Box sx={{ display: \"flex\", alignItems: \"flex-start\", gap: 0.75 }}>\n <Box sx={{ width: 8, height: 8, bgcolor: \"#F59E0B\", borderRadius: \"50%\", mt: \"4px\", flexShrink: 0 }} />\n <Box>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>\n Refunds\n </Typography>\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600, color: \"#000\" }}>\n {refundRate.toFixed(2)}%\n </Typography>\n </Box>\n <Typography sx={{ fontSize: \"12px\", fontWeight: 600, color: \"rgba(0,0,0,0.4)\", lineHeight: 1.2, mt: 0.2 }}>\n ${fmt(totalRefundedAmount)} refunded\n </Typography>\n </Box>\n </Box>\n\n {/* Chargebacks */}\n <Box sx={{ display: \"flex\", alignItems: \"flex-start\", gap: 0.75 }}>\n <Box sx={{ width: 8, height: 8, bgcolor: \"#EF4444\", borderRadius: \"50%\", mt: \"4px\", flexShrink: 0 }} />\n <Box>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>\n Chargebacks\n </Typography>\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600, color: \"#000\" }}>\n {chargebackRate.toFixed(2)}%\n </Typography>\n </Box>\n <Typography sx={{ fontSize: \"12px\", fontWeight: 600, color: growthColor, lineHeight: 1.2, mt: 0.2 }}>\n {growthLabel}\n </Typography>\n </Box>\n </Box>\n </Box>\n\n {/* Summary line */}\n <Box sx={{ mb: 0.5 }}>\n <Typography sx={{ fontSize: \"12px\", color: \"rgba(0, 0, 0, 0.3)\", fontWeight: 500, textAlign: \"left\" }}>\n ${fmt(totalRefundedAmount)} refunded · {totalChargebacks} chargebacks · {totalRefunds} refunds\n </Typography>\n </Box>\n\n {/* Chart */}\n <Box sx={{ height: 140, width: \"100%\", flexShrink: 0 }}>\n <Chart options={chartOptions} series={series} type=\"area\" height=\"100%\" />\n </Box>\n </Card>\n );\n};\n\nexport default RefundsChargebacksCard;\n","import { Avatar, Box, Stack, Typography } from \"@mui/material\";\r\n\r\n\r\nconst MetricCard = ({\r\n title,\r\n value,\r\n caption,\r\n icon,\r\n active,\r\n warning,\r\n error,\r\n onClick\r\n}) => (\r\n <Box\r\n sx={{\r\n bgcolor: \"#fff\",\r\n border: `1.5px solid ${active ? \"#4F46E5\" : warning ? \"#F3B33D\" : error ? \"#ef4444\" : \"#F1F1F5\"}`,\r\n borderRadius: \"16px\",\r\n p: { xs: 1.75, md: 2 },\r\n paddingTop: \"10px !important\", paddingBottom: \"10px !important\",\r\n height: 92,\r\n boxShadow: \"0 14px 30px rgba(21, 26, 45, 0.06)\",\r\n }}\r\n onClick={onClick}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n justifyContent=\"space-between\"\r\n alignItems=\"center\"\r\n >\r\n <Typography\r\n sx={{\r\n color: active ? \"#818CF8\" : \"#999EAA\",\r\n fontSize: 13,\r\n fontWeight: 500,\r\n letterSpacing: 0,\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n <Avatar\r\n sx={{\r\n width: 30,\r\n height: 30,\r\n bgcolor: warning ? \"#FFF3CF\" : error ? \"#fee2e2\" : \"#EEF2FF\",\r\n color: warning ? \"#B45309\" : error ? \"#ef4444\" : \"#4F46E5\",\r\n }}\r\n >\r\n {icon}\r\n </Avatar>\r\n </Stack>\r\n <Typography\r\n sx={{\r\n // mt: 0.3,\r\n fontSize: 22,\r\n fontWeight: 700,\r\n color: active ? \"#4F46E5\" : \"#050509\",\r\n lineHeight: 1.15,\r\n }}\r\n >\r\n {value}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n // mt: 1.05,\r\n fontSize: 12,\r\n fontWeight: 500,\r\n color: caption.includes(\"failed\")\r\n ? \"#4F46E5\"\r\n : error\r\n ? \"#ef4444\"\r\n : \"#0B8F61\",\r\n }}\r\n >\r\n {caption}\r\n </Typography>\r\n </Box>\r\n);\r\n\r\nexport default MetricCard;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport ActiveCampaignsCard from \"../ActiveCampaignsCard\";\r\nimport DonorMixCard from \"../DonorMixCard\";\r\nimport TrafficSourceCard from \"../TrafficSourceCard\";\r\nimport MetricSparklineCard from \"../MetricSparklineCard\";\r\nimport MetricDonutCard from \"../MetricDonutCard\";\r\nimport DonationTypeBarChart from \"../DonationTypeBarChart\";\r\nimport {\r\n PaidDonorGeographyCard,\r\n} from \"../TOPCards\";\r\nimport RefundsChargebacksCard from \"../RefundsChargebacksCard\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n FavoriteOutlined as HeartIcon,\r\n PeopleAltOutlined as PeopleIcon,\r\n TrendingUp as TrendIcon,\r\n Adjust as AdjustIcon,\r\n} from \"@mui/icons-material\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\n\r\nconst OverallSection = ({\r\n apiData = {},\r\n primaryCharts,\r\n secondaryCharts,\r\n tertiaryCharts,\r\n quaternaryCharts,\r\n dateName,\r\n}) => {\r\n const [activeMetric, setActiveMetric] = useState(\"Total Raised\");\r\n\r\n const donationTypeData = apiData?.recurringBarChartData || [];\r\n const donorGeographyData = apiData?.donorGeography || [];\r\n const trafficSourceData = apiData?.trafficSourceData || [];\r\n const orderBumpData = apiData?.orderBumpDetails || [];\r\n const upsellData = apiData?.upSellDetails || [];\r\n const downsellData = apiData?.downSellDetails || [];\r\n const referralData = apiData?.referralDetails || [];\r\n const refundsChargebacksData = apiData?.refundAndChargeBacks || [];\r\n const allCharts = [\r\n ...primaryCharts,\r\n ...secondaryCharts,\r\n ...tertiaryCharts,\r\n ...quaternaryCharts,\r\n ];\r\n\r\n const getExtendedCharts = () => {\r\n const charts = [...allCharts];\r\n const categories = apiData?.categories || [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n ];\r\n\r\n if (!charts.find((c) => c.label === \"Net Raised\")) {\r\n charts.push({\r\n label: \"Net Raised\",\r\n value: apiData?.netRaised || \"$222.3K\",\r\n data: (\r\n apiData?.revenueData || [\r\n 3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000,\r\n ]\r\n ).map((v) => v * 0.92),\r\n categories,\r\n });\r\n }\r\n\r\n if (!charts.find((c) => c.label === \"Total Donors\")) {\r\n charts.push({\r\n label: \"Total Donors\",\r\n value: apiData?.totalDonors || \"215\",\r\n data: apiData?.donationsData || [15, 22, 18, 30, 25, 35, 42, 45, 28],\r\n categories,\r\n });\r\n }\r\n\r\n if (!charts.find((c) => c.label === \"ROAS\")) {\r\n charts.push({\r\n label: \"ROAS\",\r\n value: apiData?.roas || \"3.0x\",\r\n data: [2.1, 2.4, 2.2, 2.8, 2.6, 3.1, 3.1, 3.0, 2.9],\r\n categories,\r\n });\r\n }\r\n\r\n return charts;\r\n };\r\n\r\n const metricInfo = {\r\n \"Total Raised\": {\r\n value: `$${formatNumber(apiData?.overviewStats?.overview?.totalRevenue)}` || \"$0\",\r\n subValue: `${Number(apiData?.overviewStats?.overview?.growthPercentage?.totalRevenue ?? 0).toFixed(2)}% vs ${dateName || \"last month\"}`,\r\n label: \"Total Raised\",\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Net Raised\": {\r\n value: `$${formatNumber(apiData?.overviewStats?.overview?.netRevenue)}`,\r\n subValue: `${Number(apiData?.overviewStats?.overview.growthPercentage?.netRevenue ?? 0).toFixed(2)}% vs ${dateName ?? \"previous period\"\r\n }`,\r\n label: \"Net Raised\",\r\n icon: <HeartIcon />,\r\n money: true,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Total Donors\": {\r\n value: apiData?.overviewStats?.overview?.totalDonations || \"215\",\r\n subValue: `${Number(apiData?.overviewStats?.overview.growthPercentage?.totalDonations ?? 0).toFixed(2)}%` || \"0 new\",\r\n label: \"Total Donors\",\r\n icon: <PeopleIcon />,\r\n money: false,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Avg donation\": {\r\n value: `$${formatNumber(apiData?.overviewStats?.overview?.overallAVGDonations)}`,\r\n subValue: `${Number(apiData?.overviewStats?.overview.growthPercentage?.overallAVGDonations ?? 0).toFixed(2)}% vs ${dateName ?? \"last month\"\r\n }`,\r\n label: \"Average Donation Amount\",\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false,\r\n },\r\n \"ROAS\": {\r\n value: `${formatNumber(apiData?.roasCard ?? 0)}x`,\r\n subValue: `${Number(apiData?.roasCardPrev ?? 0).toFixed(2)}x vs ${dateName ?? \"last month\"}`,\r\n label: \"ROAS\",\r\n icon: <TrendIcon />,\r\n money: false,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Conversion\": {\r\n value: `${formatNumber(apiData?.overviewStats?.overview?.conversionRate)}%` || \"0.0%\",\r\n subValue: `${(apiData?.overviewStats?.overview?.growthPercentage?.conversionRate ?? 0).toFixed(2)}%` || \"0%\",\r\n label: \"Conversion Rate\",\r\n icon: <AdjustIcon />,\r\n money: false,\r\n error: false,\r\n warning: false,\r\n },\r\n };\r\n\r\n const activeCampaignsData = apiData?.activeCampaigns || [];\r\n const donorMix = apiData?.donorPieChartData;\r\n let newDonorsCount = 0;\r\n let returningDonorsCount = 0;\r\n let totalDonorsMix = 0;\r\n let newDonorsPerc = 0;\r\n let returningDonorsPerc = 0;\r\n let avgGift = 0;\r\n let donorMixPrev = 0;\r\n\r\n if (Array.isArray(donorMix)) {\r\n const newDonorsObj = donorMix.find((d) => d.type === \"New Donors\" || d.type === \"New donors\") || {};\r\n const returningDonorsObj = donorMix.find((d) => d.type === \"Returning Donors\" || d.type === \"Returning\") || {};\r\n\r\n newDonorsCount = newDonorsObj.totalDonations || 0;\r\n returningDonorsCount = returningDonorsObj.totalDonations || 0;\r\n totalDonorsMix = newDonorsCount + returningDonorsCount;\r\n\r\n newDonorsPerc = totalDonorsMix > 0 ? Math.round((newDonorsCount / totalDonorsMix) * 100) : 0;\r\n returningDonorsPerc = totalDonorsMix > 0 ? Math.round((returningDonorsCount / totalDonorsMix) * 100) : 0;\r\n\r\n const totalAmount = (newDonorsObj.totalAmount || 0) + (returningDonorsObj.totalAmount || 0);\r\n avgGift = totalDonorsMix > 0 ? Number((totalAmount / totalDonorsMix).toFixed(2)) : 0;\r\n donorMixPrev = apiData?.donorMixPrev || 0;\r\n } else if (donorMix && typeof donorMix === \"object\") {\r\n newDonorsCount = donorMix.newDonors || 0;\r\n returningDonorsCount = donorMix.returningDonors || 0;\r\n totalDonorsMix = newDonorsCount + returningDonorsCount;\r\n\r\n newDonorsPerc = totalDonorsMix > 0 ? Math.round((newDonorsCount / totalDonorsMix) * 100) : 0;\r\n returningDonorsPerc = totalDonorsMix > 0 ? Math.round((returningDonorsCount / totalDonorsMix) * 100) : 0;\r\n\r\n avgGift = donorMix.avgGift || 0;\r\n donorMixPrev = donorMix.donorMixPrev || 0;\r\n }\r\n\r\n console.log(\"DONOR MIX\", donorMix);\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"1px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n );\r\n\r\n const extendedCharts = getExtendedCharts();\r\n const selectedInfo = metricInfo[activeMetric];\r\n let mainChart =\r\n extendedCharts.find((c) => c.label === selectedInfo.label) ||\r\n primaryCharts[0];\r\n\r\n\r\n if (activeMetric === \"Total Raised\") {\r\n const stackedData = apiData?.overviewStats?.totalRaised;\r\n const hasStackedData = stackedData?.paidAds || stackedData?.email || stackedData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (stackedData?.organic || stackedData?.paidAds || stackedData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (stackedData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (stackedData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (stackedData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Total revenue trend\",\r\n data: undefined, // Clear single data property to force series usage\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n stroke: {\r\n curve: \"smooth\",\r\n width: 3,\r\n },\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Net Raised\") {\r\n const netData = apiData?.overviewStats?.netRaised;\r\n const hasStackedData = netData?.paidAds || netData?.email || netData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (netData?.organic || netData?.paidAds || netData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (netData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (netData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (netData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Net revenue trend\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(netData) && netData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Net revenue trend\",\r\n data: netData.map((item) => item.value),\r\n categories: netData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Total Donors\") {\r\n const donorsData = apiData?.overviewStats?.totalDonations;\r\n const hasStackedData = donorsData?.paidAds || donorsData?.email || donorsData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (donorsData?.organic || donorsData?.paidAds || donorsData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (donorsData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (donorsData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (donorsData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Donor trend\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(donorsData) && donorsData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Donor trend\",\r\n data: donorsData.map((item) => item.value),\r\n categories: donorsData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"ROAS\") {\r\n const roasData = apiData?.roas;\r\n const hasStackedData = roasData?.paidAds || roasData?.email || roasData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (roasData?.organic || roasData?.paidAds || roasData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (roasData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (roasData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (roasData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"ROAS\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(roasData) && roasData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"ROAS\",\r\n data: roasData.map((item) => item.value),\r\n categories: roasData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Conversion\") {\r\n const conversionData = apiData?.overviewStats?.conversionRate;\r\n const hasStackedData = conversionData?.paidAds || conversionData?.email || conversionData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (conversionData?.organic || conversionData?.paidAds || conversionData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (conversionData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (conversionData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (conversionData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Conversion Rate\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(conversionData) && conversionData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Conversion Rate\",\r\n data: conversionData.map((item) => item.value),\r\n categories: conversionData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Avg donation\") {\r\n const avgData = apiData?.overviewStats?.avgDonations;\r\n const hasStackedData = avgData?.paidAds || avgData?.email || avgData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (avgData?.organic || avgData?.paidAds || avgData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (avgData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (avgData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (avgData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Average donation trend\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(avgData) && avgData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Average donation trend\",\r\n data: avgData.map((item) => item.value),\r\n categories: avgData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: mainChart.label || activeMetric,\r\n value: selectedInfo.value,\r\n trend: selectedInfo.subValue,\r\n };\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr 1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(6, 1fr)\",\r\n },\r\n gap: \"6px\",\r\n mb: 0,\r\n }}\r\n >\r\n {Object.keys(metricInfo).map(renderCard)}\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 0, mt: \"6px\" }}>\r\n <RenderChartCard\r\n item={mainChart}\r\n index={0}\r\n md={12}\r\n isPremium={true}\r\n isPrimary={true}\r\n metric={\r\n activeMetric.includes(\"Raised\") || activeMetric.includes(\"donation\")\r\n ? \"Revenue\"\r\n : \"Donors\"\r\n }\r\n />\r\n </Grid>\r\n\r\n <Grid container spacing={\"6px\"} sx={{ mt: \"6px\" }}>\r\n <Grid item xs={12} md={9} sx={{ paddingTop: \"0px !important\" }}>\r\n <ActiveCampaignsCard\r\n title=\"Active campaigns\"\r\n subtitle=\"Live fundraisers ranked by velocity\"\r\n columns={[\r\n \"Campaign\",\r\n \"Raised\",\r\n \"Progress\",\r\n \"Donors\",\r\n \"Avg gift\",\r\n // \"Status\",\r\n ]}\r\n rows={activeCampaignsData.map((campaign) => ({\r\n id: campaign.campaignName\r\n ? campaign.campaignName\r\n .split(\" \")\r\n .filter(Boolean)\r\n .map((word) => word[0])\r\n .join(\"\")\r\n .toUpperCase()\r\n .slice(0, 2)\r\n : \"??\",\r\n name: campaign.title || \"Untitled Campaign\",\r\n val1: `$${formatNumber(campaign.collectedAmount || 0)}`,\r\n type: \"progress\",\r\n progress: Math.round(\r\n ((campaign.collectedAmount || 0) / (campaign.usdTargetAmount || 1)) * 100\r\n ),\r\n val3: formatNumber(campaign.uniqueDonationsCount || 0),\r\n val4: `$${formatNumber(campaign.avgGift || 0)}`,\r\n }))}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={3} sx={{ display: \"flex\", paddingTop: \"0px !important\", marginTop: { xs: \"16px\", md: \"0px\" } }}>\r\n <DonorMixCard\r\n title=\"Donor mix\"\r\n subtitle=\"Acquisition vs retention\"\r\n series={[newDonorsCount, returningDonorsCount]}\r\n labels={[\"New donors\", \"Returning\"]}\r\n colors={[\"rgb(99, 99, 230)\", \"#10B981\"]}\r\n centerLabel=\"donors\"\r\n centerValue={totalDonorsMix.toString()}\r\n items={[\r\n {\r\n label: \"New donors\",\r\n val: `${newDonorsCount} · ${newDonorsPerc}%`,\r\n color: \"rgb(99, 99, 230)\",\r\n },\r\n {\r\n label: \"Returning\",\r\n val: `${returningDonorsCount} · ${returningDonorsPerc}%`,\r\n color: \"#10B981\",\r\n },\r\n ]}\r\n bottomSummaryValue={`$${avgGift}`}\r\n bottomSummaryTrend={`${donorMixPrev}% vs ${dateName || \"last month\"}`}\r\n sx={{ width: \"100%\" }}\r\n />\r\n </Grid>\r\n </Grid>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\", // 1 card\r\n sm: \"repeat(2, 1fr)\", // 2 cards\r\n md: \"repeat(4, 1fr)\", // 4 cards\r\n },\r\n gap: \"6px\",\r\n mt: \"6px\",\r\n alignItems: \"stretch\",\r\n }}\r\n >\r\n <DonationTypeBarChart sx={{ maxHeight: 280 }} donationTypeData={donationTypeData} />\r\n\r\n <PaidDonorGeographyCard sx={{ maxHeight: 280 }} donorGeographyData={donorGeographyData} />\r\n\r\n <RefundsChargebacksCard sx={{ maxHeight: 280 }} refundsChargebacksData={refundsChargebacksData} />\r\n\r\n <TrafficSourceCard sx={{ maxHeight: 280 }} trafficSourceData={trafficSourceData?.data || []} total={`$${formatNumber(trafficSourceData?.totalRevenue || 0)}`}\r\n />\r\n\r\n <MetricSparklineCard\r\n title=\"Order Bump\"\r\n subtitle=\"Revenue trend · last 30 days\"\r\n value={`$${formatNumber(orderBumpData?.totalRevenue || 0)}`}\r\n trend={`${orderBumpData?.growthPercentage >= 0 ? \"▲\" : \"▼\"} ${Math.abs(\r\n orderBumpData?.growthPercentage || 0\r\n ).toFixed(1)}% vs last month`}\r\n chartData={\r\n orderBumpData?.chart?.map((item) => ({\r\n label: item.label,\r\n value: item.revenue,\r\n })) || []\r\n }\r\n footerMetrics={[\r\n {\r\n label: \"Avg / Day\",\r\n value: `$${formatNumber(orderBumpData?.averagePerDay || 0)}`,\r\n },\r\n {\r\n label: \"Orders\",\r\n value: formatNumber(orderBumpData?.totalOrders || 0),\r\n },\r\n {\r\n label: \"Peak Day\",\r\n value: `$${formatNumber(orderBumpData?.peakDay?.amount || 0)}`,\r\n subValue: orderBumpData?.peakDay?.date,\r\n },\r\n ]}\r\n sx={{ maxHeight: 280 }}\r\n bottomSection\r\n />\r\n\r\n <MetricDonutCard\r\n title=\"Upsell\"\r\n subtitle=\"Acceptance & raised\"\r\n acceptanceRate={upsellData?.acceptanceRate || 0}\r\n\r\n acceptanceVal={`${formatNumber(upsellData?.totalUpsellsAttached || 0)}`}\r\n acceptanceTrend={`${upsellData?.acceptanceGrowth >= 0 ? \"▲\" : \"▼\"} ${Math.abs(\r\n upsellData?.acceptanceGrowth || 0\r\n ).toFixed(1)}%`}\r\n\r\n raisedVal={`$${formatNumber(upsellData?.raised || 0)}`}\r\n raisedTrend={`${upsellData?.raisedGrowth >= 0 ? \"▲\" : \"▼\"} ${Math.abs(\r\n upsellData?.raisedGrowth || 0\r\n ).toFixed(1)}%`}\r\n\r\n sx={{ maxHeight: 280 }}\r\n />\r\n\r\n <MetricDonutCard\r\n title=\"Downsell\"\r\n subtitle=\"Acceptance & raised\"\r\n acceptanceRate={downsellData?.acceptanceRate || 0}\r\n acceptanceVal={`${formatNumber(downsellData?.acceptanceRate || 0)}%`}\r\n acceptanceTrend={`${formatNumber(downsellData?.acceptanceGrowth || 0)}%`}\r\n raisedVal={`$${formatNumber(downsellData?.raised || 0)}`}\r\n raisedTrend={`${formatNumber(downsellData?.raisedGrowth || 0)}%`}\r\n sx={{ maxHeight: 280 }}\r\n />\r\n\r\n <MetricSparklineCard\r\n title=\"Referrals\"\r\n subtitle=\"Revenue trend · last 30 days\"\r\n value={`$${formatNumber(referralData?.totalRevenue || 0)}`}\r\n trend={`▲ ${referralData?.growthPercentage || 0}% vs last month`}\r\n chartData={\r\n referralData?.chartData?.map((item) => ({\r\n label: item.date,\r\n value: item.revenue,\r\n })) || []\r\n }\r\n // chartData={\r\n // referralData?.chartData?.map(item => item.revenue) || []\r\n // }\r\n footerMetrics={[\r\n {\r\n label: \"Referrers\",\r\n value: formatNumber(referralData?.totalReferrers || 0),\r\n },\r\n {\r\n label: \"Avg gift\",\r\n value: `$${formatNumber(referralData?.averageGift || 0)}`,\r\n },\r\n {\r\n label: \"Conv. rate\",\r\n value: `${formatNumber(referralData?.conversionRate || 0)}%`,\r\n },\r\n ]}\r\n sx={{ maxHeight: 280 }}\r\n bottomSection\r\n />\r\n </Box>\r\n\r\n\r\n </>\r\n );\r\n};\r\n\r\nexport default OverallSection;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n TrendingUp as TrendIcon,\r\n Adjust as AdjustIcon,\r\n PersonOutlined as PersonOutlinedIcon,\r\n IndeterminateCheckBoxOutlined as IndeterminateCheckBoxOutlinedIcon,\r\n} from \"@mui/icons-material\";\r\nimport ActiveCampaignsCard from \"../ActiveCampaignsCard\";\r\nimport DonorMixCard from \"../DonorMixCard\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nimport {\r\n TopPerformingCampaignsCard,\r\n PaidDonorGeographyCard,\r\n} from \"../TOPCards\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\n\r\nconst PaidSection = () => {\r\n const [activeMetric, setActiveMetric] = useState(\"Total Spent\");\r\n const categories = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\r\n\r\n const metricInfo = {\r\n \"Total Spent\": {\r\n value: `$${formatNumber(80313)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Daily Spend\",\r\n data: [800, 950, 700, 1100, 900, 1200, 1300],\r\n icon: <IndeterminateCheckBoxOutlinedIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n \"Revinue Raised\": {\r\n value: `$${formatNumber(240398)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Daily Revenue\",\r\n data: [3200, 4100, 2800, 5600, 4200, 6100, 7500],\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n ROAS: {\r\n value: \"3.0\",\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"ROAS Trend\",\r\n data: [2.5, 3.1, 2.8, 4.2, 3.8, 4.5, 5.2],\r\n icon: <TrendIcon />,\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Cost per donor\": {\r\n value: `$${formatNumber(373)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"CPA Trend\",\r\n data: [350, 380, 360, 410, 390, 370, 373],\r\n icon: <PersonOutlinedIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n \"Conversion rate\": {\r\n value: \"3.1%\",\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Conversion Rate\",\r\n data: [2.8, 3.0, 2.9, 3.4, 3.2, 3.1, 3.1],\r\n icon: <AdjustIcon />,\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Avg donation\": {\r\n value: `$${formatNumber(130.58)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Average Donation\",\r\n data: [120, 135, 125, 140, 130, 128, 130.58],\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n };\r\n\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"2px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n );\r\n\r\n const selectedInfo = metricInfo[activeMetric];\r\n const mainChart = {\r\n label: activeMetric,\r\n value: selectedInfo.value,\r\n trend: selectedInfo.subValue,\r\n data: selectedInfo.data,\r\n categories: categories,\r\n };\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(6, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n }}\r\n >\r\n {Object.keys(metricInfo).map(renderCard)}\r\n </Box>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.75 }}>\r\n <RenderChartCard\r\n item={mainChart}\r\n index={0}\r\n md={12}\r\n type=\"area\"\r\n isPrimary={true}\r\n isPremium={true}\r\n />\r\n </Grid>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25, }}>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\", minHeight: \"430px\" }}>\r\n <ActiveCampaignsCard\r\n title=\"Channel performance\"\r\n subtitle=\"Ad platforms ranked by ROAS\"\r\n columns={[\"channel\", \"spend\", \"revenue\", \"ROAS\", \"CPA\", \"trend\"]}\r\n gridTemplateColumns=\"2.2fr 1fr 1fr 0.8fr 0.8fr 1.2fr\"\r\n height=\"100%\"\r\n rows={[\r\n {\r\n id: \"M\",\r\n avatarBg: \"#4267B2\",\r\n name: \"Meta Ads\",\r\n val1: \"$32,800\",\r\n val2: \"$112,400\",\r\n val3: \"3.4x\",\r\n val4: \"$340\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n {\r\n id: \"G\",\r\n avatarBg: \"#4285F4\",\r\n name: \"Google Ads\",\r\n val1: \"$28,200\",\r\n val2: \"$78,300\",\r\n val3: \"2.8x\",\r\n val4: \"$385\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n {\r\n id: \"T\",\r\n avatarBg: \"#000000\",\r\n name: \"TikTok Ads\",\r\n val1: \"$11,400\",\r\n val2: \"$31,200\",\r\n val3: \"2.7x\",\r\n val4: \"$402\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n {\r\n id: \"Y\",\r\n avatarBg: \"#FF0000\",\r\n name: \"YouTube\",\r\n val1: \"$5,313\",\r\n val2: \"$12,600\",\r\n val3: \"2.4x\",\r\n val4: \"$443\",\r\n type: \"trend\",\r\n trendType: \"down\",\r\n trendLabel: \"Declining\",\r\n highlightVal3: true,\r\n val3Color: \"#EF4444\",\r\n },\r\n {\r\n id: \"S\",\r\n avatarBg: \"#FFFC00\",\r\n name: \"Snapchat\",\r\n val1: \"$2,600\",\r\n val2: \"$6,438\",\r\n val3: \"2.5x\",\r\n val4: \"$418\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n ]}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\", minHeight: \"430px\", marginTop: { xs: 3, md: \"0px\" } }}>\r\n <DonorMixCard\r\n title=\"Spend allocation\"\r\n subtitle=\"Where $80.3K went this month\"\r\n series={[40.8, 35.1, 14.2, 6.6, 3.3]}\r\n labels={[\"Meta Ads\", \"Google Ads\", \"TikTok\", \"YouTube\", \"Snapchat\"]}\r\n colors={[\"#4267B2\", \"#4285F4\", \"#cd249dff\", \"#FF0000\", \"#FFFC00\"]}\r\n centerLabel=\"total spend\"\r\n centerValue=\"$80.3K\"\r\n items={[\r\n { label: \"Meta Ads\", val: \"40.8%\", color: \"#4267B2\" },\r\n { label: \"Google Ads\", val: \"35.1%\", color: \"#4285F4\" },\r\n { label: \"TikTok\", val: \"14.2%\", color: \"#cd249dff\" },\r\n { label: \"YouTube\", val: \"6.6%\", color: \"#FF0000\" },\r\n { label: \"Snapchat\", val: \"3.3%\", color: \"#FFFC00\" },\r\n ]}\r\n showBottomSummary={false}\r\n sx={{ pb: 3.5, height: \"100%\" }}\r\n />\r\n </Grid>\r\n </Grid>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25 }}>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\" }}>\r\n <TopPerformingCampaignsCard />\r\n </Grid>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 3, md: \"0px\" } }}>\r\n <PaidDonorGeographyCard />\r\n </Grid>\r\n </Grid>\r\n </>\r\n );\r\n};\r\n\r\nexport default PaidSection;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport { LandingPagesCard, KeywordsCard, GeographyCard } from \"../TOPCards\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n FavoriteOutlined as HeartIcon,\r\n PeopleAltOutlined as PeopleIcon,\r\n Adjust as AdjustIcon,\r\n SearchOutlined as SearchoutlinedIcon,\r\n} from \"@mui/icons-material\";\r\nimport DonorMixCard from \"../DonorMixCard\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\n\r\nconst OrganicSection = ({ apiData = {} }) => {\r\n const [activeMetric, setActiveMetric] = useState(\"Organic Users\");\r\n const categories = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\r\n\r\n const metricInfo = {\r\n \"Organic Users\": {\r\n value: `${formatNumber(8420)}`,\r\n subValue: apiData?.totalRaisedTrend || \"18% vs last month\",\r\n data: [3200, 4100, 2800, 5600, 4200, 6100, 7500],\r\n icon: <PeopleIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n \"Search Clicks\": {\r\n value: `${formatNumber(5842)}`,\r\n subValue: apiData?.netRaisedSub || \"92.3% pass-through\",\r\n data: [1500, 1800, 1600, 2200, 2000, 2400, 2800],\r\n icon: <SearchoutlinedIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n Donations: {\r\n value: `${formatNumber(420)}`,\r\n subValue: apiData?.totalRaisedTrend || \"18% vs last month\",\r\n data: [15, 22, 18, 30, 25, 35, 42],\r\n icon: <HeartIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n \"Conversion Rate\": {\r\n value: \"3.1%\",\r\n subValue: apiData?.avgDonationTrend || \"8.4% vs last month\",\r\n data: [2.5, 2.7, 2.6, 3.1, 3.0, 2.9, 3.1],\r\n icon: <AdjustIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n \"Revenue raised\": {\r\n value: `$${formatNumber(240398)}`,\r\n subValue: apiData?.roasTrend || \"0.4x vs last month\",\r\n data: [2.5, 3.1, 2.8, 4.2, 3.8, 4.5, 5.2],\r\n icon: <DollarIcon />,\r\n money: true,\r\n warning: false,\r\n error: false\r\n },\r\n \"Avg donation\": {\r\n value: `$${formatNumber(130.58)}`,\r\n subValue: apiData?.totalRaisedTrend || \"18% vs last month\",\r\n data: [110, 125, 120, 135, 130, 128, 130.58],\r\n icon: <DollarIcon />,\r\n money: true,\r\n warning: false,\r\n error: false\r\n },\r\n };\r\n\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"2px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n );\r\n\r\n const selectedInfo = metricInfo[activeMetric];\r\n const mainChart = {\r\n label: activeMetric,\r\n value: selectedInfo.value,\r\n trend: selectedInfo.subValue,\r\n data: selectedInfo.data,\r\n categories: categories,\r\n };\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(6, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n }}\r\n >\r\n {Object.keys(metricInfo).map(renderCard)}\r\n </Box>\r\n {/* <Box sx={{ display: \"flex\", gap: 2, mb: 2, flexWrap: \"wrap\" }}>\r\n {Object.keys(metricInfo).map((title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // flex: 1,\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"2px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n ))}\r\n </Box> */}\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.75 }}>\r\n <RenderChartCard\r\n item={mainChart}\r\n index={0}\r\n md={12}\r\n type=\"area\"\r\n isPrimary={true}\r\n isPremium={true}\r\n />\r\n\r\n <Grid item xs={12} md={6}>\r\n <LandingPagesCard />\r\n </Grid>\r\n\r\n <Grid item xs={12} md={6}>\r\n <DonorMixCard\r\n title=\"Source breakdown\"\r\n subtitle=\"Where organic visitors come from\"\r\n series={[40.8, 35.1, 14.2, 3.3]}\r\n labels={[\"Meta Ads\", \"Google Ads\", \"TikTok\", \"Snapchat\"]}\r\n colors={[\"#4267B2\", \"#4285F4\", \"#06510bff\", \"#f2b61dff\"]}\r\n centerLabel=\"total spend\"\r\n centerValue=\"$8.3K\"\r\n items={[\r\n { label: \"Google Search\", val: \"40.8%\", color: \"#4267B2\" },\r\n { label: \"Direct\", val: \"35.1%\", color: \"#4285F4\" },\r\n { label: \"Bing / Other\", val: \"14.2%\", color: \"#06510bff\" },\r\n { label: \"Referalls\", val: \"3.3%\", color: \"#f2b61dff\" },\r\n ]}\r\n showBottomSummary={false}\r\n sx={{ pb: 2 }}\r\n />\r\n </Grid>\r\n\r\n <Grid item xs={12} md={6}>\r\n <KeywordsCard />\r\n </Grid>\r\n <Grid item xs={12} md={6}>\r\n <GeographyCard subtitle=\"Top countries by organic traffic\" />\r\n </Grid>\r\n </Grid>\r\n </>\r\n );\r\n};\r\n\r\nexport default OrganicSection;\r\n","import React from \"react\";\r\nimport { Box, Typography, Card } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\n\r\nconst EmailTrendCard = ({\r\n title,\r\n subtitle,\r\n value,\r\n trend,\r\n series,\r\n colors,\r\n yAxisMax = 60,\r\n yAxisTickAmount = 3,\r\n yAxisFormatter = (val) => `${val}%`\r\n}) => {\r\n const chartOptions = {\r\n chart: {\r\n type: \"area\",\r\n toolbar: { show: false },\r\n sparkline: { enabled: false },\r\n fontFamily: \"Inter, sans-serif\"\r\n },\r\n stroke: {\r\n curve: \"smooth\",\r\n width: 2,\r\n dashArray: series.map(s => s.dashed ? 5 : 0)\r\n },\r\n fill: {\r\n type: \"gradient\",\r\n gradient: {\r\n shadeIntensity: 1,\r\n opacityFrom: 0.3,\r\n opacityTo: 0.8,\r\n stops: [0, 90, 100]\r\n }\r\n },\r\n colors: colors,\r\n xaxis: {\r\n categories: [\"Apr 5\", \"Apr 12\", \"Apr 19\", \"Apr 26\", \"May 4\"],\r\n labels: {\r\n show: true,\r\n style: { colors: 'rgba(0, 0, 0, 0.3)', fontSize: '10px' },\r\n offsetY: -5\r\n },\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n position: 'bottom'\r\n },\r\n yaxis: {\r\n max: yAxisMax,\r\n tickAmount: yAxisTickAmount,\r\n labels: {\r\n show: true,\r\n style: { colors: 'rgba(0, 0, 0, 0.3)', fontSize: '10px' },\r\n formatter: yAxisFormatter\r\n }\r\n },\r\n grid: {\r\n show: true,\r\n borderColor: \"rgba(0, 0, 0, 0.05)\",\r\n strokeDashArray: 0,\r\n xaxis: { lines: { show: false } },\r\n yaxis: { lines: { show: true } },\r\n padding: { left: 10, right: 10, bottom: 0 }\r\n },\r\n dataLabels: { enabled: false },\r\n legend: {\r\n show: series.length > 1,\r\n position: 'bottom',\r\n horizontalAlign: 'left',\r\n fontSize: '11px',\r\n fontFamily: 'Inter, sans-serif',\r\n offsetY: -5,\r\n markers: { width: 8, height: 8, radius: 12 },\r\n itemMargin: { horizontal: 10, vertical: 0 }\r\n },\r\n tooltip: { theme: 'light' }\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n height: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\"\r\n }}\r\n >\r\n <Box sx={{ mb: 1, textAlign: 'left' }}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\" }}>{title}</Typography>\r\n <Typography sx={{ fontSize: \"12px\", color: \"rgba(0, 0, 0, 0.4)\", fontWeight: 500 }}>{subtitle}</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5, mb: 1 }}>\r\n <Typography sx={{ fontSize: \"28px\", fontWeight: 700, color: \"#000\" }}>{value}</Typography>\r\n <Box\r\n sx={{\r\n bgcolor: \"#ebfcf4\",\r\n color: \"#10b981\",\r\n px: 1,\r\n py: 0.4,\r\n borderRadius: \"100px\",\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.3\r\n }}\r\n >\r\n <span style={{ fontSize: '10px' }}>▲</span> {trend}\r\n </Box>\r\n </Box>\r\n <Box sx={{ flexGrow: 1, height: 150, ml: -2, mr: -1 }}>\r\n <Chart options={chartOptions} series={series} type=\"area\" height=\"100%\" />\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default EmailTrendCard;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport EmailTrendCard from \"../EmailTrendCard\";\r\nimport {\r\n TopCampaignsRaisedCard,\r\n TopCampaignsCTRCard,\r\n TopCampaignsConvRateCard,\r\n} from \"../TOPCards\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n FavoriteOutlined as HeartIcon,\r\n Adjust as AdjustIcon,\r\n IndeterminateCheckBoxOutlined as IndeterminateCheckBoxOutlinedIcon,\r\n NotInterested as NotInterestedIcon,\r\n Email as EmailIcon,\r\n NearMe as NearMeIcon,\r\n HighlightOff as HighlightOffIcon,\r\n} from \"@mui/icons-material\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\n\r\nconst EmailSection = () => {\r\n const [activeMetric, setActiveMetric] = useState(\"Total raised\");\r\n const categories = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\r\n\r\n const metricInfo = {\r\n \"Total raised\": {\r\n value: `$${formatNumber(48920)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <DollarIcon />,\r\n data: [3200, 4100, 2800, 5600, 4200, 6100, 7500],\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n Donations: {\r\n value: \"62\",\r\n subValue: \"12% vs last month\",\r\n icon: <HeartIcon />,\r\n data: [4, 8, 5, 12, 10, 11, 12],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Conversion rate\": {\r\n value: \"3.2%\",\r\n subValue: \"12% vs last month\",\r\n icon: <AdjustIcon />,\r\n data: [2.8, 3.1, 2.9, 3.4, 3.2, 3.1, 3.2],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n CTR: {\r\n value: \"8.1%\",\r\n subValue: \"12% vs last month\",\r\n icon: <NotInterestedIcon />,\r\n data: [7.2, 8.4, 7.8, 8.9, 8.1, 8.0, 8.1],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Revenue per email\": {\r\n value: `$${formatNumber(2.45)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <IndeterminateCheckBoxOutlinedIcon />,\r\n data: [2.1, 2.5, 2.3, 2.8, 2.4, 2.4, 2.45],\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n \"Open rate\": {\r\n value: \"42.3%\",\r\n subValue: \"12% vs last month\",\r\n icon: <EmailIcon />,\r\n data: [38, 44, 40, 46, 42, 41, 42.3],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n Clicks: {\r\n value: \"1,612\",\r\n subValue: \"12% vs last month\",\r\n icon: <NearMeIcon />,\r\n data: [210, 240, 220, 280, 250, 245, 245],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Unique Clicks\": {\r\n value: `${formatNumber(1148)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <NearMeIcon />,\r\n data: [150, 180, 160, 210, 190, 185, 185],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Bounce rate\": {\r\n value: \"1.8%\",\r\n subValue: \"12% vs last month\",\r\n icon: <HighlightOffIcon />,\r\n data: [2.1, 1.9, 1.8, 1.7, 1.8, 1.8, 1.8],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Revenue per Click\": {\r\n value: `$${formatNumber(30.35)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <HighlightOffIcon />,\r\n data: [28, 32, 29, 34, 30, 30, 30.35],\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n };\r\n\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // // onClick={() => setActiveMetric(title)}\r\n // // isActive={activeMetric === title}\r\n // sx={{\r\n // }}\r\n // />\r\n );\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(5, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n }}\r\n >\r\n {[\r\n \"Total raised\",\r\n \"Donations\",\r\n \"Conversion rate\",\r\n \"CTR\",\r\n \"Revenue per email\",\r\n ].map(renderCard)}\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(5, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n mt: 2.75\r\n }}\r\n >\r\n {[\r\n \"Open rate\",\r\n \"Clicks\",\r\n \"Unique Clicks\",\r\n \"Bounce rate\",\r\n \"Revenue per Click\",\r\n ].map(renderCard)}\r\n </Box>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25, }}>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\" }}>\r\n <EmailTrendCard\r\n title=\"Open rate trend\"\r\n subtitle=\"Daily · 30 days\"\r\n value=\"42.3%\"\r\n trend=\"2.1pp\"\r\n series={[{ name: 'Open Rate', data: [38, 42, 41, 43, 42.3] }]}\r\n colors={['rgb(99, 99, 230)']}\r\n yAxisMax={53}\r\n yAxisTickAmount={3}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 1, md: \"0px\" } }}>\r\n <EmailTrendCard\r\n title=\"Clicks trend\"\r\n subtitle=\"Total + unique · 30 days\"\r\n value=\"1,612\"\r\n trend=\"14%\"\r\n series={[\r\n { name: 'Total clicks', data: [56, 112, 80, 150, 112] },\r\n { name: 'Unique clicks', data: [30, 70, 45, 100, 75], dashed: true }\r\n ]}\r\n colors={['#10B981', '#10B981']}\r\n yAxisMax={168}\r\n yAxisTickAmount={3}\r\n yAxisFormatter={(val) => val}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 1, md: \"0px\" } }}>\r\n <EmailTrendCard\r\n title=\"Bounce rate trend\"\r\n subtitle=\"Daily · lower is better\"\r\n value=\"1.8%\"\r\n trend=\"0.3pp\"\r\n series={[{ name: 'Bounce Rate', data: [2.2, 1.9, 2.0, 1.7, 1.8] }]}\r\n colors={['#f2994a']}\r\n yAxisMax={2.5}\r\n yAxisTickAmount={3}\r\n />\r\n </Grid>\r\n </Grid>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25 }}>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\" }}>\r\n <TopCampaignsRaisedCard />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 2, md: \"0px\" } }}>\r\n <TopCampaignsCTRCard />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 2, md: \"0px\" } }}>\r\n <TopCampaignsConvRateCard />\r\n </Grid>\r\n </Grid>\r\n\r\n </>\r\n );\r\n};\r\n\r\nexport default EmailSection;\r\n","/**\n * Improved text function with halign and valign support\n * Inspiration from: http://stackoverflow.com/questions/28327510/align-text-right-using-jspdf/28433113#28433113\n */\nfunction autoTableText (text, x, y, styles, doc) {\n styles = styles || {};\n var PHYSICAL_LINE_HEIGHT = 1.15;\n var k = doc.internal.scaleFactor;\n var fontSize = doc.internal.getFontSize() / k;\n var lineHeightFactor = doc.getLineHeightFactor\n ? doc.getLineHeightFactor()\n : PHYSICAL_LINE_HEIGHT;\n var lineHeight = fontSize * lineHeightFactor;\n var splitRegex = /\\r\\n|\\r|\\n/g;\n var splitText = '';\n var lineCount = 1;\n if (styles.valign === 'middle' ||\n styles.valign === 'bottom' ||\n styles.halign === 'center' ||\n styles.halign === 'right') {\n splitText = typeof text === 'string' ? text.split(splitRegex) : text;\n lineCount = splitText.length || 1;\n }\n // Align the top\n y += fontSize * (2 - PHYSICAL_LINE_HEIGHT);\n if (styles.valign === 'middle')\n y -= (lineCount / 2) * lineHeight;\n else if (styles.valign === 'bottom')\n y -= lineCount * lineHeight;\n if (styles.halign === 'center' || styles.halign === 'right') {\n var alignSize = fontSize;\n if (styles.halign === 'center')\n alignSize *= 0.5;\n if (splitText && lineCount >= 1) {\n for (var iLine = 0; iLine < splitText.length; iLine++) {\n doc.text(splitText[iLine], x - doc.getStringUnitWidth(splitText[iLine]) * alignSize, y);\n y += lineHeight;\n }\n return doc;\n }\n x -= doc.getStringUnitWidth(text) * alignSize;\n }\n if (styles.halign === 'justify') {\n doc.text(text, x, y, { maxWidth: styles.maxWidth || 100, align: 'justify' });\n }\n else {\n doc.text(text, x, y);\n }\n return doc;\n}\n\nvar globalDefaults = {};\nvar DocHandler = /** @class */ (function () {\n function DocHandler(jsPDFDocument) {\n this.jsPDFDocument = jsPDFDocument;\n this.userStyles = {\n // Black for versions of jspdf without getTextColor\n textColor: jsPDFDocument.getTextColor\n ? this.jsPDFDocument.getTextColor()\n : 0,\n fontSize: jsPDFDocument.internal.getFontSize(),\n fontStyle: jsPDFDocument.internal.getFont().fontStyle,\n font: jsPDFDocument.internal.getFont().fontName,\n // 0 for versions of jspdf without getLineWidth\n lineWidth: jsPDFDocument.getLineWidth\n ? this.jsPDFDocument.getLineWidth()\n : 0,\n // Black for versions of jspdf without getDrawColor\n lineColor: jsPDFDocument.getDrawColor\n ? this.jsPDFDocument.getDrawColor()\n : 0,\n };\n }\n DocHandler.setDefaults = function (defaults, doc) {\n if (doc === void 0) { doc = null; }\n if (doc) {\n doc.__autoTableDocumentDefaults = defaults;\n }\n else {\n globalDefaults = defaults;\n }\n };\n DocHandler.unifyColor = function (c) {\n if (Array.isArray(c)) {\n return c;\n }\n else if (typeof c === 'number') {\n return [c, c, c];\n }\n else if (typeof c === 'string') {\n return [c];\n }\n else {\n return null;\n }\n };\n DocHandler.prototype.applyStyles = function (styles, fontOnly) {\n // Font style needs to be applied before font\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/632\n var _a, _b, _c;\n if (fontOnly === void 0) { fontOnly = false; }\n if (styles.fontStyle && this.jsPDFDocument.setFontStyle) {\n this.jsPDFDocument.setFontStyle(styles.fontStyle);\n }\n var _d = this.jsPDFDocument.internal.getFont(), fontStyle = _d.fontStyle, fontName = _d.fontName;\n if (styles.font)\n fontName = styles.font;\n if (styles.fontStyle) {\n fontStyle = styles.fontStyle;\n var availableFontStyles = this.getFontList()[fontName];\n if (availableFontStyles &&\n availableFontStyles.indexOf(fontStyle) === -1 &&\n this.jsPDFDocument.setFontStyle) {\n // Common issue was that the default bold in headers\n // made custom fonts not work. For example:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/653\n this.jsPDFDocument.setFontStyle(availableFontStyles[0]);\n fontStyle = availableFontStyles[0];\n }\n }\n this.jsPDFDocument.setFont(fontName, fontStyle);\n if (styles.fontSize)\n this.jsPDFDocument.setFontSize(styles.fontSize);\n if (fontOnly) {\n return; // Performance improvement\n }\n var color = DocHandler.unifyColor(styles.fillColor);\n if (color)\n (_a = this.jsPDFDocument).setFillColor.apply(_a, color);\n color = DocHandler.unifyColor(styles.textColor);\n if (color)\n (_b = this.jsPDFDocument).setTextColor.apply(_b, color);\n color = DocHandler.unifyColor(styles.lineColor);\n if (color)\n (_c = this.jsPDFDocument).setDrawColor.apply(_c, color);\n if (typeof styles.lineWidth === 'number') {\n this.jsPDFDocument.setLineWidth(styles.lineWidth);\n }\n };\n DocHandler.prototype.splitTextToSize = function (text, size, opts) {\n return this.jsPDFDocument.splitTextToSize(text, size, opts);\n };\n /**\n * Adds a rectangle to the PDF\n * @param x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param width Width (in units declared at inception of PDF document)\n * @param height Height (in units declared at inception of PDF document)\n * @param fillStyle A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke.\n */\n DocHandler.prototype.rect = function (x, y, width, height, fillStyle) {\n // null is excluded from fillStyle possible values because it isn't needed\n // and is prone to bugs as it's used to postpone setting the style\n // https://rawgit.com/MrRio/jsPDF/master/docs/jsPDF.html#rect\n return this.jsPDFDocument.rect(x, y, width, height, fillStyle);\n };\n DocHandler.prototype.getLastAutoTable = function () {\n return this.jsPDFDocument.lastAutoTable || null;\n };\n DocHandler.prototype.getTextWidth = function (text) {\n return this.jsPDFDocument.getTextWidth(text);\n };\n DocHandler.prototype.getDocument = function () {\n return this.jsPDFDocument;\n };\n DocHandler.prototype.setPage = function (page) {\n this.jsPDFDocument.setPage(page);\n };\n DocHandler.prototype.addPage = function () {\n return this.jsPDFDocument.addPage();\n };\n DocHandler.prototype.getFontList = function () {\n return this.jsPDFDocument.getFontList();\n };\n DocHandler.prototype.getGlobalOptions = function () {\n return globalDefaults || {};\n };\n DocHandler.prototype.getDocumentOptions = function () {\n return this.jsPDFDocument.__autoTableDocumentDefaults || {};\n };\n DocHandler.prototype.pageSize = function () {\n var pageSize = this.jsPDFDocument.internal.pageSize;\n // JSPDF 1.4 uses get functions instead of properties on pageSize\n if (pageSize.width == null) {\n pageSize = { width: pageSize.getWidth(), height: pageSize.getHeight() };\n }\n return pageSize;\n };\n DocHandler.prototype.scaleFactor = function () {\n return this.jsPDFDocument.internal.scaleFactor;\n };\n DocHandler.prototype.getLineHeightFactor = function () {\n var doc = this.jsPDFDocument;\n return doc.getLineHeightFactor ? doc.getLineHeightFactor() : 1.15;\n };\n DocHandler.prototype.getLineHeight = function (fontSize) {\n return (fontSize / this.scaleFactor()) * this.getLineHeightFactor();\n };\n DocHandler.prototype.pageNumber = function () {\n var pageInfo = this.jsPDFDocument.internal.getCurrentPageInfo();\n if (!pageInfo) {\n // Only recent versions of jspdf has pageInfo\n return this.jsPDFDocument.internal.getNumberOfPages();\n }\n return pageInfo.pageNumber;\n };\n return DocHandler;\n}());\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nvar HtmlRowInput = /** @class */ (function (_super) {\n __extends(HtmlRowInput, _super);\n function HtmlRowInput(element) {\n var _this = _super.call(this) || this;\n _this._element = element;\n return _this;\n }\n return HtmlRowInput;\n}(Array));\n// Base style for all themes\nfunction defaultStyles(scaleFactor) {\n return {\n font: 'helvetica', // helvetica, times, courier\n fontStyle: 'normal', // normal, bold, italic, bolditalic\n overflow: 'linebreak', // linebreak, ellipsize, visible or hidden\n fillColor: false, // Either false for transparent, rbg array e.g. [255, 255, 255] or gray level e.g 200\n textColor: 20,\n halign: 'left', // left, center, right, justify\n valign: 'top', // top, middle, bottom\n fontSize: 10,\n cellPadding: 5 / scaleFactor, // number or {top,left,right,left,vertical,horizontal}\n lineColor: 200,\n lineWidth: 0,\n cellWidth: 'auto', // 'auto'|'wrap'|number\n minCellHeight: 0,\n minCellWidth: 0,\n };\n}\nfunction getTheme(name) {\n var themes = {\n striped: {\n table: { fillColor: 255, textColor: 80, fontStyle: 'normal' },\n head: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n body: {},\n foot: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n alternateRow: { fillColor: 245 },\n },\n grid: {\n table: {\n fillColor: 255,\n textColor: 80,\n fontStyle: 'normal',\n lineWidth: 0.1,\n },\n head: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n body: {},\n foot: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n alternateRow: {},\n },\n plain: { head: { fontStyle: 'bold' }, foot: { fontStyle: 'bold' } },\n };\n return themes[name];\n}\n\nfunction getStringWidth(text, styles, doc) {\n doc.applyStyles(styles, true);\n var textArr = Array.isArray(text) ? text : [text];\n var widestLineWidth = textArr\n .map(function (text) { return doc.getTextWidth(text); })\n .reduce(function (a, b) { return Math.max(a, b); }, 0);\n return widestLineWidth;\n}\nfunction addTableBorder(doc, table, startPos, cursor) {\n var lineWidth = table.settings.tableLineWidth;\n var lineColor = table.settings.tableLineColor;\n doc.applyStyles({ lineWidth: lineWidth, lineColor: lineColor });\n var fillStyle = getFillStyle(lineWidth, false);\n if (fillStyle) {\n doc.rect(startPos.x, startPos.y, table.getWidth(doc.pageSize().width), cursor.y - startPos.y, fillStyle);\n }\n}\nfunction getFillStyle(lineWidth, fillColor) {\n var drawLine = lineWidth > 0;\n var drawBackground = fillColor || fillColor === 0;\n if (drawLine && drawBackground) {\n return 'DF'; // Fill then stroke\n }\n else if (drawLine) {\n return 'S'; // Only stroke (transparent background)\n }\n else if (drawBackground) {\n return 'F'; // Only fill, no stroke\n }\n else {\n return null;\n }\n}\nfunction parseSpacing(value, defaultValue) {\n var _a, _b, _c, _d;\n value = value || defaultValue;\n if (Array.isArray(value)) {\n if (value.length >= 4) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[3],\n };\n }\n else if (value.length === 3) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[1],\n };\n }\n else if (value.length === 2) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[0],\n left: value[1],\n };\n }\n else if (value.length === 1) {\n value = value[0];\n }\n else {\n value = defaultValue;\n }\n }\n if (typeof value === 'object') {\n if (typeof value.vertical === 'number') {\n value.top = value.vertical;\n value.bottom = value.vertical;\n }\n if (typeof value.horizontal === 'number') {\n value.right = value.horizontal;\n value.left = value.horizontal;\n }\n return {\n left: (_a = value.left) !== null && _a !== void 0 ? _a : defaultValue,\n top: (_b = value.top) !== null && _b !== void 0 ? _b : defaultValue,\n right: (_c = value.right) !== null && _c !== void 0 ? _c : defaultValue,\n bottom: (_d = value.bottom) !== null && _d !== void 0 ? _d : defaultValue,\n };\n }\n if (typeof value !== 'number') {\n value = defaultValue;\n }\n return { top: value, right: value, bottom: value, left: value };\n}\nfunction getPageAvailableWidth(doc, table) {\n var margins = parseSpacing(table.settings.margin, 0);\n return doc.pageSize().width - (margins.left + margins.right);\n}\n\n// Limitations\n// - No support for border spacing\n// - No support for transparency\nfunction parseCss(supportedFonts, element, scaleFactor, style, window) {\n var result = {};\n var pxScaleFactor = 96 / 72;\n var backgroundColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['backgroundColor'];\n });\n if (backgroundColor != null)\n result.fillColor = backgroundColor;\n var textColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['color'];\n });\n if (textColor != null)\n result.textColor = textColor;\n var padding = parsePadding(style, scaleFactor);\n if (padding)\n result.cellPadding = padding;\n var borderColorSide = 'borderTopColor';\n var finalScaleFactor = pxScaleFactor * scaleFactor;\n var btw = style.borderTopWidth;\n if (style.borderBottomWidth === btw &&\n style.borderRightWidth === btw &&\n style.borderLeftWidth === btw) {\n var borderWidth = (parseFloat(btw) || 0) / finalScaleFactor;\n if (borderWidth)\n result.lineWidth = borderWidth;\n }\n else {\n result.lineWidth = {\n top: (parseFloat(style.borderTopWidth) || 0) / finalScaleFactor,\n right: (parseFloat(style.borderRightWidth) || 0) / finalScaleFactor,\n bottom: (parseFloat(style.borderBottomWidth) || 0) / finalScaleFactor,\n left: (parseFloat(style.borderLeftWidth) || 0) / finalScaleFactor,\n };\n // Choose border color of first available side\n // could be improved by supporting object as lineColor\n if (!result.lineWidth.top) {\n if (result.lineWidth.right) {\n borderColorSide = 'borderRightColor';\n }\n else if (result.lineWidth.bottom) {\n borderColorSide = 'borderBottomColor';\n }\n else if (result.lineWidth.left) {\n borderColorSide = 'borderLeftColor';\n }\n }\n }\n var borderColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)[borderColorSide];\n });\n if (borderColor != null)\n result.lineColor = borderColor;\n var accepted = ['left', 'right', 'center', 'justify'];\n if (accepted.indexOf(style.textAlign) !== -1) {\n result.halign = style.textAlign;\n }\n accepted = ['middle', 'bottom', 'top'];\n if (accepted.indexOf(style.verticalAlign) !== -1) {\n result.valign = style.verticalAlign;\n }\n var res = parseInt(style.fontSize || '');\n if (!isNaN(res))\n result.fontSize = res / pxScaleFactor;\n var fontStyle = parseFontStyle(style);\n if (fontStyle)\n result.fontStyle = fontStyle;\n var font = (style.fontFamily || '').toLowerCase();\n if (supportedFonts.indexOf(font) !== -1) {\n result.font = font;\n }\n return result;\n}\nfunction parseFontStyle(style) {\n var res = '';\n if (style.fontWeight === 'bold' ||\n style.fontWeight === 'bolder' ||\n parseInt(style.fontWeight) >= 700) {\n res = 'bold';\n }\n if (style.fontStyle === 'italic' || style.fontStyle === 'oblique') {\n res += 'italic';\n }\n return res;\n}\nfunction parseColor(element, styleGetter) {\n var cssColor = realColor(element, styleGetter);\n if (!cssColor)\n return null;\n var rgba = cssColor.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d*\\.?\\d*))?\\)$/);\n if (!rgba || !Array.isArray(rgba)) {\n return null;\n }\n var color = [\n parseInt(rgba[1]),\n parseInt(rgba[2]),\n parseInt(rgba[3]),\n ];\n var alpha = parseInt(rgba[4]);\n if (alpha === 0 || isNaN(color[0]) || isNaN(color[1]) || isNaN(color[2])) {\n return null;\n }\n return color;\n}\nfunction realColor(elem, styleGetter) {\n var bg = styleGetter(elem);\n if (bg === 'rgba(0, 0, 0, 0)' ||\n bg === 'transparent' ||\n bg === 'initial' ||\n bg === 'inherit') {\n if (elem.parentElement == null) {\n return null;\n }\n return realColor(elem.parentElement, styleGetter);\n }\n else {\n return bg;\n }\n}\nfunction parsePadding(style, scaleFactor) {\n var val = [\n style.paddingTop,\n style.paddingRight,\n style.paddingBottom,\n style.paddingLeft,\n ];\n var pxScaleFactor = 96 / (72 / scaleFactor);\n var linePadding = (parseInt(style.lineHeight) - parseInt(style.fontSize)) / scaleFactor / 2;\n var inputPadding = val.map(function (n) {\n return parseInt(n || '0') / pxScaleFactor;\n });\n var padding = parseSpacing(inputPadding, 0);\n if (linePadding > padding.top) {\n padding.top = linePadding;\n }\n if (linePadding > padding.bottom) {\n padding.bottom = linePadding;\n }\n return padding;\n}\n\nfunction parseHtml(doc, input, window, includeHiddenHtml, useCss) {\n var _a, _b;\n if (includeHiddenHtml === void 0) { includeHiddenHtml = false; }\n if (useCss === void 0) { useCss = false; }\n var tableElement;\n if (typeof input === 'string') {\n tableElement = window.document.querySelector(input);\n }\n else {\n tableElement = input;\n }\n var supportedFonts = Object.keys(doc.getFontList());\n var scaleFactor = doc.scaleFactor();\n var head = [], body = [], foot = [];\n if (!tableElement) {\n console.error('Html table could not be found with input: ', input);\n return { head: head, body: body, foot: foot };\n }\n for (var i = 0; i < tableElement.rows.length; i++) {\n var element = tableElement.rows[i];\n var tagName = (_b = (_a = element === null || element === void 0 ? void 0 : element.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase();\n var row = parseRowContent(supportedFonts, scaleFactor, window, element, includeHiddenHtml, useCss);\n if (!row)\n continue;\n if (tagName === 'thead') {\n head.push(row);\n }\n else if (tagName === 'tfoot') {\n foot.push(row);\n }\n else {\n // Add to body both if parent is tbody or table\n body.push(row);\n }\n }\n return { head: head, body: body, foot: foot };\n}\nfunction parseRowContent(supportedFonts, scaleFactor, window, row, includeHidden, useCss) {\n var resultRow = new HtmlRowInput(row);\n for (var i = 0; i < row.cells.length; i++) {\n var cell = row.cells[i];\n var style_1 = window.getComputedStyle(cell);\n if (includeHidden || style_1.display !== 'none') {\n var cellStyles = void 0;\n if (useCss) {\n cellStyles = parseCss(supportedFonts, cell, scaleFactor, style_1, window);\n }\n resultRow.push({\n rowSpan: cell.rowSpan,\n colSpan: cell.colSpan,\n styles: cellStyles,\n _element: cell,\n content: parseCellContent(cell),\n });\n }\n }\n var style = window.getComputedStyle(row);\n if (resultRow.length > 0 && (includeHidden || style.display !== 'none')) {\n return resultRow;\n }\n}\nfunction parseCellContent(orgCell) {\n // Work on cloned node to make sure no changes are applied to html table\n var cell = orgCell.cloneNode(true);\n // Remove extra space and line breaks in markup to make it more similar to\n // what would be shown in html\n cell.innerHTML = cell.innerHTML.replace(/\\n/g, '').replace(/ +/g, ' ');\n // Preserve <br> tags as line breaks in the pdf\n cell.innerHTML = cell.innerHTML\n .split(/<br.*?>/) //start with '<br' and ends with '>'.\n .map(function (part) { return part.trim(); })\n .join('\\n');\n // innerText for ie\n return cell.innerText || cell.textContent || '';\n}\n\nfunction validateInput(global, document, current) {\n for (var _i = 0, _a = [global, document, current]; _i < _a.length; _i++) {\n var options = _a[_i];\n if (options && typeof options !== 'object') {\n console.error('The options parameter should be of type object, is: ' + typeof options);\n }\n if (options.startY && typeof options.startY !== 'number') {\n console.error('Invalid value for startY option', options.startY);\n delete options.startY;\n }\n }\n}\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction assign(target, s, s1, s2, s3) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n var to = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n // eslint-disable-next-line prefer-rest-params\n var nextSource = arguments[index];\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n}\n\nfunction parseInput(d, current) {\n var doc = new DocHandler(d);\n var document = doc.getDocumentOptions();\n var global = doc.getGlobalOptions();\n validateInput(global, document, current);\n var options = assign({}, global, document, current);\n var win;\n if (typeof window !== 'undefined') {\n win = window;\n }\n var styles = parseStyles(global, document, current);\n var hooks = parseHooks(global, document, current);\n var settings = parseSettings(doc, options);\n var content = parseContent$1(doc, options, win);\n return { id: current.tableId, content: content, hooks: hooks, styles: styles, settings: settings };\n}\nfunction parseStyles(gInput, dInput, cInput) {\n var styleOptions = {\n styles: {},\n headStyles: {},\n bodyStyles: {},\n footStyles: {},\n alternateRowStyles: {},\n columnStyles: {},\n };\n var _loop_1 = function (prop) {\n if (prop === 'columnStyles') {\n var global = gInput[prop];\n var document_1 = dInput[prop];\n var current = cInput[prop];\n styleOptions.columnStyles = assign({}, global, document_1, current);\n }\n else {\n var allOptions = [gInput, dInput, cInput];\n var styles = allOptions.map(function (opts) { return opts[prop] || {}; });\n styleOptions[prop] = assign({}, styles[0], styles[1], styles[2]);\n }\n };\n for (var _i = 0, _a = Object.keys(styleOptions); _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_1(prop);\n }\n return styleOptions;\n}\nfunction parseHooks(global, document, current) {\n var allOptions = [global, document, current];\n var result = {\n didParseCell: [],\n willDrawCell: [],\n didDrawCell: [],\n willDrawPage: [],\n didDrawPage: [],\n };\n for (var _i = 0, allOptions_1 = allOptions; _i < allOptions_1.length; _i++) {\n var options = allOptions_1[_i];\n if (options.didParseCell)\n result.didParseCell.push(options.didParseCell);\n if (options.willDrawCell)\n result.willDrawCell.push(options.willDrawCell);\n if (options.didDrawCell)\n result.didDrawCell.push(options.didDrawCell);\n if (options.willDrawPage)\n result.willDrawPage.push(options.willDrawPage);\n if (options.didDrawPage)\n result.didDrawPage.push(options.didDrawPage);\n }\n return result;\n}\nfunction parseSettings(doc, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var margin = parseSpacing(options.margin, 40 / doc.scaleFactor());\n var startY = (_a = getStartY(doc, options.startY)) !== null && _a !== void 0 ? _a : margin.top;\n var showFoot;\n if (options.showFoot === true) {\n showFoot = 'everyPage';\n }\n else if (options.showFoot === false) {\n showFoot = 'never';\n }\n else {\n showFoot = (_b = options.showFoot) !== null && _b !== void 0 ? _b : 'everyPage';\n }\n var showHead;\n if (options.showHead === true) {\n showHead = 'everyPage';\n }\n else if (options.showHead === false) {\n showHead = 'never';\n }\n else {\n showHead = (_c = options.showHead) !== null && _c !== void 0 ? _c : 'everyPage';\n }\n var useCss = (_d = options.useCss) !== null && _d !== void 0 ? _d : false;\n var theme = options.theme || (useCss ? 'plain' : 'striped');\n var horizontalPageBreak = !!options.horizontalPageBreak;\n var horizontalPageBreakRepeat = (_e = options.horizontalPageBreakRepeat) !== null && _e !== void 0 ? _e : null;\n return {\n includeHiddenHtml: (_f = options.includeHiddenHtml) !== null && _f !== void 0 ? _f : false,\n useCss: useCss,\n theme: theme,\n startY: startY,\n margin: margin,\n pageBreak: (_g = options.pageBreak) !== null && _g !== void 0 ? _g : 'auto',\n rowPageBreak: (_h = options.rowPageBreak) !== null && _h !== void 0 ? _h : 'auto',\n tableWidth: (_j = options.tableWidth) !== null && _j !== void 0 ? _j : 'auto',\n showHead: showHead,\n showFoot: showFoot,\n tableLineWidth: (_k = options.tableLineWidth) !== null && _k !== void 0 ? _k : 0,\n tableLineColor: (_l = options.tableLineColor) !== null && _l !== void 0 ? _l : 200,\n horizontalPageBreak: horizontalPageBreak,\n horizontalPageBreakRepeat: horizontalPageBreakRepeat,\n horizontalPageBreakBehaviour: (_m = options.horizontalPageBreakBehaviour) !== null && _m !== void 0 ? _m : 'afterAllRows',\n };\n}\nfunction getStartY(doc, userStartY) {\n var previous = doc.getLastAutoTable();\n var sf = doc.scaleFactor();\n var currentPage = doc.pageNumber();\n var isSamePageAsPreviousTable = false;\n if (previous && previous.startPageNumber) {\n var endingPage = previous.startPageNumber + previous.pageNumber - 1;\n isSamePageAsPreviousTable = endingPage === currentPage;\n }\n if (typeof userStartY === 'number') {\n return userStartY;\n }\n else if (userStartY == null || userStartY === false) {\n if (isSamePageAsPreviousTable && (previous === null || previous === void 0 ? void 0 : previous.finalY) != null) {\n // Some users had issues with overlapping tables when they used multiple\n // tables without setting startY so setting it here to a sensible default.\n return previous.finalY + 20 / sf;\n }\n }\n return null;\n}\nfunction parseContent$1(doc, options, window) {\n var head = options.head || [];\n var body = options.body || [];\n var foot = options.foot || [];\n if (options.html) {\n var hidden = options.includeHiddenHtml;\n if (window) {\n var htmlContent = parseHtml(doc, options.html, window, hidden, options.useCss) || {};\n head = htmlContent.head || head;\n body = htmlContent.body || head;\n foot = htmlContent.foot || head;\n }\n else {\n console.error('Cannot parse html in non browser environment');\n }\n }\n var columns = options.columns || parseColumns(head, body, foot);\n return { columns: columns, head: head, body: body, foot: foot };\n}\nfunction parseColumns(head, body, foot) {\n var firstRow = head[0] || body[0] || foot[0] || [];\n var result = [];\n Object.keys(firstRow)\n .filter(function (key) { return key !== '_element'; })\n .forEach(function (key) {\n var colSpan = 1;\n var input;\n if (Array.isArray(firstRow)) {\n input = firstRow[parseInt(key)];\n }\n else {\n input = firstRow[key];\n }\n if (typeof input === 'object' && !Array.isArray(input)) {\n colSpan = (input === null || input === void 0 ? void 0 : input.colSpan) || 1;\n }\n for (var i = 0; i < colSpan; i++) {\n var id = void 0;\n if (Array.isArray(firstRow)) {\n id = result.length;\n }\n else {\n id = key + (i > 0 ? \"_\".concat(i) : '');\n }\n var rowResult = { dataKey: id };\n result.push(rowResult);\n }\n });\n return result;\n}\n\nvar HookData = /** @class */ (function () {\n function HookData(doc, table, cursor) {\n this.table = table;\n this.pageNumber = table.pageNumber;\n this.settings = table.settings;\n this.cursor = cursor;\n this.doc = doc.getDocument();\n }\n return HookData;\n}());\nvar CellHookData = /** @class */ (function (_super) {\n __extends(CellHookData, _super);\n function CellHookData(doc, table, cell, row, column, cursor) {\n var _this = _super.call(this, doc, table, cursor) || this;\n _this.cell = cell;\n _this.row = row;\n _this.column = column;\n _this.section = row.section;\n return _this;\n }\n return CellHookData;\n}(HookData));\n\nvar Table = /** @class */ (function () {\n function Table(input, content) {\n this.pageNumber = 1;\n this.id = input.id;\n this.settings = input.settings;\n this.styles = input.styles;\n this.hooks = input.hooks;\n this.columns = content.columns;\n this.head = content.head;\n this.body = content.body;\n this.foot = content.foot;\n }\n Table.prototype.getHeadHeight = function (columns) {\n return this.head.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.getFootHeight = function (columns) {\n return this.foot.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.allRows = function () {\n return this.head.concat(this.body).concat(this.foot);\n };\n Table.prototype.callCellHooks = function (doc, handlers, cell, row, column, cursor) {\n for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n var handler = handlers_1[_i];\n var data = new CellHookData(doc, this, cell, row, column, cursor);\n var result = handler(data) === false;\n // Make sure text is always string[] since user can assign string\n cell.text = Array.isArray(cell.text) ? cell.text : [cell.text];\n if (result) {\n return false;\n }\n }\n return true;\n };\n Table.prototype.callEndPageHooks = function (doc, cursor) {\n doc.applyStyles(doc.userStyles);\n for (var _i = 0, _a = this.hooks.didDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData(doc, this, cursor));\n }\n };\n Table.prototype.callWillDrawPageHooks = function (doc, cursor) {\n for (var _i = 0, _a = this.hooks.willDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData(doc, this, cursor));\n }\n };\n Table.prototype.getWidth = function (pageWidth) {\n if (typeof this.settings.tableWidth === 'number') {\n return this.settings.tableWidth;\n }\n else if (this.settings.tableWidth === 'wrap') {\n var wrappedWidth = this.columns.reduce(function (total, col) { return total + col.wrappedWidth; }, 0);\n return wrappedWidth;\n }\n else {\n var margin = this.settings.margin;\n return pageWidth - margin.left - margin.right;\n }\n };\n return Table;\n}());\nvar Row = /** @class */ (function () {\n function Row(raw, index, section, cells, spansMultiplePages) {\n if (spansMultiplePages === void 0) { spansMultiplePages = false; }\n this.height = 0;\n this.raw = raw;\n if (raw instanceof HtmlRowInput) {\n this.raw = raw._element;\n this.element = raw._element;\n }\n this.index = index;\n this.section = section;\n this.cells = cells;\n this.spansMultiplePages = spansMultiplePages;\n }\n Row.prototype.getMaxCellHeight = function (columns) {\n var _this = this;\n return columns.reduce(function (acc, column) { var _a; return Math.max(acc, ((_a = _this.cells[column.index]) === null || _a === void 0 ? void 0 : _a.height) || 0); }, 0);\n };\n Row.prototype.hasRowSpan = function (columns) {\n var _this = this;\n return (columns.filter(function (column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return false;\n return cell.rowSpan > 1;\n }).length > 0);\n };\n Row.prototype.canEntireRowFit = function (height, columns) {\n return this.getMaxCellHeight(columns) <= height;\n };\n Row.prototype.getMinimumRowHeight = function (columns, doc) {\n var _this = this;\n return columns.reduce(function (acc, column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return 0;\n var lineHeight = doc.getLineHeight(cell.styles.fontSize);\n var vPadding = cell.padding('vertical');\n var oneRowHeight = vPadding + lineHeight;\n return oneRowHeight > acc ? oneRowHeight : acc;\n }, 0);\n };\n return Row;\n}());\nvar Cell = /** @class */ (function () {\n function Cell(raw, styles, section) {\n var _a;\n this.contentHeight = 0;\n this.contentWidth = 0;\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.height = 0;\n this.x = 0;\n this.y = 0;\n this.styles = styles;\n this.section = section;\n this.raw = raw;\n var content = raw;\n if (raw != null && typeof raw === 'object' && !Array.isArray(raw)) {\n this.rowSpan = raw.rowSpan || 1;\n this.colSpan = raw.colSpan || 1;\n content = (_a = raw.content) !== null && _a !== void 0 ? _a : raw;\n if (raw._element) {\n this.raw = raw._element;\n }\n }\n else {\n this.rowSpan = 1;\n this.colSpan = 1;\n }\n // Stringify 0 and false, but not undefined or null\n var text = content != null ? '' + content : '';\n var splitRegex = /\\r\\n|\\r|\\n/g;\n this.text = text.split(splitRegex);\n }\n Cell.prototype.getTextPos = function () {\n var y;\n if (this.styles.valign === 'top') {\n y = this.y + this.padding('top');\n }\n else if (this.styles.valign === 'bottom') {\n y = this.y + this.height - this.padding('bottom');\n }\n else {\n var netHeight = this.height - this.padding('vertical');\n y = this.y + netHeight / 2 + this.padding('top');\n }\n var x;\n if (this.styles.halign === 'right') {\n x = this.x + this.width - this.padding('right');\n }\n else if (this.styles.halign === 'center') {\n var netWidth = this.width - this.padding('horizontal');\n x = this.x + netWidth / 2 + this.padding('left');\n }\n else {\n x = this.x + this.padding('left');\n }\n return { x: x, y: y };\n };\n // TODO (v4): replace parameters with only (lineHeight)\n Cell.prototype.getContentHeight = function (scaleFactor, lineHeightFactor) {\n if (lineHeightFactor === void 0) { lineHeightFactor = 1.15; }\n var lineCount = Array.isArray(this.text) ? this.text.length : 1;\n var lineHeight = (this.styles.fontSize / scaleFactor) * lineHeightFactor;\n var height = lineCount * lineHeight + this.padding('vertical');\n return Math.max(height, this.styles.minCellHeight);\n };\n Cell.prototype.padding = function (name) {\n var padding = parseSpacing(this.styles.cellPadding, 0);\n if (name === 'vertical') {\n return padding.top + padding.bottom;\n }\n else if (name === 'horizontal') {\n return padding.left + padding.right;\n }\n else {\n return padding[name];\n }\n };\n return Cell;\n}());\nvar Column = /** @class */ (function () {\n function Column(dataKey, raw, index) {\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.dataKey = dataKey;\n this.raw = raw;\n this.index = index;\n }\n Column.prototype.getMaxCustomCellWidth = function (table) {\n var max = 0;\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n var cell = row.cells[this.index];\n if (cell && typeof cell.styles.cellWidth === 'number') {\n max = Math.max(max, cell.styles.cellWidth);\n }\n }\n return max;\n };\n return Column;\n}());\n\n/**\n * Calculate the column widths\n */\nfunction calculateWidths(doc, table) {\n calculate(doc, table);\n var resizableColumns = [];\n var initialTableWidth = 0;\n table.columns.forEach(function (column) {\n var customWidth = column.getMaxCustomCellWidth(table);\n if (customWidth) {\n // final column width\n column.width = customWidth;\n }\n else {\n // initial column width (will be resized)\n column.width = column.wrappedWidth;\n resizableColumns.push(column);\n }\n initialTableWidth += column.width;\n });\n // width difference that needs to be distributed\n var resizeWidth = table.getWidth(doc.pageSize().width) - initialTableWidth;\n // first resize attempt: with respect to minReadableWidth and minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) {\n return Math.max(column.minReadableWidth, column.minWidth);\n });\n }\n // second resize attempt: ignore minReadableWidth but respect minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) { return column.minWidth; });\n }\n resizeWidth = Math.abs(resizeWidth);\n if (!table.settings.horizontalPageBreak &&\n resizeWidth > 0.1 / doc.scaleFactor()) {\n // Table can't get smaller due to custom-width or minWidth restrictions\n // We can't really do much here. Up to user to for example\n // reduce font size, increase page size or remove custom cell widths\n // to allow more columns to be reduced in size\n resizeWidth = resizeWidth < 1 ? resizeWidth : Math.round(resizeWidth);\n console.log(\"Of the table content, \".concat(resizeWidth, \" units width could not fit page\"));\n }\n applyColSpans(table);\n fitContent(table, doc);\n applyRowSpans(table);\n}\nfunction calculate(doc, table) {\n var sf = doc.scaleFactor();\n var horizontalPageBreak = table.settings.horizontalPageBreak;\n var availablePageWidth = getPageAvailableWidth(doc, table);\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n var hooks = table.hooks.didParseCell;\n table.callCellHooks(doc, hooks, cell, row, column, null);\n var padding = cell.padding('horizontal');\n cell.contentWidth = getStringWidth(cell.text, cell.styles, doc) + padding;\n // Using [^\\S\\u00A0] instead of \\s ensures that we split the text on all\n // whitespace except non-breaking spaces (\\u00A0). We need to preserve\n // them in the split process to ensure correct word separation and width\n // calculation.\n var longestWordWidth = getStringWidth(cell.text.join(' ').split(/[^\\S\\u00A0]+/), cell.styles, doc);\n cell.minReadableWidth = longestWordWidth + cell.padding('horizontal');\n if (typeof cell.styles.cellWidth === 'number') {\n cell.minWidth = cell.styles.cellWidth;\n cell.wrappedWidth = cell.styles.cellWidth;\n }\n else if (cell.styles.cellWidth === 'wrap' ||\n horizontalPageBreak === true) {\n // cell width should not be more than available page width\n if (cell.contentWidth > availablePageWidth) {\n cell.minWidth = availablePageWidth;\n cell.wrappedWidth = availablePageWidth;\n }\n else {\n cell.minWidth = cell.contentWidth;\n cell.wrappedWidth = cell.contentWidth;\n }\n }\n else {\n // auto\n var defaultMinWidth = 10 / sf;\n cell.minWidth = cell.styles.minCellWidth || defaultMinWidth;\n cell.wrappedWidth = cell.contentWidth;\n if (cell.minWidth > cell.wrappedWidth) {\n cell.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n // For now we ignore the minWidth and wrappedWidth of colspan cells when calculating colspan widths.\n // Could probably be improved upon however.\n if (cell && cell.colSpan === 1) {\n column.wrappedWidth = Math.max(column.wrappedWidth, cell.wrappedWidth);\n column.minWidth = Math.max(column.minWidth, cell.minWidth);\n column.minReadableWidth = Math.max(column.minReadableWidth, cell.minReadableWidth);\n }\n else {\n // Respect cellWidth set in columnStyles even if there is no cells for this column\n // or if the column only have colspan cells. Since the width of colspan cells\n // does not affect the width of columns, setting columnStyles cellWidth enables the\n // user to at least do it manually.\n // Note that this is not perfect for now since for example row and table styles are\n // not accounted for\n var columnStyles = table.styles.columnStyles[column.dataKey] ||\n table.styles.columnStyles[column.index] ||\n {};\n var cellWidth = columnStyles.cellWidth || columnStyles.minCellWidth;\n if (cellWidth && typeof cellWidth === 'number') {\n column.minWidth = cellWidth;\n column.wrappedWidth = cellWidth;\n }\n }\n if (cell) {\n // Make sure all columns get at least min width even though width calculations are not based on them\n if (cell.colSpan > 1 && !column.minWidth) {\n column.minWidth = cell.minWidth;\n }\n if (cell.colSpan > 1 && !column.wrappedWidth) {\n column.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n}\n/**\n * Distribute resizeWidth on passed resizable columns\n */\nfunction resizeColumns(columns, resizeWidth, getMinWidth) {\n var initialResizeWidth = resizeWidth;\n var sumWrappedWidth = columns.reduce(function (acc, column) { return acc + column.wrappedWidth; }, 0);\n for (var i = 0; i < columns.length; i++) {\n var column = columns[i];\n var ratio = column.wrappedWidth / sumWrappedWidth;\n var suggestedChange = initialResizeWidth * ratio;\n var suggestedWidth = column.width + suggestedChange;\n var minWidth = getMinWidth(column);\n var newWidth = suggestedWidth < minWidth ? minWidth : suggestedWidth;\n resizeWidth -= newWidth - column.width;\n column.width = newWidth;\n }\n resizeWidth = Math.round(resizeWidth * 1e10) / 1e10;\n // Run the resizer again if there's remaining width needs\n // to be distributed and there're columns that can be resized\n if (resizeWidth) {\n var resizableColumns = columns.filter(function (column) {\n return resizeWidth < 0\n ? column.width > getMinWidth(column) // check if column can shrink\n : true; // check if column can grow\n });\n if (resizableColumns.length) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, getMinWidth);\n }\n }\n return resizeWidth;\n}\nfunction applyRowSpans(table) {\n var rowSpanCells = {};\n var colRowSpansLeft = 1;\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var data = rowSpanCells[column.index];\n if (colRowSpansLeft > 1) {\n colRowSpansLeft--;\n delete row.cells[column.index];\n }\n else if (data) {\n data.cell.height += row.height;\n colRowSpansLeft = data.cell.colSpan;\n delete row.cells[column.index];\n data.left--;\n if (data.left <= 1) {\n delete rowSpanCells[column.index];\n }\n }\n else {\n var cell = row.cells[column.index];\n if (!cell) {\n continue;\n }\n cell.height = row.height;\n if (cell.rowSpan > 1) {\n var remaining = all.length - rowIndex;\n var left = cell.rowSpan > remaining ? remaining : cell.rowSpan;\n rowSpanCells[column.index] = { cell: cell, left: left, row: row };\n }\n }\n }\n }\n}\nfunction applyColSpans(table) {\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n var colSpanCell = null;\n var combinedColSpanWidth = 0;\n var colSpansLeft = 0;\n for (var columnIndex = 0; columnIndex < table.columns.length; columnIndex++) {\n var column = table.columns[columnIndex];\n // Width and colspan\n colSpansLeft -= 1;\n if (colSpansLeft > 1 && table.columns[columnIndex + 1]) {\n combinedColSpanWidth += column.width;\n delete row.cells[column.index];\n }\n else if (colSpanCell) {\n var cell = colSpanCell;\n delete row.cells[column.index];\n colSpanCell = null;\n cell.width = column.width + combinedColSpanWidth;\n }\n else {\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n colSpansLeft = cell.colSpan;\n combinedColSpanWidth = 0;\n if (cell.colSpan > 1) {\n colSpanCell = cell;\n combinedColSpanWidth += column.width;\n continue;\n }\n cell.width = column.width + combinedColSpanWidth;\n }\n }\n }\n}\nfunction fitContent(table, doc) {\n var rowSpanHeight = { count: 0, height: 0 };\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n doc.applyStyles(cell.styles, true);\n var textSpace = cell.width - cell.padding('horizontal');\n if (cell.styles.overflow === 'linebreak') {\n // Add one pt to textSpace to fix rounding error\n cell.text = doc.splitTextToSize(cell.text, textSpace + 1 / doc.scaleFactor(), { fontSize: cell.styles.fontSize });\n }\n else if (cell.styles.overflow === 'ellipsize') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '...');\n }\n else if (cell.styles.overflow === 'hidden') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '');\n }\n else if (typeof cell.styles.overflow === 'function') {\n var result = cell.styles.overflow(cell.text, textSpace);\n if (typeof result === 'string') {\n cell.text = [result];\n }\n else {\n cell.text = result;\n }\n }\n cell.contentHeight = cell.getContentHeight(doc.scaleFactor(), doc.getLineHeightFactor());\n var realContentHeight = cell.contentHeight / cell.rowSpan;\n if (cell.rowSpan > 1 &&\n rowSpanHeight.count * rowSpanHeight.height <\n realContentHeight * cell.rowSpan) {\n rowSpanHeight = { height: realContentHeight, count: cell.rowSpan };\n }\n else if (rowSpanHeight && rowSpanHeight.count > 0) {\n if (rowSpanHeight.height > realContentHeight) {\n realContentHeight = rowSpanHeight.height;\n }\n }\n if (realContentHeight > row.height) {\n row.height = realContentHeight;\n }\n }\n rowSpanHeight.count--;\n }\n}\nfunction ellipsize(text, width, styles, doc, overflow) {\n return text.map(function (str) { return ellipsizeStr(str, width, styles, doc, overflow); });\n}\nfunction ellipsizeStr(text, width, styles, doc, overflow) {\n var precision = 10000 * doc.scaleFactor();\n width = Math.ceil(width * precision) / precision;\n if (width >= getStringWidth(text, styles, doc)) {\n return text;\n }\n while (width < getStringWidth(text + overflow, styles, doc)) {\n if (text.length <= 1) {\n break;\n }\n text = text.substring(0, text.length - 1);\n }\n return text.trim() + overflow;\n}\n\nfunction createTable(jsPDFDoc, input) {\n var doc = new DocHandler(jsPDFDoc);\n var content = parseContent(input, doc.scaleFactor());\n var table = new Table(input, content);\n calculateWidths(doc, table);\n doc.applyStyles(doc.userStyles);\n return table;\n}\nfunction parseContent(input, sf) {\n var content = input.content;\n var columns = createColumns(content.columns);\n // If no head or foot is set, try generating it with content from columns\n if (content.head.length === 0) {\n var sectionRow = generateSectionRow(columns, 'head');\n if (sectionRow)\n content.head.push(sectionRow);\n }\n if (content.foot.length === 0) {\n var sectionRow = generateSectionRow(columns, 'foot');\n if (sectionRow)\n content.foot.push(sectionRow);\n }\n var theme = input.settings.theme;\n var styles = input.styles;\n return {\n columns: columns,\n head: parseSection('head', content.head, columns, styles, theme, sf),\n body: parseSection('body', content.body, columns, styles, theme, sf),\n foot: parseSection('foot', content.foot, columns, styles, theme, sf),\n };\n}\nfunction parseSection(sectionName, sectionRows, columns, styleProps, theme, scaleFactor) {\n var rowSpansLeftForColumn = {};\n var result = sectionRows.map(function (rawRow, rowIndex) {\n var skippedRowForRowSpans = 0;\n var cells = {};\n var colSpansAdded = 0;\n var columnSpansLeft = 0;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n if (rowSpansLeftForColumn[column.index] == null ||\n rowSpansLeftForColumn[column.index].left === 0) {\n if (columnSpansLeft === 0) {\n var rawCell = void 0;\n if (Array.isArray(rawRow)) {\n rawCell =\n rawRow[column.index - colSpansAdded - skippedRowForRowSpans];\n }\n else {\n rawCell = rawRow[column.dataKey];\n }\n var cellInputStyles = {};\n if (typeof rawCell === 'object' && !Array.isArray(rawCell)) {\n cellInputStyles = (rawCell === null || rawCell === void 0 ? void 0 : rawCell.styles) || {};\n }\n var styles = cellStyles(sectionName, column, rowIndex, theme, styleProps, scaleFactor, cellInputStyles);\n var cell = new Cell(rawCell, styles, sectionName);\n // dataKey is not used internally no more but keep for\n // backwards compat in hooks\n cells[column.dataKey] = cell;\n cells[column.index] = cell;\n columnSpansLeft = cell.colSpan - 1;\n rowSpansLeftForColumn[column.index] = {\n left: cell.rowSpan - 1,\n times: columnSpansLeft,\n };\n }\n else {\n columnSpansLeft--;\n colSpansAdded++;\n }\n }\n else {\n rowSpansLeftForColumn[column.index].left--;\n columnSpansLeft = rowSpansLeftForColumn[column.index].times;\n skippedRowForRowSpans++;\n }\n }\n return new Row(rawRow, rowIndex, sectionName, cells);\n });\n return result;\n}\nfunction generateSectionRow(columns, section) {\n var sectionRow = {};\n columns.forEach(function (col) {\n if (col.raw != null) {\n var title = getSectionTitle(section, col.raw);\n if (title != null)\n sectionRow[col.dataKey] = title;\n }\n });\n return Object.keys(sectionRow).length > 0 ? sectionRow : null;\n}\nfunction getSectionTitle(section, column) {\n if (section === 'head') {\n if (typeof column === 'object') {\n return column.header || null;\n }\n else if (typeof column === 'string' || typeof column === 'number') {\n return column;\n }\n }\n else if (section === 'foot' && typeof column === 'object') {\n return column.footer;\n }\n return null;\n}\nfunction createColumns(columns) {\n return columns.map(function (input, index) {\n var _a;\n var key;\n if (typeof input === 'object') {\n key = (_a = input.dataKey) !== null && _a !== void 0 ? _a : index;\n }\n else {\n key = index;\n }\n return new Column(key, input, index);\n });\n}\nfunction cellStyles(sectionName, column, rowIndex, themeName, styles, scaleFactor, cellInputStyles) {\n var theme = getTheme(themeName);\n var sectionStyles;\n if (sectionName === 'head') {\n sectionStyles = styles.headStyles;\n }\n else if (sectionName === 'body') {\n sectionStyles = styles.bodyStyles;\n }\n else if (sectionName === 'foot') {\n sectionStyles = styles.footStyles;\n }\n var otherStyles = assign({}, theme.table, theme[sectionName], styles.styles, sectionStyles);\n var columnStyles = styles.columnStyles[column.dataKey] ||\n styles.columnStyles[column.index] ||\n {};\n var colStyles = sectionName === 'body' ? columnStyles : {};\n var rowStyles = sectionName === 'body' && rowIndex % 2 === 0\n ? assign({}, theme.alternateRow, styles.alternateRowStyles)\n : {};\n var defaultStyle = defaultStyles(scaleFactor);\n var themeStyles = assign({}, defaultStyle, otherStyles, rowStyles, colStyles);\n return assign(themeStyles, cellInputStyles);\n}\n\n// get columns can be fit into page\nfunction getColumnsCanFitInPage(doc, table, config) {\n var _a;\n if (config === void 0) { config = {}; }\n // Get page width\n var remainingWidth = getPageAvailableWidth(doc, table);\n // Get column data key to repeat\n var repeatColumnsMap = new Map();\n var colIndexes = [];\n var columns = [];\n var horizontalPageBreakRepeat = [];\n if (Array.isArray(table.settings.horizontalPageBreakRepeat)) {\n horizontalPageBreakRepeat = table.settings.horizontalPageBreakRepeat;\n // It can be a single value of type string or number (even number: 0)\n }\n else if (typeof table.settings.horizontalPageBreakRepeat === 'string' ||\n typeof table.settings.horizontalPageBreakRepeat === 'number') {\n horizontalPageBreakRepeat = [table.settings.horizontalPageBreakRepeat];\n }\n // Code to repeat the given column in split pages\n horizontalPageBreakRepeat.forEach(function (field) {\n var col = table.columns.find(function (item) { return item.dataKey === field || item.index === field; });\n if (col && !repeatColumnsMap.has(col.index)) {\n repeatColumnsMap.set(col.index, true);\n colIndexes.push(col.index);\n columns.push(table.columns[col.index]);\n remainingWidth -= col.wrappedWidth;\n }\n });\n var first = true;\n var i = (_a = config === null || config === void 0 ? void 0 : config.start) !== null && _a !== void 0 ? _a : 0; // make sure couter is initiated outside the loop\n while (i < table.columns.length) {\n // Prevent duplicates\n if (repeatColumnsMap.has(i)) {\n i++;\n continue;\n }\n var colWidth = table.columns[i].wrappedWidth;\n // Take at least one column even if it doesn't fit\n if (first || remainingWidth >= colWidth) {\n first = false;\n colIndexes.push(i);\n columns.push(table.columns[i]);\n remainingWidth -= colWidth;\n }\n else {\n break;\n }\n i++;\n }\n return { colIndexes: colIndexes, columns: columns, lastIndex: i - 1 };\n}\nfunction calculateAllColumnsCanFitInPage(doc, table) {\n var allResults = [];\n for (var i = 0; i < table.columns.length; i++) {\n var result = getColumnsCanFitInPage(doc, table, { start: i });\n if (result.columns.length) {\n allResults.push(result);\n i = result.lastIndex;\n }\n }\n return allResults;\n}\n\nfunction drawTable(jsPDFDoc, table) {\n var settings = table.settings;\n var startY = settings.startY;\n var margin = settings.margin;\n var cursor = { x: margin.left, y: startY };\n var sectionsHeight = table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n var minTableBottomPos = startY + margin.bottom + sectionsHeight;\n if (settings.pageBreak === 'avoid') {\n var rows = table.body;\n var tableHeight = rows.reduce(function (acc, row) { return acc + row.height; }, 0);\n minTableBottomPos += tableHeight;\n }\n var doc = new DocHandler(jsPDFDoc);\n if (settings.pageBreak === 'always' ||\n (settings.startY != null && minTableBottomPos > doc.pageSize().height)) {\n nextPage(doc);\n cursor.y = margin.top;\n }\n table.callWillDrawPageHooks(doc, cursor);\n var startPos = assign({}, cursor);\n table.startPageNumber = doc.pageNumber();\n if (settings.horizontalPageBreak) {\n // managed flow for split columns\n printTableWithHorizontalPageBreak(doc, table, startPos, cursor);\n }\n else {\n // normal flow\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' ||\n settings.showHead === 'everyPage') {\n table.head.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, table.columns);\n });\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n }\n addTableBorder(doc, table, startPos, cursor);\n table.callEndPageHooks(doc, cursor);\n table.finalY = cursor.y;\n jsPDFDoc.lastAutoTable = table;\n doc.applyStyles(doc.userStyles);\n}\nfunction printTableWithHorizontalPageBreak(doc, table, startPos, cursor) {\n // calculate width of columns and render only those which can fit into page\n var allColumnsCanFitResult = calculateAllColumnsCanFitInPage(doc, table);\n var settings = table.settings;\n if (settings.horizontalPageBreakBehaviour === 'afterAllRows') {\n allColumnsCanFitResult.forEach(function (colsAndIndexes, index) {\n doc.applyStyles(doc.userStyles);\n // add page to print next columns in new page\n if (index > 0) {\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns, true);\n }\n else {\n // print head for selected columns\n printHead(doc, table, cursor, colsAndIndexes.columns);\n }\n // print body & footer for selected columns\n printBody(doc, table, startPos, cursor, colsAndIndexes.columns);\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n }\n else {\n var lastRowIndexOfLastPage_1 = -1;\n var firstColumnsToFitResult = allColumnsCanFitResult[0];\n var _loop_1 = function () {\n // Print the first columns, taking note of the last row printed\n var lastPrintedRowIndex = lastRowIndexOfLastPage_1;\n if (firstColumnsToFitResult) {\n doc.applyStyles(doc.userStyles);\n var firstColumnsToFit = firstColumnsToFitResult.columns;\n if (lastRowIndexOfLastPage_1 >= 0) {\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, firstColumnsToFit, true);\n }\n else {\n printHead(doc, table, cursor, firstColumnsToFit);\n }\n lastPrintedRowIndex = printBodyWithoutPageBreaks(doc, table, lastRowIndexOfLastPage_1 + 1, cursor, firstColumnsToFit);\n printFoot(doc, table, cursor, firstColumnsToFit);\n }\n // Check how many rows were printed, so that the next columns would not print more rows than that\n var maxNumberOfRows = lastPrintedRowIndex - lastRowIndexOfLastPage_1;\n // Print the next columns, never exceding maxNumberOfRows\n allColumnsCanFitResult.slice(1).forEach(function (colsAndIndexes) {\n doc.applyStyles(doc.userStyles);\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns, true);\n printBodyWithoutPageBreaks(doc, table, lastRowIndexOfLastPage_1 + 1, cursor, colsAndIndexes.columns, maxNumberOfRows);\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n lastRowIndexOfLastPage_1 = lastPrintedRowIndex;\n };\n while (lastRowIndexOfLastPage_1 < table.body.length - 1) {\n _loop_1();\n }\n }\n}\nfunction printHead(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' || settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction printBody(doc, table, startPos, cursor, columns) {\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n });\n}\nfunction printBodyWithoutPageBreaks(doc, table, startRowIndex, cursor, columns, maxNumberOfRows) {\n doc.applyStyles(doc.userStyles);\n maxNumberOfRows = maxNumberOfRows !== null && maxNumberOfRows !== void 0 ? maxNumberOfRows : table.body.length;\n var endRowIndex = Math.min(startRowIndex + maxNumberOfRows, table.body.length);\n var lastPrintedRowIndex = -1;\n var rows = table.body.slice(startRowIndex, endRowIndex);\n for (var index = 0; index < rows.length; index++) {\n var row = rows[index];\n var isLastRow = startRowIndex + index === table.body.length - 1;\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n printRow(doc, table, row, cursor, columns);\n lastPrintedRowIndex = startRowIndex + index;\n }\n else {\n break;\n }\n }\n return lastPrintedRowIndex;\n}\nfunction printFoot(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction getRemainingLineCount(cell, remainingPageSpace, doc) {\n var lineHeight = doc.getLineHeight(cell.styles.fontSize);\n var vPadding = cell.padding('vertical');\n var remainingLines = Math.floor((remainingPageSpace - vPadding) / lineHeight);\n return Math.max(0, remainingLines);\n}\nfunction modifyRowToFit(row, remainingPageSpace, table, doc) {\n var cells = {};\n row.spansMultiplePages = true;\n row.height = 0;\n var rowHeight = 0;\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n if (!Array.isArray(cell.text)) {\n cell.text = [cell.text];\n }\n var remainderCell = new Cell(cell.raw, cell.styles, cell.section);\n remainderCell = assign(remainderCell, cell);\n remainderCell.text = [];\n var remainingLineCount = getRemainingLineCount(cell, remainingPageSpace, doc);\n if (cell.text.length > remainingLineCount) {\n remainderCell.text = cell.text.splice(remainingLineCount, cell.text.length);\n }\n var scaleFactor = doc.scaleFactor();\n var lineHeightFactor = doc.getLineHeightFactor();\n cell.contentHeight = cell.getContentHeight(scaleFactor, lineHeightFactor);\n if (cell.contentHeight >= remainingPageSpace) {\n cell.contentHeight = remainingPageSpace;\n remainderCell.styles.minCellHeight -= remainingPageSpace;\n }\n if (cell.contentHeight > row.height) {\n row.height = cell.contentHeight;\n }\n remainderCell.contentHeight = remainderCell.getContentHeight(scaleFactor, lineHeightFactor);\n if (remainderCell.contentHeight > rowHeight) {\n rowHeight = remainderCell.contentHeight;\n }\n cells[column.index] = remainderCell;\n }\n var remainderRow = new Row(row.raw, -1, row.section, cells, true);\n remainderRow.height = rowHeight;\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var remainderCell = remainderRow.cells[column.index];\n if (remainderCell) {\n remainderCell.height = remainderRow.height;\n }\n var cell = row.cells[column.index];\n if (cell) {\n cell.height = row.height;\n }\n }\n return remainderRow;\n}\nfunction shouldPrintOnCurrentPage(doc, row, remainingPageSpace, table) {\n var pageHeight = doc.pageSize().height;\n var margin = table.settings.margin;\n var marginHeight = margin.top + margin.bottom;\n var maxRowHeight = pageHeight - marginHeight;\n if (row.section === 'body') {\n // Should also take into account that head and foot is not\n // on every page with some settings\n maxRowHeight -=\n table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n }\n var minRowHeight = row.getMinimumRowHeight(table.columns, doc);\n var minRowFits = minRowHeight < remainingPageSpace;\n if (minRowHeight > maxRowHeight) {\n console.log(\"Will not be able to print row \".concat(row.index, \" correctly since it's minimum height is larger than page height\"));\n return true;\n }\n if (!minRowFits) {\n return false;\n }\n var rowHasRowSpanCell = row.hasRowSpan(table.columns);\n var rowHigherThanPage = row.getMaxCellHeight(table.columns) > maxRowHeight;\n if (rowHigherThanPage) {\n if (rowHasRowSpanCell) {\n console.log(\"The content of row \".concat(row.index, \" will not be drawn correctly since drawing rows with a height larger than the page height and has cells with rowspans is not supported.\"));\n }\n return true;\n }\n if (rowHasRowSpanCell) {\n // Currently a new page is required whenever a rowspan row don't fit a page.\n return false;\n }\n if (table.settings.rowPageBreak === 'avoid') {\n return false;\n }\n // In all other cases print the row on current page\n return true;\n}\nfunction printFullRow(doc, table, row, isLastRow, startPos, cursor, columns) {\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n // The row fits in the current page\n printRow(doc, table, row, cursor, columns);\n }\n else if (shouldPrintOnCurrentPage(doc, row, remainingSpace, table)) {\n // The row gets split in two here, each piece in one page\n var remainderRow = modifyRowToFit(row, remainingSpace, table, doc);\n printRow(doc, table, row, cursor, columns);\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, remainderRow, isLastRow, startPos, cursor, columns);\n }\n else {\n // The row get printed entirelly on the next page\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n }\n}\nfunction printRow(doc, table, row, cursor, columns) {\n cursor.x = table.settings.margin.left;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n var cell = row.cells[column.index];\n if (!cell) {\n cursor.x += column.width;\n continue;\n }\n doc.applyStyles(cell.styles);\n cell.x = cursor.x;\n cell.y = cursor.y;\n var result = table.callCellHooks(doc, table.hooks.willDrawCell, cell, row, column, cursor);\n if (result === false) {\n cursor.x += column.width;\n continue;\n }\n drawCellRect(doc, cell, cursor);\n var textPos = cell.getTextPos();\n autoTableText(cell.text, textPos.x, textPos.y, {\n halign: cell.styles.halign,\n valign: cell.styles.valign,\n maxWidth: Math.ceil(cell.width - cell.padding('left') - cell.padding('right')),\n }, doc.getDocument());\n table.callCellHooks(doc, table.hooks.didDrawCell, cell, row, column, cursor);\n cursor.x += column.width;\n }\n cursor.y += row.height;\n}\nfunction drawCellRect(doc, cell, cursor) {\n var cellStyles = cell.styles;\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/774\n // TODO (v4): better solution?\n doc.getDocument().setFillColor(doc.getDocument().getFillColor());\n if (typeof cellStyles.lineWidth === 'number') {\n // Draw cell background with normal borders\n var fillStyle = getFillStyle(cellStyles.lineWidth, cellStyles.fillColor);\n if (fillStyle) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, fillStyle);\n }\n }\n else if (typeof cellStyles.lineWidth === 'object') {\n // Draw cell background\n if (cellStyles.fillColor) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, 'F');\n }\n // Draw cell individual borders\n drawCellBorders(doc, cell, cursor, cellStyles.lineWidth);\n }\n}\n/**\n * Draw all specified borders. Borders are centered on cell's edge and lengthened\n * to overlap with neighbours to create sharp corners.\n * @param doc\n * @param cell\n * @param cursor\n * @param fillColor\n * @param lineWidth\n */\nfunction drawCellBorders(doc, cell, cursor, lineWidth) {\n var x1, y1, x2, y2;\n if (lineWidth.top) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine(lineWidth.top, x1, y1, x2, y2);\n }\n if (lineWidth.bottom) {\n x1 = cursor.x;\n y1 = cursor.y + cell.height;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine(lineWidth.bottom, x1, y1, x2, y2);\n }\n if (lineWidth.left) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine(lineWidth.left, x1, y1, x2, y2);\n }\n if (lineWidth.right) {\n x1 = cursor.x + cell.width;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine(lineWidth.right, x1, y1, x2, y2);\n }\n function drawLine(width, x1, y1, x2, y2) {\n doc.getDocument().setLineWidth(width);\n doc.getDocument().line(x1, y1, x2, y2, 'S');\n }\n}\nfunction getRemainingPageSpace(doc, table, isLastRow, cursor) {\n var bottomContentHeight = table.settings.margin.bottom;\n var showFoot = table.settings.showFoot;\n if (showFoot === 'everyPage' || (showFoot === 'lastPage' && isLastRow)) {\n bottomContentHeight += table.getFootHeight(table.columns);\n }\n return doc.pageSize().height - cursor.y - bottomContentHeight;\n}\nfunction addPage(doc, table, startPos, cursor, columns, suppressFooter) {\n if (columns === void 0) { columns = []; }\n if (suppressFooter === void 0) { suppressFooter = false; }\n doc.applyStyles(doc.userStyles);\n if (table.settings.showFoot === 'everyPage' && !suppressFooter) {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n // Add user content just before adding new page ensure it will\n // be drawn above other things on the page\n table.callEndPageHooks(doc, cursor);\n var margin = table.settings.margin;\n addTableBorder(doc, table, startPos, cursor);\n nextPage(doc);\n table.pageNumber++;\n cursor.x = margin.left;\n cursor.y = margin.top;\n startPos.y = margin.top;\n // call didAddPage hooks before any content is added to the page\n table.callWillDrawPageHooks(doc, cursor);\n if (table.settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n doc.applyStyles(doc.userStyles);\n }\n}\nfunction nextPage(doc) {\n var current = doc.pageNumber();\n doc.setPage(current + 1);\n var newCurrent = doc.pageNumber();\n if (newCurrent === current) {\n doc.addPage();\n return true;\n }\n return false;\n}\n\nfunction applyPlugin(jsPDF) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n jsPDF.API.autoTable = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var options = args[0];\n var input = parseInput(this, options);\n var table = createTable(this, input);\n drawTable(this, table);\n return this;\n };\n // Assign false to enable `doc.lastAutoTable.finalY || 40` sugar\n jsPDF.API.lastAutoTable = false;\n jsPDF.API.autoTableText = function (text, x, y, styles) {\n autoTableText(text, x, y, styles, this);\n };\n jsPDF.API.autoTableSetDefaults = function (defaults) {\n DocHandler.setDefaults(defaults, this);\n return this;\n };\n jsPDF.autoTableSetDefaults = function (defaults, doc) {\n DocHandler.setDefaults(defaults, doc);\n };\n jsPDF.API.autoTableHtmlToJson = function (tableElem, includeHiddenElements) {\n var _a;\n if (includeHiddenElements === void 0) { includeHiddenElements = false; }\n if (typeof window === 'undefined') {\n console.error('Cannot run autoTableHtmlToJson in non browser environment');\n return null;\n }\n var doc = new DocHandler(this);\n var _b = parseHtml(doc, tableElem, window, includeHiddenElements, false), head = _b.head, body = _b.body;\n var columns = ((_a = head[0]) === null || _a === void 0 ? void 0 : _a.map(function (c) { return c.content; })) || [];\n return { columns: columns, rows: body, data: body };\n };\n}\n\nvar _a;\nfunction autoTable(d, options) {\n var input = parseInput(d, options);\n var table = createTable(d, input);\n drawTable(d, table);\n}\n// Experimental export\nfunction __createTable(d, options) {\n var input = parseInput(d, options);\n return createTable(d, input);\n}\nfunction __drawTable(d, table) {\n drawTable(d, table);\n}\ntry {\n if (typeof window !== 'undefined' && window) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var anyWindow = window;\n var jsPDF = anyWindow.jsPDF || ((_a = anyWindow.jspdf) === null || _a === void 0 ? void 0 : _a.jsPDF);\n if (jsPDF) {\n applyPlugin(jsPDF);\n }\n }\n}\ncatch (error) {\n console.error('Could not apply autoTable plugin', error);\n}\n\nexport { Cell, CellHookData, Column, HookData, Row, Table, __createTable, __drawTable, applyPlugin, autoTable, autoTable as default };\n"],"names":["theme","createTheme","cssVariables","typography","fontFamily","join","palette","primary","main","mainLight","light","gray","lightGreen","green","red","lightRed","lightGray","darkGray","dark","text","secondary","contrastText","white","gradients","MetricSelector","_ref","metric","onMetricChange","_ref$options","options","_ref$label","label","_React$useState","React","useState","_React$useState2","_slicedToArray","anchorEl","setAnchorEl","open","Boolean","handleClick","event","currentTarget","handleClose","value","_jsxs","Box","sx","display","gap","children","Button","id","undefined","onClick","variant","borderRadius","borderColor","color","textTransform","fontWeight","px","height","bgcolor","_jsx","Menu","onClose","MenuListProps","PaperProps","mt","boxShadow","minWidth","map","option","MenuItem","RevenueChart","data","series","categories","_ref$height","_ref$stacked","stacked","_ref$type","type","_ref$id","colors","_ref$showLegend","showLegend","useTheme","isRadial","baseOptions","chart","toolbar","show","sparkline","enabled","animations","tooltip","y","formatter","toLowerCase","concat","toLocaleString","radialOptions","_objectSpread","labels","stroke","width","dataLabels","legend","position","horizontalAlign","plotOptions","pie","donut","size","total","w","sum","globals","seriesTotals","reduce","a","b","Math","round","linearOptions","curve","fill","gradient","shadeIntensity","opacityFrom","opacityTo","stops","xaxis","axisBorder","axisTicks","tickAmount","rotate","rotateAlways","hideOverlappingLabels","style","fontSize","val","date","Date","isNaN","getTime","toLocaleDateString","month","day","yaxis","grid","strokeDashArray","length","bar","columnWidth","chartOptions","chartSeries","_series$","processedData","Array","isArray","v","_typeof","name","ReactApexChart","RenderChartCard","item","index","_ref$isPrimary","isPrimary","_ref$isPremium","isPremium","setMetric","_ref$md","md","Grid","xs","paddingTop","Card","flexDirection","border","CardContent","p","flexGrow","justifyContent","alignItems","mb","textAlign","Typography","subtitle","JSON","stringify","trend","py","letterSpacing","subValue","hideControls","sm","leg","_Fragment","showSelector","IconButton","MoreHorizIcon","minHeight","includes","flexWrap","marginTop","footer","pt","borderTop","left","right","NewOverview","lazy","Dashboard","_ref$apiData","apiData","_ref$overviewType","overviewType","_ref$dateName","dateName","_ref$exportTrigger","exportTrigger","ThemeProvider","Suspense","fallback","CircularProgress","activeSection","formatNumber","num","toFixed","replace","toString","OverallSection","PaidSection","OrganicSection","EmailSection","activeSectionProp","initialMetric","revenueData","donationsData","_useState","_useState2","_useState3","_useState4","setActiveSection","useEffect","capitalized","charAt","toUpperCase","slice","buildAndDownloadPdf","_ref2","_asyncToGenerator","_regenerator","m","_callee","_apiData$overviewStat","_apiData$overviewStat2","_apiData$trafficSourc","_apiData$recurringBar","_apiData$recurringBar2","_apiData$roasCard","_apiData$overviewStat3","_apiData$overviewStat4","_apiData$overviewStat5","_apiData$overviewStat6","_apiData$overviewStat7","_apiData$overviewStat8","_doc$lastAutoTable","_doc$lastAutoTable2","_apiData$orderBumpDet","_apiData$orderBumpDet2","_apiData$orderBumpDet3","_apiData$orderBumpDet4","_apiData$upSellDetail","_apiData$upSellDetail2","_apiData$downSellDeta","_apiData$downSellDeta2","_apiData$referralDeta","_apiData$referralDeta2","_yield$Promise$all","_yield$Promise$all2","jsPDF","autoTableModule","autoTable","growth","overview","dateLabel","generatedAt","generatedLabel","fmtPct","fmtSigned","doc","pageWidth","marginX","contentWidth","cardGap","cardWidth","addHeader","addFooter","metricCard","donorMixRaw","newDonorsCount","returningDonorsCount","avgGift","newDonorsObj","returningDonorsObj","totalAmount","totalCount","activeCampaignRows","trafficRows","donorMixRows","recurringTotal","oneTimeTotalValue","donorGeographyRaw","donorGeographyList","donorGeoRows","refundsData","totalRaised","netRaised","totalDonors","convRate","avgDonation","totalVisits","passThrough","refundRate","chargebackRate","page1Cards","trendY","donorCardTop","cardsTop","halfGap","halfW","drawInfoCard","safeDate","_t","_context","n","Promise","all","overviewStats","growthPercentage","toLocaleTimeString","digits","arguments","Number","suffix","numeric","sign","unit","format","internal","pageSize","getWidth","setFont","setTextColor","setFontSize","activeFilters","pageNumber","totalPages","_ref3","x","title","detail","positive","trim","startsWith","setDrawColor","setFillColor","roundedRect","apply","_toConsumableArray","maxWidth","donorPieChartData","find","d","totalDonations","newDonors","returningDonors","activeCampaigns","campaign","collectedAmount","usdTargetAmount","uniqueDonationsCount","status","trafficSourceData","source","donors","revenue","raised","recurringBarChartData","oneTimeTotal","donorGeography","country","percentage","refundAndChargeBacks","totalRevenue","netRevenue","conversionRate","overallAVGDonations","medianGift","topDecileGift","roasCard","roasCardPrev","adSpend","attributedRevenue","refundRateChange","refundCount","forEach","card","idx","col","row","floor","ceil","startY","head","body","email","call","s","i","organic","paidAds","margin","styles","cellPadding","headStyles","fillColor","textColor","alternateRowStyles","addPage","align","lastAutoTable","finalY","_ref4","h","_ref4$lines","lines","line","chargebackRateChange","refundAmount","disputedAmount","orderBumpDetails","averagePerDay","totalOrders","upSellDetails","acceptanceRate","downSellDetails","referralDetails","toISOString","save","console","error","currentData","oneTimeData","oneTimeDonations","oneTimeValues","oneTimeCategories","firstInstData","firstInstallmentRevenue","firstInstValues","firstInstCategories","firstInstTotal","totalRevData","totalRevValues","totalRevCategories","totalRevTotal","avgDonData","averageDonation","avgDonValues","avgDonCategories","avgDonOverall","tipData","tipAmount","tipValues","tipCategories","tipTotal","convRateData","convRateValues","convRateCategories","convRateAvg","organicVisData","organicVisits","paidVisData","paidVisits","organicVisValues","paidVisValues","trafficCategories","primaryCharts","secondaryCharts","totalTips","tertiaryCharts","quaternaryCharts","PerformanceSection","_ref$performanceData","performanceData","visitorsData","revPerVisData","revenuePerVisitor","revPerVisValues","revPerVisCategories","revPerVisTotal","totalVisData","totalVisValues","totalVisCategories","totalVisTotal","upSellData","upSellRaisedAmount","upSellValues","upSellCategories","upSellTotal","downSellData","downSellRaisedAmount","downSellValues","downSellCategories","downSellTotal","abandonedData","abandonedDonationRecoveryCount","abandonedValues","abandonedCategories","abandonedTotal","gutterBottom","container","spacing","range","plans","share","RecurringDonationAmounts","LinearProgress","RecurringRevenueSection","UTM_COLORS","rawData","donations","Revenue","Donations","SORT_OPTIONS","dateCategories","from","_","getDate","UTMPerformance","sortMode","setSortMode","_useState5","_useState6","_useState7","_useState8","parameter","setParameter","sortedData","sort","valA","valB","zoom","opposite","min","padding","shared","custom","dataPointIndex","items","config","markers","BORDER","headerCellSx","borderBottom","cellSx","verticalAlign","overflow","TableContainer","Table","borderCollapse","TableHead","TableRow","TableCell","e","ml","MoreVertIcon","TableBody","colorIdx","findIndex","flexShrink","opt","CheckIcon","step","DropOffPoints","DonorBehavior","miniChartOptions","MiniChart","rows","abandoned","sent","openRate","openCount","clickRate","clickCount","recoveryRate","recoveryData","recovered","recoveredData","aggregates","sentData","openRateData","clickRateData","borderRight","lineHeight","aggCellSx","AbandonedDonationRecovery","InfoOutlined","Settings","pb","overflowX","boxSizing","borderSpacing","themeColors","themeTypography","ActiveCampaignsCard","_ref$title","_ref$subtitle","_ref$columns","columns","_ref$rows","_ref$gridTemplateColu","gridTemplateColumns","header","Avatar","avatarBg","icon","iconColor","val1","progress","progressColor","val2","highlightVal3","val3Color","val3","val4","trendType","trendLabel","statusBg","statusColor","DonorMixCard","_ref$series","_ref$labels","_ref$colors","_ref$centerLabel","centerLabel","_ref$centerValue","centerValue","_ref$items","_ref$showBottomSummar","showBottomSummary","_ref$bottomSummaryVal","bottomSummaryValue","_ref$bottomSummaryTre","bottomSummaryTrend","_ref$sx","offsetY","states","hover","filter","Chart","TrafficSourceCard","_ref$trafficSourceDat","_ref$total","paidAdsColor","organicColor","emailColor","directColor","getSourceColor","shareValue","textOverflow","whiteSpace","max","MetricSparklineCard","_ref$trendColor","trendColor","_ref$chartData","chartData","_ref$chartColor","chartColor","_ref$footerMetrics","footerMetrics","_ref$bottomSection","bottomSection","marker","MetricDonutCard","acceptanceVal","acceptanceTrend","raisedVal","raisedTrend","_ref$chartColors","chartColors","radialBar","hollow","track","background","strokeWidth","lineCap","TrendingUp","DonationTypeBarChart","donationTypeData","recurringColor","oneTimeColor","summaries","isDistributed","recurring","oneTime","totalRecurringDonations","totalOneTimeDonations","_dataObj$summary","_dataObj$summary2","_dataObj$summary3","_dataObj$summary4","dataObj","summary","horizontal","distributed","opacity","mr","CardWrapper","LandingPagesCard","page","visitors","cvr","KeywordsCard","keyword","clicks","rank","GeographyCard","_ref2$subtitle","stats","TopCampaignsRaisedCard","marginBottom","TopCampaignsCTRCard","TopCampaignsConvRateCard","TopPerformingCampaignsCard","spend","roas","PaidDonorGeographyCard","donorGeographyData","rawCountries","countries","countryName","RefundsChargebacksCard","_ref$refundsChargebac","refundsChargebacksData","_refundsChargebacksDa","_refundsChargebacksDa2","_refundsChargebacksDa3","totalRefundedAmount","_refundsChargebacksDa4","totalRefunds","_refundsChargebacksDa5","totalChargebacks","_refundsChargebacksDa6","_refundsChargebacksDa8","refundSeries","parseFloat","chargebackSeries","maxVal","yAxisMax","annotations","offsetX","fmt","_n$toFixed","growthColor","growthLabel","abs","MetricCard","caption","active","warning","paddingBottom","Stack","direction","_apiData$overviewStat9","_apiData$overviewStat0","_apiData$overviewStat1","_apiData$overviewStat10","_apiData$roasCardPrev","_apiData$overviewStat11","_apiData$overviewStat12","_apiData$overviewStat13","_orderBumpData$chart","_orderBumpData$peakDa","_orderBumpData$peakDa2","_referralData$chartDa","activeMetric","setActiveMetric","orderBumpData","upsellData","downsellData","referralData","allCharts","getExtendedCharts","charts","c","push","metricInfo","DollarIcon","money","HeartIcon","PeopleIcon","TrendIcon","AdjustIcon","activeCampaignsData","donorMix","totalDonorsMix","newDonorsPerc","returningDonorsPerc","donorMixPrev","log","renderCard","extendedCharts","selectedInfo","mainChart","_apiData$overviewStat14","stackedData","hasStackedData","_apiData$overviewStat15","netData","_apiData$overviewStat16","donorsData","roasData","_apiData$overviewStat17","conversionData","_apiData$overviewStat18","avgData","avgDonations","lg","Object","keys","campaignName","split","word","maxHeight","peakDay","amount","totalUpsellsAttached","acceptanceGrowth","raisedGrowth","totalReferrers","averageGift","chartLabel","IndeterminateCheckBoxOutlinedIcon","ROAS","PersonOutlinedIcon","totalRaisedTrend","netRaisedSub","SearchoutlinedIcon","avgDonationTrend","roasTrend","EmailTrendCard","_ref$yAxisMax","_ref$yAxisTickAmount","yAxisTickAmount","_ref$yAxisFormatter","yAxisFormatter","dashArray","dashed","bottom","radius","itemMargin","vertical","CTR","NotInterestedIcon","EmailIcon","Clicks","NearMeIcon","HighlightOffIcon"],"mappings":"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","x_google_ignoreList":[29]}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/config/customTheme.js","../src/components/MetricSelector.jsx","../src/components/RevenueChart.jsx","../src/components/UI/RenderChartCard/index.jsx","../src/components/Dashboard.jsx","../src/components/UI/NewOverview/index.jsx","../src/components/UI/PerformanceSection/index.jsx","../src/components/UI/RecurringDonationAmounts/index.jsx","../src/components/UI/RecurringRevenueSection/index.jsx","../src/components/UI/UTMPerformance/index.jsx","../src/components/UI/DropOffPoints/index.jsx","../src/components/UI/DonorBehavior/index.jsx","../src/components/UI/AbandonedDonationRecovery/index.jsx","../src/config/customColors.js","../src/components/UI/ActiveCampaignsCard/index.jsx","../src/components/UI/DonorMixCard/index.jsx","../src/config/helper.js","../src/components/UI/TrafficSourceCard/index.jsx","../src/components/UI/MetricSparklineCard/index.jsx","../src/components/UI/MetricDonutCard/index.jsx","../src/components/UI/DonationTypeBarChart/index.jsx","../src/components/UI/TOPCards/index.jsx","../src/components/UI/RefundsChargebacksCard/index.jsx","../src/components/advanced/MetricCard/index.jsx","../src/components/UI/NewOverview/OverallSection.jsx","../src/components/UI/NewOverview/PaidSection.jsx","../src/components/UI/NewOverview/OrganicSection.jsx","../src/components/UI/EmailTrendCard/index.jsx","../src/components/UI/NewOverview/EmailSection.jsx","../node_modules/html2canvas/dist/html2canvas.esm.js"],"sourcesContent":["import { createTheme } from \"@mui/material/styles\";\r\n\r\nexport const theme = createTheme({\r\n cssVariables: true, // Enable CSS variables for better SSR support\r\n typography: {\r\n fontFamily: [\r\n \"var(--font-league-spartan)\",\r\n \"var(--font-noto-sans-arabic)\", // Added as a fallback for Arabic text\r\n \"-apple-system\",\r\n \"BlinkMacSystemFont\",\r\n \"Segoe UI\",\r\n \"Roboto\",\r\n \"Helvetica Neue\",\r\n \"Arial\",\r\n \"sans-serif\",\r\n \"Apple Color Emoji\",\r\n \"Segoe UI Emoji\",\r\n \"Segoe UI Symbol\",\r\n ].join(\",\"),\r\n },\r\n palette: {\r\n primary: {\r\n main: \"#6363E6\",\r\n mainLight: \"#F7F7FF\",\r\n light: \"#FFFFFF\",\r\n gray: \"#A1A1A8\",\r\n lightGreen: \"#E1FBF2\",\r\n green: \"#0CAB72\",\r\n red: \"#E61D1D\",\r\n lightRed: \"#FFEDED\",\r\n lightGray: \"#E9E9EB\",\r\n darkGray: \"#606062\",\r\n dark: \"#090909\",\r\n },\r\n text: { primary: \"#666666\" },\r\n secondary: {\r\n main: \"#E0C2FF\",\r\n light: \"#F5EBFF\",\r\n // dark: will be calculated from palette.secondary.main,\r\n contrastText: \"#47008F\",\r\n },\r\n white: {\r\n main: \"#FFFFFF\",\r\n light: \"#F8F8F8\",\r\n },\r\n\r\n gradients: {\r\n primary: \"linear-gradient(90deg, #6363E6 0.05%, #59C9F9 99.96%)\",\r\n secondary: \"linear-gradient(180deg, #E9E9FF 0%, #C9EEFF 100%)\",\r\n // You can add more gradients if needed\r\n },\r\n },\r\n});\r\n","import React from 'react';\r\nimport { Button, Menu, MenuItem, Box } from '@mui/material';\r\nimport { MoreHoriz as MoreHorizIcon } from '@mui/icons-material';\r\n\r\nconst MetricSelector = ({ metric, onMetricChange, options = ['Revenue', 'Donations'], label = \"Metric\" }) => {\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const open = Boolean(anchorEl);\r\n\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = (value) => {\r\n if (typeof value === 'string') {\r\n onMetricChange(value);\r\n }\r\n setAnchorEl(null);\r\n };\r\n\r\n return (\r\n <Box sx={{ display: 'flex', gap: 1 }}>\r\n <Button\r\n id=\"metric-button\"\r\n aria-controls={open ? 'metric-menu' : undefined}\r\n aria-haspopup=\"true\"\r\n aria-expanded={open ? 'true' : undefined}\r\n onClick={handleClick}\r\n variant=\"outlined\"\r\n sx={{ \r\n borderRadius: '8px', \r\n borderColor: '#E9E9EB', \r\n color: '#000', \r\n textTransform: 'none',\r\n fontWeight: 600,\r\n px: 2,\r\n height: '40px',\r\n '&:hover': {\r\n borderColor: 'primary.main',\r\n bgcolor: 'rgba(99, 99, 230, 0.04)'\r\n }\r\n }}\r\n >\r\n {label}: {metric}\r\n </Button>\r\n <Menu\r\n id=\"metric-menu\"\r\n anchorEl={anchorEl}\r\n open={open}\r\n onClose={() => handleClose()}\r\n MenuListProps={{\r\n 'aria-labelledby': 'metric-button',\r\n }}\r\n PaperProps={{\r\n sx: {\r\n borderRadius: '8px',\r\n mt: 1,\r\n boxShadow: '0 4px 12px rgba(0,0,0,0.1)',\r\n minWidth: '150px'\r\n }\r\n }}\r\n >\r\n {options.map((option) => (\r\n <MenuItem \r\n key={option} \r\n onClick={() => handleClose(option)} \r\n sx={{ fontWeight: metric === option ? 700 : 400 }}\r\n >\r\n {option}\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default MetricSelector;\r\n","import React from 'react';\r\nimport ReactApexChart from 'react-apexcharts';\r\nimport { useTheme } from '@mui/material/styles';\r\n\r\nconst RevenueChart = ({ metric, data, series, categories, height = 350, stacked = false, type = \"area\", id = \"revenue-chart\", colors, showLegend = true }) => {\r\n const theme = useTheme();\r\n\r\n const isRadial = type === 'donut' || type === 'pie';\r\n\r\n // Base options common to all charts\r\n const baseOptions = {\r\n chart: {\r\n id: id,\r\n type: type,\r\n toolbar: { show: false },\r\n sparkline: { enabled: false },\r\n animations: { enabled: false }\r\n },\r\n colors: colors || [theme.palette.primary.main, '#4B4BC2', '#7E7EE6', '#A3A3F0', '#C8C8FA'],\r\n tooltip: {\r\n theme: 'light',\r\n y: {\r\n formatter: (value) => (metric?.toLowerCase() === 'revenue') ? `$${(value || 0).toLocaleString()}` : (value || 0)\r\n }\r\n }\r\n };\r\n\r\n const radialOptions = {\r\n ...baseOptions,\r\n labels: categories || [],\r\n stroke: { width: 0 },\r\n dataLabels: { enabled: true },\r\n legend: {\r\n show: showLegend,\r\n position: 'bottom',\r\n horizontalAlign: 'center'\r\n },\r\n plotOptions: {\r\n pie: {\r\n donut: {\r\n size: '70%',\r\n labels: {\r\n show: true,\r\n total: {\r\n show: true,\r\n label: 'Total',\r\n formatter: function (w) {\r\n const sum = w.globals.seriesTotals.reduce((a, b) => a + b, 0);\r\n return metric === 'Revenue' ? `$${Math.round(sum).toLocaleString()}` : Math.round(sum).toLocaleString();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n const linearOptions = {\r\n ...baseOptions,\r\n chart: {\r\n ...baseOptions.chart,\r\n stacked: stacked\r\n },\r\n stroke: {\r\n curve: 'smooth',\r\n width: type === 'bar' ? 0 : 2\r\n },\r\n fill: {\r\n type: 'gradient',\r\n gradient: {\r\n shadeIntensity: 1,\r\n opacityFrom: 0.8,\r\n opacityTo: 0.4,\r\n stops: [0, 100]\r\n }\r\n },\r\n xaxis: {\r\n categories: categories || [],\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n tickAmount: 5,\r\n labels: {\r\n rotate: 0,\r\n rotateAlways: false,\r\n hideOverlappingLabels: true,\r\n style: { colors: '#A1A1A8', fontSize: '12px' },\r\n formatter: (val) => {\r\n if (!val || typeof val !== 'string') return val;\r\n const date = new Date(val);\r\n if (isNaN(date.getTime())) return val;\r\n return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });\r\n }\r\n }\r\n },\r\n yaxis: {\r\n show: true,\r\n labels: {\r\n style: { colors: '#A1A1A8', fontSize: '12px' },\r\n formatter: (value) => (metric?.toLowerCase() === 'revenue') ? `$${(value || 0).toLocaleString()}` : (value || 0)\r\n }\r\n },\r\n grid: {\r\n show: true,\r\n borderColor: '#f1f1f1',\r\n strokeDashArray: 4,\r\n position: 'back'\r\n },\r\n dataLabels: { enabled: false },\r\n legend: {\r\n show: showLegend && (stacked || (series && series.length > 1)),\r\n position: 'top',\r\n horizontalAlign: 'left'\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n columnWidth: '60%'\r\n }\r\n }\r\n };\r\n\r\n const chartOptions = isRadial ? radialOptions : linearOptions;\r\n\r\n // Ensure series is in the correct format for the chart type\r\n let chartSeries = [];\r\n if (isRadial) {\r\n // For donut/pie, series must be a simple array of numbers\r\n const processedData = Array.isArray(data) ? data.map(v => (typeof v === 'object' && v !== null) ? v.value : v) : [];\r\n chartSeries = processedData.length > 0 ? processedData : (series?.[0]?.data || []);\r\n } else {\r\n // For bar/line/area, series must be an array of objects [{ name: '', data: [] }]\r\n const processedData = Array.isArray(data) ? data.map(v => (typeof v === 'object' && v !== null) ? v.value : v) : [];\r\n chartSeries = Array.isArray(series) ? series : [\r\n {\r\n name: metric || \"Value\",\r\n data: processedData\r\n }\r\n ];\r\n }\r\n\r\n return (\r\n <ReactApexChart\r\n key={`${id}-${type}-${chartSeries.length}`}\r\n options={chartOptions}\r\n series={chartSeries}\r\n type={type}\r\n height={height}\r\n width=\"100%\"\r\n />\r\n );\r\n};\r\n\r\nexport default RevenueChart;\r\n","import {\r\n Box,\r\n Card,\r\n CardContent,\r\n Grid,\r\n IconButton,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport RevenueChart from \"../../RevenueChart\";\r\nimport { MoreHoriz as MoreHorizIcon } from \"@mui/icons-material\";\r\nimport MetricSelector from \"../../MetricSelector\";\r\n\r\nconst RenderChartCard = ({\r\n item,\r\n index,\r\n isPrimary = false,\r\n isPremium = false,\r\n metric,\r\n setMetric,\r\n md = 4,\r\n type = \"area\"\r\n}) => {\r\n return (\r\n <Grid\r\n item\r\n xs={12}\r\n md={md}\r\n key={item.label + index}\r\n sx={{ display: \"flex\", paddingTop: \"0px !important\" }}\r\n >\r\n <Card\r\n sx={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <CardContent\r\n sx={{ p: 3, flexGrow: 1, display: \"flex\", flexDirection: \"column\" }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"flex-start\",\r\n mb: isPremium ? 3 : 2,\r\n }}\r\n >\r\n {isPremium ? (\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n mb: 0.2,\r\n }}\r\n >\r\n {item.label}\r\n </Typography>\r\n <Typography\r\n variant=\"caption\"\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 400,\r\n display: \"block\",\r\n mb: 1.5,\r\n }}\r\n >\r\n {item.subtitle || \"Last 30 days - daily aggregation\"}\r\n </Typography>\r\n\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n {item.value && (\r\n <Typography\r\n sx={{ fontWeight: 700, color: \"#000000\", fontSize: \"28px\" }}\r\n >\r\n {typeof item.value === 'object' && item.value !== null\r\n ? (item.value.value !== undefined ? item.value.value : JSON.stringify(item.value))\r\n : item.value}\r\n </Typography>\r\n )}\r\n {(item.trend || \"18%\") && (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n bgcolor: \"#8df3be9a\",\r\n color: \"#054835ff\",\r\n px: 1,\r\n py: 0.5,\r\n borderRadius: \"100px\",\r\n fontSize: \"12px\",\r\n fontWeight: 600,\r\n }}\r\n >\r\n <span>▲</span>\r\n {item.trend || \"18% vs last month\"}\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n ) : (\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 600,\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.5px\",\r\n mb: 0.5,\r\n }}\r\n >\r\n {item.label}\r\n </Typography>\r\n {item.value && (\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{ fontWeight: 600, color: \"#000000\", mb: 0.5 }}\r\n >\r\n {typeof item.value === 'object' && item.value !== null\r\n ? (item.value.value !== undefined ? item.value.value : JSON.stringify(item.value))\r\n : item.value}\r\n </Typography>\r\n )}\r\n {item.subValue && (\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{ color: \"#000000\", fontWeight: 600 }}\r\n >\r\n {typeof item.subValue === 'object' && item.subValue !== null\r\n ? JSON.stringify(item.subValue)\r\n : item.subValue}\r\n </Typography>\r\n )}\r\n </Box>\r\n )}\r\n\r\n <Box sx={{ display: \"flex\", gap: 1, alignItems: \"center\" }}>\r\n {item.hideControls ? (\r\n item.series && (\r\n <Box\r\n sx={{\r\n display: { xs: \"none\", sm: \"flex\" },\r\n gap: 2,\r\n alignItems: \"center\",\r\n }}\r\n >\r\n {[\r\n { label: \"Paid Ads\", color: \"#6366F1\" },\r\n { label: \"Organic\", color: \"#10B981\" },\r\n { label: \"Email\", color: \"#06B6D4\" },\r\n ].map((leg) => (\r\n <Box\r\n key={leg.label}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}\r\n >\r\n <Box\r\n sx={{\r\n width: 8,\r\n height: 8,\r\n borderRadius: \"50%\",\r\n bgcolor: leg.color,\r\n }}\r\n />\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0,0,0,0.6)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n {leg.label}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n )\r\n) : (\r\n <>\r\n {item.showSelector && (\r\n <MetricSelector\r\n metric={metric}\r\n onMetricChange={setMetric}\r\n options={[\"Revenue\", \"Donations\"]}\r\n />\r\n )}\r\n <IconButton\r\n sx={{\r\n border: \"1px solid #E9E9EB\",\r\n borderRadius: \"8px\",\r\n color: \"#000\",\r\n height: \"40px\",\r\n width: \"40px\",\r\n \"&:hover\": {\r\n borderColor: \"primary.main\",\r\n bgcolor: \"rgba(99, 99, 230, 0.04)\",\r\n },\r\n }}\r\n >\r\n <MoreHorizIcon sx={{ fontSize: \"1.2rem\" }} />\r\n </IconButton>\r\n </>\r\n )}\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ flexGrow: 1, minHeight: isPrimary ? \"250px\" : \"200px\" }}>\r\n <RevenueChart\r\n id={`${item.label}-${index}`}\r\n metric={\r\n item.label.includes(\"Rate\") ||\r\n item.label.includes(\"Performance\") ||\r\n item.label.includes(\"source\") ||\r\n item.label === \"URL\"\r\n ? \"Percent\"\r\n : item.stacked\r\n ? item.label.includes(\"Traffic\")\r\n ? \"Visitors\"\r\n : \"Donors\"\r\n : metric\r\n }\r\n data={item.data}\r\n series={item.series}\r\n categories={item.categories}\r\n height={isPrimary ? 250 : 200}\r\n stacked={item.stacked}\r\n type={type || item.type || \"area\"}\r\n colors={item.colors}\r\n showLegend={!item.hideControls}\r\n />\r\n {item.hideControls && item.series && (\r\n <Box\r\n sx={{\r\n display: { xs: \"flex\", sm: \"none\" },\r\n justifyContent: \"center\",\r\n gap: 2,\r\n flexWrap: \"wrap\",\r\n mt: 1.5,\r\n }}\r\n >\r\n {[\r\n { label: \"Paid Ads\", color: \"#6366F1\" },\r\n { label: \"Organic\", color: \"#10B981\" },\r\n { label: \"Email\", color: \"#06B6D4\" },\r\n ].map((leg) => (\r\n <Box\r\n key={leg.label}\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 8,\r\n height: 8,\r\n borderRadius: \"50%\",\r\n bgcolor: leg.color,\r\n }}\r\n />\r\n <Typography\r\n sx={{\r\n fontSize: \"11px\",\r\n color: \"rgba(0,0,0,0.6)\",\r\n fontWeight: 500,\r\n marginTop: {xs: \"1px\", sm: 0}\r\n }}\r\n >\r\n {leg.label}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n )}\r\n </Box>\r\n\r\n {item.footer && (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n mt: 2,\r\n pt: 2,\r\n borderTop: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n variant=\"caption\"\r\n sx={{ color: \"#606062\", fontWeight: 600 }}\r\n >\r\n {item.footer.left}\r\n </Typography>\r\n <Typography\r\n variant=\"caption\"\r\n sx={{ color: \"#606062\", fontWeight: 600 }}\r\n >\r\n {item.footer.right}\r\n </Typography>\r\n </Box>\r\n )}\r\n </CardContent>\r\n </Card>\r\n </Grid>\r\n );\r\n};\r\n\r\nexport default RenderChartCard;\r\n","import React, { lazy, Suspense } from \"react\";\r\nimport {\r\n Box,\r\n Typography,\r\n Card,\r\n CardContent,\r\n ThemeProvider,\r\n IconButton,\r\n Grid,\r\n CircularProgress,\r\n} from \"@mui/material\";\r\nimport { MoreHoriz as MoreHorizIcon, Update } from \"@mui/icons-material\";\r\nimport { theme } from \"../config/customTheme\";\r\nimport MetricSelector from \"./MetricSelector\";\r\nimport RevenueChart from \"./RevenueChart\";\r\nimport RenderChartCard from \"./UI/RenderChartCard\";\r\n\r\nconst PerformanceSection = lazy(() => import(\"./UI/PerformanceSection\"));\r\nconst Overview = lazy(() => import(\"./Overview\"));\r\nconst RecurringRevenueSection = lazy(() => import(\"./UI/RecurringRevenueSection\"));\r\nconst RecurringPlans = lazy(() => import(\"./UI/RecurringPlans\"));\r\nconst DonorBehavior = lazy(() => import(\"./UI/DonorBehavior\"));\r\nconst UpdateEmails = lazy(() => import(\"./UI/UpdateEmails\"));\r\nconst NewOverview = lazy(() => import(\"./UI/NewOverview\"));\r\nconst Dashboard = ({\r\n apiData = {},\r\n overviewType = \"overall\",\r\n dateName = \"Last Period\",\r\n exportTrigger = 0\r\n}) => {\r\n\r\n\r\n\r\n\r\n return (\r\n <ThemeProvider theme={theme}>\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <NewOverview apiData={apiData} activeSection={overviewType} dateName={dateName} exportTrigger={exportTrigger} />\r\n </Suspense>\r\n\r\n {/* <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <PerformanceSection apiData={apiData} performanceData={performanceData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <RecurringPlans apiData={apiData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <RecurringRevenueSection apiData={apiData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <DonorBehavior apiData={apiData} />\r\n </Suspense>\r\n\r\n <Suspense fallback={<Box sx={{ py: 5, textAlign: 'center' }}><CircularProgress /></Box>}>\r\n <UpdateEmails apiData={apiData} />\r\n </Suspense> */}\r\n </ThemeProvider>\r\n );\r\n};\r\n\r\nexport default Dashboard;\r\nexport { MetricSelector, RevenueChart };\r\n","import { Box, Button, Grid, Typography, CircularProgress } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport { useState, lazy, Suspense, useEffect, useRef } from \"react\";\r\nconst OverallSection = lazy(() => import(\"./OverallSection\"));\r\nconst PaidSection = lazy(() => import(\"./PaidSection\"));\r\nconst OrganicSection = lazy(() => import(\"./OrganicSection\"));\r\nconst EmailSection = lazy(() => import(\"./EmailSection\"));\r\n\r\nconst NewOverview = ({ apiData = {}, activeSection: activeSectionProp, dateName = \"Last Period\", exportTrigger = 0 }) => {\r\n const initialMetric = \"Revenue\";\r\n const revenueData = apiData?.revenueData || [\r\n 3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000,\r\n ];\r\n const donationsData = apiData?.donationsData || [\r\n 15, 22, 18, 30, 25, 35, 42, 45, 28,\r\n ];\r\n const categories = apiData?.categories || [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n ];\r\n const [metric, setMetric] = useState(initialMetric);\r\n const [activeSection, setActiveSection] = useState(\"Overall\");\r\n const exportCaptureRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (activeSectionProp) {\r\n const capitalized =\r\n activeSectionProp.charAt(0).toUpperCase() +\r\n activeSectionProp.slice(1).toLowerCase();\r\n setActiveSection(capitalized);\r\n }\r\n }, [activeSectionProp]);\r\n\r\n useEffect(() => {\r\n if (exportTrigger <= 0) return;\r\n\r\n const buildAndDownloadPdf = async () => {\r\n try {\r\n if (activeSection !== \"Overall\") return;\r\n const captureNode = exportCaptureRef.current;\r\n if (!captureNode) return;\r\n\r\n const [{ jsPDF }, html2canvasModule] = await Promise.all([\r\n import(\"jspdf\"),\r\n import(\"html2canvas\"),\r\n ]);\r\n const html2canvas = html2canvasModule.default || html2canvasModule;\r\n const dateLabel = dateName || \"Last Period\";\r\n const generatedAt = new Date();\r\n const generatedLabel = `${generatedAt.toLocaleDateString()} ${generatedAt.toLocaleTimeString()} GMT`;\r\n\r\n await new Promise((resolve) => setTimeout(resolve, 900));\r\n\r\n const canvas = await html2canvas(captureNode, {\r\n scale: 2,\r\n useCORS: true,\r\n backgroundColor: \"#ffffff\",\r\n width: captureNode.scrollWidth,\r\n height: captureNode.scrollHeight,\r\n windowWidth: captureNode.scrollWidth,\r\n windowHeight: captureNode.scrollHeight,\r\n scrollX: 0,\r\n scrollY: -window.scrollY,\r\n });\r\n\r\n const sectionImageWidth = canvas.width;\r\n const sectionImageHeight = canvas.height;\r\n const doc = new jsPDF({ unit: \"pt\", format: \"a4\" });\r\n const pageWidth = doc.internal.pageSize.getWidth();\r\n const pageHeight = doc.internal.pageSize.getHeight();\r\n const marginX = 40;\r\n const contentTop = 112;\r\n const contentBottom = 40;\r\n const contentWidth = pageWidth - marginX * 2;\r\n const contentHeight = pageHeight - contentTop - contentBottom;\r\n const pxPerPt = sectionImageWidth / contentWidth;\r\n const pageSliceHeightPx = Math.max(1, Math.floor(contentHeight * pxPerPt));\r\n const totalPages = Math.max(1, Math.ceil(sectionImageHeight / pageSliceHeightPx));\r\n\r\n const addHeader = () => {\r\n doc.setFont(\"helvetica\", \"bold\");\r\n doc.setTextColor(17, 24, 39);\r\n doc.setFontSize(17);\r\n doc.text(\"Madinah\", marginX, 34);\r\n doc.setFontSize(9.5);\r\n doc.setTextColor(75, 85, 99);\r\n doc.text(\"PERFORMANCE REPORT\", marginX, 50);\r\n doc.setTextColor(17, 24, 39);\r\n doc.setFontSize(12);\r\n doc.text(\"Dashboard overview — Overall\", marginX, 72);\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setFontSize(9);\r\n doc.setTextColor(107, 114, 128);\r\n doc.text(`${dateLabel}`, marginX, 88);\r\n doc.text(`30-day window · Generated ${generatedLabel}`, marginX, 100);\r\n const activeFilters = apiData?.activeFilters || \"\";\r\n if (activeFilters) {\r\n doc.setFontSize(8);\r\n doc.setTextColor(55, 65, 81);\r\n doc.text(`ACTIVE FILTERS ${activeFilters}`, marginX, 110);\r\n }\r\n };\r\n\r\n const addFooter = (pageNumber, totalPages) => {\r\n doc.setFont(\"helvetica\", \"normal\");\r\n doc.setTextColor(107, 114, 128);\r\n doc.setFontSize(8);\r\n doc.text(\r\n `Confidential · Generated by Dashboard · ${generatedLabel} · Page ${pageNumber} of ${totalPages} · madinah.com`,\r\n marginX,\r\n pageHeight - 18\r\n );\r\n };\r\n\r\n for (let i = 0; i < totalPages; i += 1) {\r\n if (i > 0) doc.addPage();\r\n addHeader();\r\n\r\n const startY = i * pageSliceHeightPx;\r\n const sliceHeight = Math.min(pageSliceHeightPx, sectionImageHeight - startY);\r\n const pageCanvas = document.createElement(\"canvas\");\r\n pageCanvas.width = sectionImageWidth;\r\n pageCanvas.height = sliceHeight;\r\n const pageCtx = pageCanvas.getContext(\"2d\");\r\n if (!pageCtx) continue;\r\n pageCtx.fillStyle = \"#ffffff\";\r\n pageCtx.fillRect(0, 0, pageCanvas.width, pageCanvas.height);\r\n pageCtx.drawImage(\r\n canvas,\r\n 0,\r\n startY,\r\n sectionImageWidth,\r\n sliceHeight,\r\n 0,\r\n 0,\r\n sectionImageWidth,\r\n sliceHeight\r\n );\r\n\r\n const pageImage = pageCanvas.toDataURL(\"image/png\");\r\n const renderHeight = sliceHeight / pxPerPt;\r\n doc.addImage(pageImage, \"PNG\", marginX, contentTop, contentWidth, renderHeight, undefined, \"FAST\");\r\n addFooter(i + 1, totalPages);\r\n }\r\n\r\n const safeDate = new Date().toISOString().slice(0, 10);\r\n doc.save(`DashboardOverview_report_${safeDate}.pdf`);\r\n } catch (error) {\r\n // Keep console message for host app debugging when export dependency is missing.\r\n console.error(\"Failed to export overall dashboard PDF:\", error);\r\n }\r\n };\r\n\r\n buildAndDownloadPdf();\r\n }, [exportTrigger, activeSection, apiData, dateName]);\r\n\r\n const currentData = metric === \"Revenue\" ? revenueData : donationsData;\r\n const oneTimeData = apiData?.oneTimeDonations || [];\r\n const oneTimeValues =\r\n oneTimeData.length > 0\r\n ? oneTimeData.map((item) => item.value)\r\n : currentData;\r\n const oneTimeCategories =\r\n oneTimeData.length > 0 ? oneTimeData.map((item) => item.date) : categories;\r\n const oneTimeTotal =\r\n oneTimeData.length > 0\r\n ? oneTimeValues.reduce((sum, val) => sum + val, 0)\r\n : 7100;\r\n\r\n const firstInstData = apiData?.firstInstallmentRevenue || [];\r\n const firstInstValues =\r\n firstInstData.length > 0\r\n ? firstInstData.map((item) => item.value)\r\n : currentData.slice(-7);\r\n const firstInstCategories =\r\n firstInstData.length > 0\r\n ? firstInstData.map((item) => item.date)\r\n : categories.slice(-7);\r\n const firstInstTotal =\r\n firstInstData.length > 0\r\n ? firstInstValues.reduce((sum, val) => sum + val, 0)\r\n : 510;\r\n\r\n const totalRevData = Array.isArray(apiData?.totalRevenue)\r\n ? apiData.totalRevenue\r\n : [];\r\n const totalRevValues =\r\n totalRevData.length > 0\r\n ? totalRevData.map((item) => item.value)\r\n : currentData;\r\n const totalRevCategories =\r\n totalRevData.length > 0\r\n ? totalRevData.map((item) => item.date)\r\n : categories;\r\n const totalRevTotal =\r\n totalRevData.length > 0\r\n ? totalRevValues.reduce((sum, val) => sum + val, 0)\r\n : 9200;\r\n\r\n const avgDonData = Array.isArray(apiData?.averageDonation) ? apiData.averageDonation : [];\r\n const avgDonValues = avgDonData.length > 0 ? avgDonData.map(item => item.value) : currentData.map((v) => v * 0.5);\r\n const avgDonCategories = avgDonData.length > 0 ? avgDonData.map(item => item.date) : categories;\r\n const avgDonOverall = avgDonData.length > 0 ? (avgDonValues.reduce((sum, val) => sum + val, 0) / avgDonValues.length) : 42.80;\r\n\r\n const tipData = Array.isArray(apiData?.tipAmount) ? apiData.tipAmount : [];\r\n const tipValues = tipData.length > 0 ? tipData.map(item => item.value) : currentData.map((v) => v * 0.2);\r\n const tipCategories = tipData.length > 0 ? tipData.map(item => item.date) : categories;\r\n const tipTotal = tipData.length > 0 ? tipValues.reduce((sum, val) => sum + val, 0) : 1250;\r\n\r\n const convRateData = Array.isArray(apiData?.conversionRate) ? apiData.conversionRate : [];\r\n const convRateValues = convRateData.length > 0 ? convRateData.map(item => item.value) : [1.5, 1.8, 1.7, 2.1, 2.0, 1.9, 2.2, 2.5, 2.0];\r\n const convRateCategories = convRateData.length > 0 ? convRateData.map(item => item.date) : categories;\r\n const convRateAvg = convRateData.length > 0 ? (convRateValues.reduce((sum, val) => sum + val, 0) / convRateValues.length) : 2.0;\r\n\r\n const organicVisData = Array.isArray(apiData?.organicVisits) ? apiData.organicVisits : [];\r\n const paidVisData = Array.isArray(apiData?.paidVisits) ? apiData.paidVisits : [];\r\n const organicVisValues = organicVisData.length > 0 ? organicVisData.map(item => item.value) : [500, 600, 550, 700, 800, 750, 900, 1000, 950];\r\n const paidVisValues = paidVisData.length > 0 ? paidVisData.map(item => item.value) : [200, 250, 220, 300, 350, 320, 400, 450, 420];\r\n const trafficCategories = organicVisData.length > 0 ? organicVisData.map(item => item.date) : categories;\r\n\r\n const primaryCharts = [\r\n {\r\n label: \"Total Raised\",\r\n value:\r\n totalRevData.length > 0\r\n ? `$${totalRevTotal.toLocaleString()}`\r\n : typeof apiData?.totalRevenue === \"string\"\r\n ? apiData.totalRevenue\r\n : \"$9,200.00\",\r\n subValue: `Total Donations: ${apiData?.totalDonations || 215}`,\r\n data: totalRevValues,\r\n categories: totalRevCategories,\r\n showSelector: true,\r\n },\r\n {\r\n label: \"First installments\",\r\n value: apiData?.firstInstallmentRevenue\r\n ? `$${firstInstTotal.toLocaleString()}`\r\n : \"$510.00\",\r\n data: firstInstValues,\r\n categories: firstInstCategories,\r\n },\r\n {\r\n label: \"One-time donations\",\r\n value: apiData?.oneTimeDonations\r\n ? `$${oneTimeTotal.toLocaleString()}`\r\n : \"$7,100.00\",\r\n data: oneTimeValues,\r\n categories: oneTimeCategories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: \"New vs Returning Donors\",\r\n series: [\r\n { name: \"New Donors\", data: [10, 15, 12, 20, 18, 25, 30, 35, 20] },\r\n { name: \"Returning\", data: [5, 7, 6, 10, 7, 10, 12, 10, 8] },\r\n ],\r\n categories: categories,\r\n stacked: true,\r\n footer: { left: \"New donors: 195\", right: \"Returning donors: 20\" },\r\n },\r\n {\r\n label: \"Average Donation Amount\",\r\n value: apiData?.averageDonation ? `$${avgDonOverall.toFixed(2)}` : \"$42.80\",\r\n data: avgDonValues,\r\n categories: avgDonCategories,\r\n },\r\n {\r\n label: \"Tip Amount\",\r\n value: apiData?.tipAmount ? `$${tipTotal.toLocaleString()}` : \"$1,250.00\",\r\n subValue: `Number of Tips: ${apiData?.totalTips || 110}`,\r\n data: tipValues,\r\n categories: tipCategories,\r\n },\r\n ];\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: \"Conversion Rate\",\r\n value: apiData?.conversionRate ? `${convRateAvg.toFixed(1)}%` : \"2%\",\r\n data: convRateValues,\r\n categories: convRateCategories,\r\n },\r\n {\r\n label: \"Organic vs Paid Traffic\",\r\n series: [\r\n {\r\n name: \"Organic\",\r\n data: organicVisValues,\r\n },\r\n { name: \"Paid\", data: paidVisValues },\r\n ],\r\n categories: trafficCategories,\r\n stacked: true,\r\n },\r\n {\r\n label: \"Organic Donations\",\r\n value: \"120\",\r\n data: [8, 12, 10, 15, 14, 18, 22, 20, 12],\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const quaternaryCharts = [\r\n {\r\n label: \"Email Marketing\",\r\n value: \"56\",\r\n data: [45, 48, 52, 50, 56, 54, 58, 60, 56],\r\n categories: categories,\r\n },\r\n {\r\n label: \"Traffic source\",\r\n value: \"23%\",\r\n data: [18, 22, 20, 25, 23, 21, 24, 26, 23],\r\n categories: categories,\r\n },\r\n {\r\n label: \"URL\",\r\n value: \"10%\",\r\n data: [8, 9, 11, 10, 10, 12, 9, 11, 10],\r\n categories: categories,\r\n },\r\n ];\r\n\r\n return (\r\n <Box\r\n ref={exportCaptureRef}\r\n sx={{ minHeight: \"100vh\", display: \"flex\", flexDirection: \"column\", alignItems: \"stretch\" }}\r\n >\r\n <Suspense\r\n fallback={\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n py: 10,\r\n }}\r\n >\r\n <CircularProgress color=\"primary\" />\r\n </Box>\r\n }\r\n >\r\n {activeSection === \"Overall\" && (\r\n <OverallSection\r\n apiData={apiData}\r\n primaryCharts={primaryCharts}\r\n secondaryCharts={secondaryCharts}\r\n tertiaryCharts={tertiaryCharts}\r\n quaternaryCharts={quaternaryCharts}\r\n dateName={dateName}\r\n />\r\n )}\r\n {activeSection === \"Paid\" && <PaidSection apiData={apiData} />}\r\n {activeSection === \"Organic\" && (\r\n <Box sx={{}}>\r\n <OrganicSection apiData={apiData} />\r\n </Box>\r\n )}\r\n {activeSection === \"Email\" && (\r\n <Box sx={{}}>\r\n <EmailSection />\r\n </Box>\r\n )}\r\n </Suspense>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default NewOverview;\r\n","import Grid from \"@mui/material/Grid\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\n\r\nconst PerformanceSection = ({ title, performanceData = {} }) => {\r\n const revenueData = [3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000];\r\n const visitorsData = [100, 200, 150, 250, 300, 275, 325, 350, 280];\r\n const categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'];\r\n\r\n const revPerVisData = Array.isArray(performanceData?.revenuePerVisitor) ? performanceData.revenuePerVisitor : [];\r\n const revPerVisValues = revPerVisData.length > 0 ? revPerVisData.map(item => item.value) : revenueData;\r\n const revPerVisCategories = revPerVisData.length > 0 ? revPerVisData.map(item => item.date) : categories;\r\n const revPerVisTotal = revPerVisData.length > 0 ? (revPerVisValues.reduce((sum, val) => sum + val, 0) / revPerVisValues.length) : 5.12;\r\n\r\n const totalVisData = Array.isArray(performanceData?.totalVisits) ? performanceData.totalVisits : [];\r\n const totalVisValues = totalVisData.length > 0 ? totalVisData.map(item => item.value) : visitorsData;\r\n const totalVisCategories = totalVisData.length > 0 ? totalVisData.map(item => item.date) : categories;\r\n const totalVisTotal = totalVisData.length > 0 ? totalVisValues.reduce((sum, val) => sum + val, 0) : 1200;\r\n\r\n const upSellData = Array.isArray(performanceData?.upSellRaisedAmount) ? performanceData.upSellRaisedAmount : [];\r\n const upSellValues = upSellData.length > 0 ? upSellData.map(item => item.value) : revenueData;\r\n const upSellCategories = upSellData.length > 0 ? upSellData.map(item => item.date) : categories;\r\n const upSellTotal = upSellData.length > 0 ? upSellValues.reduce((sum, val) => sum + val, 0) : 11050;\r\n\r\n const downSellData = Array.isArray(performanceData?.downSellRaisedAmount) ? performanceData.downSellRaisedAmount : [];\r\n const downSellValues = downSellData.length > 0 ? downSellData.map(item => item.value) : revenueData;\r\n const downSellCategories = downSellData.length > 0 ? downSellData.map(item => item.date) : categories;\r\n const downSellTotal = downSellData.length > 0 ? downSellValues.reduce((sum, val) => sum + val, 0) : 1200;\r\n\r\n const abandonedData = Array.isArray(performanceData?.abandonedDonationRecoveryCount) ? performanceData.abandonedDonationRecoveryCount : [];\r\n const abandonedValues = abandonedData.length > 0 ? abandonedData.map(item => item.value) : visitorsData;\r\n const abandonedCategories = abandonedData.length > 0 ? abandonedData.map(item => item.date) : categories;\r\n const abandonedTotal = abandonedData.length > 0 ? abandonedValues.reduce((sum, val) => sum + val, 0) : 14;\r\n\r\n const primaryCharts = [\r\n {\r\n label: 'Revenue per Visitor',\r\n value: performanceData?.revenuePerVisitor ? `$${revPerVisTotal.toFixed(2)}` : '$5.12',\r\n data: revPerVisValues,\r\n categories: revPerVisCategories,\r\n },\r\n {\r\n label: 'Visitors',\r\n value: performanceData?.totalVisits ? totalVisTotal.toLocaleString() : '1200',\r\n data: totalVisValues,\r\n categories: totalVisCategories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: 'Upsell Acceptance Rate',\r\n value: '23%',\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n {\r\n label: 'Upsell Raised Amount',\r\n value: performanceData?.upSellRaisedAmount ? `$${upSellTotal.toLocaleString()}` : '$1,1050',\r\n data: upSellValues,\r\n categories: upSellCategories,\r\n },\r\n ]\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: 'Downsell Acceptance Rate',\r\n value: '15%',\r\n data: visitorsData,\r\n categories: categories\r\n },\r\n {\r\n label: 'Downsell Raised Amount',\r\n value: performanceData?.downSellRaisedAmount ? `$${downSellTotal.toLocaleString()}` : '$1,200',\r\n data: downSellValues,\r\n categories: downSellCategories\r\n }\r\n ]\r\n\r\n const quaternaryCharts = [\r\n {\r\n label: 'Abandoned Donation Recovery',\r\n value: performanceData?.abandonedDonationRecoveryCount ? abandonedTotal.toLocaleString() : '14',\r\n data: abandonedValues,\r\n categories: abandonedCategories\r\n },\r\n ]\r\n\r\n return (\r\n <Box sx={{ minHeight: \"100vh\", display: \"flex\", flexDirection: \"column\", alignItems: \"stretch\" }}>\r\n <Box sx={{ display: 'flex' }}>\r\n <Typography variant=\"h4\" gutterBottom sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 2, mt: 2 }}>\r\n Performance\r\n </Typography>\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 1 }}>\r\n {primaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {secondaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {tertiaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {quaternaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={12} isPremium={true} />)}\r\n </Grid>\r\n </Box>\r\n );\r\n};\r\nexport default PerformanceSection;","import {\r\n Box,\r\n Card,\r\n CardContent,\r\n Typography,\r\n LinearProgress,\r\n} from '@mui/material';\r\n\r\nconst data = [\r\n { range: \"$0 – $12\", plans: 21, share: 24 },\r\n { range: \"$12 – $12\", plans: 14, share: 16 },\r\n { range: \"$12 – $18\", plans: 19, share: 22 },\r\n { range: \"$18 – $28\", plans: 18, share: 21 },\r\n { range: \"$28 and more\", plans: 15, share: 17 },\r\n];\r\n\r\nconst RecurringDonationAmounts = () => {\r\n return (\r\n <Card\r\n sx={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n height: \"100%\",\r\n }}\r\n >\r\n <CardContent sx={{ p: 3 }}>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Recurring donation amounts\r\n </Typography>\r\n <Typography\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"13px\",\r\n mb: 3,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Overview of recurring donation plans by amount\r\n </Typography>\r\n\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.5 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"100px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.range}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.share}\r\n sx={{\r\n height: 15,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: \"#6366F1\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#111\",\r\n minWidth: \"60px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {`${item.plans} · ${item.share}%`}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </CardContent>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default RecurringDonationAmounts;\r\n","import { Box, Grid, Typography } from \"@mui/material\"\r\nimport RenderChartCard from \"../RenderChartCard\"\r\nimport RecurringDonationAmounts from \"../RecurringDonationAmounts\"\r\n\r\nconst RecurringRevenueSection = () => {\r\n\r\n const revenueData = [3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000];\r\n const visitorsData = [100, 200, 150, 250, 300, 275, 325, 350, 280];\r\n const categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'];\r\n\r\n\r\n\r\n const primaryCharts = [\r\n {\r\n label: 'MRR',\r\n value: '$1026.52',\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: 'MRR growth rate',\r\n value: '24.65%',\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: 'Share of recurring revenue',\r\n value: '21.5%',\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ]\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: 'Average revenue per plan',\r\n value: '$38.44',\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: 'Churn rate',\r\n value: '5.4%',\r\n data: visitorsData,\r\n categories: categories,\r\n }\r\n ]\r\n\r\n return (\r\n <Box sx={{ minHeight: \"100vh\", display: \"flex\", flexDirection: \"column\", alignItems: \"stretch\" }}>\r\n <Box sx={{ display: 'flex' }}>\r\n <Typography variant=\"h4\" gutterBottom sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 2, mt: 2 }}>\r\n Recurring revenue\r\n </Typography>\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 1 }}>\r\n {primaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {secondaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n <Grid item xs={12} md={6} sx={{ display: 'flex' }}>\r\n <RecurringDonationAmounts />\r\n </Grid>\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {tertiaryCharts.map((item, index) => <RenderChartCard item={item} index={index} md={6} isPremium={true} />)}\r\n </Grid>\r\n </Box>\r\n )\r\n}\r\n\r\nexport default RecurringRevenueSection\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Box, Typography, Table, TableBody, TableCell,\r\n TableContainer, TableHead, TableRow, IconButton,\r\n Menu, MenuItem\r\n} from \"@mui/material\";\r\nimport { MoreVert as MoreVertIcon, Check as CheckIcon, MoreHoriz as MoreHorizIcon } from \"@mui/icons-material\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport MetricSelector from \"../../MetricSelector\";\r\n\r\nconst UTM_COLORS = [\r\n \"#1877F2\", // Facebook blue\r\n \"#4267B2\", // FB darker blue\r\n \"#C13584\", // Instagram pink/purple\r\n \"#000000\", // Threads black\r\n];\r\n\r\nconst rawData = [\r\n {\r\n source: \"facebook\",\r\n donations: 156,\r\n totalRaised: 4520.50,\r\n series: {\r\n Revenue: [120, 250, 230, 670, 890, 340, 1221, 780, 900, 230],\r\n Donations: [12, 25, 23, 67, 89, 34, 121, 78, 90, 23]\r\n }\r\n },\r\n {\r\n source: \"fb\",\r\n donations: 89,\r\n totalRaised: 2150.25,\r\n series: {\r\n Revenue: [50, 100, 180, 250, 120, 80, 1150, 220, 450, 300],\r\n Donations: [5, 10, 18, 25, 12, 8, 115, 22, 45, 30]\r\n }\r\n },\r\n {\r\n source: \"ig\",\r\n donations: 245,\r\n totalRaised: 8950.75,\r\n series: {\r\n Revenue: [80, 150, 180, 120, 200, 150, 100, 1180, 250, 400],\r\n Donations: [8, 15, 18, 12, 20, 15, 10, 118, 25, 40]\r\n }\r\n },\r\n {\r\n source: \"th\",\r\n donations: 34,\r\n totalRaised: 850.00,\r\n series: {\r\n Revenue: [20, 50, 80, 120, 50, 1120, 1450, 850, 500, 800],\r\n Donations: [2, 5, 8, 12, 5, 112, 145, 85, 50, 80]\r\n }\r\n },\r\n];\r\n\r\nconst SORT_OPTIONS = [\r\n { label: \"Sort ascending\", value: \"asc\" },\r\n { label: \"Sort descending\", value: \"desc\" },\r\n];\r\n\r\nconst dateCategories = Array.from({ length: 10 }, (_, i) => {\r\n const d = new Date(2024, 2, 16 + i);\r\n return `${d.toLocaleString(\"default\", { month: \"short\" })} ${d.getDate()}`;\r\n});\r\n\r\nconst UTMPerformance = () => {\r\n const [sortMode, setSortMode] = useState(\"desc\");\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n const [metric, setMetric] = useState(\"Revenue\");\r\n const [parameter, setParameter] = useState(\"utm_source\");\r\n\r\n const sortedData = [...rawData].sort((a, b) => {\r\n const valA = metric === \"Revenue\" ? a.totalRaised : a.donations;\r\n const valB = metric === \"Revenue\" ? b.totalRaised : b.donations;\r\n if (sortMode === \"asc\") return valA - valB;\r\n if (sortMode === \"desc\") return valB - valA;\r\n return 0;\r\n });\r\n\r\n const chartSeries = rawData.map((d, i) => ({\r\n name: d.source,\r\n data: d.series[metric],\r\n color: UTM_COLORS[i],\r\n }));\r\n\r\n const chartOptions = {\r\n chart: {\r\n type: \"line\", height: 320, toolbar: { show: false },\r\n zoom: { enabled: false },\r\n animations: { enabled: false },\r\n },\r\n stroke: { curve: \"straight\", width: 1.5 },\r\n colors: UTM_COLORS,\r\n xaxis: {\r\n categories: dateCategories,\r\n tickAmount: 2,\r\n labels: { style: { fontSize: \"11px\", colors: \"#888\" } },\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n },\r\n yaxis: {\r\n opposite: true,\r\n min: 0,\r\n tickAmount: 3,\r\n labels: {\r\n formatter: (v) => metric === \"Revenue\" ? `$${Math.round(v)}` : Math.round(v),\r\n style: { fontSize: \"11px\", colors: \"#888\" },\r\n },\r\n },\r\n grid: { borderColor: \"#f0f0f0\", strokeDashArray: 0, padding: { left: 20 } },\r\n legend: { show: false },\r\n tooltip: {\r\n shared: true,\r\n custom: ({ dataPointIndex, w }) => {\r\n const date = dateCategories[dataPointIndex];\r\n const items = w.config.series.map((s, i) => {\r\n const val = s.data[dataPointIndex];\r\n return `<div style=\"display:flex;justify-content:space-between;gap:24px;padding:3px 0;font-size:12px\">\r\n <span style=\"display:flex;align-items:center;gap:6px\">\r\n <span style=\"display:inline-block;width:8px;height:8px;border-radius:50%;background:${UTM_COLORS[i]}\"></span>\r\n <span style=\"color:#333\">${s.name}</span>\r\n </span>\r\n <span style=\"font-weight:600;color:#111\">${metric === \"Revenue\" ? `$${val.toFixed(2)}` : val}</span>\r\n </div>`;\r\n }).join(\"\");\r\n return `<div style=\"background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:12px 16px;min-width:200px;box-shadow:0 4px 16px rgba(0,0,0,0.08)\">\r\n <div style=\"font-weight:600;font-size:13px;color:#111;margin-bottom:8px\">${date}</div>\r\n ${items}\r\n </div>`;\r\n },\r\n },\r\n markers: { size: 0 },\r\n };\r\n\r\n const BORDER = \"1px solid #f0f0f0\";\r\n const headerCellSx = {\r\n fontWeight: 600, fontSize: \"0.78rem\", color: \"#555\",\r\n borderBottom: \"1.5px solid #e8e8e8\", py: 1.5, px: 2,\r\n bgcolor: \"#fff\",\r\n };\r\n const cellSx = {\r\n fontSize: \"0.85rem\", color: \"#333\",\r\n borderBottom: BORDER, py: 1.5, px: 2,\r\n verticalAlign: \"middle\",\r\n };\r\n\r\n return (\r\n <Box sx={{ mt: 4 }}>\r\n <Typography variant=\"h4\" sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 3, textAlign: \"left\" }}>\r\n UTM Parameters\r\n </Typography>\r\n\r\n <Box sx={{ bgcolor: \"#ffffffff\", borderRadius: 4, border: BORDER, boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\", p: 2, overflow: \"hidden\" }}>\r\n <Box sx={{ display: 'flex', justifyContent: 'flex-start', gap: 1, mb: 2 }}>\r\n <MetricSelector\r\n metric={parameter}\r\n onMetricChange={setParameter}\r\n options={[\"utm_source\", \"utm_medium\", \"utm_campaign\", \"utm_content\", \"utm_term\"]}\r\n label=\"Parameter\"\r\n />\r\n <MetricSelector\r\n metric={metric}\r\n onMetricChange={setMetric}\r\n options={[\"Revenue\", \"Donations\"]}\r\n label=\"Metric\"\r\n />\r\n <IconButton\r\n sx={{\r\n border: \"1px solid #E9E9EB\",\r\n borderRadius: \"8px\",\r\n color: \"#000\",\r\n height: \"40px\",\r\n width: \"40px\",\r\n \"&:hover\": {\r\n borderColor: \"primary.main\",\r\n bgcolor: \"rgba(99, 99, 230, 0.04)\",\r\n },\r\n }}\r\n >\r\n <MoreHorizIcon sx={{ fontSize: \"1.2rem\" }} />\r\n </IconButton>\r\n </Box>\r\n <ReactApexChart options={chartOptions} series={chartSeries} type=\"line\" height={320} />\r\n\r\n <TableContainer>\r\n <Table sx={{ borderCollapse: \"collapse\" }}>\r\n <TableHead>\r\n <TableRow>\r\n <TableCell sx={{ ...headerCellSx }}>Parameter values</TableCell>\r\n <TableCell sx={{ ...headerCellSx, textAlign: \"right\" }}>Donations</TableCell>\r\n <TableCell sx={{ ...headerCellSx, textAlign: \"right\" }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", justifyContent: \"flex-end\", gap: 0.5 }}>\r\n Total raised ↓\r\n <IconButton size=\"small\" onClick={(e) => setAnchorEl(e.currentTarget)} sx={{ ml: 0.5, p: 0.3 }}>\r\n <MoreVertIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {sortedData.map((row, i) => {\r\n const colorIdx = rawData.findIndex(d => d.source === row.source);\r\n const color = UTM_COLORS[colorIdx] || \"#ccc\";\r\n return (\r\n <TableRow key={row.source} sx={{ \"&:hover\": { bgcolor: \"#fafafa\" } }}>\r\n <TableCell sx={{ ...cellSx }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n <Box sx={{ width: 20, height: 3, bgcolor: color, borderRadius: 2, flexShrink: 0 }} />\r\n <Typography variant=\"body2\" fontWeight={500}>{row.source}</Typography>\r\n </Box>\r\n </TableCell>\r\n <TableCell sx={{ ...cellSx, textAlign: \"right\" }}>{row.donations}</TableCell>\r\n <TableCell sx={{ ...cellSx, textAlign: \"right\", fontWeight: 600 }}>${row.totalRaised.toFixed(2)}</TableCell>\r\n </TableRow>\r\n );\r\n })}\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n </Box>\r\n\r\n <Menu\r\n anchorEl={anchorEl}\r\n open={Boolean(anchorEl)}\r\n onClose={() => setAnchorEl(null)}\r\n PaperProps={{ sx: { borderRadius: 2, boxShadow: \"0 4px 16px rgba(0,0,0,0.1)\", border: \"1px solid #f0f0f0\", minWidth: 200 } }}\r\n >\r\n {SORT_OPTIONS.map((opt) => (\r\n <MenuItem\r\n key={opt.value}\r\n onClick={() => { setSortMode(opt.value); setAnchorEl(null); }}\r\n sx={{ fontSize: \"13px\", display: \"flex\", justifyContent: \"space-between\", gap: 2 }}\r\n >\r\n {opt.label}\r\n {sortMode === opt.value && <CheckIcon sx={{ fontSize: \"16px\", color: \"primary.main\" }} />}\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default UTMPerformance;\r\n","import { Box, Card, CardContent, Typography, LinearProgress } from \"@mui/material\";\r\n\r\nconst data = [\r\n { step: \"Step 1: Amount Selection\", share: 22 },\r\n { step: \"Step 2: Add Payment\", share: 18 },\r\n { step: \"Step 3: Option Details\", share: 10 },\r\n { step: \"Step 4: Review and Pay\", share: 5 },\r\n];\r\n\r\nconst DropOffPoints = () => {\r\n return (\r\n <Card\r\n sx={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n height: \"100%\",\r\n }}\r\n >\r\n <CardContent sx={{ p: 3 }}>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Drop off points in donation flow\r\n </Typography>\r\n <Typography\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"13px\",\r\n mb: 3,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Points where donors exit the donation flow\r\n </Typography>\r\n\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.5 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"160px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.step}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.share}\r\n sx={{\r\n height: 15,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: \"#6366F1\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#111\",\r\n minWidth: \"40px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {item.share}%\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </CardContent>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default DropOffPoints;\r\n","import { Box, Grid, Typography } from \"@mui/material\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport DropOffPoints from \"../DropOffPoints\";\r\n\r\nconst DonorBehavior = () => {\r\n const revenueData = [3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000];\r\n const visitorsData = [100, 200, 150, 250, 300, 275, 325, 350, 280];\r\n const categories = [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n ];\r\n\r\n const primaryCharts = [\r\n {\r\n label: \"Average Donations per Donor\",\r\n value: \"2.1\",\r\n subValue: \"Avg. Donation Amount: $45.20\",\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: \"Avg Donor Lifetime Value (LTV)\",\r\n value: \"$185.75\",\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const secondaryCharts = [\r\n {\r\n label: \"New Vs Returning Donors\",\r\n value: \"35%\",\r\n subValue: \"New Donors: 65%\",\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n\r\n const tertiaryCharts = [\r\n {\r\n label: \"Repeater donation rate\",\r\n value: \"28%\",\r\n subValue: \"Calculated from 3-month avg\",\r\n data: revenueData,\r\n categories: categories,\r\n },\r\n {\r\n label: \"Time Between Donations\",\r\n value: \"48 days\",\r\n subValue: \"Average for active donors\",\r\n data: visitorsData,\r\n categories: categories,\r\n },\r\n ];\r\n return (\r\n <Box\r\n sx={{\r\n // p: 4,\r\n // bgcolor: \"primary.mainLight\",\r\n minHeight: \"100vh\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"stretch\",\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\" }}>\r\n <Typography\r\n variant=\"h4\"\r\n gutterBottom\r\n sx={{ fontWeight: \"bold\", color: \"primary.dark\", mb: 2, mt: 2 }}\r\n >\r\n Donor Behavior\r\n </Typography>\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 1 }}>\r\n {primaryCharts.map((item, index) => (\r\n <RenderChartCard item={item} index={index} md={6} isPremium={true} />\r\n ))}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n <Grid item xs={12} md={6} sx={{ display: \"flex\" }}>\r\n <DropOffPoints />\r\n </Grid>\r\n {secondaryCharts.map((item, index) => (\r\n <RenderChartCard item={item} index={index} md={6} isPremium={true} />\r\n ))}\r\n </Grid>\r\n <Grid container spacing={3} sx={{ mt: 1 }}>\r\n {tertiaryCharts.map((item, index) => (\r\n <RenderChartCard item={item} index={index} md={6} isPremium={true} />\r\n ))}\r\n </Grid>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default DonorBehavior;\r\n","import React from \"react\";\r\nimport {\r\n Box, Typography, IconButton, Table, TableBody,\r\n TableCell, TableContainer, TableHead, TableRow,\r\n} from \"@mui/material\";\r\nimport { InfoOutlined, Settings } from \"@mui/icons-material\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\n\r\nconst miniChartOptions = (color = \"#6363e6\") => ({\r\n chart: { type: \"area\", sparkline: { enabled: true }, animations: { enabled: false } },\r\n stroke: { curve: \"smooth\", width: 2 },\r\n fill: { type: \"gradient\", gradient: { shadeIntensity: 0.4, opacityFrom: 5, opacityTo: 5 } },\r\n colors: [color],\r\n tooltip: { enabled: false },\r\n});\r\n\r\nconst MiniChart = ({ data, color }) => (\r\n <ReactApexChart options={miniChartOptions(color)} series={[{ data }]} type=\"area\" width={90} height={40} />\r\n);\r\n\r\nconst rows = [\r\n {\r\n title: \"Reminder 1 (1hr)\",\r\n abandoned: \"1,240\", sent: \"1,240\",\r\n openRate: \"42.1%\", openCount: \"(522)\",\r\n clickRate: \"18.3%\", clickCount: \"(227)\",\r\n recoveryRate: \"8.2%\",\r\n recoveryData: [1, 2, 3, 4, 5, 6, 7, 7, 8],\r\n revenue: \"$3,850\",\r\n revenueData: [2, 3, 4, 5, 4, 6, 5, 7, 6],\r\n recovered: \"102\",\r\n recoveredData: [1, 2, 3, 4, 3, 5, 4, 6, 5],\r\n },\r\n {\r\n title: \"Reminder 2 (24hr)\",\r\n abandoned: \"1,138\", sent: \"1,138\",\r\n openRate: \"31.4%\", openCount: \"(357)\",\r\n clickRate: \"12.6%\", clickCount: \"(143)\",\r\n recoveryRate: \"4.1%\",\r\n recoveryData: [2, 3, 2, 4, 3, 4, 3, 4, 4],\r\n revenue: \"$1,920\",\r\n revenueData: [2, 3, 3, 4, 3, 5, 4, 5, 4],\r\n recovered: \"47\",\r\n recoveredData: [1, 2, 2, 3, 2, 3, 3, 4, 3],\r\n },\r\n {\r\n title: \"Reminder 3 (72hr)\",\r\n abandoned: \"1,091\", sent: \"1,091\",\r\n openRate: \"22.8%\", openCount: \"(249)\",\r\n clickRate: \"8.9%\", clickCount: \"(97)\",\r\n recoveryRate: \"2.3%\",\r\n recoveryData: [1, 2, 1, 2, 2, 2, 3, 2, 3],\r\n revenue: \"$890\",\r\n revenueData: [1, 2, 2, 3, 2, 3, 2, 3, 3],\r\n recovered: \"25\",\r\n recoveredData: [1, 1, 2, 1, 2, 2, 2, 2, 3],\r\n },\r\n];\r\n\r\nconst aggregates = {\r\n abandoned: \"1,240\", sent: \"3,469\", sentData: [2, 3, 4, 5, 4, 6, 5, 7, 8],\r\n openRate: \"32.1%\", openCount: \"(1,128)\", openRateData: [5, 6, 5, 7, 6, 7, 6, 8, 7],\r\n clickRate: \"13.3%\", clickCount: \"(467)\", clickRateData: [3, 4, 5, 4, 5, 4, 5, 5, 6],\r\n recoveryRate: \"14.6%\", recoveryData: [2, 3, 4, 5, 5, 6, 6, 7, 8],\r\n revenue: \"$6,660\", revenueData: [3, 4, 5, 6, 5, 7, 6, 8, 7],\r\n recovered: \"174\", recoveredData: [2, 3, 4, 5, 4, 6, 5, 7, 6],\r\n};\r\n\r\nconst BORDER = \"1px solid #e0e0e0\";\r\n\r\nconst headerCellSx = {\r\n fontWeight: 900, fontSize: \"0.78rem\", color: \"#111\", bgcolor: \"#f3f3f3\",\r\n borderBottom: BORDER, borderRight: BORDER, py: \"20px\", px: \"5px\",\r\n lineHeight: 1.4, textAlign: \"center\", \"&:last-child\": { borderRight: 0 },\r\n};\r\n\r\nconst cellSx = {\r\n fontSize: \"0.85rem\", color: \"#333\", borderBottom: BORDER, borderRight: BORDER,\r\n py: \"10px\", px: \"5px\", verticalAlign: \"middle\", textAlign: \"center\",\r\n \"&:last-child\": { borderRight: 0 },\r\n};\r\n\r\nconst aggCellSx = { ...cellSx, bgcolor: \"#f3f3f3\", fontWeight: 900 };\r\n\r\nconst AbandonedDonationRecovery = () => {\r\n return (\r\n <Box sx={{ bgcolor: \"#fff\", borderRadius: 4, border: \"1px solid #f0f0f0\", boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\", overflow: \"hidden\", width: \"100%\" }}>\r\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", px: 3, py: 2 }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Typography variant=\"subtitle2\" sx={{ fontWeight: 600, color: \"#111\" }}>Abandoned Donation Recovery</Typography>\r\n <InfoOutlined sx={{ fontSize: \"1rem\", color: \"#9e9e9e\" }} />\r\n <Settings sx={{ fontSize: \"1rem\", color: \"#9e9e9e\" }} />\r\n </Box>\r\n <IconButton sx={{ border: \"1px solid #E9E9EB\", borderRadius: \"8px\", height: \"36px\", width: \"36px\" }}>\r\n <Settings sx={{ fontSize: \"1.1rem\", color: \"#555\" }} />\r\n </IconButton>\r\n </Box>\r\n\r\n <TableContainer sx={{ pb: 2, overflowX: \"auto\", width: \"100%\", boxSizing: \"border-box\" }}>\r\n <Box sx={{ px: \"25px\" }}>\r\n <Table sx={{ borderCollapse: \"separate\", borderSpacing: 0, border: BORDER, borderRadius: \"12px\", overflow: \"hidden\", width: \"100%\", minWidth: 800 }}>\r\n <TableHead>\r\n <TableRow>\r\n <TableCell sx={{ ...headerCellSx, textAlign: \"left\", minWidth: 160 }}>Reminder Email</TableCell>\r\n <TableCell sx={headerCellSx}>Abandoned Count</TableCell>\r\n <TableCell sx={headerCellSx}>Emails Sent</TableCell>\r\n <TableCell sx={headerCellSx}>Open Rate (No.)</TableCell>\r\n <TableCell sx={headerCellSx}>Click Rate (No.)</TableCell>\r\n <TableCell sx={headerCellSx}>Recovery Rate</TableCell>\r\n <TableCell sx={headerCellSx}>Recovered Revenue</TableCell>\r\n <TableCell sx={headerCellSx}>Recovered Donations</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {rows.map((row, i) => (\r\n <TableRow key={i} sx={{ \"&:hover\": { bgcolor: \"#fafafa\" } }}>\r\n <TableCell sx={{ ...cellSx, textAlign: \"left\", fontWeight: 500 }}>{row.title}</TableCell>\r\n <TableCell sx={cellSx}>{row.abandoned}</TableCell>\r\n <TableCell sx={cellSx}>{row.sent}</TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.openRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{row.openCount}</Typography>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.clickRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{row.clickCount}</Typography>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500} >{row.recoveryRate}</Typography>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={row.recoveryData} /></Box>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.revenue}</Typography>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={row.revenueData} /></Box>\r\n </TableCell>\r\n <TableCell sx={cellSx}>\r\n <Typography variant=\"body2\" fontWeight={500}>{row.recovered}</Typography>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={row.recoveredData} /></Box>\r\n </TableCell>\r\n </TableRow>\r\n ))}\r\n\r\n {/* Aggregates */}\r\n <TableRow sx={{ \"& td\": { borderBottom: 0 } }}>\r\n <TableCell sx={{ ...aggCellSx, textAlign: \"left\" }}>\r\n <Typography variant=\"body2\" fontWeight={700}>Total Aggregates</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\">(Mar 3 - Apr 3)</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}><Typography variant=\"body2\" fontWeight={700}>{aggregates.abandoned}</Typography></TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.sent}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.sentData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}>\r\n <Typography variant=\"body2\" fontWeight={700}>{aggregates.openRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{aggregates.openCount}</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.openRateData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}>\r\n <Typography variant=\"body2\" fontWeight={700}>{aggregates.clickRate}</Typography>\r\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>{aggregates.clickCount}</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.clickRateData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.recoveryRate}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.recoveryData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.revenue}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.revenueData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n <TableCell sx={aggCellSx}>\r\n <Box sx={{ minHeight: 42 }}><Typography variant=\"body2\" fontWeight={700}>{aggregates.recovered}</Typography></Box>\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\" }}><MiniChart data={aggregates.recoveredData} /></Box>\r\n <Typography variant=\"caption\" color=\"text.secondary\">Mar 3 - Apr 3</Typography>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </Box>\r\n </TableContainer>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default AbandonedDonationRecovery;","/**\r\n * Theme colors for server components\r\n *\r\n * These are plain JavaScript objects that can be safely imported\r\n * in both server and client components without triggering\r\n * client-only code in server components.\r\n *\r\n * For client components, use the full theme from @/config/customTheme\r\n */\r\n\r\nexport const themeColors = {\r\n primary: {\r\n main: \"#6363E6\",\r\n mainLight: \"#F7F7FF\",\r\n light: \"#FFFFFF\",\r\n gray: \"#A1A1A8\",\r\n lightGreen: \"#E1FBF2\",\r\n green: \"#0CAB72\",\r\n red: \"#E61D1D\",\r\n lightRed: \"#FFEDED\",\r\n lightGray: \"#E9E9EB\",\r\n darkGray: \"#606062\",\r\n dark: \"#090909\",\r\n },\r\n text: {\r\n primary: \"#666666\",\r\n },\r\n secondary: {\r\n main: \"#E0C2FF\",\r\n light: \"#F5EBFF\",\r\n contrastText: \"#47008F\",\r\n },\r\n white: {\r\n main: \"#FFFFFF\",\r\n light: \"#F8F8F8\",\r\n },\r\n gradients: {\r\n primary: \"linear-gradient(90deg, #6363E6 0.05%, #59C9F9 99.96%)\",\r\n secondary: \"linear-gradient(180deg, #E9E9FF 0%, #C9EEFF 100%)\",\r\n },\r\n};\r\n\r\n// Typography settings for server components\r\nexport const themeTypography = {\r\n fontFamily: [\r\n \"var(--font-league-spartan)\",\r\n \"var(--font-noto-sans-arabic)\",\r\n \"-apple-system\",\r\n \"BlinkMacSystemFont\",\r\n \"Segoe UI\",\r\n \"Roboto\",\r\n \"Helvetica Neue\",\r\n \"Arial\",\r\n \"sans-serif\",\r\n \"Apple Color Emoji\",\r\n \"Segoe UI Emoji\",\r\n \"Segoe UI Symbol\",\r\n ].join(\",\"),\r\n};\r\n","import { Box, Typography, LinearProgress, Avatar } from \"@mui/material\";\r\n\r\nconst ActiveCampaignsCard = ({\r\n title = \"Active campaigns\",\r\n subtitle = \"Live fundraisers ranked by velocity\",\r\n columns = [\"Campaign\", \"Raised\", \"Progress\", \"Donors\", \"Avg gift\",],\r\n rows = [],\r\n gridTemplateColumns = \"3fr 1fr 1.5fr 0.8fr 1fr \",\r\n height\r\n}) => {\r\n return (\r\n <Box\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n height: height,\r\n // height: \"100%\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"flex-start\",\r\n mb: 3,\r\n }}\r\n >\r\n <Box>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0.2 }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ overflowX: \"auto\" }}>\r\n <Box sx={{ minWidth: \"600px\" }}>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: gridTemplateColumns,\r\n gap: 2,\r\n pb: 2.5,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n {columns.map((header) => (\r\n <Typography\r\n key={header}\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {header}\r\n </Typography>\r\n ))}\r\n </Box>\r\n\r\n <Box sx={{ mt: 1 }}>\r\n {rows.map((row, idx) => (\r\n <Box\r\n key={idx}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: gridTemplateColumns,\r\n gap: 2,\r\n py: 1.2,\r\n alignItems: \"center\",\r\n borderBottom:\r\n idx === rows.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n {/* Column 1: Item with Avatar/Icon */}\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n {row.id && (\r\n <Avatar\r\n sx={{\r\n width: 28,\r\n height: 28,\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n bgcolor: row.avatarBg || \"#F3F4F6\",\r\n color: \"rgb(99, 99, 230)\",\r\n }}\r\n >\r\n {row.id}\r\n </Avatar>\r\n )}\r\n {row.icon && (\r\n <Box\r\n sx={{\r\n color: row.iconColor || \"inherit\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <row.icon sx={{ fontSize: \"18px\" }} />\r\n </Box>\r\n )}\r\n <Typography\r\n sx={{ fontSize: \"12px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {row.name}\r\n </Typography>\r\n </Box>\r\n\r\n {/* Column 2: Value 1 (Spent/Raised) */}\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 600,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val1}\r\n </Typography>\r\n\r\n {/* Column 3: Progress or Value 2 */}\r\n {row.type === \"progress\" ? (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5, }}>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={row.progress}\r\n sx={{\r\n height: 8,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: row.progressColor || \"rgb(99, 99, 230)\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"11px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"30px\",\r\n }}\r\n >\r\n {row.progress}%\r\n </Typography>\r\n </Box>\r\n ) : (\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 600,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val2}\r\n </Typography>\r\n )}\r\n\r\n {/* Column 4: Value 3 or highlighted ROAS */}\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: row.highlightVal3 ? 700 : 500,\r\n color: row.highlightVal3\r\n ? row.val3Color || \"#22C55E\"\r\n : \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val3}\r\n </Typography>\r\n\r\n {/* Column 5: Value 4 */}\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {row.val4}\r\n </Typography>\r\n\r\n {/* Column 6: Status or Trend */}\r\n {columns.length > 5 && (\r\n <Box>\r\n {row.type === \"trend\" ? (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n }}\r\n >\r\n {row.trendType === \"up\" ? (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#22C55E\" }}>\r\n ▲\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"#22C55E\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {row.trendLabel}\r\n </Typography>\r\n </>\r\n ) : (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#EF4444\" }}>\r\n ▼\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"#EF4444\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {row.trendLabel}\r\n </Typography>\r\n </>\r\n )}\r\n </Box>\r\n ) : (\r\n <Box\r\n sx={{\r\n display: \"inline-block\",\r\n px: 1.5,\r\n py: 0.5,\r\n borderRadius: \"100px\",\r\n bgcolor: row.statusBg,\r\n color: row.statusColor,\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n textAlign: \"center\",\r\n }}\r\n >\r\n {row.status}\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n </Box>\r\n ))}\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default ActiveCampaignsCard;\r\n","import React from \"react\";\r\nimport { Box, Typography } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\n\r\nconst DonorMixCard = ({\r\n title = \"Donor mix\",\r\n subtitle = \"Acquisition vs retention\",\r\n series = [68, 32],\r\n labels = [\"New donors\", \"Returning\"],\r\n colors = [\"rgb(99, 99, 230)\", \"#10B981\"],\r\n centerLabel = \"donors\",\r\n centerValue = \"215\",\r\n items = [\r\n { label: \"New donors\", val: \"146 · 68%\", color: \"rgb(99, 99, 230)\" },\r\n { label: \"Returning\", val: \"69 · 32%\", color: \"#10B981\" },\r\n ],\r\n showBottomSummary = true,\r\n bottomSummaryValue = \"$130.58\",\r\n bottomSummaryTrend = \"8.4% vs last month\",\r\n sx = {},\r\n}) => {\r\n const chartOptions = {\r\n chart: {\r\n type: \"donut\",\r\n },\r\n labels: labels,\r\n colors: colors,\r\n plotOptions: {\r\n pie: {\r\n donut: {\r\n size: \"75%\",\r\n labels: {\r\n show: true,\r\n name: {\r\n show: true,\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n offsetY: 25,\r\n },\r\n value: {\r\n show: true,\r\n fontSize: \"24px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n offsetY: -15,\r\n formatter: (val) => val,\r\n },\r\n total: {\r\n show: true,\r\n label: centerLabel,\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n formatter: () => centerValue,\r\n },\r\n },\r\n },\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n legend: {\r\n show: false,\r\n },\r\n stroke: {\r\n show: false,\r\n },\r\n states: {\r\n hover: {\r\n filter: {\r\n type: \"none\",\r\n },\r\n },\r\n },\r\n };\r\n\r\n return (\r\n <Box\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n // height: \"100%\",\r\n // width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx,\r\n }}\r\n >\r\n <Box sx={{}}>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n // mt: 0.2,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n position: \"relative\",\r\n height: \"180px\",\r\n // mb: 1,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n <Chart\r\n options={chartOptions}\r\n series={series}\r\n type=\"donut\"\r\n width=\"210\"\r\n />\r\n </Box>\r\n\r\n <Box sx={{}}>\r\n {items.map((item, idx) => (\r\n <Box\r\n key={idx}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n mb: idx === items.length - 1 ? (showBottomSummary ? 1 : 0) : 1,\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Box\r\n sx={{\r\n width: 10,\r\n height: 10,\r\n bgcolor: item.color,\r\n borderRadius: \"2px\",\r\n }}\r\n />\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n }}\r\n >\r\n {item.label}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#111\" }}\r\n >\r\n {item.val}\r\n </Typography>\r\n </Box>\r\n ))}\r\n\r\n {showBottomSummary && (\r\n <Box\r\n sx={{\r\n // display: \"flex\",\r\n // justifyContent: \"space-between\",\r\n // alignItems: \"center\",\r\n pt: 2,\r\n borderTop: \"1px solid #f0f0f0\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\", fontWeight: 500, color: \"rgba(0, 0, 0, 0.4)\",\r\n }}\r\n >\r\n Avg gift\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {bottomSummaryValue}\r\n </Typography>\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n color: \"#22C55E\",\r\n fontSize: \"12px\",\r\n fontWeight: 600,\r\n }}\r\n >\r\n <span>▲</span>\r\n {bottomSummaryTrend}\r\n </Box>\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default DonorMixCard;\r\n","export function formatNumber(num) {\r\n if (num >= 1_000_000_000) {\r\n return (num / 1_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"B\";\r\n }\r\n\r\n if (num >= 1_000_000) {\r\n return (num / 1_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"M\";\r\n }\r\n\r\n if (num >= 1_000) {\r\n return (num / 1_000).toFixed(1).replace(/\\.0$/, \"\") + \"K\";\r\n }\r\n\r\n return (num ?? 0).toString();\r\n}","import React from \"react\";\r\nimport { Box, Typography, Card, LinearProgress } from \"@mui/material\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nconst TrafficSourceCard = ({\r\n title = \"Traffic source\",\r\n subtitle = \"Revenue by channel · 30 days\",\r\n trafficSourceData = [],\r\n total = \"$0\",\r\n sx,\r\n}) => {\r\n const paidAdsColor = \"rgb(99, 99, 230)\";\r\n const organicColor = \"#10B981\";\r\n const emailColor = \"#0EA5E9\";\r\n const directColor = \"#94A3B8\";\r\n\r\n const getSourceColor = (source) => {\r\n switch (source) {\r\n case \"Paid Ads\":\r\n return paidAdsColor;\r\n case \"Organic\":\r\n return organicColor;\r\n case \"Email\":\r\n return emailColor;\r\n case \"Direct\":\r\n return directColor;\r\n default:\r\n return \"#CBD5E1\";\r\n }\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx,\r\n }}\r\n >\r\n <Box>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n mt: 0.5,\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1.5fr 2fr\",\r\n gap: 2,\r\n // mb: 1.5,\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n letterSpacing: \"0.05em\",\r\n }}\r\n >\r\n SOURCE\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n letterSpacing: \"0.05em\",\r\n }}\r\n >\r\n REVENUE\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n letterSpacing: \"0.05em\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n SHARE\r\n </Typography>\r\n </Box>\r\n\r\n <Box>\r\n {trafficSourceData?.map((item, index) => {\r\n const shareValue = Number(item.share || 0);\r\n\r\n return (\r\n <Box\r\n key={`${item.source}-${index}`}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1.5fr 2fr\",\r\n gap: 2,\r\n py: 0.75,\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1,\r\n minWidth: 0,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 10,\r\n height: 10,\r\n bgcolor: getSourceColor(item.source),\r\n borderRadius: \"2px\",\r\n flexShrink: 0,\r\n }}\r\n />\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 600,\r\n color: \"rgba(0, 0, 0, 0.7)\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n title={item.source}\r\n >\r\n {item.source}\r\n </Typography>\r\n </Box>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n ${formatNumber(item.revenue)}\r\n </Typography>\r\n\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n justifyContent: \"flex-end\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: \"60px\",\r\n flexShrink: 0,\r\n }}\r\n >\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={Math.max(shareValue, 0)}\r\n sx={{\r\n height: 6,\r\n borderRadius: 3,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 3,\r\n bgcolor: getSourceColor(item.source),\r\n },\r\n }}\r\n />\r\n </Box>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n minWidth: \"40px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {shareValue < 1 && shareValue > 0\r\n ? `${shareValue.toFixed(2)}%`\r\n : `${shareValue.toFixed(0)}%`}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n pt: 2,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n }}\r\n >\r\n Total\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"16px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n {total}\r\n </Typography>\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default TrafficSourceCard;","import React from \"react\";\r\nimport { Box, Typography, Card } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nconst MetricSparklineCard = ({\r\n title,\r\n subtitle,\r\n value,\r\n trend,\r\n trendColor = \"#22C55E\",\r\n chartData = [], // [{ label: \"2026-05-01\", value: 1200 }]\r\n chartColor = \"rgb(99, 99, 230)\",\r\n footerMetrics = [],\r\n sx,\r\n bottomSection = false\r\n}) => {\r\n\r\n // Extract values for chart series\r\n const series = [\r\n {\r\n name: title,\r\n data: chartData.map((item) => item.value),\r\n },\r\n ];\r\n\r\n // Extract labels for x-axis\r\n const categories = chartData.map((item) => item.label);\r\n\r\n const chartOptions = {\r\n chart: {\r\n type: \"area\",\r\n sparkline: { enabled: true },\r\n animations: { enabled: true },\r\n toolbar: { show: false },\r\n },\r\n\r\n xaxis: {\r\n categories,\r\n labels: {\r\n show: false,\r\n },\r\n },\r\n\r\n stroke: {\r\n curve: \"smooth\",\r\n width: 2,\r\n },\r\n\r\n fill: {\r\n type: \"gradient\",\r\n gradient: {\r\n shadeIntensity: 1,\r\n opacityFrom: 0.45,\r\n opacityTo: 0.05,\r\n stops: [20, 100, 100],\r\n },\r\n },\r\n\r\n colors: [chartColor],\r\n\r\n tooltip: {\r\n enabled: true,\r\n theme: \"light\",\r\n\r\n x: {\r\n show: true,\r\n formatter: (_, { dataPointIndex }) => {\r\n return categories[dataPointIndex];\r\n },\r\n },\r\n\r\n y: {\r\n formatter: (val) => {\r\n if (title?.toLowerCase().includes(\"revenue\")) {\r\n return `$${Number(val).toLocaleString()}`;\r\n }\r\n\r\n if (\r\n title?.toLowerCase().includes(\"rate\") ||\r\n title?.toLowerCase().includes(\"bounce\")\r\n ) {\r\n return `${val}%`;\r\n }\r\n\r\n return Number(val).toLocaleString();\r\n },\r\n },\r\n\r\n marker: { show: false },\r\n },\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{ mb: 1 }}>\r\n <Typography\r\n sx={{\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n mt: 0.2,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n mt: 1,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"flex-start\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"24px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n {value}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n color: trendColor,\r\n mt: 0.2,\r\n }}\r\n >\r\n {trend}\r\n </Typography>\r\n </Box>\r\n\r\n <Box sx={{ height: 60, mb: 2 }}>\r\n <Chart\r\n options={chartOptions}\r\n series={series}\r\n type=\"area\"\r\n height=\"100%\"\r\n />\r\n\r\n {/* Optional custom visible dates */}\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n mt: 0.5,\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n }}\r\n >\r\n {categories[0]}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n }}\r\n >\r\n {categories[Math.floor(categories.length / 2)]}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.3)\",\r\n }}\r\n >\r\n {categories[categories.length - 1]}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n mt: \"auto\",\r\n pt: bottomSection ? 1.5 : 3,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n {footerMetrics.map((m, idx) => (\r\n <Box key={idx} sx={{ textAlign: \"center\" }}>\r\n <Typography\r\n sx={{\r\n fontSize: \"10px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n {m.label}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n }}\r\n >\r\n {`$${formatNumber(m.value)}`}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default MetricSparklineCard;","import React from \"react\";\r\nimport { Box, Typography, Card } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\nimport { TrendingUp, TrendingDown } from \"@mui/icons-material\";\r\n\r\nconst MetricDonutCard = ({\r\n title,\r\n subtitle,\r\n acceptanceRate,\r\n acceptanceVal,\r\n acceptanceTrend,\r\n raisedVal,\r\n raisedTrend,\r\n chartColors = [\"rgb(99, 99, 230)\", \"#88bfd290\"],\r\n sx,\r\n}) => {\r\n const chartOptions = {\r\n chart: {\r\n type: \"radialBar\",\r\n sparkline: { enabled: true },\r\n },\r\n plotOptions: {\r\n radialBar: {\r\n hollow: { size: \"45%\" },\r\n track: {\r\n background: chartColors[1] || \"#f0f0f0\",\r\n strokeWidth: \"100%\",\r\n },\r\n dataLabels: {\r\n name: {\r\n show: true,\r\n fontSize: \"11px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n offsetY: 15,\r\n },\r\n value: {\r\n show: true,\r\n fontSize: \"18px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n offsetY: -15,\r\n formatter: () => acceptanceRate + \"%\",\r\n },\r\n }\r\n }\r\n },\r\n stroke: { lineCap: \"butt\" },\r\n colors: [chartColors[0]],\r\n labels: [\"accepted\"],\r\n tooltip: {\r\n enabled: true,\r\n theme: \"dark\",\r\n y: {\r\n formatter: (val) => `${val}%`,\r\n }\r\n }\r\n };\r\n\r\n const series = [acceptanceRate];\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n // height: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{}}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"16px\", color: \"#000\", textAlign: \"left\" }}>\r\n {title}\r\n </Typography>\r\n <Typography sx={{ fontSize: \"12px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0.2, textAlign: \"left\" }}>\r\n {subtitle}\r\n </Typography>\r\n </Box>\r\n\r\n <Box sx={{ height: 160, position: \"relative\", mt: 1, display: \"flex\", justifyContent: \"center\" }}>\r\n <Chart options={chartOptions} series={series} type=\"radialBar\" width=\"100%\" height=\"100%\" />\r\n </Box>\r\n\r\n <Box sx={{}}>\r\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Box sx={{ width: 10, height: 10, bgcolor: chartColors[0], borderRadius: \"2px\" }} />\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>Acceptance</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\r\n <Typography sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}>{acceptanceVal}</Typography>\r\n <Typography sx={{ fontSize: \"10px\", fontWeight: 700, color: \"#22C55E\", display: \"flex\", alignItems: \"center\" }}>\r\n <TrendingUp sx={{ fontSize: \"12px\" }} /> {acceptanceTrend}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}>\r\n <Box sx={{ width: 10, height: 10, bgcolor: chartColors[1], borderRadius: \"2px\" }} />\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>Raised</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\r\n <Typography sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}>{raisedVal}</Typography>\r\n <Typography sx={{ fontSize: \"10px\", fontWeight: 700, color: \"#22C55E\", display: \"flex\", alignItems: \"center\" }}>\r\n <TrendingUp sx={{ fontSize: \"12px\" }} /> {raisedTrend}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default MetricDonutCard;\r\n","import React from \"react\";\r\nimport { Box, Typography, Card, CardContent } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nconst DonationTypeBarChart = ({ sx, donationTypeData }) => {\r\n const recurringColor = \"rgb(99, 99, 230)\";\r\n const oneTimeColor = \"#10B981\";\r\n const colors = [recurringColor, oneTimeColor, \"#06B6D4\", \"#F59E0B\", \"#EF4444\"];\r\n\r\n let categories = [];\r\n let series = [];\r\n let summaries = [];\r\n let title = \"Donation Type\";\r\n let isDistributed = false;\r\n\r\n if (donationTypeData && donationTypeData.data && Array.isArray(donationTypeData.data)) {\r\n // Time series recurring vs one-time format\r\n categories = donationTypeData.data.map((item) => item.label || \"\");\r\n series = [\r\n {\r\n name: \"Recurring\",\r\n data: donationTypeData.data.map((item) => item.recurring || 0),\r\n },\r\n {\r\n name: \"One-time\",\r\n data: donationTypeData.data.map((item) => item.oneTime || 0),\r\n },\r\n ];\r\n summaries = [\r\n {\r\n label: \"Recurring\",\r\n total: donationTypeData.totalRecurringDonations || 0,\r\n color: recurringColor,\r\n },\r\n {\r\n label: \"One-time\",\r\n total: donationTypeData.totalOneTimeDonations || 0,\r\n color: oneTimeColor,\r\n },\r\n ];\r\n title = \"Recurring vs One-time\";\r\n isDistributed = false;\r\n } else if (Array.isArray(donationTypeData) && donationTypeData.length > 0 && donationTypeData[0].totalAmount !== undefined) {\r\n // New array format\r\n categories = donationTypeData.map((item) => item.type || \"\");\r\n series = [\r\n {\r\n name: \"Amount\",\r\n data: donationTypeData.map((item) => item.totalAmount || 0),\r\n },\r\n ];\r\n summaries = donationTypeData.map((item, index) => ({\r\n label: item.type || \"\",\r\n total: item.totalAmount || 0,\r\n color: colors[index % colors.length]\r\n }));\r\n isDistributed = true;\r\n if (donationTypeData.length === 2) {\r\n title = `${donationTypeData[0].type} vs ${donationTypeData[1].type}`;\r\n }\r\n } else {\r\n // Object format or simple series array\r\n const dataObj = donationTypeData || {};\r\n categories = dataObj.categories || [];\r\n series = Array.isArray(donationTypeData) ? donationTypeData : (dataObj.series || []);\r\n \r\n summaries = [\r\n {\r\n label: dataObj?.summary?.recurring?.label || \"Recurring\",\r\n total: dataObj?.summary?.recurring?.total || 0,\r\n color: recurringColor\r\n },\r\n {\r\n label: dataObj?.summary?.oneTime?.label || \"One-time\",\r\n total: dataObj?.summary?.oneTime?.total || 0,\r\n color: oneTimeColor\r\n }\r\n ];\r\n title = \"Recurring vs one-time\";\r\n isDistributed = false;\r\n }\r\n\r\n const chartOptions = {\r\n chart: {\r\n type: \"bar\",\r\n toolbar: { show: false },\r\n zoom: { enabled: false },\r\n fontFamily: \"Inter, sans-serif\",\r\n },\r\n plotOptions: {\r\n bar: {\r\n horizontal: false,\r\n columnWidth: \"50%\",\r\n borderRadius: 4,\r\n distributed: isDistributed,\r\n dataLabels: {\r\n position: \"top\",\r\n },\r\n },\r\n },\r\n dataLabels: {\r\n enabled: true,\r\n formatter: (val) => `$${formatNumber(val)}`,\r\n offsetY: -20,\r\n style: {\r\n fontSize: \"9px\",\r\n fontWeight: 600,\r\n colors: [\"#000\"],\r\n },\r\n },\r\n stroke: {\r\n show: true,\r\n width: 2,\r\n colors: [\"transparent\"],\r\n },\r\n xaxis: {\r\n categories: categories,\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n labels: {\r\n style: {\r\n colors: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"11px\",\r\n },\r\n },\r\n },\r\n yaxis: {\r\n min: 0,\r\n tickAmount: 4,\r\n labels: {\r\n formatter: (val) => `$${formatNumber(val)}`,\r\n style: {\r\n colors: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"10px\",\r\n },\r\n },\r\n },\r\n fill: {\r\n opacity: 1,\r\n },\r\n colors: colors,\r\n grid: {\r\n borderColor: \"#f1f1f1\",\r\n strokeDashArray: 4,\r\n padding: {\r\n left: 0,\r\n right: 0,\r\n },\r\n yaxis: {\r\n lines: { show: true },\r\n },\r\n },\r\n legend: {\r\n show: false,\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: (val) => `$${formatNumber(val)}`,\r\n },\r\n },\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", }}>\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\" }}>\r\n {title}\r\n </Typography>\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0 }}>\r\n Donation type\r\n </Typography>\r\n </Box>\r\n\r\n <Box sx={{ display: \"flex\", gap: 1.5, mt: 0.5, flexWrap: \"wrap\" }}>\r\n {summaries.map((item, index) => (\r\n <Box key={item.label || index} sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\r\n <Box sx={{ width: 8, height: 8, bgcolor: item.color, borderRadius: \"50%\" }} />\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>\r\n {item.label}\r\n </Typography>\r\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600, color: \"#000\" }}>\r\n ${formatNumber(item.total || 0)}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ height: 170, width: \"calc(100% + 48px)\", ml: -3, mr: -3, }}>\r\n <Chart options={chartOptions} series={series} type=\"bar\" height=\"100%\" />\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default DonationTypeBarChart;\r\n","import React from \"react\";\r\nimport {\r\n Box,\r\n Card,\r\n CardContent,\r\n Typography,\r\n LinearProgress,\r\n} from \"@mui/material\";\r\n\r\nconst CardWrapper = ({ title, subtitle, children, sx }) => (\r\n <Card\r\n sx={{\r\n // width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n ...sx,\r\n height: \"100%\",\r\n }}\r\n >\r\n <CardContent>\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: \"#000000\",\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n mb: 0.5,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n {subtitle && (\r\n <Typography\r\n sx={{\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontSize: \"13px\",\r\n mb: 3,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n )}\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 1 }}>\r\n {children}\r\n </Box>\r\n </CardContent>\r\n </Card>\r\n);\r\n\r\nexport const LandingPagesCard = () => {\r\n const data = [\r\n {\r\n page: \"/yemen-orphans-appeal\",\r\n visitors: \"1,840\",\r\n donations: \"32\",\r\n revenue: \"$38,200\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/gaza-emergency-food\",\r\n visitors: \"1,620\",\r\n donations: \"28\",\r\n revenue: \"$28,600\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/why-zakat-matters\",\r\n visitors: \"1,210\",\r\n donations: \"21\",\r\n revenue: \"$24,800\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/somalia-masjid-build\",\r\n visitors: \"890\",\r\n donations: \"15\",\r\n revenue: \"$16,400\",\r\n cvr: \"1.7%\",\r\n },\r\n {\r\n page: \"/ramadan-giving-guide\",\r\n visitors: \"720\",\r\n donations: \"11\",\r\n revenue: \"$11,200\",\r\n cvr: \"1.5%\",\r\n },\r\n {\r\n page: \"/water-wells-pakistan\",\r\n visitors: \"510\",\r\n donations: \"11\",\r\n revenue: \"$22,980\",\r\n cvr: \"2.2%\",\r\n },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top landing pages\"\r\n subtitle=\"Pages ranked by donations attributed\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"3fr 1.2fr 1.2fr 1.2fr 0.8fr\",\r\n gap: 2,\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Page\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Visitors\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Donations\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Revenue\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n Conv. rate\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"3fr 1.2fr 1.2fr 1.2fr 0.8fr\",\r\n gap: 2,\r\n py: 0.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.page}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.visitors}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.donations}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.revenue}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"#22C55E\",\r\n fontWeight: 700,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.cvr}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const KeywordsCard = () => {\r\n const data = [\r\n {\r\n keyword: \"zakat calculator\",\r\n clicks: \"1,240\",\r\n rank: \"#2.1\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n {\r\n keyword: \"orphan sponsorship\",\r\n clicks: \"860\",\r\n rank: \"#3.4\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n {\r\n keyword: \"ramadan donation guide\",\r\n clicks: \"720\",\r\n rank: \"#1.8\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n {\r\n keyword: \"yemen humanitarian crisis\",\r\n clicks: \"580\",\r\n rank: \"#5.2\",\r\n trend: \"Declining\",\r\n trendType: \"down\",\r\n },\r\n {\r\n keyword: \"masjid building fund\",\r\n clicks: \"410\",\r\n rank: \"#4.1\",\r\n trend: \"Improving\",\r\n trendType: \"up\",\r\n },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top organic keywords\"\r\n subtitle=\"Search terms ranked by clicks · last 30 days\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 1fr\",\r\n gap: 2,\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Keyword\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Clicks\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Position\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Trend\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 1fr\",\r\n gap: 2,\r\n // py: 0.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.keyword}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"rgba(0, 0, 0, 0.6)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.clicks}\r\n </Typography>\r\n <Box\r\n sx={{\r\n textAlign: \"left\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: \"40px\",\r\n bgcolor: \"#ebf2ffb1\",\r\n color: \"#3431e4\",\r\n // px: 0.5,\r\n p: 0.5,\r\n borderRadius: \"100px\",\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n textAlign: \"center\",\r\n minWidth: \"45px\",\r\n }}\r\n >\r\n {item.rank}\r\n </Box>\r\n </Box>\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-start\",\r\n gap: 0.5,\r\n }}\r\n >\r\n {item.trendType === \"up\" ? (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#22C55E\" }}>\r\n ▲\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"12px\", color: \"#22C55E\", fontWeight: 700 }}\r\n >\r\n Improving\r\n </Typography>\r\n </>\r\n ) : (\r\n <>\r\n <Typography sx={{ fontSize: \"14px\", color: \"#EF4444\" }}>\r\n ▼\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"12px\", color: \"#EF4444\", fontWeight: 700 }}\r\n >\r\n Declining\r\n </Typography>\r\n </>\r\n )}\r\n </Box>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const GeographyCard = ({\r\n subtitle = \"Top countries by organic traffic\",\r\n}) => {\r\n const data = [\r\n { country: \"United States\", stats: \"3,120 · 37%\", percentage: 37 },\r\n { country: \"United Kingdom\", stats: \"1,840 · 22%\", percentage: 22 },\r\n { country: \"Canada\", stats: \"920 · 11%\", percentage: 11 },\r\n { country: \"Australia\", stats: \"650 · 8%\", percentage: 8 },\r\n { country: \"UAE\", stats: \"580 · 7%\", percentage: 7 },\r\n { country: \"Other\", stats: \"1,310 · 16%\", percentage: 16 },\r\n ];\r\n\r\n return (\r\n <CardWrapper title=\"Geography insights\" subtitle={subtitle}>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.8 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"120px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.country}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.percentage}\r\n sx={{\r\n height: 10,\r\n borderRadius: 5,\r\n bgcolor: \"#f3f4f6ff\",\r\n \"& .MuiLinearProgress-bar\": {\r\n bgcolor: \"#6366F1\",\r\n borderRadius: 5,\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#000\",\r\n minWidth: \"80px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {item.stats}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopCampaignsRaisedCard = () => {\r\n const data = [\r\n { id: \"RK\", name: \"Ramadan kickoff\", value: \"$14,200\" },\r\n { id: \"YO\", name: \"Yemen orphans drive\", value: \"$11,800\" },\r\n { id: \"GE\", name: \"Gaza emergency\", value: \"$9,400\" },\r\n { id: \"ZR\", name: \"Zakat reminder\", value: \"$7,200\" },\r\n { id: \"EA\", name: \"Eid appeal\", value: \"$6,320\" },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top campaigns by total raised\"\r\n subtitle=\"Email campaigns ranked by donations\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Raised\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n // py: 1.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#ebf2ff\",\r\n color: \"#3431e4\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography sx={{ fontSize: \"13px\", color: \"#000\", fontWeight: 700 }}>\r\n {item.value}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopCampaignsCTRCard = () => {\r\n const data = [\r\n { id: \"RK\", name: \"Ramadan kickoff\", value: \"12.4%\" },\r\n { id: \"EA\", name: \"Eid appeal\", value: \"10.8%\" },\r\n { id: \"YO\", name: \"Yemen orphans drive\", value: \"9.7%\" },\r\n { id: \"PF\", name: \"Pakistan flood relief\", value: \"8.9%\" },\r\n { id: \"ZR\", name: \"Zakat reminder\", value: \"7.6%\" },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top campaigns by CTR\"\r\n subtitle=\"Click-through rate leaders\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n CTR\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n // py: 1.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#ebf2ff\",\r\n color: \"#3431e4\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", color: \"#22C55E\", fontWeight: 700 }}\r\n >\r\n {item.value}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopCampaignsConvRateCard = () => {\r\n const data = [\r\n { id: \"YO\", name: \"Yemen orphans drive\", value: \"5.2%\" },\r\n { id: \"RK\", name: \"Ramadan kickoff\", value: \"4.8%\" },\r\n { id: \"GE\", name: \"Gaza emergency\", value: \"4.1%\" },\r\n { id: \"PF\", name: \"Pakistan flood relief\", value: \"3.9%\" },\r\n { id: \"EA\", name: \"Eid appeal\", value: \"3.4%\" },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top campaigns by conversion\"\r\n subtitle=\"Click-to-donation conversion\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Conv. rate\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n // py: 1.5,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#ebf2ff\",\r\n color: \"#3431e4\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", color: \"#3431e4\", fontWeight: 700 }}\r\n >\r\n {item.value}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const TopPerformingCampaignsCard = () => {\r\n const data = [\r\n {\r\n id: \"YO\",\r\n // avatarBg: \"#c1cfde70\",\r\n name: \"Yemen Orphans - Meta\",\r\n spend: \"$8,200\",\r\n revenue: \"$31,400\",\r\n roas: \"3.8x\",\r\n },\r\n {\r\n id: \"GF\",\r\n // avatarBg: \"#c1cfdedb\",\r\n name: \"Gaza Food - Google\",\r\n spend: \"$7,400\",\r\n revenue: \"$25,200\",\r\n roas: \"3.4x\",\r\n },\r\n {\r\n id: \"PW\",\r\n // avatarBg: \"#c1cfdedb\",\r\n name: \"Pakistan Wells - Meta\",\r\n spend: \"$5,800\",\r\n revenue: \"$18,600\",\r\n roas: \"3.2x\",\r\n },\r\n {\r\n id: \"R\",\r\n // avatarBg: \"#c1cfdedb\",\r\n name: \"Ramadan - TikTok\",\r\n spend: \"$3,200\",\r\n revenue: \"$8,900\",\r\n roas: \"2.8x\",\r\n },\r\n ];\r\n\r\n return (\r\n <CardWrapper\r\n title=\"Top performing campaigns\"\r\n subtitle=\"Paid campaigns ranked by ROAS\"\r\n >\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 0.8fr\",\r\n gap: 1,\r\n pb: 1,\r\n borderBottom: \"1px solid #f0f0f0\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Campaign\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Spend\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n Revenue\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n ROAS\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"2.5fr 1fr 1fr 0.8fr\",\r\n gap: 1,\r\n py: 1,\r\n alignItems: \"center\",\r\n borderBottom:\r\n index === data.length - 1 ? \"none\" : \"1px solid #f5f5f5\",\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\r\n <Box\r\n sx={{\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n bgcolor: \"#c1cfde71\",\r\n color: \"#3431e4ff\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n fontSize: \"10px\",\r\n fontWeight: 700,\r\n }}\r\n >\r\n {item.id}\r\n </Box>\r\n <Typography\r\n sx={{ fontSize: \"13px\", fontWeight: 700, color: \"#000\" }}\r\n >\r\n {item.name}\r\n </Typography>\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"#000\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.spend}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n color: \"#000\",\r\n fontWeight: 500,\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.revenue}\r\n </Typography>\r\n <Box\r\n sx={{\r\n bgcolor: \"#48d8d620\",\r\n color: \"#157c3bff\",\r\n // px: 1,\r\n p: 0.5,\r\n width: \"40px\",\r\n // height: \"25px\",\r\n borderRadius: \"100px\",\r\n fontSize: \"11px\",\r\n fontWeight: 700,\r\n textAlign: \"center\",\r\n }}\r\n >\r\n {item.roas}\r\n </Box>\r\n </Box>\r\n ))}\r\n </CardWrapper>\r\n );\r\n};\r\n\r\nexport const PaidDonorGeographyCard = ({ sx, donorGeographyData }) => {\r\n const rawCountries = Array.isArray(donorGeographyData)\r\n ? donorGeographyData\r\n : (donorGeographyData?.countries || []);\r\n\r\n const data = rawCountries.map((item) => ({\r\n country: item.countryName || item.country || \"Unknown\",\r\n percentage: typeof item.percentage === \"number\" ? item.percentage : 0,\r\n value: item.donations !== undefined ? item.donations : (item.value || 0),\r\n }));\r\n\r\n return (\r\n <Card\r\n sx={{\r\n bgcolor: \"#fff\",\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n p: 3,\r\n // height: \"100%\",\r\n ...sx\r\n }}\r\n >\r\n <Box sx={{ textAlign: \"left\" }}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\" }}>\r\n Paid donor geography\r\n </Typography>\r\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", mt: 0 }}>\r\n Where ad-acquired donors come from\r\n </Typography>\r\n </Box>\r\n {data.map((item, index) => (\r\n <Box\r\n key={index}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 2, py: 0.7 }}\r\n >\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 500,\r\n color: \"rgba(0, 0, 0, 0.4)\",\r\n minWidth: \"100px\",\r\n textAlign: \"left\",\r\n }}\r\n >\r\n {item.country}\r\n </Typography>\r\n <Box sx={{ flexGrow: 1 }}>\r\n <LinearProgress\r\n variant=\"determinate\"\r\n value={item.percentage}\r\n sx={{\r\n height: 8,\r\n borderRadius: 4,\r\n bgcolor: \"#F3F4F6\",\r\n \"& .MuiLinearProgress-bar\": {\r\n borderRadius: 4,\r\n bgcolor: \"#6366F1\",\r\n },\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n sx={{\r\n fontSize: \"13px\",\r\n fontWeight: 700,\r\n color: \"#111\",\r\n minWidth: \"60px\",\r\n textAlign: \"right\",\r\n }}\r\n >\r\n {item.value} · {item.percentage}%\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Card>\r\n );\r\n};\r\n","import React from \"react\";\nimport { Box, Typography, Card } from \"@mui/material\";\nimport Chart from \"react-apexcharts\";\n\nconst RefundsChargebacksCard = ({ sx, refundsChargebacksData = {} }) => {\n const {\n refundRate = 0,\n chargebackRate = 0,\n totalRefundedAmount = 0,\n totalRefunds = 0,\n totalChargebacks = 0,\n growthPercentage = 0,\n totalRevenue = 0,\n chartData = [],\n } = refundsChargebacksData;\n\n const categories = chartData.map((item) => item.date);\n const refundSeries = chartData.map((item) => parseFloat((item.refundRate || 0).toFixed(2)));\n const chargebackSeries = chartData.map((item) => parseFloat((item.chargebackRate || 0).toFixed(2)));\n\n const maxVal = Math.max(...chargebackSeries, ...refundSeries, 1);\n const yAxisMax = Math.ceil(maxVal * 1.2);\n\n const chartOptions = {\n chart: {\n type: \"area\",\n toolbar: { show: false },\n zoom: { enabled: false },\n fontFamily: \"Inter, sans-serif\",\n sparkline: { enabled: false },\n },\n dataLabels: { enabled: false },\n stroke: { curve: \"smooth\", width: 2 },\n fill: {\n type: \"gradient\",\n gradient: {\n shadeIntensity: 1,\n opacityFrom: 0.35,\n opacityTo: 0.02,\n stops: [20, 100],\n },\n },\n xaxis: {\n categories,\n axisBorder: { show: false },\n axisTicks: { show: false },\n labels: {\n show: categories.length <= 15,\n rotate: -45,\n style: { colors: \"rgba(0, 0, 0, 0.4)\", fontSize: \"10px\" },\n },\n },\n yaxis: {\n min: 0,\n max: yAxisMax,\n tickAmount: 4,\n labels: {\n formatter: (val) => `${parseFloat(val.toFixed(1))}%`,\n style: { colors: \"rgba(0, 0, 0, 0.4)\", fontSize: \"11px\" },\n },\n },\n grid: {\n borderColor: \"#f1f1f1\",\n strokeDashArray: 4,\n yaxis: { lines: { show: true } },\n padding: { left: 0, right: 0 },\n },\n colors: [\"#F59E0B\", \"#EF4444\"],\n legend: { show: false },\n annotations: {\n yaxis: [\n {\n y: 1,\n borderColor: \"#EF4444\",\n strokeDashArray: 3,\n label: {\n borderColor: \"transparent\",\n style: {\n color: \"#EF4444\",\n background: \"transparent\",\n fontSize: \"10px\",\n fontWeight: 700,\n },\n position: \"left\",\n offsetY: -10,\n offsetX: 10,\n },\n },\n ],\n },\n tooltip: {\n shared: true,\n y: { formatter: (val) => `${parseFloat(val.toFixed(2))}%` },\n },\n };\n\n const series = [\n { name: \"Refunds\", data: refundSeries },\n { name: \"Chargebacks\", data: chargebackSeries },\n ];\n\n const fmt = (n) =>\n n >= 1000\n ? `${(n / 1000).toFixed(1)}k`\n : parseFloat(n?.toFixed(2) ?? 0).toString();\n\n const growthColor = growthPercentage > 0 ? \"#EF4444\" : growthPercentage < 0 ? \"#22C55E\" : \"rgba(0,0,0,0.4)\";\n const growthLabel =\n growthPercentage > 0\n ? `▲ ${growthPercentage.toFixed(1)}%`\n : growthPercentage < 0\n ? `▼ ${Math.abs(growthPercentage).toFixed(1)}%`\n : \"stable\";\n\n return (\n <Card\n sx={{\n bgcolor: \"#fff\",\n borderRadius: 4,\n border: \"1px solid #f0f0f0\",\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\n p: 3,\n display: \"flex\",\n flexDirection: \"column\",\n ...sx,\n }}\n >\n {/* Header */}\n <Box sx={{ mb: 0 }}>\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\", textAlign: \"left\" }}>\n Refunds &amp; chargebacks\n </Typography>\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.4)\", textAlign: \"left\" }}>\n Trust health · 30-day window\n </Typography>\n </Box>\n\n {/* Legend + Stats */}\n <Box sx={{ display: \"flex\", gap: 2, mb: 0.75, flexWrap: \"wrap\", mt: 1 }}>\n {/* Refunds */}\n <Box sx={{ display: \"flex\", alignItems: \"flex-start\", gap: 0.75 }}>\n <Box sx={{ width: 8, height: 8, bgcolor: \"#F59E0B\", borderRadius: \"50%\", mt: \"4px\", flexShrink: 0 }} />\n <Box>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>\n Refunds\n </Typography>\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600, color: \"#000\" }}>\n {refundRate.toFixed(2)}%\n </Typography>\n </Box>\n <Typography sx={{ fontSize: \"12px\", fontWeight: 600, color: \"rgba(0,0,0,0.4)\", lineHeight: 1.2, mt: 0.2 }}>\n ${fmt(totalRefundedAmount)} refunded\n </Typography>\n </Box>\n </Box>\n\n {/* Chargebacks */}\n <Box sx={{ display: \"flex\", alignItems: \"flex-start\", gap: 0.75 }}>\n <Box sx={{ width: 8, height: 8, bgcolor: \"#EF4444\", borderRadius: \"50%\", mt: \"4px\", flexShrink: 0 }} />\n <Box>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5 }}>\n <Typography sx={{ fontSize: \"13px\", color: \"rgba(0, 0, 0, 0.5)\", fontWeight: 500 }}>\n Chargebacks\n </Typography>\n <Typography sx={{ fontSize: \"13px\", fontWeight: 600, color: \"#000\" }}>\n {chargebackRate.toFixed(2)}%\n </Typography>\n </Box>\n <Typography sx={{ fontSize: \"12px\", fontWeight: 600, color: growthColor, lineHeight: 1.2, mt: 0.2 }}>\n {growthLabel}\n </Typography>\n </Box>\n </Box>\n </Box>\n\n {/* Summary line */}\n <Box sx={{ mb: 0.5 }}>\n <Typography sx={{ fontSize: \"12px\", color: \"rgba(0, 0, 0, 0.3)\", fontWeight: 500, textAlign: \"left\" }}>\n ${fmt(totalRefundedAmount)} refunded · {totalChargebacks} chargebacks · {totalRefunds} refunds\n </Typography>\n </Box>\n\n {/* Chart */}\n <Box sx={{ height: 140, width: \"100%\", flexShrink: 0 }}>\n <Chart options={chartOptions} series={series} type=\"area\" height=\"100%\" />\n </Box>\n </Card>\n );\n};\n\nexport default RefundsChargebacksCard;\n","import { Avatar, Box, Stack, Typography } from \"@mui/material\";\r\n\r\n\r\nconst MetricCard = ({\r\n title,\r\n value,\r\n caption,\r\n icon,\r\n active,\r\n warning,\r\n error,\r\n onClick\r\n}) => (\r\n <Box\r\n sx={{\r\n bgcolor: \"#fff\",\r\n border: `1.5px solid ${active ? \"#4F46E5\" : warning ? \"#F3B33D\" : error ? \"#ef4444\" : \"#F1F1F5\"}`,\r\n borderRadius: \"16px\",\r\n p: { xs: 1.75, md: 2 },\r\n paddingTop: \"10px !important\", paddingBottom: \"10px !important\",\r\n height: 92,\r\n boxShadow: \"0 14px 30px rgba(21, 26, 45, 0.06)\",\r\n }}\r\n onClick={onClick}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n justifyContent=\"space-between\"\r\n alignItems=\"center\"\r\n >\r\n <Typography\r\n sx={{\r\n color: active ? \"#818CF8\" : \"#999EAA\",\r\n fontSize: 13,\r\n fontWeight: 500,\r\n letterSpacing: 0,\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n <Avatar\r\n sx={{\r\n width: 30,\r\n height: 30,\r\n bgcolor: warning ? \"#FFF3CF\" : error ? \"#fee2e2\" : \"#EEF2FF\",\r\n color: warning ? \"#B45309\" : error ? \"#ef4444\" : \"#4F46E5\",\r\n }}\r\n >\r\n {icon}\r\n </Avatar>\r\n </Stack>\r\n <Typography\r\n sx={{\r\n // mt: 0.3,\r\n fontSize: 22,\r\n fontWeight: 700,\r\n color: active ? \"#4F46E5\" : \"#050509\",\r\n lineHeight: 1.15,\r\n }}\r\n >\r\n {value}\r\n </Typography>\r\n <Typography\r\n sx={{\r\n // mt: 1.05,\r\n fontSize: 12,\r\n fontWeight: 500,\r\n color: caption.includes(\"failed\")\r\n ? \"#4F46E5\"\r\n : error\r\n ? \"#ef4444\"\r\n : \"#0B8F61\",\r\n }}\r\n >\r\n {caption}\r\n </Typography>\r\n </Box>\r\n);\r\n\r\nexport default MetricCard;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport ActiveCampaignsCard from \"../ActiveCampaignsCard\";\r\nimport DonorMixCard from \"../DonorMixCard\";\r\nimport TrafficSourceCard from \"../TrafficSourceCard\";\r\nimport MetricSparklineCard from \"../MetricSparklineCard\";\r\nimport MetricDonutCard from \"../MetricDonutCard\";\r\nimport DonationTypeBarChart from \"../DonationTypeBarChart\";\r\nimport {\r\n PaidDonorGeographyCard,\r\n} from \"../TOPCards\";\r\nimport RefundsChargebacksCard from \"../RefundsChargebacksCard\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n FavoriteOutlined as HeartIcon,\r\n PeopleAltOutlined as PeopleIcon,\r\n TrendingUp as TrendIcon,\r\n Adjust as AdjustIcon,\r\n} from \"@mui/icons-material\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\n\r\nconst OverallSection = ({\r\n apiData = {},\r\n primaryCharts,\r\n secondaryCharts,\r\n tertiaryCharts,\r\n quaternaryCharts,\r\n dateName,\r\n}) => {\r\n const [activeMetric, setActiveMetric] = useState(\"Total Raised\");\r\n\r\n const donationTypeData = apiData?.recurringBarChartData || [];\r\n const donorGeographyData = apiData?.donorGeography || [];\r\n const trafficSourceData = apiData?.trafficSourceData || [];\r\n const orderBumpData = apiData?.orderBumpDetails || [];\r\n const upsellData = apiData?.upSellDetails || [];\r\n const downsellData = apiData?.downSellDetails || [];\r\n const referralData = apiData?.referralDetails || [];\r\n const refundsChargebacksData = apiData?.refundAndChargeBacks || [];\r\n const allCharts = [\r\n ...primaryCharts,\r\n ...secondaryCharts,\r\n ...tertiaryCharts,\r\n ...quaternaryCharts,\r\n ];\r\n\r\n const getExtendedCharts = () => {\r\n const charts = [...allCharts];\r\n const categories = apiData?.categories || [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n ];\r\n\r\n if (!charts.find((c) => c.label === \"Net Raised\")) {\r\n charts.push({\r\n label: \"Net Raised\",\r\n value: apiData?.netRaised || \"$222.3K\",\r\n data: (\r\n apiData?.revenueData || [\r\n 3000, 4500, 4200, 5800, 5200, 7100, 8500, 9200, 5000,\r\n ]\r\n ).map((v) => v * 0.92),\r\n categories,\r\n });\r\n }\r\n\r\n if (!charts.find((c) => c.label === \"Total Donors\")) {\r\n charts.push({\r\n label: \"Total Donors\",\r\n value: apiData?.totalDonors || \"215\",\r\n data: apiData?.donationsData || [15, 22, 18, 30, 25, 35, 42, 45, 28],\r\n categories,\r\n });\r\n }\r\n\r\n if (!charts.find((c) => c.label === \"ROAS\")) {\r\n charts.push({\r\n label: \"ROAS\",\r\n value: apiData?.roas || \"3.0x\",\r\n data: [2.1, 2.4, 2.2, 2.8, 2.6, 3.1, 3.1, 3.0, 2.9],\r\n categories,\r\n });\r\n }\r\n\r\n return charts;\r\n };\r\n\r\n const metricInfo = {\r\n \"Total Raised\": {\r\n value: `$${formatNumber(apiData?.overviewStats?.overview?.totalRevenue)}` || \"$0\",\r\n subValue: `${Number(apiData?.overviewStats?.overview?.growthPercentage?.totalRevenue ?? 0).toFixed(2)}% vs ${dateName || \"last month\"}`,\r\n label: \"Total Raised\",\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Net Raised\": {\r\n value: `$${formatNumber(apiData?.overviewStats?.overview?.netRevenue)}`,\r\n subValue: `${Number(apiData?.overviewStats?.overview.growthPercentage?.netRevenue ?? 0).toFixed(2)}% vs ${dateName ?? \"previous period\"\r\n }`,\r\n label: \"Net Raised\",\r\n icon: <HeartIcon />,\r\n money: true,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Total Donors\": {\r\n value: apiData?.overviewStats?.overview?.totalDonations || \"215\",\r\n subValue: `${Number(apiData?.overviewStats?.overview.growthPercentage?.totalDonations ?? 0).toFixed(2)}%` || \"0 new\",\r\n label: \"Total Donors\",\r\n icon: <PeopleIcon />,\r\n money: false,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Avg donation\": {\r\n value: `$${formatNumber(apiData?.overviewStats?.overview?.overallAVGDonations)}`,\r\n subValue: `${Number(apiData?.overviewStats?.overview.growthPercentage?.overallAVGDonations ?? 0).toFixed(2)}% vs ${dateName ?? \"last month\"\r\n }`,\r\n label: \"Average Donation Amount\",\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false,\r\n },\r\n \"ROAS\": {\r\n value: `${formatNumber(apiData?.roasCard ?? 0)}x`,\r\n subValue: `${Number(apiData?.roasCardPrev ?? 0).toFixed(2)}x vs ${dateName ?? \"last month\"}`,\r\n label: \"ROAS\",\r\n icon: <TrendIcon />,\r\n money: false,\r\n error: false,\r\n warning: false,\r\n },\r\n \"Conversion\": {\r\n value: `${formatNumber(apiData?.overviewStats?.overview?.conversionRate)}%` || \"0.0%\",\r\n subValue: `${(apiData?.overviewStats?.overview?.growthPercentage?.conversionRate ?? 0).toFixed(2)}%` || \"0%\",\r\n label: \"Conversion Rate\",\r\n icon: <AdjustIcon />,\r\n money: false,\r\n error: false,\r\n warning: false,\r\n },\r\n };\r\n\r\n const activeCampaignsData = apiData?.activeCampaigns || [];\r\n const donorMix = apiData?.donorPieChartData;\r\n let newDonorsCount = 0;\r\n let returningDonorsCount = 0;\r\n let totalDonorsMix = 0;\r\n let newDonorsPerc = 0;\r\n let returningDonorsPerc = 0;\r\n let avgGift = 0;\r\n let donorMixPrev = 0;\r\n\r\n if (Array.isArray(donorMix)) {\r\n const newDonorsObj = donorMix.find((d) => d.type === \"New Donors\" || d.type === \"New donors\") || {};\r\n const returningDonorsObj = donorMix.find((d) => d.type === \"Returning Donors\" || d.type === \"Returning\") || {};\r\n\r\n newDonorsCount = newDonorsObj.totalDonations || 0;\r\n returningDonorsCount = returningDonorsObj.totalDonations || 0;\r\n totalDonorsMix = newDonorsCount + returningDonorsCount;\r\n\r\n newDonorsPerc = totalDonorsMix > 0 ? Math.round((newDonorsCount / totalDonorsMix) * 100) : 0;\r\n returningDonorsPerc = totalDonorsMix > 0 ? Math.round((returningDonorsCount / totalDonorsMix) * 100) : 0;\r\n\r\n const totalAmount = (newDonorsObj.totalAmount || 0) + (returningDonorsObj.totalAmount || 0);\r\n avgGift = totalDonorsMix > 0 ? Number((totalAmount / totalDonorsMix).toFixed(2)) : 0;\r\n donorMixPrev = apiData?.donorMixPrev || 0;\r\n } else if (donorMix && typeof donorMix === \"object\") {\r\n newDonorsCount = donorMix.newDonors || 0;\r\n returningDonorsCount = donorMix.returningDonors || 0;\r\n totalDonorsMix = newDonorsCount + returningDonorsCount;\r\n\r\n newDonorsPerc = totalDonorsMix > 0 ? Math.round((newDonorsCount / totalDonorsMix) * 100) : 0;\r\n returningDonorsPerc = totalDonorsMix > 0 ? Math.round((returningDonorsCount / totalDonorsMix) * 100) : 0;\r\n\r\n avgGift = donorMix.avgGift || 0;\r\n donorMixPrev = donorMix.donorMixPrev || 0;\r\n }\r\n\r\n console.log(\"DONOR MIX\", donorMix);\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"1px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n );\r\n\r\n const extendedCharts = getExtendedCharts();\r\n const selectedInfo = metricInfo[activeMetric];\r\n let mainChart =\r\n extendedCharts.find((c) => c.label === selectedInfo.label) ||\r\n primaryCharts[0];\r\n\r\n\r\n if (activeMetric === \"Total Raised\") {\r\n const stackedData = apiData?.overviewStats?.totalRaised;\r\n const hasStackedData = stackedData?.paidAds || stackedData?.email || stackedData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (stackedData?.organic || stackedData?.paidAds || stackedData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (stackedData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (stackedData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (stackedData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Total revenue trend\",\r\n data: undefined, // Clear single data property to force series usage\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n stroke: {\r\n curve: \"smooth\",\r\n width: 3,\r\n },\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Net Raised\") {\r\n const netData = apiData?.overviewStats?.netRaised;\r\n const hasStackedData = netData?.paidAds || netData?.email || netData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (netData?.organic || netData?.paidAds || netData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (netData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (netData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (netData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Net revenue trend\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(netData) && netData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Net revenue trend\",\r\n data: netData.map((item) => item.value),\r\n categories: netData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Total Donors\") {\r\n const donorsData = apiData?.overviewStats?.totalDonations;\r\n const hasStackedData = donorsData?.paidAds || donorsData?.email || donorsData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (donorsData?.organic || donorsData?.paidAds || donorsData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (donorsData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (donorsData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (donorsData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Donor trend\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(donorsData) && donorsData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Donor trend\",\r\n data: donorsData.map((item) => item.value),\r\n categories: donorsData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"ROAS\") {\r\n const roasData = apiData?.roas;\r\n const hasStackedData = roasData?.paidAds || roasData?.email || roasData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (roasData?.organic || roasData?.paidAds || roasData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (roasData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (roasData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (roasData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"ROAS\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(roasData) && roasData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"ROAS\",\r\n data: roasData.map((item) => item.value),\r\n categories: roasData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Conversion\") {\r\n const conversionData = apiData?.overviewStats?.conversionRate;\r\n const hasStackedData = conversionData?.paidAds || conversionData?.email || conversionData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (conversionData?.organic || conversionData?.paidAds || conversionData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (conversionData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (conversionData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (conversionData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Conversion Rate\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(conversionData) && conversionData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Conversion Rate\",\r\n data: conversionData.map((item) => item.value),\r\n categories: conversionData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n if (activeMetric === \"Avg donation\") {\r\n const avgData = apiData?.overviewStats?.avgDonations;\r\n const hasStackedData = avgData?.paidAds || avgData?.email || avgData?.organic;\r\n\r\n if (hasStackedData) {\r\n const categories = (avgData?.organic || avgData?.paidAds || avgData?.email || []).map((item) => item.date);\r\n const series = [\r\n { name: \"Paid Ads\", data: (avgData?.paidAds || []).map((item) => item.value) },\r\n { name: \"Organic\", data: (avgData?.organic || []).map((item) => item.value) },\r\n { name: \"Email\", data: (avgData?.email || []).map((item) => item.value) },\r\n ];\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Average donation trend\",\r\n data: undefined,\r\n series,\r\n categories,\r\n stacked: true,\r\n colors: [\"#6366F1\", \"#10B981\", \"#06B6D4\"],\r\n hideControls: true,\r\n };\r\n } else if (Array.isArray(avgData) && avgData.length > 0) {\r\n mainChart = {\r\n ...mainChart,\r\n label: \"Average donation trend\",\r\n data: avgData.map((item) => item.value),\r\n categories: avgData.map((item) => item.date),\r\n series: undefined,\r\n stacked: false,\r\n hideControls: true,\r\n };\r\n }\r\n }\r\n\r\n mainChart = {\r\n ...mainChart,\r\n label: mainChart.label || activeMetric,\r\n value: selectedInfo.value,\r\n trend: selectedInfo.subValue,\r\n };\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr 1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(6, 1fr)\",\r\n },\r\n gap: \"6px\",\r\n mb: 0,\r\n }}\r\n >\r\n {Object.keys(metricInfo).map(renderCard)}\r\n </Box>\r\n <Grid container spacing={3} sx={{ mb: 0, mt: \"6px\" }}>\r\n <RenderChartCard\r\n item={mainChart}\r\n index={0}\r\n md={12}\r\n isPremium={true}\r\n isPrimary={true}\r\n metric={\r\n activeMetric.includes(\"Raised\") || activeMetric.includes(\"donation\")\r\n ? \"Revenue\"\r\n : \"Donors\"\r\n }\r\n />\r\n </Grid>\r\n\r\n <Grid container spacing={\"6px\"} sx={{ mt: \"6px\" }}>\r\n <Grid item xs={12} md={9} sx={{ paddingTop: \"0px !important\" }}>\r\n <ActiveCampaignsCard\r\n title=\"Active campaigns\"\r\n subtitle=\"Live fundraisers ranked by velocity\"\r\n columns={[\r\n \"Campaign\",\r\n \"Raised\",\r\n \"Progress\",\r\n \"Donors\",\r\n \"Avg gift\",\r\n // \"Status\",\r\n ]}\r\n rows={activeCampaignsData.map((campaign) => ({\r\n id: campaign.campaignName\r\n ? campaign.campaignName\r\n .split(\" \")\r\n .filter(Boolean)\r\n .map((word) => word[0])\r\n .join(\"\")\r\n .toUpperCase()\r\n .slice(0, 2)\r\n : \"??\",\r\n name: campaign.title || \"Untitled Campaign\",\r\n val1: `$${formatNumber(campaign.collectedAmount || 0)}`,\r\n type: \"progress\",\r\n progress: Math.round(\r\n ((campaign.collectedAmount || 0) / (campaign.usdTargetAmount || 1)) * 100\r\n ),\r\n val3: formatNumber(campaign.uniqueDonationsCount || 0),\r\n val4: `$${formatNumber(campaign.avgGift || 0)}`,\r\n }))}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={3} sx={{ display: \"flex\", paddingTop: \"0px !important\", marginTop: { xs: \"16px\", md: \"0px\" } }}>\r\n <DonorMixCard\r\n title=\"Donor mix\"\r\n subtitle=\"Acquisition vs retention\"\r\n series={[newDonorsCount, returningDonorsCount]}\r\n labels={[\"New donors\", \"Returning\"]}\r\n colors={[\"rgb(99, 99, 230)\", \"#10B981\"]}\r\n centerLabel=\"donors\"\r\n centerValue={totalDonorsMix.toString()}\r\n items={[\r\n {\r\n label: \"New donors\",\r\n val: `${newDonorsCount} · ${newDonorsPerc}%`,\r\n color: \"rgb(99, 99, 230)\",\r\n },\r\n {\r\n label: \"Returning\",\r\n val: `${returningDonorsCount} · ${returningDonorsPerc}%`,\r\n color: \"#10B981\",\r\n },\r\n ]}\r\n bottomSummaryValue={`$${avgGift}`}\r\n bottomSummaryTrend={`${donorMixPrev}% vs ${dateName || \"last month\"}`}\r\n sx={{ width: \"100%\" }}\r\n />\r\n </Grid>\r\n </Grid>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\", // 1 card\r\n sm: \"repeat(2, 1fr)\", // 2 cards\r\n md: \"repeat(4, 1fr)\", // 4 cards\r\n },\r\n gap: \"6px\",\r\n mt: \"6px\",\r\n alignItems: \"stretch\",\r\n }}\r\n >\r\n <DonationTypeBarChart sx={{ maxHeight: 280 }} donationTypeData={donationTypeData} />\r\n\r\n <PaidDonorGeographyCard sx={{ maxHeight: 280 }} donorGeographyData={donorGeographyData} />\r\n\r\n <RefundsChargebacksCard sx={{ maxHeight: 280 }} refundsChargebacksData={refundsChargebacksData} />\r\n\r\n <TrafficSourceCard sx={{ maxHeight: 280 }} trafficSourceData={trafficSourceData?.data || []} total={`$${formatNumber(trafficSourceData?.totalRevenue || 0)}`}\r\n />\r\n\r\n <MetricSparklineCard\r\n title=\"Order Bump\"\r\n subtitle=\"Revenue trend · last 30 days\"\r\n value={`$${formatNumber(orderBumpData?.totalRevenue || 0)}`}\r\n trend={`${orderBumpData?.growthPercentage >= 0 ? \"▲\" : \"▼\"} ${Math.abs(\r\n orderBumpData?.growthPercentage || 0\r\n ).toFixed(1)}% vs last month`}\r\n chartData={\r\n orderBumpData?.chart?.map((item) => ({\r\n label: item.label,\r\n value: item.revenue,\r\n })) || []\r\n }\r\n footerMetrics={[\r\n {\r\n label: \"Avg / Day\",\r\n value: `$${formatNumber(orderBumpData?.averagePerDay || 0)}`,\r\n },\r\n {\r\n label: \"Orders\",\r\n value: formatNumber(orderBumpData?.totalOrders || 0),\r\n },\r\n {\r\n label: \"Peak Day\",\r\n value: `$${formatNumber(orderBumpData?.peakDay?.amount || 0)}`,\r\n subValue: orderBumpData?.peakDay?.date,\r\n },\r\n ]}\r\n sx={{ maxHeight: 280 }}\r\n bottomSection\r\n />\r\n\r\n <MetricDonutCard\r\n title=\"Upsell\"\r\n subtitle=\"Acceptance & raised\"\r\n acceptanceRate={upsellData?.acceptanceRate || 0}\r\n\r\n acceptanceVal={`${formatNumber(upsellData?.totalUpsellsAttached || 0)}`}\r\n acceptanceTrend={`${upsellData?.acceptanceGrowth >= 0 ? \"▲\" : \"▼\"} ${Math.abs(\r\n upsellData?.acceptanceGrowth || 0\r\n ).toFixed(1)}%`}\r\n\r\n raisedVal={`$${formatNumber(upsellData?.raised || 0)}`}\r\n raisedTrend={`${upsellData?.raisedGrowth >= 0 ? \"▲\" : \"▼\"} ${Math.abs(\r\n upsellData?.raisedGrowth || 0\r\n ).toFixed(1)}%`}\r\n\r\n sx={{ maxHeight: 280 }}\r\n />\r\n\r\n <MetricDonutCard\r\n title=\"Downsell\"\r\n subtitle=\"Acceptance & raised\"\r\n acceptanceRate={downsellData?.acceptanceRate || 0}\r\n acceptanceVal={`${formatNumber(downsellData?.acceptanceRate || 0)}%`}\r\n acceptanceTrend={`${formatNumber(downsellData?.acceptanceGrowth || 0)}%`}\r\n raisedVal={`$${formatNumber(downsellData?.raised || 0)}`}\r\n raisedTrend={`${formatNumber(downsellData?.raisedGrowth || 0)}%`}\r\n sx={{ maxHeight: 280 }}\r\n />\r\n\r\n <MetricSparklineCard\r\n title=\"Referrals\"\r\n subtitle=\"Revenue trend · last 30 days\"\r\n value={`$${formatNumber(referralData?.totalRevenue || 0)}`}\r\n trend={`▲ ${referralData?.growthPercentage || 0}% vs last month`}\r\n chartData={\r\n referralData?.chartData?.map((item) => ({\r\n label: item.date,\r\n value: item.revenue,\r\n })) || []\r\n }\r\n // chartData={\r\n // referralData?.chartData?.map(item => item.revenue) || []\r\n // }\r\n footerMetrics={[\r\n {\r\n label: \"Referrers\",\r\n value: formatNumber(referralData?.totalReferrers || 0),\r\n },\r\n {\r\n label: \"Avg gift\",\r\n value: `$${formatNumber(referralData?.averageGift || 0)}`,\r\n },\r\n {\r\n label: \"Conv. rate\",\r\n value: `${formatNumber(referralData?.conversionRate || 0)}%`,\r\n },\r\n ]}\r\n sx={{ maxHeight: 280 }}\r\n bottomSection\r\n />\r\n </Box>\r\n\r\n\r\n </>\r\n );\r\n};\r\n\r\nexport default OverallSection;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n TrendingUp as TrendIcon,\r\n Adjust as AdjustIcon,\r\n PersonOutlined as PersonOutlinedIcon,\r\n IndeterminateCheckBoxOutlined as IndeterminateCheckBoxOutlinedIcon,\r\n} from \"@mui/icons-material\";\r\nimport ActiveCampaignsCard from \"../ActiveCampaignsCard\";\r\nimport DonorMixCard from \"../DonorMixCard\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\nimport {\r\n TopPerformingCampaignsCard,\r\n PaidDonorGeographyCard,\r\n} from \"../TOPCards\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\n\r\nconst PaidSection = () => {\r\n const [activeMetric, setActiveMetric] = useState(\"Total Spent\");\r\n const categories = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\r\n\r\n const metricInfo = {\r\n \"Total Spent\": {\r\n value: `$${formatNumber(80313)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Daily Spend\",\r\n data: [800, 950, 700, 1100, 900, 1200, 1300],\r\n icon: <IndeterminateCheckBoxOutlinedIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n \"Revinue Raised\": {\r\n value: `$${formatNumber(240398)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Daily Revenue\",\r\n data: [3200, 4100, 2800, 5600, 4200, 6100, 7500],\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n ROAS: {\r\n value: \"3.0\",\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"ROAS Trend\",\r\n data: [2.5, 3.1, 2.8, 4.2, 3.8, 4.5, 5.2],\r\n icon: <TrendIcon />,\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Cost per donor\": {\r\n value: `$${formatNumber(373)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"CPA Trend\",\r\n data: [350, 380, 360, 410, 390, 370, 373],\r\n icon: <PersonOutlinedIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n \"Conversion rate\": {\r\n value: \"3.1%\",\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Conversion Rate\",\r\n data: [2.8, 3.0, 2.9, 3.4, 3.2, 3.1, 3.1],\r\n icon: <AdjustIcon />,\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Avg donation\": {\r\n value: `$${formatNumber(130.58)}`,\r\n subValue: \"12% vs last month\",\r\n chartLabel: \"Average Donation\",\r\n data: [120, 135, 125, 140, 130, 128, 130.58],\r\n icon: <DollarIcon />,\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n };\r\n\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"2px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n );\r\n\r\n const selectedInfo = metricInfo[activeMetric];\r\n const mainChart = {\r\n label: activeMetric,\r\n value: selectedInfo.value,\r\n trend: selectedInfo.subValue,\r\n data: selectedInfo.data,\r\n categories: categories,\r\n };\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(6, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n }}\r\n >\r\n {Object.keys(metricInfo).map(renderCard)}\r\n </Box>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.75 }}>\r\n <RenderChartCard\r\n item={mainChart}\r\n index={0}\r\n md={12}\r\n type=\"area\"\r\n isPrimary={true}\r\n isPremium={true}\r\n />\r\n </Grid>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25, }}>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\", minHeight: \"430px\" }}>\r\n <ActiveCampaignsCard\r\n title=\"Channel performance\"\r\n subtitle=\"Ad platforms ranked by ROAS\"\r\n columns={[\"channel\", \"spend\", \"revenue\", \"ROAS\", \"CPA\", \"trend\"]}\r\n gridTemplateColumns=\"2.2fr 1fr 1fr 0.8fr 0.8fr 1.2fr\"\r\n height=\"100%\"\r\n rows={[\r\n {\r\n id: \"M\",\r\n avatarBg: \"#4267B2\",\r\n name: \"Meta Ads\",\r\n val1: \"$32,800\",\r\n val2: \"$112,400\",\r\n val3: \"3.4x\",\r\n val4: \"$340\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n {\r\n id: \"G\",\r\n avatarBg: \"#4285F4\",\r\n name: \"Google Ads\",\r\n val1: \"$28,200\",\r\n val2: \"$78,300\",\r\n val3: \"2.8x\",\r\n val4: \"$385\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n {\r\n id: \"T\",\r\n avatarBg: \"#000000\",\r\n name: \"TikTok Ads\",\r\n val1: \"$11,400\",\r\n val2: \"$31,200\",\r\n val3: \"2.7x\",\r\n val4: \"$402\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n {\r\n id: \"Y\",\r\n avatarBg: \"#FF0000\",\r\n name: \"YouTube\",\r\n val1: \"$5,313\",\r\n val2: \"$12,600\",\r\n val3: \"2.4x\",\r\n val4: \"$443\",\r\n type: \"trend\",\r\n trendType: \"down\",\r\n trendLabel: \"Declining\",\r\n highlightVal3: true,\r\n val3Color: \"#EF4444\",\r\n },\r\n {\r\n id: \"S\",\r\n avatarBg: \"#FFFC00\",\r\n name: \"Snapchat\",\r\n val1: \"$2,600\",\r\n val2: \"$6,438\",\r\n val3: \"2.5x\",\r\n val4: \"$418\",\r\n type: \"trend\",\r\n trendType: \"up\",\r\n trendLabel: \"Improving\",\r\n highlightVal3: true,\r\n val3Color: \"#22C55E\",\r\n },\r\n ]}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\", minHeight: \"430px\", marginTop: { xs: 3, md: \"0px\" } }}>\r\n <DonorMixCard\r\n title=\"Spend allocation\"\r\n subtitle=\"Where $80.3K went this month\"\r\n series={[40.8, 35.1, 14.2, 6.6, 3.3]}\r\n labels={[\"Meta Ads\", \"Google Ads\", \"TikTok\", \"YouTube\", \"Snapchat\"]}\r\n colors={[\"#4267B2\", \"#4285F4\", \"#cd249dff\", \"#FF0000\", \"#FFFC00\"]}\r\n centerLabel=\"total spend\"\r\n centerValue=\"$80.3K\"\r\n items={[\r\n { label: \"Meta Ads\", val: \"40.8%\", color: \"#4267B2\" },\r\n { label: \"Google Ads\", val: \"35.1%\", color: \"#4285F4\" },\r\n { label: \"TikTok\", val: \"14.2%\", color: \"#cd249dff\" },\r\n { label: \"YouTube\", val: \"6.6%\", color: \"#FF0000\" },\r\n { label: \"Snapchat\", val: \"3.3%\", color: \"#FFFC00\" },\r\n ]}\r\n showBottomSummary={false}\r\n sx={{ pb: 3.5, height: \"100%\" }}\r\n />\r\n </Grid>\r\n </Grid>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25 }}>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\" }}>\r\n <TopPerformingCampaignsCard />\r\n </Grid>\r\n <Grid item xs={12} md={6} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 3, md: \"0px\" } }}>\r\n <PaidDonorGeographyCard />\r\n </Grid>\r\n </Grid>\r\n </>\r\n );\r\n};\r\n\r\nexport default PaidSection;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport RenderChartCard from \"../RenderChartCard\";\r\nimport { LandingPagesCard, KeywordsCard, GeographyCard } from \"../TOPCards\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n FavoriteOutlined as HeartIcon,\r\n PeopleAltOutlined as PeopleIcon,\r\n Adjust as AdjustIcon,\r\n SearchOutlined as SearchoutlinedIcon,\r\n} from \"@mui/icons-material\";\r\nimport DonorMixCard from \"../DonorMixCard\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\n\r\nconst OrganicSection = ({ apiData = {} }) => {\r\n const [activeMetric, setActiveMetric] = useState(\"Organic Users\");\r\n const categories = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\r\n\r\n const metricInfo = {\r\n \"Organic Users\": {\r\n value: `${formatNumber(8420)}`,\r\n subValue: apiData?.totalRaisedTrend || \"18% vs last month\",\r\n data: [3200, 4100, 2800, 5600, 4200, 6100, 7500],\r\n icon: <PeopleIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n \"Search Clicks\": {\r\n value: `${formatNumber(5842)}`,\r\n subValue: apiData?.netRaisedSub || \"92.3% pass-through\",\r\n data: [1500, 1800, 1600, 2200, 2000, 2400, 2800],\r\n icon: <SearchoutlinedIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n Donations: {\r\n value: `${formatNumber(420)}`,\r\n subValue: apiData?.totalRaisedTrend || \"18% vs last month\",\r\n data: [15, 22, 18, 30, 25, 35, 42],\r\n icon: <HeartIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n \"Conversion Rate\": {\r\n value: \"3.1%\",\r\n subValue: apiData?.avgDonationTrend || \"8.4% vs last month\",\r\n data: [2.5, 2.7, 2.6, 3.1, 3.0, 2.9, 3.1],\r\n icon: <AdjustIcon />,\r\n money: false,\r\n warning: false,\r\n error: false\r\n },\r\n \"Revenue raised\": {\r\n value: `$${formatNumber(240398)}`,\r\n subValue: apiData?.roasTrend || \"0.4x vs last month\",\r\n data: [2.5, 3.1, 2.8, 4.2, 3.8, 4.5, 5.2],\r\n icon: <DollarIcon />,\r\n money: true,\r\n warning: false,\r\n error: false\r\n },\r\n \"Avg donation\": {\r\n value: `$${formatNumber(130.58)}`,\r\n subValue: apiData?.totalRaisedTrend || \"18% vs last month\",\r\n data: [110, 125, 120, 135, 130, 128, 130.58],\r\n icon: <DollarIcon />,\r\n money: true,\r\n warning: false,\r\n error: false\r\n },\r\n };\r\n\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"2px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n );\r\n\r\n const selectedInfo = metricInfo[activeMetric];\r\n const mainChart = {\r\n label: activeMetric,\r\n value: selectedInfo.value,\r\n trend: selectedInfo.subValue,\r\n data: selectedInfo.data,\r\n categories: categories,\r\n };\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(6, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n }}\r\n >\r\n {Object.keys(metricInfo).map(renderCard)}\r\n </Box>\r\n {/* <Box sx={{ display: \"flex\", gap: 2, mb: 2, flexWrap: \"wrap\" }}>\r\n {Object.keys(metricInfo).map((title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // onClick={() => setActiveMetric(title)}\r\n // isActive={activeMetric === title}\r\n // sx={{\r\n // flex: 1,\r\n // // border:\r\n // // activeMetric === title\r\n // // ? \"2px solid rgb(99, 99, 230)\"\r\n // // : \"2px solid #f0f0f0\",\r\n // }}\r\n // />\r\n ))}\r\n </Box> */}\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.75 }}>\r\n <RenderChartCard\r\n item={mainChart}\r\n index={0}\r\n md={12}\r\n type=\"area\"\r\n isPrimary={true}\r\n isPremium={true}\r\n />\r\n\r\n <Grid item xs={12} md={6}>\r\n <LandingPagesCard />\r\n </Grid>\r\n\r\n <Grid item xs={12} md={6}>\r\n <DonorMixCard\r\n title=\"Source breakdown\"\r\n subtitle=\"Where organic visitors come from\"\r\n series={[40.8, 35.1, 14.2, 3.3]}\r\n labels={[\"Meta Ads\", \"Google Ads\", \"TikTok\", \"Snapchat\"]}\r\n colors={[\"#4267B2\", \"#4285F4\", \"#06510bff\", \"#f2b61dff\"]}\r\n centerLabel=\"total spend\"\r\n centerValue=\"$8.3K\"\r\n items={[\r\n { label: \"Google Search\", val: \"40.8%\", color: \"#4267B2\" },\r\n { label: \"Direct\", val: \"35.1%\", color: \"#4285F4\" },\r\n { label: \"Bing / Other\", val: \"14.2%\", color: \"#06510bff\" },\r\n { label: \"Referalls\", val: \"3.3%\", color: \"#f2b61dff\" },\r\n ]}\r\n showBottomSummary={false}\r\n sx={{ pb: 2 }}\r\n />\r\n </Grid>\r\n\r\n <Grid item xs={12} md={6}>\r\n <KeywordsCard />\r\n </Grid>\r\n <Grid item xs={12} md={6}>\r\n <GeographyCard subtitle=\"Top countries by organic traffic\" />\r\n </Grid>\r\n </Grid>\r\n </>\r\n );\r\n};\r\n\r\nexport default OrganicSection;\r\n","import React from \"react\";\r\nimport { Box, Typography, Card } from \"@mui/material\";\r\nimport Chart from \"react-apexcharts\";\r\n\r\nconst EmailTrendCard = ({\r\n title,\r\n subtitle,\r\n value,\r\n trend,\r\n series,\r\n colors,\r\n yAxisMax = 60,\r\n yAxisTickAmount = 3,\r\n yAxisFormatter = (val) => `${val}%`\r\n}) => {\r\n const chartOptions = {\r\n chart: {\r\n type: \"area\",\r\n toolbar: { show: false },\r\n sparkline: { enabled: false },\r\n fontFamily: \"Inter, sans-serif\"\r\n },\r\n stroke: {\r\n curve: \"smooth\",\r\n width: 2,\r\n dashArray: series.map(s => s.dashed ? 5 : 0)\r\n },\r\n fill: {\r\n type: \"gradient\",\r\n gradient: {\r\n shadeIntensity: 1,\r\n opacityFrom: 0.3,\r\n opacityTo: 0.8,\r\n stops: [0, 90, 100]\r\n }\r\n },\r\n colors: colors,\r\n xaxis: {\r\n categories: [\"Apr 5\", \"Apr 12\", \"Apr 19\", \"Apr 26\", \"May 4\"],\r\n labels: {\r\n show: true,\r\n style: { colors: 'rgba(0, 0, 0, 0.3)', fontSize: '10px' },\r\n offsetY: -5\r\n },\r\n axisBorder: { show: false },\r\n axisTicks: { show: false },\r\n position: 'bottom'\r\n },\r\n yaxis: {\r\n max: yAxisMax,\r\n tickAmount: yAxisTickAmount,\r\n labels: {\r\n show: true,\r\n style: { colors: 'rgba(0, 0, 0, 0.3)', fontSize: '10px' },\r\n formatter: yAxisFormatter\r\n }\r\n },\r\n grid: {\r\n show: true,\r\n borderColor: \"rgba(0, 0, 0, 0.05)\",\r\n strokeDashArray: 0,\r\n xaxis: { lines: { show: false } },\r\n yaxis: { lines: { show: true } },\r\n padding: { left: 10, right: 10, bottom: 0 }\r\n },\r\n dataLabels: { enabled: false },\r\n legend: {\r\n show: series.length > 1,\r\n position: 'bottom',\r\n horizontalAlign: 'left',\r\n fontSize: '11px',\r\n fontFamily: 'Inter, sans-serif',\r\n offsetY: -5,\r\n markers: { width: 8, height: 8, radius: 12 },\r\n itemMargin: { horizontal: 10, vertical: 0 }\r\n },\r\n tooltip: { theme: 'light' }\r\n };\r\n\r\n return (\r\n <Card\r\n sx={{\r\n p: 3,\r\n borderRadius: 4,\r\n border: \"1px solid #f0f0f0\",\r\n boxShadow: \"0 4px 24px rgba(0,0,0,0.06)\",\r\n bgcolor: \"#fff\",\r\n height: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\"\r\n }}\r\n >\r\n <Box sx={{ mb: 1, textAlign: 'left' }}>\r\n <Typography sx={{ fontWeight: 700, fontSize: \"18px\", color: \"#000\" }}>{title}</Typography>\r\n <Typography sx={{ fontSize: \"12px\", color: \"rgba(0, 0, 0, 0.4)\", fontWeight: 500 }}>{subtitle}</Typography>\r\n </Box>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5, mb: 1 }}>\r\n <Typography sx={{ fontSize: \"28px\", fontWeight: 700, color: \"#000\" }}>{value}</Typography>\r\n <Box\r\n sx={{\r\n bgcolor: \"#ebfcf4\",\r\n color: \"#10b981\",\r\n px: 1,\r\n py: 0.4,\r\n borderRadius: \"100px\",\r\n fontSize: \"12px\",\r\n fontWeight: 700,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 0.3\r\n }}\r\n >\r\n <span style={{ fontSize: '10px' }}>▲</span> {trend}\r\n </Box>\r\n </Box>\r\n <Box sx={{ flexGrow: 1, height: 150, ml: -2, mr: -1 }}>\r\n <Chart options={chartOptions} series={series} type=\"area\" height=\"100%\" />\r\n </Box>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default EmailTrendCard;\r\n","import { useState } from \"react\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport DisplayCard from \"../DisplayCard\";\r\nimport EmailTrendCard from \"../EmailTrendCard\";\r\nimport {\r\n TopCampaignsRaisedCard,\r\n TopCampaignsCTRCard,\r\n TopCampaignsConvRateCard,\r\n} from \"../TOPCards\";\r\nimport {\r\n PaidOutlined as DollarIcon,\r\n FavoriteOutlined as HeartIcon,\r\n Adjust as AdjustIcon,\r\n IndeterminateCheckBoxOutlined as IndeterminateCheckBoxOutlinedIcon,\r\n NotInterested as NotInterestedIcon,\r\n Email as EmailIcon,\r\n NearMe as NearMeIcon,\r\n HighlightOff as HighlightOffIcon,\r\n} from \"@mui/icons-material\";\r\nimport MetricCard from \"../../advanced/MetricCard\";\r\nimport { formatNumber } from \"../../../config/helper\";\r\n\r\n\r\nconst EmailSection = () => {\r\n const [activeMetric, setActiveMetric] = useState(\"Total raised\");\r\n const categories = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\r\n\r\n const metricInfo = {\r\n \"Total raised\": {\r\n value: `$${formatNumber(48920)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <DollarIcon />,\r\n data: [3200, 4100, 2800, 5600, 4200, 6100, 7500],\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n Donations: {\r\n value: \"62\",\r\n subValue: \"12% vs last month\",\r\n icon: <HeartIcon />,\r\n data: [4, 8, 5, 12, 10, 11, 12],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Conversion rate\": {\r\n value: \"3.2%\",\r\n subValue: \"12% vs last month\",\r\n icon: <AdjustIcon />,\r\n data: [2.8, 3.1, 2.9, 3.4, 3.2, 3.1, 3.2],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n CTR: {\r\n value: \"8.1%\",\r\n subValue: \"12% vs last month\",\r\n icon: <NotInterestedIcon />,\r\n data: [7.2, 8.4, 7.8, 8.9, 8.1, 8.0, 8.1],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Revenue per email\": {\r\n value: `$${formatNumber(2.45)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <IndeterminateCheckBoxOutlinedIcon />,\r\n data: [2.1, 2.5, 2.3, 2.8, 2.4, 2.4, 2.45],\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n \"Open rate\": {\r\n value: \"42.3%\",\r\n subValue: \"12% vs last month\",\r\n icon: <EmailIcon />,\r\n data: [38, 44, 40, 46, 42, 41, 42.3],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n Clicks: {\r\n value: \"1,612\",\r\n subValue: \"12% vs last month\",\r\n icon: <NearMeIcon />,\r\n data: [210, 240, 220, 280, 250, 245, 245],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Unique Clicks\": {\r\n value: `${formatNumber(1148)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <NearMeIcon />,\r\n data: [150, 180, 160, 210, 190, 185, 185],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Bounce rate\": {\r\n value: \"1.8%\",\r\n subValue: \"12% vs last month\",\r\n icon: <HighlightOffIcon />,\r\n data: [2.1, 1.9, 1.8, 1.7, 1.8, 1.8, 1.8],\r\n money: false,\r\n error: false,\r\n warning: false\r\n },\r\n \"Revenue per Click\": {\r\n value: `$${formatNumber(30.35)}`,\r\n subValue: \"12% vs last month\",\r\n icon: <HighlightOffIcon />,\r\n data: [28, 32, 29, 34, 30, 30, 30.35],\r\n money: true,\r\n error: false,\r\n warning: false\r\n },\r\n };\r\n\r\n const renderCard = (title) => (\r\n <MetricCard\r\n // key={title}\r\n title={title}\r\n value={metricInfo[title].money ? (metricInfo[title].value) : metricInfo[title].value}\r\n caption={metricInfo[title].subValue}\r\n icon={metricInfo[title].icon}\r\n error={metricInfo[title].error}\r\n active={activeMetric === title}\r\n onClick={() => setActiveMetric(title)}\r\n sx={\r\n metricInfo[title].error\r\n ? {\r\n border: \"2px solid #ef4444\",\r\n bgcolor: \"#fffafa\",\r\n }\r\n : {}\r\n }\r\n />\r\n // <DisplayCard\r\n // key={title}\r\n // title={title}\r\n // value={metricInfo[title].value}\r\n // subValue={metricInfo[title].subValue}\r\n // icon={metricInfo[title].icon}\r\n // // onClick={() => setActiveMetric(title)}\r\n // // isActive={activeMetric === title}\r\n // sx={{\r\n // }}\r\n // />\r\n );\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(5, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n }}\r\n >\r\n {[\r\n \"Total raised\",\r\n \"Donations\",\r\n \"Conversion rate\",\r\n \"CTR\",\r\n \"Revenue per email\",\r\n ].map(renderCard)}\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: \"1fr 1fr\",\r\n md: \"1fr 1fr 1fr\",\r\n lg: \"repeat(5, 1fr)\",\r\n },\r\n gap: 2,\r\n mb: 0,\r\n mt: 2.75\r\n }}\r\n >\r\n {[\r\n \"Open rate\",\r\n \"Clicks\",\r\n \"Unique Clicks\",\r\n \"Bounce rate\",\r\n \"Revenue per Click\",\r\n ].map(renderCard)}\r\n </Box>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25, }}>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\" }}>\r\n <EmailTrendCard\r\n title=\"Open rate trend\"\r\n subtitle=\"Daily · 30 days\"\r\n value=\"42.3%\"\r\n trend=\"2.1pp\"\r\n series={[{ name: 'Open Rate', data: [38, 42, 41, 43, 42.3] }]}\r\n colors={['rgb(99, 99, 230)']}\r\n yAxisMax={53}\r\n yAxisTickAmount={3}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 1, md: \"0px\" } }}>\r\n <EmailTrendCard\r\n title=\"Clicks trend\"\r\n subtitle=\"Total + unique · 30 days\"\r\n value=\"1,612\"\r\n trend=\"14%\"\r\n series={[\r\n { name: 'Total clicks', data: [56, 112, 80, 150, 112] },\r\n { name: 'Unique clicks', data: [30, 70, 45, 100, 75], dashed: true }\r\n ]}\r\n colors={['#10B981', '#10B981']}\r\n yAxisMax={168}\r\n yAxisTickAmount={3}\r\n yAxisFormatter={(val) => val}\r\n />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 1, md: \"0px\" } }}>\r\n <EmailTrendCard\r\n title=\"Bounce rate trend\"\r\n subtitle=\"Daily · lower is better\"\r\n value=\"1.8%\"\r\n trend=\"0.3pp\"\r\n series={[{ name: 'Bounce Rate', data: [2.2, 1.9, 2.0, 1.7, 1.8] }]}\r\n colors={['#f2994a']}\r\n yAxisMax={2.5}\r\n yAxisTickAmount={3}\r\n />\r\n </Grid>\r\n </Grid>\r\n\r\n <Grid container spacing={3} sx={{ mt: 2.25 }}>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\" }}>\r\n <TopCampaignsRaisedCard />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 2, md: \"0px\" } }}>\r\n <TopCampaignsCTRCard />\r\n </Grid>\r\n <Grid item xs={12} md={4} sx={{ paddingTop: \"0px !important\", marginTop: { xs: 2, md: \"0px\" } }}>\r\n <TopCampaignsConvRateCard />\r\n </Grid>\r\n </Grid>\r\n\r\n </>\r\n );\r\n};\r\n\r\nexport default EmailSection;\r\n","/*!\n * html2canvas 1.4.1 <https://html2canvas.hertzen.com>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\n\nvar Bounds = /** @class */ (function () {\n function Bounds(left, top, width, height) {\n this.left = left;\n this.top = top;\n this.width = width;\n this.height = height;\n }\n Bounds.prototype.add = function (x, y, w, h) {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n };\n Bounds.fromClientRect = function (context, clientRect) {\n return new Bounds(clientRect.left + context.windowBounds.left, clientRect.top + context.windowBounds.top, clientRect.width, clientRect.height);\n };\n Bounds.fromDOMRectList = function (context, domRectList) {\n var domRect = Array.from(domRectList).find(function (rect) { return rect.width !== 0; });\n return domRect\n ? new Bounds(domRect.left + context.windowBounds.left, domRect.top + context.windowBounds.top, domRect.width, domRect.height)\n : Bounds.EMPTY;\n };\n Bounds.EMPTY = new Bounds(0, 0, 0, 0);\n return Bounds;\n}());\nvar parseBounds = function (context, node) {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\nvar parseDocumentSize = function (document) {\n var body = document.body;\n var documentElement = document.documentElement;\n if (!body || !documentElement) {\n throw new Error(\"Unable to get document size\");\n }\n var width = Math.max(Math.max(body.scrollWidth, documentElement.scrollWidth), Math.max(body.offsetWidth, documentElement.offsetWidth), Math.max(body.clientWidth, documentElement.clientWidth));\n var height = Math.max(Math.max(body.scrollHeight, documentElement.scrollHeight), Math.max(body.offsetHeight, documentElement.offsetHeight), Math.max(body.clientHeight, documentElement.clientHeight));\n return new Bounds(0, 0, width, height);\n};\n\n/*\n * css-line-break 2.1.0 <https://github.com/niklasvh/css-line-break#readme>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar toCodePoints$1 = function (str) {\n var codePoints = [];\n var i = 0;\n var length = str.length;\n while (i < length) {\n var value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n var extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n }\n else {\n codePoints.push(value);\n i--;\n }\n }\n else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\nvar fromCodePoint$1 = function () {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n if (String.fromCodePoint) {\n return String.fromCodePoint.apply(String, codePoints);\n }\n var length = codePoints.length;\n if (!length) {\n return '';\n }\n var codeUnits = [];\n var index = -1;\n var result = '';\n while (++index < length) {\n var codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n }\n else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode.apply(String, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\nvar chars$2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$2 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$2 = 0; i$2 < chars$2.length; i$2++) {\n lookup$2[chars$2.charCodeAt(i$2)] = i$2;\n}\n\n/*\n * utrie 1.0.2 <https://github.com/niklasvh/utrie>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar chars$1$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$1$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$1$1 = 0; i$1$1 < chars$1$1.length; i$1$1++) {\n lookup$1$1[chars$1$1.charCodeAt(i$1$1)] = i$1$1;\n}\nvar decode$1 = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var buffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1$1[base64.charCodeAt(i)];\n encoded2 = lookup$1$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1$1[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return buffer;\n};\nvar polyUint16Array$1 = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\nvar polyUint32Array$1 = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\n/** Shift size for getting the index-2 table offset. */\nvar UTRIE2_SHIFT_2$1 = 5;\n/** Shift size for getting the index-1 table offset. */\nvar UTRIE2_SHIFT_1$1 = 6 + 5;\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nvar UTRIE2_INDEX_SHIFT$1 = 2;\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nvar UTRIE2_SHIFT_1_2$1 = UTRIE2_SHIFT_1$1 - UTRIE2_SHIFT_2$1;\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nvar UTRIE2_LSCP_INDEX_2_OFFSET$1 = 0x10000 >> UTRIE2_SHIFT_2$1;\n/** Number of entries in a data block. 32=0x20 */\nvar UTRIE2_DATA_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_2$1;\n/** Mask for getting the lower bits for the in-data-block offset. */\nvar UTRIE2_DATA_MASK$1 = UTRIE2_DATA_BLOCK_LENGTH$1 - 1;\nvar UTRIE2_LSCP_INDEX_2_LENGTH$1 = 0x400 >> UTRIE2_SHIFT_2$1;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nvar UTRIE2_INDEX_2_BMP_LENGTH$1 = UTRIE2_LSCP_INDEX_2_OFFSET$1 + UTRIE2_LSCP_INDEX_2_LENGTH$1;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nvar UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 = UTRIE2_INDEX_2_BMP_LENGTH$1;\nvar UTRIE2_UTF8_2B_INDEX_2_LENGTH$1 = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nvar UTRIE2_INDEX_1_OFFSET$1 = UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 + UTRIE2_UTF8_2B_INDEX_2_LENGTH$1;\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nvar UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 = 0x10000 >> UTRIE2_SHIFT_1$1;\n/** Number of entries in an index-2 block. 64=0x40 */\nvar UTRIE2_INDEX_2_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_1_2$1;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nvar UTRIE2_INDEX_2_MASK$1 = UTRIE2_INDEX_2_BLOCK_LENGTH$1 - 1;\nvar slice16$1 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\nvar slice32$1 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\nvar createTrieFromBase64$1 = function (base64, _byteLength) {\n var buffer = decode$1(base64);\n var view32 = Array.isArray(buffer) ? polyUint32Array$1(buffer) : new Uint32Array(buffer);\n var view16 = Array.isArray(buffer) ? polyUint16Array$1(buffer) : new Uint16Array(buffer);\n var headerLength = 24;\n var index = slice16$1(view16, headerLength / 2, view32[4] / 2);\n var data = view32[5] === 2\n ? slice16$1(view16, (headerLength + view32[4]) / 2)\n : slice32$1(view32, Math.ceil((headerLength + view32[4]) / 4));\n return new Trie$1(view32[0], view32[1], view32[2], view32[3], index, data);\n};\nvar Trie$1 = /** @class */ (function () {\n function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n Trie.prototype.get = function (codePoint) {\n var ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2$1];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET$1 + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2$1)];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET$1 - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 + (codePoint >> UTRIE2_SHIFT_1$1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2$1) & UTRIE2_INDEX_2_MASK$1;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n };\n return Trie;\n}());\n\n/*\n * base64-arraybuffer 1.0.2 <https://github.com/niklasvh/base64-arraybuffer>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar chars$3 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$3 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$3 = 0; i$3 < chars$3.length; i$3++) {\n lookup$3[chars$3.charCodeAt(i$3)] = i$3;\n}\n\nvar base64$1 = 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\n\nvar LETTER_NUMBER_MODIFIER = 50;\n// Non-tailorable Line Breaking Classes\nvar BK = 1; // Cause a line break (after)\nvar CR$1 = 2; // Cause a line break (after), except between CR and LF\nvar LF$1 = 3; // Cause a line break (after)\nvar CM = 4; // Prohibit a line break between the character and the preceding character\nvar NL = 5; // Cause a line break (after)\nvar WJ = 7; // Prohibit line breaks before and after\nvar ZW = 8; // Provide a break opportunity\nvar GL = 9; // Prohibit line breaks before and after\nvar SP = 10; // Enable indirect line breaks\nvar ZWJ$1 = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nvar B2 = 12; // Provide a line break opportunity before and after the character\nvar BA = 13; // Generally provide a line break opportunity after the character\nvar BB = 14; // Generally provide a line break opportunity before the character\nvar HY = 15; // Provide a line break opportunity after the character, except in numeric context\nvar CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nvar CL = 17; // Prohibit line breaks before\nvar CP = 18; // Prohibit line breaks before\nvar EX = 19; // Prohibit line breaks before\nvar IN = 20; // Allow only indirect line breaks between pairs\nvar NS = 21; // Allow only indirect line breaks before\nvar OP = 22; // Prohibit line breaks after\nvar QU = 23; // Act like they are both opening and closing\n// Numeric Context\nvar IS = 24; // Prevent breaks after any and before numeric\nvar NU = 25; // Form numeric expressions for line breaking purposes\nvar PO = 26; // Do not break following a numeric expression\nvar PR = 27; // Do not break in front of a numeric expression\nvar SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nvar AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nvar AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nvar CJ = 31; // Treat as NS or ID for strict or normal breaking.\nvar EB = 32; // Do not break from following Emoji Modifier\nvar EM = 33; // Do not break from preceding Emoji Base\nvar H2 = 34; // Form Korean syllable blocks\nvar H3 = 35; // Form Korean syllable blocks\nvar HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nvar ID = 37; // Break before or after; except in some numeric context\nvar JL = 38; // Form Korean syllable blocks\nvar JV = 39; // Form Korean syllable blocks\nvar JT = 40; // Form Korean syllable blocks\nvar RI$1 = 41; // Keep pairs together. For pairs; break before and after other classes\nvar SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nvar XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\nvar ea_OP = [0x2329, 0xff08];\nvar BREAK_MANDATORY = '!';\nvar BREAK_NOT_ALLOWED$1 = '×';\nvar BREAK_ALLOWED$1 = '÷';\nvar UnicodeTrie$1 = createTrieFromBase64$1(base64$1);\nvar ALPHABETICS = [AL, HL];\nvar HARD_LINE_BREAKS = [BK, CR$1, LF$1, NL];\nvar SPACE$1 = [SP, ZW];\nvar PREFIX_POSTFIX = [PR, PO];\nvar LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE$1);\nvar KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nvar HYPHEN = [HY, BA];\nvar codePointsToCharacterClasses = function (codePoints, lineBreak) {\n if (lineBreak === void 0) { lineBreak = 'strict'; }\n var types = [];\n var indices = [];\n var categories = [];\n codePoints.forEach(function (codePoint, index) {\n var classType = UnicodeTrie$1.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n }\n else {\n categories.push(false);\n }\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n if (classType === CM || classType === ZWJ$1) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n var prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n indices.push(index);\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n if (classType === SA) {\n return types.push(AL);\n }\n if (classType === AI) {\n return types.push(AL);\n }\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n }\n else {\n return types.push(AL);\n }\n }\n types.push(classType);\n });\n return [indices, types, categories];\n};\nvar isAdjacentWithSpaceIgnored = function (a, b, currentIndex, classTypes) {\n var current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n var i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n var next = classTypes[i];\n if (next === b) {\n return true;\n }\n if (next !== SP) {\n break;\n }\n }\n }\n if (current === SP) {\n var i = currentIndex;\n while (i > 0) {\n i--;\n var prev = classTypes[i];\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n var n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n var next = classTypes[n];\n if (next === b) {\n return true;\n }\n if (next !== SP) {\n break;\n }\n }\n }\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\nvar previousNonSpaceClassType = function (currentIndex, classTypes) {\n var i = currentIndex;\n while (i >= 0) {\n var type = classTypes[i];\n if (type === SP) {\n i--;\n }\n else {\n return type;\n }\n }\n return 0;\n};\nvar _lineBreakAtIndex = function (codePoints, classTypes, indicies, index, forbiddenBreaks) {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED$1;\n }\n var currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED$1;\n }\n var beforeIndex = currentIndex - 1;\n var afterIndex = currentIndex + 1;\n var current = classTypes[currentIndex];\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n var before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n var next = classTypes[afterIndex];\n if (current === CR$1 && next === LF$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB7 Do not break before spaces or zero width space.\n if (SPACE$1.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED$1;\n }\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie$1.get(codePoints[currentIndex]) === ZWJ$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie$1.get(codePoints[afterIndex]) === ZWJ$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED$1;\n }\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED$1;\n }\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if ((current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if ((ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n var prevIndex = currentIndex;\n while (prevIndex >= 0) {\n var type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED$1;\n }\n else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n }\n else {\n break;\n }\n }\n }\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n var prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n var type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED$1;\n }\n else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n }\n else {\n break;\n }\n }\n }\n // LB26 Do not break a Korean syllable.\n if ((JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB27 Treat a Korean Syllable Block the same as ID.\n if ((KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if ((ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI$1 && next === RI$1) {\n var i = indicies[currentIndex];\n var count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI$1) {\n count++;\n }\n else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED$1;\n }\n }\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED$1;\n }\n return BREAK_ALLOWED$1;\n};\nvar cssFormattedClasses = function (codePoints, options) {\n if (!options) {\n options = { lineBreak: 'normal', wordBreak: 'normal' };\n }\n var _a = codePointsToCharacterClasses(codePoints, options.lineBreak), indicies = _a[0], classTypes = _a[1], isLetterNumber = _a[2];\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map(function (type) { return ([NU, AL, SA].indexOf(type) !== -1 ? ID : type); });\n }\n var forbiddenBreakpoints = options.wordBreak === 'keep-all'\n ? isLetterNumber.map(function (letterNumber, i) {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n return [indicies, classTypes, forbiddenBreakpoints];\n};\nvar Break = /** @class */ (function () {\n function Break(codePoints, lineBreak, start, end) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n Break.prototype.slice = function () {\n return fromCodePoint$1.apply(void 0, this.codePoints.slice(this.start, this.end));\n };\n return Break;\n}());\nvar LineBreaker = function (str, options) {\n var codePoints = toCodePoints$1(str);\n var _a = cssFormattedClasses(codePoints, options), indicies = _a[0], classTypes = _a[1], forbiddenBreakpoints = _a[2];\n var length = codePoints.length;\n var lastEnd = 0;\n var nextIndex = 0;\n return {\n next: function () {\n if (nextIndex >= length) {\n return { done: true, value: null };\n }\n var lineBreak = BREAK_NOT_ALLOWED$1;\n while (nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED$1) { }\n if (lineBreak !== BREAK_NOT_ALLOWED$1 || nextIndex === length) {\n var value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return { value: value, done: false };\n }\n return { done: true, value: null };\n },\n };\n};\n\n// https://www.w3.org/TR/css-syntax-3\nvar FLAG_UNRESTRICTED = 1 << 0;\nvar FLAG_ID = 1 << 1;\nvar FLAG_INTEGER = 1 << 2;\nvar FLAG_NUMBER = 1 << 3;\nvar LINE_FEED = 0x000a;\nvar SOLIDUS = 0x002f;\nvar REVERSE_SOLIDUS = 0x005c;\nvar CHARACTER_TABULATION = 0x0009;\nvar SPACE = 0x0020;\nvar QUOTATION_MARK = 0x0022;\nvar EQUALS_SIGN = 0x003d;\nvar NUMBER_SIGN = 0x0023;\nvar DOLLAR_SIGN = 0x0024;\nvar PERCENTAGE_SIGN = 0x0025;\nvar APOSTROPHE = 0x0027;\nvar LEFT_PARENTHESIS = 0x0028;\nvar RIGHT_PARENTHESIS = 0x0029;\nvar LOW_LINE = 0x005f;\nvar HYPHEN_MINUS = 0x002d;\nvar EXCLAMATION_MARK = 0x0021;\nvar LESS_THAN_SIGN = 0x003c;\nvar GREATER_THAN_SIGN = 0x003e;\nvar COMMERCIAL_AT = 0x0040;\nvar LEFT_SQUARE_BRACKET = 0x005b;\nvar RIGHT_SQUARE_BRACKET = 0x005d;\nvar CIRCUMFLEX_ACCENT = 0x003d;\nvar LEFT_CURLY_BRACKET = 0x007b;\nvar QUESTION_MARK = 0x003f;\nvar RIGHT_CURLY_BRACKET = 0x007d;\nvar VERTICAL_LINE = 0x007c;\nvar TILDE = 0x007e;\nvar CONTROL = 0x0080;\nvar REPLACEMENT_CHARACTER = 0xfffd;\nvar ASTERISK = 0x002a;\nvar PLUS_SIGN = 0x002b;\nvar COMMA = 0x002c;\nvar COLON = 0x003a;\nvar SEMICOLON = 0x003b;\nvar FULL_STOP = 0x002e;\nvar NULL = 0x0000;\nvar BACKSPACE = 0x0008;\nvar LINE_TABULATION = 0x000b;\nvar SHIFT_OUT = 0x000e;\nvar INFORMATION_SEPARATOR_ONE = 0x001f;\nvar DELETE = 0x007f;\nvar EOF = -1;\nvar ZERO = 0x0030;\nvar a = 0x0061;\nvar e = 0x0065;\nvar f = 0x0066;\nvar u = 0x0075;\nvar z = 0x007a;\nvar A = 0x0041;\nvar E = 0x0045;\nvar F = 0x0046;\nvar U = 0x0055;\nvar Z = 0x005a;\nvar isDigit = function (codePoint) { return codePoint >= ZERO && codePoint <= 0x0039; };\nvar isSurrogateCodePoint = function (codePoint) { return codePoint >= 0xd800 && codePoint <= 0xdfff; };\nvar isHex = function (codePoint) {\n return isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\n};\nvar isLowerCaseLetter = function (codePoint) { return codePoint >= a && codePoint <= z; };\nvar isUpperCaseLetter = function (codePoint) { return codePoint >= A && codePoint <= Z; };\nvar isLetter = function (codePoint) { return isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint); };\nvar isNonASCIICodePoint = function (codePoint) { return codePoint >= CONTROL; };\nvar isWhiteSpace = function (codePoint) {\n return codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\n};\nvar isNameStartCodePoint = function (codePoint) {\n return isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\n};\nvar isNameCodePoint = function (codePoint) {\n return isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\n};\nvar isNonPrintableCodePoint = function (codePoint) {\n return ((codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE);\n};\nvar isValidEscape = function (c1, c2) {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n return c2 !== LINE_FEED;\n};\nvar isIdentifierStart = function (c1, c2, c3) {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n }\n else if (isNameStartCodePoint(c1)) {\n return true;\n }\n else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\nvar isNumberStart = function (c1, c2, c3) {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n return c2 === FULL_STOP && isDigit(c3);\n }\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n return isDigit(c1);\n};\nvar stringToNumber = function (codePoints) {\n var c = 0;\n var sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n var integers = [];\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n var int = integers.length ? parseInt(fromCodePoint$1.apply(void 0, integers), 10) : 0;\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n var fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n var fracd = fraction.length;\n var frac = fracd ? parseInt(fromCodePoint$1.apply(void 0, fraction), 10) : 0;\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n var expsign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n var exponent = [];\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n var exp = exponent.length ? parseInt(fromCodePoint$1.apply(void 0, exponent), 10) : 0;\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\nvar LEFT_PARENTHESIS_TOKEN = {\n type: 2 /* LEFT_PARENTHESIS_TOKEN */\n};\nvar RIGHT_PARENTHESIS_TOKEN = {\n type: 3 /* RIGHT_PARENTHESIS_TOKEN */\n};\nvar COMMA_TOKEN = { type: 4 /* COMMA_TOKEN */ };\nvar SUFFIX_MATCH_TOKEN = { type: 13 /* SUFFIX_MATCH_TOKEN */ };\nvar PREFIX_MATCH_TOKEN = { type: 8 /* PREFIX_MATCH_TOKEN */ };\nvar COLUMN_TOKEN = { type: 21 /* COLUMN_TOKEN */ };\nvar DASH_MATCH_TOKEN = { type: 9 /* DASH_MATCH_TOKEN */ };\nvar INCLUDE_MATCH_TOKEN = { type: 10 /* INCLUDE_MATCH_TOKEN */ };\nvar LEFT_CURLY_BRACKET_TOKEN = {\n type: 11 /* LEFT_CURLY_BRACKET_TOKEN */\n};\nvar RIGHT_CURLY_BRACKET_TOKEN = {\n type: 12 /* RIGHT_CURLY_BRACKET_TOKEN */\n};\nvar SUBSTRING_MATCH_TOKEN = { type: 14 /* SUBSTRING_MATCH_TOKEN */ };\nvar BAD_URL_TOKEN = { type: 23 /* BAD_URL_TOKEN */ };\nvar BAD_STRING_TOKEN = { type: 1 /* BAD_STRING_TOKEN */ };\nvar CDO_TOKEN = { type: 25 /* CDO_TOKEN */ };\nvar CDC_TOKEN = { type: 24 /* CDC_TOKEN */ };\nvar COLON_TOKEN = { type: 26 /* COLON_TOKEN */ };\nvar SEMICOLON_TOKEN = { type: 27 /* SEMICOLON_TOKEN */ };\nvar LEFT_SQUARE_BRACKET_TOKEN = {\n type: 28 /* LEFT_SQUARE_BRACKET_TOKEN */\n};\nvar RIGHT_SQUARE_BRACKET_TOKEN = {\n type: 29 /* RIGHT_SQUARE_BRACKET_TOKEN */\n};\nvar WHITESPACE_TOKEN = { type: 31 /* WHITESPACE_TOKEN */ };\nvar EOF_TOKEN = { type: 32 /* EOF_TOKEN */ };\nvar Tokenizer = /** @class */ (function () {\n function Tokenizer() {\n this._value = [];\n }\n Tokenizer.prototype.write = function (chunk) {\n this._value = this._value.concat(toCodePoints$1(chunk));\n };\n Tokenizer.prototype.read = function () {\n var tokens = [];\n var token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n };\n Tokenizer.prototype.consumeToken = function () {\n var codePoint = this.consumeCodePoint();\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n var c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n var flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n var value = this.consumeName();\n return { type: 5 /* HASH_TOKEN */, value: value, flags: flags };\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n var e1 = codePoint;\n var e2 = this.peekCodePoint(0);\n var e3 = this.peekCodePoint(1);\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n var c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n var a1 = this.peekCodePoint(0);\n var a2 = this.peekCodePoint(1);\n var a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n var value = this.consumeName();\n return { type: 7 /* AT_KEYWORD_TOKEN */, value: value };\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n var u1 = this.peekCodePoint(0);\n var u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n return { type: 6 /* DELIM_TOKEN */, value: fromCodePoint$1(codePoint) };\n };\n Tokenizer.prototype.consumeCodePoint = function () {\n var value = this._value.shift();\n return typeof value === 'undefined' ? -1 : value;\n };\n Tokenizer.prototype.reconsumeCodePoint = function (codePoint) {\n this._value.unshift(codePoint);\n };\n Tokenizer.prototype.peekCodePoint = function (delta) {\n if (delta >= this._value.length) {\n return -1;\n }\n return this._value[delta];\n };\n Tokenizer.prototype.consumeUnicodeRangeToken = function () {\n var digits = [];\n var codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n var questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n if (questionMarks) {\n var start_1 = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? ZERO : digit); })), 16);\n var end = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? F : digit); })), 16);\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start_1, end: end };\n }\n var start = parseInt(fromCodePoint$1.apply(void 0, digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n var endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n var end = parseInt(fromCodePoint$1.apply(void 0, endDigits), 16);\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: end };\n }\n else {\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: start };\n }\n };\n Tokenizer.prototype.consumeIdentLikeToken = function () {\n var value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n }\n else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 19 /* FUNCTION_TOKEN */, value: value };\n }\n return { type: 20 /* IDENT_TOKEN */, value: value };\n };\n Tokenizer.prototype.consumeUrlToken = function () {\n var value = [];\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF) {\n return { type: 22 /* URL_TOKEN */, value: '' };\n }\n var next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n var stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === 0 /* STRING_TOKEN */) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 22 /* URL_TOKEN */, value: stringToken.value };\n }\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n }\n else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n else if (codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n }\n else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n }\n else {\n value.push(codePoint);\n }\n }\n };\n Tokenizer.prototype.consumeWhiteSpace = function () {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n };\n Tokenizer.prototype.consumeBadUrlRemnants = function () {\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n };\n Tokenizer.prototype.consumeStringSlice = function (count) {\n var SLICE_STACK_SIZE = 50000;\n var value = '';\n while (count > 0) {\n var amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint$1.apply(void 0, this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n return value;\n };\n Tokenizer.prototype.consumeStringToken = function (endingCodePoint) {\n var value = '';\n var i = 0;\n do {\n var codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return { type: 0 /* STRING_TOKEN */, value: value };\n }\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n if (codePoint === REVERSE_SOLIDUS) {\n var next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n }\n else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint$1(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n i++;\n } while (true);\n };\n Tokenizer.prototype.consumeNumber = function () {\n var repr = [];\n var type = FLAG_INTEGER;\n var c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n return [stringToNumber(repr), type];\n };\n Tokenizer.prototype.consumeNumericToken = function () {\n var _a = this.consumeNumber(), number = _a[0], flags = _a[1];\n var c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if (isIdentifierStart(c1, c2, c3)) {\n var unit = this.consumeName();\n return { type: 15 /* DIMENSION_TOKEN */, number: number, flags: flags, unit: unit };\n }\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return { type: 16 /* PERCENTAGE_TOKEN */, number: number, flags: flags };\n }\n return { type: 17 /* NUMBER_TOKEN */, number: number, flags: flags };\n };\n Tokenizer.prototype.consumeEscapedCodePoint = function () {\n var codePoint = this.consumeCodePoint();\n if (isHex(codePoint)) {\n var hex = fromCodePoint$1(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint$1(this.consumeCodePoint());\n }\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n var hexCodePoint = parseInt(hex, 16);\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n return hexCodePoint;\n }\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n return codePoint;\n };\n Tokenizer.prototype.consumeName = function () {\n var result = '';\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint$1(codePoint);\n }\n else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint$1(this.consumeEscapedCodePoint());\n }\n else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n };\n return Tokenizer;\n}());\n\nvar Parser = /** @class */ (function () {\n function Parser(tokens) {\n this._tokens = tokens;\n }\n Parser.create = function (value) {\n var tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n };\n Parser.parseValue = function (value) {\n return Parser.create(value).parseComponentValue();\n };\n Parser.parseValues = function (value) {\n return Parser.create(value).parseComponentValues();\n };\n Parser.prototype.parseComponentValue = function () {\n var token = this.consumeToken();\n while (token.type === 31 /* WHITESPACE_TOKEN */) {\n token = this.consumeToken();\n }\n if (token.type === 32 /* EOF_TOKEN */) {\n throw new SyntaxError(\"Error parsing CSS component value, unexpected EOF\");\n }\n this.reconsumeToken(token);\n var value = this.consumeComponentValue();\n do {\n token = this.consumeToken();\n } while (token.type === 31 /* WHITESPACE_TOKEN */);\n if (token.type === 32 /* EOF_TOKEN */) {\n return value;\n }\n throw new SyntaxError(\"Error parsing CSS component value, multiple values found when expecting only one\");\n };\n Parser.prototype.parseComponentValues = function () {\n var values = [];\n while (true) {\n var value = this.consumeComponentValue();\n if (value.type === 32 /* EOF_TOKEN */) {\n return values;\n }\n values.push(value);\n values.push();\n }\n };\n Parser.prototype.consumeComponentValue = function () {\n var token = this.consumeToken();\n switch (token.type) {\n case 11 /* LEFT_CURLY_BRACKET_TOKEN */:\n case 28 /* LEFT_SQUARE_BRACKET_TOKEN */:\n case 2 /* LEFT_PARENTHESIS_TOKEN */:\n return this.consumeSimpleBlock(token.type);\n case 19 /* FUNCTION_TOKEN */:\n return this.consumeFunction(token);\n }\n return token;\n };\n Parser.prototype.consumeSimpleBlock = function (type) {\n var block = { type: type, values: [] };\n var token = this.consumeToken();\n while (true) {\n if (token.type === 32 /* EOF_TOKEN */ || isEndingTokenFor(token, type)) {\n return block;\n }\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n };\n Parser.prototype.consumeFunction = function (functionToken) {\n var cssFunction = {\n name: functionToken.value,\n values: [],\n type: 18 /* FUNCTION */\n };\n while (true) {\n var token = this.consumeToken();\n if (token.type === 32 /* EOF_TOKEN */ || token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */) {\n return cssFunction;\n }\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n };\n Parser.prototype.consumeToken = function () {\n var token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n };\n Parser.prototype.reconsumeToken = function (token) {\n this._tokens.unshift(token);\n };\n return Parser;\n}());\nvar isDimensionToken = function (token) { return token.type === 15 /* DIMENSION_TOKEN */; };\nvar isNumberToken = function (token) { return token.type === 17 /* NUMBER_TOKEN */; };\nvar isIdentToken = function (token) { return token.type === 20 /* IDENT_TOKEN */; };\nvar isStringToken = function (token) { return token.type === 0 /* STRING_TOKEN */; };\nvar isIdentWithValue = function (token, value) {\n return isIdentToken(token) && token.value === value;\n};\nvar nonWhiteSpace = function (token) { return token.type !== 31 /* WHITESPACE_TOKEN */; };\nvar nonFunctionArgSeparator = function (token) {\n return token.type !== 31 /* WHITESPACE_TOKEN */ && token.type !== 4 /* COMMA_TOKEN */;\n};\nvar parseFunctionArgs = function (tokens) {\n var args = [];\n var arg = [];\n tokens.forEach(function (token) {\n if (token.type === 4 /* COMMA_TOKEN */) {\n if (arg.length === 0) {\n throw new Error(\"Error parsing function args, zero tokens for arg\");\n }\n args.push(arg);\n arg = [];\n return;\n }\n if (token.type !== 31 /* WHITESPACE_TOKEN */) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n return args;\n};\nvar isEndingTokenFor = function (token, type) {\n if (type === 11 /* LEFT_CURLY_BRACKET_TOKEN */ && token.type === 12 /* RIGHT_CURLY_BRACKET_TOKEN */) {\n return true;\n }\n if (type === 28 /* LEFT_SQUARE_BRACKET_TOKEN */ && token.type === 29 /* RIGHT_SQUARE_BRACKET_TOKEN */) {\n return true;\n }\n return type === 2 /* LEFT_PARENTHESIS_TOKEN */ && token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */;\n};\n\nvar isLength = function (token) {\n return token.type === 17 /* NUMBER_TOKEN */ || token.type === 15 /* DIMENSION_TOKEN */;\n};\n\nvar isLengthPercentage = function (token) {\n return token.type === 16 /* PERCENTAGE_TOKEN */ || isLength(token);\n};\nvar parseLengthPercentageTuple = function (tokens) {\n return tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\n};\nvar ZERO_LENGTH = {\n type: 17 /* NUMBER_TOKEN */,\n number: 0,\n flags: FLAG_INTEGER\n};\nvar FIFTY_PERCENT = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 50,\n flags: FLAG_INTEGER\n};\nvar HUNDRED_PERCENT = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 100,\n flags: FLAG_INTEGER\n};\nvar getAbsoluteValueForTuple = function (tuple, width, height) {\n var x = tuple[0], y = tuple[1];\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nvar getAbsoluteValue = function (token, parent) {\n if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n return (token.number / 100) * parent;\n }\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n return token.number;\n};\n\nvar DEG = 'deg';\nvar GRAD = 'grad';\nvar RAD = 'rad';\nvar TURN = 'turn';\nvar angle = {\n name: 'angle',\n parse: function (_context, value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n throw new Error(\"Unsupported angle type\");\n }\n};\nvar isAngle = function (value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\nvar parseNamedSide = function (tokens) {\n var sideOrCorner = tokens\n .filter(isIdentToken)\n .map(function (ident) { return ident.value; })\n .join(' ');\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n return 0;\n};\nvar deg = function (deg) { return (Math.PI * deg) / 180; };\n\nvar color$1 = {\n name: 'color',\n parse: function (context, value) {\n if (value.type === 18 /* FUNCTION */) {\n var colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported color function \\\"\" + value.name + \"\\\"\");\n }\n return colorFunction(context, value.values);\n }\n if (value.type === 5 /* HASH_TOKEN */) {\n if (value.value.length === 3) {\n var r = value.value.substring(0, 1);\n var g = value.value.substring(1, 2);\n var b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n if (value.value.length === 4) {\n var r = value.value.substring(0, 1);\n var g = value.value.substring(1, 2);\n var b = value.value.substring(2, 3);\n var a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n if (value.value.length === 6) {\n var r = value.value.substring(0, 2);\n var g = value.value.substring(2, 4);\n var b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n if (value.value.length === 8) {\n var r = value.value.substring(0, 2);\n var g = value.value.substring(2, 4);\n var b = value.value.substring(4, 6);\n var a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n if (value.type === 20 /* IDENT_TOKEN */) {\n var namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n return COLORS.TRANSPARENT;\n }\n};\nvar isTransparent = function (color) { return (0xff & color) === 0; };\nvar asString = function (color) {\n var alpha = 0xff & color;\n var blue = 0xff & (color >> 8);\n var green = 0xff & (color >> 16);\n var red = 0xff & (color >> 24);\n return alpha < 255 ? \"rgba(\" + red + \",\" + green + \",\" + blue + \",\" + alpha / 255 + \")\" : \"rgb(\" + red + \",\" + green + \",\" + blue + \")\";\n};\nvar pack = function (r, g, b, a) {\n return ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n};\nvar getTokenColorValue = function (token, i) {\n if (token.type === 17 /* NUMBER_TOKEN */) {\n return token.number;\n }\n if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n var max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n return 0;\n};\nvar rgb = function (_context, args) {\n var tokens = args.filter(nonFunctionArgSeparator);\n if (tokens.length === 3) {\n var _a = tokens.map(getTokenColorValue), r = _a[0], g = _a[1], b = _a[2];\n return pack(r, g, b, 1);\n }\n if (tokens.length === 4) {\n var _b = tokens.map(getTokenColorValue), r = _b[0], g = _b[1], b = _b[2], a = _b[3];\n return pack(r, g, b, a);\n }\n return 0;\n};\nfunction hue2rgb(t1, t2, hue) {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n }\n else if (hue < 1 / 2) {\n return t2;\n }\n else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n }\n else {\n return t1;\n }\n}\nvar hsl = function (context, args) {\n var tokens = args.filter(nonFunctionArgSeparator);\n var hue = tokens[0], saturation = tokens[1], lightness = tokens[2], alpha = tokens[3];\n var h = (hue.type === 17 /* NUMBER_TOKEN */ ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n var s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n var l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n var a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n var t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var t1 = l * 2 - t2;\n var r = hue2rgb(t1, t2, h + 1 / 3);\n var g = hue2rgb(t1, t2, h);\n var b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\nvar SUPPORTED_COLOR_FUNCTIONS = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\nvar parseColor = function (context, value) {\n return color$1.parse(context, Parser.create(value).parseComponentValue());\n};\nvar COLORS = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n\nvar backgroundClip = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.map(function (token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return 1 /* PADDING_BOX */;\n case 'content-box':\n return 2 /* CONTENT_BOX */;\n }\n }\n return 0 /* BORDER_BOX */;\n });\n }\n};\n\nvar backgroundColor = {\n name: \"background-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar parseColorStop = function (context, args) {\n var color = color$1.parse(context, args[0]);\n var stop = args[1];\n return stop && isLengthPercentage(stop) ? { color: color, stop: stop } : { color: color, stop: null };\n};\nvar processColorStops = function (stops, lineLength) {\n var first = stops[0];\n var last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n var processStops = [];\n var previous = 0;\n for (var i = 0; i < stops.length; i++) {\n var stop_1 = stops[i].stop;\n if (stop_1 !== null) {\n var absoluteValue = getAbsoluteValue(stop_1, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n }\n else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n }\n else {\n processStops.push(null);\n }\n }\n var gapBegin = null;\n for (var i = 0; i < processStops.length; i++) {\n var stop_2 = processStops[i];\n if (stop_2 === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n }\n else if (gapBegin !== null) {\n var gapLength = i - gapBegin;\n var beforeGap = processStops[gapBegin - 1];\n var gapValue = (stop_2 - beforeGap) / (gapLength + 1);\n for (var g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n return stops.map(function (_a, i) {\n var color = _a.color;\n return { color: color, stop: Math.max(Math.min(1, processStops[i] / lineLength), 0) };\n });\n};\nvar getAngleFromCorner = function (corner, width, height) {\n var centerX = width / 2;\n var centerY = height / 2;\n var x = getAbsoluteValue(corner[0], width) - centerX;\n var y = centerY - getAbsoluteValue(corner[1], height);\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\nvar calculateGradientDirection = function (angle, width, height) {\n var radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n var lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n var halfWidth = width / 2;\n var halfHeight = height / 2;\n var halfLineLength = lineLength / 2;\n var yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n var xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\nvar distance = function (a, b) { return Math.sqrt(a * a + b * b); };\nvar findCorner = function (width, height, x, y, closest) {\n var corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n return corners.reduce(function (stat, corner) {\n var cx = corner[0], cy = corner[1];\n var d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n return stat;\n }, {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }).optimumCorner;\n};\nvar calculateRadius = function (gradient, x, y, width, height) {\n var rx = 0;\n var ry = 0;\n switch (gradient.size) {\n case 0 /* CLOSEST_SIDE */:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n case 2 /* CLOSEST_CORNER */:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.min(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n var c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n var _a = findCorner(width, height, x, y, true), cx = _a[0], cy = _a[1];\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n case 1 /* FARTHEST_SIDE */:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n case 3 /* FARTHEST_CORNER */:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.max(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n var c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n var _b = findCorner(width, height, x, y, false), cx = _b[0], cy = _b[1];\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n return [rx, ry];\n};\n\nvar linearGradient = function (context, tokens) {\n var angle$1 = deg(180);\n var stops = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n if (i === 0) {\n var firstToken = arg[0];\n if (firstToken.type === 20 /* IDENT_TOKEN */ && firstToken.value === 'to') {\n angle$1 = parseNamedSide(arg);\n return;\n }\n else if (isAngle(firstToken)) {\n angle$1 = angle.parse(context, firstToken);\n return;\n }\n }\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n return { angle: angle$1, stops: stops, type: 1 /* LINEAR_GRADIENT */ };\n};\n\nvar prefixLinearGradient = function (context, tokens) {\n var angle$1 = deg(180);\n var stops = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n if (i === 0) {\n var firstToken = arg[0];\n if (firstToken.type === 20 /* IDENT_TOKEN */ &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1) {\n angle$1 = parseNamedSide(arg);\n return;\n }\n else if (isAngle(firstToken)) {\n angle$1 = (angle.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n return {\n angle: angle$1,\n stops: stops,\n type: 1 /* LINEAR_GRADIENT */\n };\n};\n\nvar webkitGradient = function (context, tokens) {\n var angle = deg(180);\n var stops = [];\n var type = 1 /* LINEAR_GRADIENT */;\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = 1 /* LINEAR_GRADIENT */;\n return;\n }\n else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = 2 /* RADIAL_GRADIENT */;\n return;\n }\n }\n if (firstToken.type === 18 /* FUNCTION */) {\n if (firstToken.name === 'from') {\n var color = color$1.parse(context, firstToken.values[0]);\n stops.push({ stop: ZERO_LENGTH, color: color });\n }\n else if (firstToken.name === 'to') {\n var color = color$1.parse(context, firstToken.values[0]);\n stops.push({ stop: HUNDRED_PERCENT, color: color });\n }\n else if (firstToken.name === 'color-stop') {\n var values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n var color = color$1.parse(context, values[1]);\n var stop_1 = values[0];\n if (isNumberToken(stop_1)) {\n stops.push({\n stop: { type: 16 /* PERCENTAGE_TOKEN */, number: stop_1.number * 100, flags: stop_1.flags },\n color: color\n });\n }\n }\n }\n }\n });\n return type === 1 /* LINEAR_GRADIENT */\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops: stops,\n type: type\n }\n : { size: size, shape: shape, stops: stops, position: position, type: type };\n};\n\nvar CLOSEST_SIDE = 'closest-side';\nvar FARTHEST_SIDE = 'farthest-side';\nvar CLOSEST_CORNER = 'closest-corner';\nvar FARTHEST_CORNER = 'farthest-corner';\nvar CIRCLE = 'circle';\nvar ELLIPSE = 'ellipse';\nvar COVER = 'cover';\nvar CONTAIN = 'contain';\nvar radialGradient = function (context, tokens) {\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var stops = [];\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var isColorStop = true;\n if (i === 0) {\n var isAtPosition_1 = false;\n isColorStop = arg.reduce(function (acc, token) {\n if (isAtPosition_1) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n }\n else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n }\n else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = 0 /* CIRCLE */;\n return false;\n case ELLIPSE:\n shape = 1 /* ELLIPSE */;\n return false;\n case 'at':\n isAtPosition_1 = true;\n return false;\n case CLOSEST_SIDE:\n size = 0 /* CLOSEST_SIDE */;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = 1 /* FARTHEST_SIDE */;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = 2 /* CLOSEST_CORNER */;\n return false;\n case FARTHEST_CORNER:\n size = 3 /* FARTHEST_CORNER */;\n return false;\n }\n }\n else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n if (isColorStop) {\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n};\n\nvar prefixRadialGradient = function (context, tokens) {\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var stops = [];\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce(function (acc, token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n }\n else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n else if (i === 1) {\n isColorStop = arg.reduce(function (acc, token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = 0 /* CIRCLE */;\n return false;\n case ELLIPSE:\n shape = 1 /* ELLIPSE */;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = 0 /* CLOSEST_SIDE */;\n return false;\n case FARTHEST_SIDE:\n size = 1 /* FARTHEST_SIDE */;\n return false;\n case CLOSEST_CORNER:\n size = 2 /* CLOSEST_CORNER */;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = 3 /* FARTHEST_CORNER */;\n return false;\n }\n }\n else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n if (isColorStop) {\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n};\n\nvar isLinearGradient = function (background) {\n return background.type === 1 /* LINEAR_GRADIENT */;\n};\nvar isRadialGradient = function (background) {\n return background.type === 2 /* RADIAL_GRADIENT */;\n};\nvar image = {\n name: 'image',\n parse: function (context, value) {\n if (value.type === 22 /* URL_TOKEN */) {\n var image_1 = { url: value.value, type: 0 /* URL */ };\n context.cache.addImage(value.value);\n return image_1;\n }\n if (value.type === 18 /* FUNCTION */) {\n var imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported image function \\\"\" + value.name + \"\\\"\");\n }\n return imageFunction(context, value.values);\n }\n throw new Error(\"Unsupported image type \" + value.type);\n }\n};\nfunction isSupportedImage(value) {\n return (!(value.type === 20 /* IDENT_TOKEN */ && value.value === 'none') &&\n (value.type !== 18 /* FUNCTION */ || !!SUPPORTED_IMAGE_FUNCTIONS[value.name]));\n}\nvar SUPPORTED_IMAGE_FUNCTIONS = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n};\n\nvar backgroundImage = {\n name: 'background-image',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return [];\n }\n return tokens\n .filter(function (value) { return nonFunctionArgSeparator(value) && isSupportedImage(value); })\n .map(function (value) { return image.parse(context, value); });\n }\n};\n\nvar backgroundOrigin = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.map(function (token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return 1 /* PADDING_BOX */;\n case 'content-box':\n return 2 /* CONTENT_BOX */;\n }\n }\n return 0 /* BORDER_BOX */;\n });\n }\n};\n\nvar backgroundPosition = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens)\n .map(function (values) { return values.filter(isLengthPercentage); })\n .map(parseLengthPercentageTuple);\n }\n};\n\nvar backgroundRepeat = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens)\n .map(function (values) {\n return values\n .filter(isIdentToken)\n .map(function (token) { return token.value; })\n .join(' ');\n })\n .map(parseBackgroundRepeat);\n }\n};\nvar parseBackgroundRepeat = function (value) {\n switch (value) {\n case 'no-repeat':\n return 1 /* NO_REPEAT */;\n case 'repeat-x':\n case 'repeat no-repeat':\n return 2 /* REPEAT_X */;\n case 'repeat-y':\n case 'no-repeat repeat':\n return 3 /* REPEAT_Y */;\n case 'repeat':\n default:\n return 0 /* REPEAT */;\n }\n};\n\nvar BACKGROUND_SIZE;\n(function (BACKGROUND_SIZE) {\n BACKGROUND_SIZE[\"AUTO\"] = \"auto\";\n BACKGROUND_SIZE[\"CONTAIN\"] = \"contain\";\n BACKGROUND_SIZE[\"COVER\"] = \"cover\";\n})(BACKGROUND_SIZE || (BACKGROUND_SIZE = {}));\nvar backgroundSize = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens).map(function (values) { return values.filter(isBackgroundSizeInfoToken); });\n }\n};\nvar isBackgroundSizeInfoToken = function (value) {\n return isIdentToken(value) || isLengthPercentage(value);\n};\n\nvar borderColorForSide = function (side) { return ({\n name: \"border-\" + side + \"-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n}); };\nvar borderTopColor = borderColorForSide('top');\nvar borderRightColor = borderColorForSide('right');\nvar borderBottomColor = borderColorForSide('bottom');\nvar borderLeftColor = borderColorForSide('left');\n\nvar borderRadiusForSide = function (side) { return ({\n name: \"border-radius-\" + side,\n initialValue: '0 0',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseLengthPercentageTuple(tokens.filter(isLengthPercentage));\n }\n}); };\nvar borderTopLeftRadius = borderRadiusForSide('top-left');\nvar borderTopRightRadius = borderRadiusForSide('top-right');\nvar borderBottomRightRadius = borderRadiusForSide('bottom-right');\nvar borderBottomLeftRadius = borderRadiusForSide('bottom-left');\n\nvar borderStyleForSide = function (side) { return ({\n name: \"border-\" + side + \"-style\",\n initialValue: 'solid',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, style) {\n switch (style) {\n case 'none':\n return 0 /* NONE */;\n case 'dashed':\n return 2 /* DASHED */;\n case 'dotted':\n return 3 /* DOTTED */;\n case 'double':\n return 4 /* DOUBLE */;\n }\n return 1 /* SOLID */;\n }\n}); };\nvar borderTopStyle = borderStyleForSide('top');\nvar borderRightStyle = borderStyleForSide('right');\nvar borderBottomStyle = borderStyleForSide('bottom');\nvar borderLeftStyle = borderStyleForSide('left');\n\nvar borderWidthForSide = function (side) { return ({\n name: \"border-\" + side + \"-width\",\n initialValue: '0',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n}); };\nvar borderTopWidth = borderWidthForSide('top');\nvar borderRightWidth = borderWidthForSide('right');\nvar borderBottomWidth = borderWidthForSide('bottom');\nvar borderLeftWidth = borderWidthForSide('left');\n\nvar color = {\n name: \"color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar direction = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, direction) {\n switch (direction) {\n case 'rtl':\n return 1 /* RTL */;\n case 'ltr':\n default:\n return 0 /* LTR */;\n }\n }\n};\n\nvar display = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).reduce(function (bit, token) {\n return bit | parseDisplayValue(token.value);\n }, 0 /* NONE */);\n }\n};\nvar parseDisplayValue = function (display) {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return 2 /* BLOCK */;\n case 'inline':\n return 4 /* INLINE */;\n case 'run-in':\n return 8 /* RUN_IN */;\n case 'flow':\n return 16 /* FLOW */;\n case 'flow-root':\n return 32 /* FLOW_ROOT */;\n case 'table':\n return 64 /* TABLE */;\n case 'flex':\n case '-webkit-flex':\n return 128 /* FLEX */;\n case 'grid':\n case '-ms-grid':\n return 256 /* GRID */;\n case 'ruby':\n return 512 /* RUBY */;\n case 'subgrid':\n return 1024 /* SUBGRID */;\n case 'list-item':\n return 2048 /* LIST_ITEM */;\n case 'table-row-group':\n return 4096 /* TABLE_ROW_GROUP */;\n case 'table-header-group':\n return 8192 /* TABLE_HEADER_GROUP */;\n case 'table-footer-group':\n return 16384 /* TABLE_FOOTER_GROUP */;\n case 'table-row':\n return 32768 /* TABLE_ROW */;\n case 'table-cell':\n return 65536 /* TABLE_CELL */;\n case 'table-column-group':\n return 131072 /* TABLE_COLUMN_GROUP */;\n case 'table-column':\n return 262144 /* TABLE_COLUMN */;\n case 'table-caption':\n return 524288 /* TABLE_CAPTION */;\n case 'ruby-base':\n return 1048576 /* RUBY_BASE */;\n case 'ruby-text':\n return 2097152 /* RUBY_TEXT */;\n case 'ruby-base-container':\n return 4194304 /* RUBY_BASE_CONTAINER */;\n case 'ruby-text-container':\n return 8388608 /* RUBY_TEXT_CONTAINER */;\n case 'contents':\n return 16777216 /* CONTENTS */;\n case 'inline-block':\n return 33554432 /* INLINE_BLOCK */;\n case 'inline-list-item':\n return 67108864 /* INLINE_LIST_ITEM */;\n case 'inline-table':\n return 134217728 /* INLINE_TABLE */;\n case 'inline-flex':\n return 268435456 /* INLINE_FLEX */;\n case 'inline-grid':\n return 536870912 /* INLINE_GRID */;\n }\n return 0 /* NONE */;\n};\n\nvar float = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, float) {\n switch (float) {\n case 'left':\n return 1 /* LEFT */;\n case 'right':\n return 2 /* RIGHT */;\n case 'inline-start':\n return 3 /* INLINE_START */;\n case 'inline-end':\n return 4 /* INLINE_END */;\n }\n return 0 /* NONE */;\n }\n};\n\nvar letterSpacing = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'normal') {\n return 0;\n }\n if (token.type === 17 /* NUMBER_TOKEN */) {\n return token.number;\n }\n if (token.type === 15 /* DIMENSION_TOKEN */) {\n return token.number;\n }\n return 0;\n }\n};\n\nvar LINE_BREAK;\n(function (LINE_BREAK) {\n LINE_BREAK[\"NORMAL\"] = \"normal\";\n LINE_BREAK[\"STRICT\"] = \"strict\";\n})(LINE_BREAK || (LINE_BREAK = {}));\nvar lineBreak = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, lineBreak) {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n};\n\nvar lineHeight = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: 4 /* TOKEN_VALUE */\n};\nvar computeLineHeight = function (token, fontSize) {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n }\n else if (token.type === 17 /* NUMBER_TOKEN */) {\n return fontSize * token.number;\n }\n else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n return fontSize;\n};\n\nvar listStyleImage = {\n name: 'list-style-image',\n initialValue: 'none',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n return null;\n }\n return image.parse(context, token);\n }\n};\n\nvar listStylePosition = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, position) {\n switch (position) {\n case 'inside':\n return 0 /* INSIDE */;\n case 'outside':\n default:\n return 1 /* OUTSIDE */;\n }\n }\n};\n\nvar listStyleType = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, type) {\n switch (type) {\n case 'disc':\n return 0 /* DISC */;\n case 'circle':\n return 1 /* CIRCLE */;\n case 'square':\n return 2 /* SQUARE */;\n case 'decimal':\n return 3 /* DECIMAL */;\n case 'cjk-decimal':\n return 4 /* CJK_DECIMAL */;\n case 'decimal-leading-zero':\n return 5 /* DECIMAL_LEADING_ZERO */;\n case 'lower-roman':\n return 6 /* LOWER_ROMAN */;\n case 'upper-roman':\n return 7 /* UPPER_ROMAN */;\n case 'lower-greek':\n return 8 /* LOWER_GREEK */;\n case 'lower-alpha':\n return 9 /* LOWER_ALPHA */;\n case 'upper-alpha':\n return 10 /* UPPER_ALPHA */;\n case 'arabic-indic':\n return 11 /* ARABIC_INDIC */;\n case 'armenian':\n return 12 /* ARMENIAN */;\n case 'bengali':\n return 13 /* BENGALI */;\n case 'cambodian':\n return 14 /* CAMBODIAN */;\n case 'cjk-earthly-branch':\n return 15 /* CJK_EARTHLY_BRANCH */;\n case 'cjk-heavenly-stem':\n return 16 /* CJK_HEAVENLY_STEM */;\n case 'cjk-ideographic':\n return 17 /* CJK_IDEOGRAPHIC */;\n case 'devanagari':\n return 18 /* DEVANAGARI */;\n case 'ethiopic-numeric':\n return 19 /* ETHIOPIC_NUMERIC */;\n case 'georgian':\n return 20 /* GEORGIAN */;\n case 'gujarati':\n return 21 /* GUJARATI */;\n case 'gurmukhi':\n return 22 /* GURMUKHI */;\n case 'hebrew':\n return 22 /* HEBREW */;\n case 'hiragana':\n return 23 /* HIRAGANA */;\n case 'hiragana-iroha':\n return 24 /* HIRAGANA_IROHA */;\n case 'japanese-formal':\n return 25 /* JAPANESE_FORMAL */;\n case 'japanese-informal':\n return 26 /* JAPANESE_INFORMAL */;\n case 'kannada':\n return 27 /* KANNADA */;\n case 'katakana':\n return 28 /* KATAKANA */;\n case 'katakana-iroha':\n return 29 /* KATAKANA_IROHA */;\n case 'khmer':\n return 30 /* KHMER */;\n case 'korean-hangul-formal':\n return 31 /* KOREAN_HANGUL_FORMAL */;\n case 'korean-hanja-formal':\n return 32 /* KOREAN_HANJA_FORMAL */;\n case 'korean-hanja-informal':\n return 33 /* KOREAN_HANJA_INFORMAL */;\n case 'lao':\n return 34 /* LAO */;\n case 'lower-armenian':\n return 35 /* LOWER_ARMENIAN */;\n case 'malayalam':\n return 36 /* MALAYALAM */;\n case 'mongolian':\n return 37 /* MONGOLIAN */;\n case 'myanmar':\n return 38 /* MYANMAR */;\n case 'oriya':\n return 39 /* ORIYA */;\n case 'persian':\n return 40 /* PERSIAN */;\n case 'simp-chinese-formal':\n return 41 /* SIMP_CHINESE_FORMAL */;\n case 'simp-chinese-informal':\n return 42 /* SIMP_CHINESE_INFORMAL */;\n case 'tamil':\n return 43 /* TAMIL */;\n case 'telugu':\n return 44 /* TELUGU */;\n case 'thai':\n return 45 /* THAI */;\n case 'tibetan':\n return 46 /* TIBETAN */;\n case 'trad-chinese-formal':\n return 47 /* TRAD_CHINESE_FORMAL */;\n case 'trad-chinese-informal':\n return 48 /* TRAD_CHINESE_INFORMAL */;\n case 'upper-armenian':\n return 49 /* UPPER_ARMENIAN */;\n case 'disclosure-open':\n return 50 /* DISCLOSURE_OPEN */;\n case 'disclosure-closed':\n return 51 /* DISCLOSURE_CLOSED */;\n case 'none':\n default:\n return -1 /* NONE */;\n }\n }\n};\n\nvar marginForSide = function (side) { return ({\n name: \"margin-\" + side,\n initialValue: '0',\n prefix: false,\n type: 4 /* TOKEN_VALUE */\n}); };\nvar marginTop = marginForSide('top');\nvar marginRight = marginForSide('right');\nvar marginBottom = marginForSide('bottom');\nvar marginLeft = marginForSide('left');\n\nvar overflow = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).map(function (overflow) {\n switch (overflow.value) {\n case 'hidden':\n return 1 /* HIDDEN */;\n case 'scroll':\n return 2 /* SCROLL */;\n case 'clip':\n return 3 /* CLIP */;\n case 'auto':\n return 4 /* AUTO */;\n case 'visible':\n default:\n return 0 /* VISIBLE */;\n }\n });\n }\n};\n\nvar overflowWrap = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, overflow) {\n switch (overflow) {\n case 'break-word':\n return \"break-word\" /* BREAK_WORD */;\n case 'normal':\n default:\n return \"normal\" /* NORMAL */;\n }\n }\n};\n\nvar paddingForSide = function (side) { return ({\n name: \"padding-\" + side,\n initialValue: '0',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'length-percentage'\n}); };\nvar paddingTop = paddingForSide('top');\nvar paddingRight = paddingForSide('right');\nvar paddingBottom = paddingForSide('bottom');\nvar paddingLeft = paddingForSide('left');\n\nvar textAlign = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, textAlign) {\n switch (textAlign) {\n case 'right':\n return 2 /* RIGHT */;\n case 'center':\n case 'justify':\n return 1 /* CENTER */;\n case 'left':\n default:\n return 0 /* LEFT */;\n }\n }\n};\n\nvar position = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, position) {\n switch (position) {\n case 'relative':\n return 1 /* RELATIVE */;\n case 'absolute':\n return 2 /* ABSOLUTE */;\n case 'fixed':\n return 3 /* FIXED */;\n case 'sticky':\n return 4 /* STICKY */;\n }\n return 0 /* STATIC */;\n }\n};\n\nvar textShadow = {\n name: 'text-shadow',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n return parseFunctionArgs(tokens).map(function (values) {\n var shadow = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n var c = 0;\n for (var i = 0; i < values.length; i++) {\n var token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n }\n else if (c === 1) {\n shadow.offsetY = token;\n }\n else {\n shadow.blur = token;\n }\n c++;\n }\n else {\n shadow.color = color$1.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n\nvar textTransform = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, textTransform) {\n switch (textTransform) {\n case 'uppercase':\n return 2 /* UPPERCASE */;\n case 'lowercase':\n return 1 /* LOWERCASE */;\n case 'capitalize':\n return 3 /* CAPITALIZE */;\n }\n return 0 /* NONE */;\n }\n};\n\nvar transform$1 = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n return null;\n }\n if (token.type === 18 /* FUNCTION */) {\n var transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported transform function \\\"\" + token.name + \"\\\"\");\n }\n return transformFunction(token.values);\n }\n return null;\n }\n};\nvar matrix = function (args) {\n var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n return values.length === 6 ? values : null;\n};\n// doesn't support 3D transforms at the moment\nvar matrix3d = function (args) {\n var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n var a1 = values[0], b1 = values[1]; values[2]; values[3]; var a2 = values[4], b2 = values[5]; values[6]; values[7]; values[8]; values[9]; values[10]; values[11]; var a4 = values[12], b4 = values[13]; values[14]; values[15];\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\nvar SUPPORTED_TRANSFORM_FUNCTIONS = {\n matrix: matrix,\n matrix3d: matrix3d\n};\n\nvar DEFAULT_VALUE = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 50,\n flags: FLAG_INTEGER\n};\nvar DEFAULT = [DEFAULT_VALUE, DEFAULT_VALUE];\nvar transformOrigin = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var origins = tokens.filter(isLengthPercentage);\n if (origins.length !== 2) {\n return DEFAULT;\n }\n return [origins[0], origins[1]];\n }\n};\n\nvar visibility = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, visibility) {\n switch (visibility) {\n case 'hidden':\n return 1 /* HIDDEN */;\n case 'collapse':\n return 2 /* COLLAPSE */;\n case 'visible':\n default:\n return 0 /* VISIBLE */;\n }\n }\n};\n\nvar WORD_BREAK;\n(function (WORD_BREAK) {\n WORD_BREAK[\"NORMAL\"] = \"normal\";\n WORD_BREAK[\"BREAK_ALL\"] = \"break-all\";\n WORD_BREAK[\"KEEP_ALL\"] = \"keep-all\";\n})(WORD_BREAK || (WORD_BREAK = {}));\nvar wordBreak = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, wordBreak) {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n};\n\nvar zIndex = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */) {\n return { auto: true, order: 0 };\n }\n if (isNumberToken(token)) {\n return { auto: false, order: token.number };\n }\n throw new Error(\"Invalid z-index number parsed\");\n }\n};\n\nvar time = {\n name: 'time',\n parse: function (_context, value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n throw new Error(\"Unsupported time type\");\n }\n};\n\nvar opacity = {\n name: 'opacity',\n initialValue: '1',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n};\n\nvar textDecorationColor = {\n name: \"text-decoration-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar textDecorationLine = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens\n .filter(isIdentToken)\n .map(function (token) {\n switch (token.value) {\n case 'underline':\n return 1 /* UNDERLINE */;\n case 'overline':\n return 2 /* OVERLINE */;\n case 'line-through':\n return 3 /* LINE_THROUGH */;\n case 'none':\n return 4 /* BLINK */;\n }\n return 0 /* NONE */;\n })\n .filter(function (line) { return line !== 0 /* NONE */; });\n }\n};\n\nvar fontFamily = {\n name: \"font-family\",\n initialValue: '',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var accumulator = [];\n var results = [];\n tokens.forEach(function (token) {\n switch (token.type) {\n case 20 /* IDENT_TOKEN */:\n case 0 /* STRING_TOKEN */:\n accumulator.push(token.value);\n break;\n case 17 /* NUMBER_TOKEN */:\n accumulator.push(token.number.toString());\n break;\n case 4 /* COMMA_TOKEN */:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map(function (result) { return (result.indexOf(' ') === -1 ? result : \"'\" + result + \"'\"); });\n }\n};\n\nvar fontSize = {\n name: \"font-size\",\n initialValue: '0',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'length'\n};\n\nvar fontWeight = {\n name: 'font-weight',\n initialValue: 'normal',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isNumberToken(token)) {\n return token.number;\n }\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n return 400;\n }\n};\n\nvar fontVariant = {\n name: 'font-variant',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).map(function (token) { return token.value; });\n }\n};\n\nvar fontStyle = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, overflow) {\n switch (overflow) {\n case 'oblique':\n return \"oblique\" /* OBLIQUE */;\n case 'italic':\n return \"italic\" /* ITALIC */;\n case 'normal':\n default:\n return \"normal\" /* NORMAL */;\n }\n }\n};\n\nvar contains = function (bit, value) { return (bit & value) !== 0; };\n\nvar content = {\n name: 'content',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return [];\n }\n return tokens;\n }\n};\n\nvar counterIncrement = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return null;\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return null;\n }\n var increments = [];\n var filtered = tokens.filter(nonWhiteSpace);\n for (var i = 0; i < filtered.length; i++) {\n var counter = filtered[i];\n var next = filtered[i + 1];\n if (counter.type === 20 /* IDENT_TOKEN */) {\n var increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({ counter: counter.value, increment: increment });\n }\n }\n return increments;\n }\n};\n\nvar counterReset = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var resets = [];\n var filtered = tokens.filter(nonWhiteSpace);\n for (var i = 0; i < filtered.length; i++) {\n var counter = filtered[i];\n var next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n var reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({ counter: counter.value, reset: reset });\n }\n }\n return resets;\n }\n};\n\nvar duration = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (context, tokens) {\n return tokens.filter(isDimensionToken).map(function (token) { return time.parse(context, token); });\n }\n};\n\nvar quotes = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return null;\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return null;\n }\n var quotes = [];\n var filtered = tokens.filter(isStringToken);\n if (filtered.length % 2 !== 0) {\n return null;\n }\n for (var i = 0; i < filtered.length; i += 2) {\n var open_1 = filtered[i].value;\n var close_1 = filtered[i + 1].value;\n quotes.push({ open: open_1, close: close_1 });\n }\n return quotes;\n }\n};\nvar getQuote = function (quotes, depth, open) {\n if (!quotes) {\n return '';\n }\n var quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n return open ? quote.open : quote.close;\n};\n\nvar boxShadow = {\n name: 'box-shadow',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n return parseFunctionArgs(tokens).map(function (values) {\n var shadow = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n var c = 0;\n for (var i = 0; i < values.length; i++) {\n var token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n }\n else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n }\n else if (c === 1) {\n shadow.offsetY = token;\n }\n else if (c === 2) {\n shadow.blur = token;\n }\n else {\n shadow.spread = token;\n }\n c++;\n }\n else {\n shadow.color = color$1.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n\nvar paintOrder = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var DEFAULT_VALUE = [0 /* FILL */, 1 /* STROKE */, 2 /* MARKERS */];\n var layers = [];\n tokens.filter(isIdentToken).forEach(function (token) {\n switch (token.value) {\n case 'stroke':\n layers.push(1 /* STROKE */);\n break;\n case 'fill':\n layers.push(0 /* FILL */);\n break;\n case 'markers':\n layers.push(2 /* MARKERS */);\n break;\n }\n });\n DEFAULT_VALUE.forEach(function (value) {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n return layers;\n }\n};\n\nvar webkitTextStrokeColor = {\n name: \"-webkit-text-stroke-color\",\n initialValue: 'currentcolor',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar webkitTextStrokeWidth = {\n name: \"-webkit-text-stroke-width\",\n initialValue: '0',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n};\n\nvar CSSParsedDeclaration = /** @class */ (function () {\n function CSSParsedDeclaration(context, declaration) {\n var _a, _b;\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n var overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(context, textDecorationColor, (_a = declaration.textDecorationColor) !== null && _a !== void 0 ? _a : declaration.color);\n this.textDecorationLine = parse(context, textDecorationLine, (_b = declaration.textDecorationLine) !== null && _b !== void 0 ? _b : declaration.textDecoration);\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform$1, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n CSSParsedDeclaration.prototype.isVisible = function () {\n return this.display > 0 && this.opacity > 0 && this.visibility === 0 /* VISIBLE */;\n };\n CSSParsedDeclaration.prototype.isTransparent = function () {\n return isTransparent(this.backgroundColor);\n };\n CSSParsedDeclaration.prototype.isTransformed = function () {\n return this.transform !== null;\n };\n CSSParsedDeclaration.prototype.isPositioned = function () {\n return this.position !== 0 /* STATIC */;\n };\n CSSParsedDeclaration.prototype.isPositionedWithZIndex = function () {\n return this.isPositioned() && !this.zIndex.auto;\n };\n CSSParsedDeclaration.prototype.isFloating = function () {\n return this.float !== 0 /* NONE */;\n };\n CSSParsedDeclaration.prototype.isInlineLevel = function () {\n return (contains(this.display, 4 /* INLINE */) ||\n contains(this.display, 33554432 /* INLINE_BLOCK */) ||\n contains(this.display, 268435456 /* INLINE_FLEX */) ||\n contains(this.display, 536870912 /* INLINE_GRID */) ||\n contains(this.display, 67108864 /* INLINE_LIST_ITEM */) ||\n contains(this.display, 134217728 /* INLINE_TABLE */));\n };\n return CSSParsedDeclaration;\n}());\nvar CSSParsedPseudoDeclaration = /** @class */ (function () {\n function CSSParsedPseudoDeclaration(context, declaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n return CSSParsedPseudoDeclaration;\n}());\nvar CSSParsedCounterDeclaration = /** @class */ (function () {\n function CSSParsedCounterDeclaration(context, declaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n return CSSParsedCounterDeclaration;\n}());\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar parse = function (context, descriptor, style) {\n var tokenizer = new Tokenizer();\n var value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n var parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case 2 /* IDENT_VALUE */:\n var token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case 0 /* VALUE */:\n return descriptor.parse(context, parser.parseComponentValue());\n case 1 /* LIST */:\n return descriptor.parse(context, parser.parseComponentValues());\n case 4 /* TOKEN_VALUE */:\n return parser.parseComponentValue();\n case 3 /* TYPE_VALUE */:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return color$1.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n var length_1 = parser.parseComponentValue();\n return isLength(length_1) ? length_1 : ZERO_LENGTH;\n case 'length-percentage':\n var value_1 = parser.parseComponentValue();\n return isLengthPercentage(value_1) ? value_1 : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n};\n\nvar elementDebuggerAttribute = 'data-html2canvas-debug';\nvar getElementDebugType = function (element) {\n var attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return 1 /* ALL */;\n case 'clone':\n return 2 /* CLONE */;\n case 'parse':\n return 3 /* PARSE */;\n case 'render':\n return 4 /* RENDER */;\n default:\n return 0 /* NONE */;\n }\n};\nvar isDebugging = function (element, type) {\n var elementType = getElementDebugType(element);\n return elementType === 1 /* ALL */ || type === elementType;\n};\n\nvar ElementContainer = /** @class */ (function () {\n function ElementContainer(context, element) {\n this.context = context;\n this.textNodes = [];\n this.elements = [];\n this.flags = 0;\n if (isDebugging(element, 3 /* PARSE */)) {\n debugger;\n }\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some(function (duration) { return duration > 0; })) {\n element.style.animationDuration = '0s';\n }\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n this.bounds = parseBounds(this.context, element);\n if (isDebugging(element, 4 /* RENDER */)) {\n this.flags |= 16 /* DEBUG_RENDER */;\n }\n }\n return ElementContainer;\n}());\n\n/*\n * text-segmentation 1.0.3 <https://github.com/niklasvh/text-segmentation>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar base64 = 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\n\n/*\n * utrie 1.0.2 <https://github.com/niklasvh/utrie>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$1 = 0; i$1 < chars$1.length; i$1++) {\n lookup$1[chars$1.charCodeAt(i$1)] = i$1;\n}\nvar decode = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var buffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1[base64.charCodeAt(i)];\n encoded2 = lookup$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return buffer;\n};\nvar polyUint16Array = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\nvar polyUint32Array = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\n/** Shift size for getting the index-2 table offset. */\nvar UTRIE2_SHIFT_2 = 5;\n/** Shift size for getting the index-1 table offset. */\nvar UTRIE2_SHIFT_1 = 6 + 5;\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nvar UTRIE2_INDEX_SHIFT = 2;\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nvar UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nvar UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n/** Number of entries in a data block. 32=0x20 */\nvar UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nvar UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\nvar UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nvar UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nvar UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nvar UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nvar UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nvar UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n/** Number of entries in an index-2 block. 64=0x40 */\nvar UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nvar UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\nvar slice16 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\nvar slice32 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\nvar createTrieFromBase64 = function (base64, _byteLength) {\n var buffer = decode(base64);\n var view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n var view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n var headerLength = 24;\n var index = slice16(view16, headerLength / 2, view32[4] / 2);\n var data = view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\nvar Trie = /** @class */ (function () {\n function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n Trie.prototype.get = function (codePoint) {\n var ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n };\n return Trie;\n}());\n\n/*\n * base64-arraybuffer 1.0.2 <https://github.com/niklasvh/base64-arraybuffer>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nvar Prepend = 1;\nvar CR = 2;\nvar LF = 3;\nvar Control = 4;\nvar Extend = 5;\nvar SpacingMark = 7;\nvar L = 8;\nvar V = 9;\nvar T = 10;\nvar LV = 11;\nvar LVT = 12;\nvar ZWJ = 13;\nvar Extended_Pictographic = 14;\nvar RI = 15;\nvar toCodePoints = function (str) {\n var codePoints = [];\n var i = 0;\n var length = str.length;\n while (i < length) {\n var value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n var extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n }\n else {\n codePoints.push(value);\n i--;\n }\n }\n else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\nvar fromCodePoint = function () {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n if (String.fromCodePoint) {\n return String.fromCodePoint.apply(String, codePoints);\n }\n var length = codePoints.length;\n if (!length) {\n return '';\n }\n var codeUnits = [];\n var index = -1;\n var result = '';\n while (++index < length) {\n var codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n }\n else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode.apply(String, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\nvar UnicodeTrie = createTrieFromBase64(base64);\nvar BREAK_NOT_ALLOWED = '×';\nvar BREAK_ALLOWED = '÷';\nvar codePointToClass = function (codePoint) { return UnicodeTrie.get(codePoint); };\nvar _graphemeBreakAtIndex = function (_codePoints, classTypes, index) {\n var prevIndex = index - 2;\n var prev = classTypes[prevIndex];\n var current = classTypes[index - 1];\n var next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n var countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n return BREAK_ALLOWED;\n};\nvar GraphemeBreaker = function (str) {\n var codePoints = toCodePoints(str);\n var length = codePoints.length;\n var index = 0;\n var lastEnd = 0;\n var classTypes = codePoints.map(codePointToClass);\n return {\n next: function () {\n if (index >= length) {\n return { done: true, value: null };\n }\n var graphemeBreak = BREAK_NOT_ALLOWED;\n while (index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED) { }\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n var value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return { value: value, done: false };\n }\n return { done: true, value: null };\n },\n };\n};\nvar splitGraphemes = function (str) {\n var breaker = GraphemeBreaker(str);\n var graphemes = [];\n var bk;\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n return graphemes;\n};\n\nvar testRangeBounds = function (document) {\n var TEST_HEIGHT = 123;\n if (document.createRange) {\n var range = document.createRange();\n if (range.getBoundingClientRect) {\n var testElement = document.createElement('boundtest');\n testElement.style.height = TEST_HEIGHT + \"px\";\n testElement.style.display = 'block';\n document.body.appendChild(testElement);\n range.selectNode(testElement);\n var rangeBounds = range.getBoundingClientRect();\n var rangeHeight = Math.round(rangeBounds.height);\n document.body.removeChild(testElement);\n if (rangeHeight === TEST_HEIGHT) {\n return true;\n }\n }\n }\n return false;\n};\nvar testIOSLineBreak = function (document) {\n var testElement = document.createElement('boundtest');\n testElement.style.width = '50px';\n testElement.style.display = 'block';\n testElement.style.fontSize = '12px';\n testElement.style.letterSpacing = '0px';\n testElement.style.wordSpacing = '0px';\n document.body.appendChild(testElement);\n var range = document.createRange();\n testElement.innerHTML = typeof ''.repeat === 'function' ? '&#128104;'.repeat(10) : '';\n var node = testElement.firstChild;\n var textList = toCodePoints$1(node.data).map(function (i) { return fromCodePoint$1(i); });\n var offset = 0;\n var prev = {};\n // ios 13 does not handle range getBoundingClientRect line changes correctly #2177\n var supports = textList.every(function (text, i) {\n range.setStart(node, offset);\n range.setEnd(node, offset + text.length);\n var rect = range.getBoundingClientRect();\n offset += text.length;\n var boundAhead = rect.x > prev.x || rect.y > prev.y;\n prev = rect;\n if (i === 0) {\n return true;\n }\n return boundAhead;\n });\n document.body.removeChild(testElement);\n return supports;\n};\nvar testCORS = function () { return typeof new Image().crossOrigin !== 'undefined'; };\nvar testResponseType = function () { return typeof new XMLHttpRequest().responseType === 'string'; };\nvar testSVG = function (document) {\n var img = new Image();\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return false;\n }\n img.src = \"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>\";\n try {\n ctx.drawImage(img, 0, 0);\n canvas.toDataURL();\n }\n catch (e) {\n return false;\n }\n return true;\n};\nvar isGreenPixel = function (data) {\n return data[0] === 0 && data[1] === 255 && data[2] === 0 && data[3] === 255;\n};\nvar testForeignObject = function (document) {\n var canvas = document.createElement('canvas');\n var size = 100;\n canvas.width = size;\n canvas.height = size;\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return Promise.reject(false);\n }\n ctx.fillStyle = 'rgb(0, 255, 0)';\n ctx.fillRect(0, 0, size, size);\n var img = new Image();\n var greenImageSrc = canvas.toDataURL();\n img.src = greenImageSrc;\n var svg = createForeignObjectSVG(size, size, 0, 0, img);\n ctx.fillStyle = 'red';\n ctx.fillRect(0, 0, size, size);\n return loadSerializedSVG$1(svg)\n .then(function (img) {\n ctx.drawImage(img, 0, 0);\n var data = ctx.getImageData(0, 0, size, size).data;\n ctx.fillStyle = 'red';\n ctx.fillRect(0, 0, size, size);\n var node = document.createElement('div');\n node.style.backgroundImage = \"url(\" + greenImageSrc + \")\";\n node.style.height = size + \"px\";\n // Firefox 55 does not render inline <img /> tags\n return isGreenPixel(data)\n ? loadSerializedSVG$1(createForeignObjectSVG(size, size, 0, 0, node))\n : Promise.reject(false);\n })\n .then(function (img) {\n ctx.drawImage(img, 0, 0);\n // Edge does not render background-images\n return isGreenPixel(ctx.getImageData(0, 0, size, size).data);\n })\n .catch(function () { return false; });\n};\nvar createForeignObjectSVG = function (width, height, x, y, node) {\n var xmlns = 'http://www.w3.org/2000/svg';\n var svg = document.createElementNS(xmlns, 'svg');\n var foreignObject = document.createElementNS(xmlns, 'foreignObject');\n svg.setAttributeNS(null, 'width', width.toString());\n svg.setAttributeNS(null, 'height', height.toString());\n foreignObject.setAttributeNS(null, 'width', '100%');\n foreignObject.setAttributeNS(null, 'height', '100%');\n foreignObject.setAttributeNS(null, 'x', x.toString());\n foreignObject.setAttributeNS(null, 'y', y.toString());\n foreignObject.setAttributeNS(null, 'externalResourcesRequired', 'true');\n svg.appendChild(foreignObject);\n foreignObject.appendChild(node);\n return svg;\n};\nvar loadSerializedSVG$1 = function (svg) {\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () { return resolve(img); };\n img.onerror = reject;\n img.src = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(new XMLSerializer().serializeToString(svg));\n });\n};\nvar FEATURES = {\n get SUPPORT_RANGE_BOUNDS() {\n var value = testRangeBounds(document);\n Object.defineProperty(FEATURES, 'SUPPORT_RANGE_BOUNDS', { value: value });\n return value;\n },\n get SUPPORT_WORD_BREAKING() {\n var value = FEATURES.SUPPORT_RANGE_BOUNDS && testIOSLineBreak(document);\n Object.defineProperty(FEATURES, 'SUPPORT_WORD_BREAKING', { value: value });\n return value;\n },\n get SUPPORT_SVG_DRAWING() {\n var value = testSVG(document);\n Object.defineProperty(FEATURES, 'SUPPORT_SVG_DRAWING', { value: value });\n return value;\n },\n get SUPPORT_FOREIGNOBJECT_DRAWING() {\n var value = typeof Array.from === 'function' && typeof window.fetch === 'function'\n ? testForeignObject(document)\n : Promise.resolve(false);\n Object.defineProperty(FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value: value });\n return value;\n },\n get SUPPORT_CORS_IMAGES() {\n var value = testCORS();\n Object.defineProperty(FEATURES, 'SUPPORT_CORS_IMAGES', { value: value });\n return value;\n },\n get SUPPORT_RESPONSE_TYPE() {\n var value = testResponseType();\n Object.defineProperty(FEATURES, 'SUPPORT_RESPONSE_TYPE', { value: value });\n return value;\n },\n get SUPPORT_CORS_XHR() {\n var value = 'withCredentials' in new XMLHttpRequest();\n Object.defineProperty(FEATURES, 'SUPPORT_CORS_XHR', { value: value });\n return value;\n },\n get SUPPORT_NATIVE_TEXT_SEGMENTATION() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var value = !!(typeof Intl !== 'undefined' && Intl.Segmenter);\n Object.defineProperty(FEATURES, 'SUPPORT_NATIVE_TEXT_SEGMENTATION', { value: value });\n return value;\n }\n};\n\nvar TextBounds = /** @class */ (function () {\n function TextBounds(text, bounds) {\n this.text = text;\n this.bounds = bounds;\n }\n return TextBounds;\n}());\nvar parseTextBounds = function (context, value, styles, node) {\n var textList = breakText(value, styles);\n var textBounds = [];\n var offset = 0;\n textList.forEach(function (text) {\n if (styles.textDecorationLine.length || text.trim().length > 0) {\n if (FEATURES.SUPPORT_RANGE_BOUNDS) {\n var clientRects = createRange(node, offset, text.length).getClientRects();\n if (clientRects.length > 1) {\n var subSegments = segmentGraphemes(text);\n var subOffset_1 = 0;\n subSegments.forEach(function (subSegment) {\n textBounds.push(new TextBounds(subSegment, Bounds.fromDOMRectList(context, createRange(node, subOffset_1 + offset, subSegment.length).getClientRects())));\n subOffset_1 += subSegment.length;\n });\n }\n else {\n textBounds.push(new TextBounds(text, Bounds.fromDOMRectList(context, clientRects)));\n }\n }\n else {\n var replacementNode = node.splitText(text.length);\n textBounds.push(new TextBounds(text, getWrapperBounds(context, node)));\n node = replacementNode;\n }\n }\n else if (!FEATURES.SUPPORT_RANGE_BOUNDS) {\n node = node.splitText(text.length);\n }\n offset += text.length;\n });\n return textBounds;\n};\nvar getWrapperBounds = function (context, node) {\n var ownerDocument = node.ownerDocument;\n if (ownerDocument) {\n var wrapper = ownerDocument.createElement('html2canvaswrapper');\n wrapper.appendChild(node.cloneNode(true));\n var parentNode = node.parentNode;\n if (parentNode) {\n parentNode.replaceChild(wrapper, node);\n var bounds = parseBounds(context, wrapper);\n if (wrapper.firstChild) {\n parentNode.replaceChild(wrapper.firstChild, wrapper);\n }\n return bounds;\n }\n }\n return Bounds.EMPTY;\n};\nvar createRange = function (node, offset, length) {\n var ownerDocument = node.ownerDocument;\n if (!ownerDocument) {\n throw new Error('Node has no owner document');\n }\n var range = ownerDocument.createRange();\n range.setStart(node, offset);\n range.setEnd(node, offset + length);\n return range;\n};\nvar segmentGraphemes = function (value) {\n if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var segmenter = new Intl.Segmenter(void 0, { granularity: 'grapheme' });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n }\n return splitGraphemes(value);\n};\nvar segmentWords = function (value, styles) {\n if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var segmenter = new Intl.Segmenter(void 0, {\n granularity: 'word'\n });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n }\n return breakWords(value, styles);\n};\nvar breakText = function (value, styles) {\n return styles.letterSpacing !== 0 ? segmentGraphemes(value) : segmentWords(value, styles);\n};\n// https://drafts.csswg.org/css-text/#word-separator\nvar wordSeparators = [0x0020, 0x00a0, 0x1361, 0x10100, 0x10101, 0x1039, 0x1091];\nvar breakWords = function (str, styles) {\n var breaker = LineBreaker(str, {\n lineBreak: styles.lineBreak,\n wordBreak: styles.overflowWrap === \"break-word\" /* BREAK_WORD */ ? 'break-word' : styles.wordBreak\n });\n var words = [];\n var bk;\n var _loop_1 = function () {\n if (bk.value) {\n var value = bk.value.slice();\n var codePoints = toCodePoints$1(value);\n var word_1 = '';\n codePoints.forEach(function (codePoint) {\n if (wordSeparators.indexOf(codePoint) === -1) {\n word_1 += fromCodePoint$1(codePoint);\n }\n else {\n if (word_1.length) {\n words.push(word_1);\n }\n words.push(fromCodePoint$1(codePoint));\n word_1 = '';\n }\n });\n if (word_1.length) {\n words.push(word_1);\n }\n }\n };\n while (!(bk = breaker.next()).done) {\n _loop_1();\n }\n return words;\n};\n\nvar TextContainer = /** @class */ (function () {\n function TextContainer(context, node, styles) {\n this.text = transform(node.data, styles.textTransform);\n this.textBounds = parseTextBounds(context, this.text, styles, node);\n }\n return TextContainer;\n}());\nvar transform = function (text, transform) {\n switch (transform) {\n case 1 /* LOWERCASE */:\n return text.toLowerCase();\n case 3 /* CAPITALIZE */:\n return text.replace(CAPITALIZE, capitalize);\n case 2 /* UPPERCASE */:\n return text.toUpperCase();\n default:\n return text;\n }\n};\nvar CAPITALIZE = /(^|\\s|:|-|\\(|\\))([a-z])/g;\nvar capitalize = function (m, p1, p2) {\n if (m.length > 0) {\n return p1 + p2.toUpperCase();\n }\n return m;\n};\n\nvar ImageElementContainer = /** @class */ (function (_super) {\n __extends(ImageElementContainer, _super);\n function ImageElementContainer(context, img) {\n var _this = _super.call(this, context, img) || this;\n _this.src = img.currentSrc || img.src;\n _this.intrinsicWidth = img.naturalWidth;\n _this.intrinsicHeight = img.naturalHeight;\n _this.context.cache.addImage(_this.src);\n return _this;\n }\n return ImageElementContainer;\n}(ElementContainer));\n\nvar CanvasElementContainer = /** @class */ (function (_super) {\n __extends(CanvasElementContainer, _super);\n function CanvasElementContainer(context, canvas) {\n var _this = _super.call(this, context, canvas) || this;\n _this.canvas = canvas;\n _this.intrinsicWidth = canvas.width;\n _this.intrinsicHeight = canvas.height;\n return _this;\n }\n return CanvasElementContainer;\n}(ElementContainer));\n\nvar SVGElementContainer = /** @class */ (function (_super) {\n __extends(SVGElementContainer, _super);\n function SVGElementContainer(context, img) {\n var _this = _super.call(this, context, img) || this;\n var s = new XMLSerializer();\n var bounds = parseBounds(context, img);\n img.setAttribute('width', bounds.width + \"px\");\n img.setAttribute('height', bounds.height + \"px\");\n _this.svg = \"data:image/svg+xml,\" + encodeURIComponent(s.serializeToString(img));\n _this.intrinsicWidth = img.width.baseVal.value;\n _this.intrinsicHeight = img.height.baseVal.value;\n _this.context.cache.addImage(_this.svg);\n return _this;\n }\n return SVGElementContainer;\n}(ElementContainer));\n\nvar LIElementContainer = /** @class */ (function (_super) {\n __extends(LIElementContainer, _super);\n function LIElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.value = element.value;\n return _this;\n }\n return LIElementContainer;\n}(ElementContainer));\n\nvar OLElementContainer = /** @class */ (function (_super) {\n __extends(OLElementContainer, _super);\n function OLElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.start = element.start;\n _this.reversed = typeof element.reversed === 'boolean' && element.reversed === true;\n return _this;\n }\n return OLElementContainer;\n}(ElementContainer));\n\nvar CHECKBOX_BORDER_RADIUS = [\n {\n type: 15 /* DIMENSION_TOKEN */,\n flags: 0,\n unit: 'px',\n number: 3\n }\n];\nvar RADIO_BORDER_RADIUS = [\n {\n type: 16 /* PERCENTAGE_TOKEN */,\n flags: 0,\n number: 50\n }\n];\nvar reformatInputBounds = function (bounds) {\n if (bounds.width > bounds.height) {\n return new Bounds(bounds.left + (bounds.width - bounds.height) / 2, bounds.top, bounds.height, bounds.height);\n }\n else if (bounds.width < bounds.height) {\n return new Bounds(bounds.left, bounds.top + (bounds.height - bounds.width) / 2, bounds.width, bounds.width);\n }\n return bounds;\n};\nvar getInputValue = function (node) {\n var value = node.type === PASSWORD ? new Array(node.value.length + 1).join('\\u2022') : node.value;\n return value.length === 0 ? node.placeholder || '' : value;\n};\nvar CHECKBOX = 'checkbox';\nvar RADIO = 'radio';\nvar PASSWORD = 'password';\nvar INPUT_COLOR = 0x2a2a2aff;\nvar InputElementContainer = /** @class */ (function (_super) {\n __extends(InputElementContainer, _super);\n function InputElementContainer(context, input) {\n var _this = _super.call(this, context, input) || this;\n _this.type = input.type.toLowerCase();\n _this.checked = input.checked;\n _this.value = getInputValue(input);\n if (_this.type === CHECKBOX || _this.type === RADIO) {\n _this.styles.backgroundColor = 0xdededeff;\n _this.styles.borderTopColor =\n _this.styles.borderRightColor =\n _this.styles.borderBottomColor =\n _this.styles.borderLeftColor =\n 0xa5a5a5ff;\n _this.styles.borderTopWidth =\n _this.styles.borderRightWidth =\n _this.styles.borderBottomWidth =\n _this.styles.borderLeftWidth =\n 1;\n _this.styles.borderTopStyle =\n _this.styles.borderRightStyle =\n _this.styles.borderBottomStyle =\n _this.styles.borderLeftStyle =\n 1 /* SOLID */;\n _this.styles.backgroundClip = [0 /* BORDER_BOX */];\n _this.styles.backgroundOrigin = [0 /* BORDER_BOX */];\n _this.bounds = reformatInputBounds(_this.bounds);\n }\n switch (_this.type) {\n case CHECKBOX:\n _this.styles.borderTopRightRadius =\n _this.styles.borderTopLeftRadius =\n _this.styles.borderBottomRightRadius =\n _this.styles.borderBottomLeftRadius =\n CHECKBOX_BORDER_RADIUS;\n break;\n case RADIO:\n _this.styles.borderTopRightRadius =\n _this.styles.borderTopLeftRadius =\n _this.styles.borderBottomRightRadius =\n _this.styles.borderBottomLeftRadius =\n RADIO_BORDER_RADIUS;\n break;\n }\n return _this;\n }\n return InputElementContainer;\n}(ElementContainer));\n\nvar SelectElementContainer = /** @class */ (function (_super) {\n __extends(SelectElementContainer, _super);\n function SelectElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n var option = element.options[element.selectedIndex || 0];\n _this.value = option ? option.text || '' : '';\n return _this;\n }\n return SelectElementContainer;\n}(ElementContainer));\n\nvar TextareaElementContainer = /** @class */ (function (_super) {\n __extends(TextareaElementContainer, _super);\n function TextareaElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.value = element.value;\n return _this;\n }\n return TextareaElementContainer;\n}(ElementContainer));\n\nvar IFrameElementContainer = /** @class */ (function (_super) {\n __extends(IFrameElementContainer, _super);\n function IFrameElementContainer(context, iframe) {\n var _this = _super.call(this, context, iframe) || this;\n _this.src = iframe.src;\n _this.width = parseInt(iframe.width, 10) || 0;\n _this.height = parseInt(iframe.height, 10) || 0;\n _this.backgroundColor = _this.styles.backgroundColor;\n try {\n if (iframe.contentWindow &&\n iframe.contentWindow.document &&\n iframe.contentWindow.document.documentElement) {\n _this.tree = parseTree(context, iframe.contentWindow.document.documentElement);\n // http://www.w3.org/TR/css3-background/#special-backgrounds\n var documentBackgroundColor = iframe.contentWindow.document.documentElement\n ? parseColor(context, getComputedStyle(iframe.contentWindow.document.documentElement).backgroundColor)\n : COLORS.TRANSPARENT;\n var bodyBackgroundColor = iframe.contentWindow.document.body\n ? parseColor(context, getComputedStyle(iframe.contentWindow.document.body).backgroundColor)\n : COLORS.TRANSPARENT;\n _this.backgroundColor = isTransparent(documentBackgroundColor)\n ? isTransparent(bodyBackgroundColor)\n ? _this.styles.backgroundColor\n : bodyBackgroundColor\n : documentBackgroundColor;\n }\n }\n catch (e) { }\n return _this;\n }\n return IFrameElementContainer;\n}(ElementContainer));\n\nvar LIST_OWNERS = ['OL', 'UL', 'MENU'];\nvar parseNodeTree = function (context, node, parent, root) {\n for (var childNode = node.firstChild, nextNode = void 0; childNode; childNode = nextNode) {\n nextNode = childNode.nextSibling;\n if (isTextNode(childNode) && childNode.data.trim().length > 0) {\n parent.textNodes.push(new TextContainer(context, childNode, parent.styles));\n }\n else if (isElementNode(childNode)) {\n if (isSlotElement(childNode) && childNode.assignedNodes) {\n childNode.assignedNodes().forEach(function (childNode) { return parseNodeTree(context, childNode, parent, root); });\n }\n else {\n var container = createContainer(context, childNode);\n if (container.styles.isVisible()) {\n if (createsRealStackingContext(childNode, container, root)) {\n container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n }\n else if (createsStackingContext(container.styles)) {\n container.flags |= 2 /* CREATES_STACKING_CONTEXT */;\n }\n if (LIST_OWNERS.indexOf(childNode.tagName) !== -1) {\n container.flags |= 8 /* IS_LIST_OWNER */;\n }\n parent.elements.push(container);\n childNode.slot;\n if (childNode.shadowRoot) {\n parseNodeTree(context, childNode.shadowRoot, container, root);\n }\n else if (!isTextareaElement(childNode) &&\n !isSVGElement(childNode) &&\n !isSelectElement(childNode)) {\n parseNodeTree(context, childNode, container, root);\n }\n }\n }\n }\n }\n};\nvar createContainer = function (context, element) {\n if (isImageElement(element)) {\n return new ImageElementContainer(context, element);\n }\n if (isCanvasElement(element)) {\n return new CanvasElementContainer(context, element);\n }\n if (isSVGElement(element)) {\n return new SVGElementContainer(context, element);\n }\n if (isLIElement(element)) {\n return new LIElementContainer(context, element);\n }\n if (isOLElement(element)) {\n return new OLElementContainer(context, element);\n }\n if (isInputElement(element)) {\n return new InputElementContainer(context, element);\n }\n if (isSelectElement(element)) {\n return new SelectElementContainer(context, element);\n }\n if (isTextareaElement(element)) {\n return new TextareaElementContainer(context, element);\n }\n if (isIFrameElement(element)) {\n return new IFrameElementContainer(context, element);\n }\n return new ElementContainer(context, element);\n};\nvar parseTree = function (context, element) {\n var container = createContainer(context, element);\n container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n parseNodeTree(context, element, container, container);\n return container;\n};\nvar createsRealStackingContext = function (node, container, root) {\n return (container.styles.isPositionedWithZIndex() ||\n container.styles.opacity < 1 ||\n container.styles.isTransformed() ||\n (isBodyElement(node) && root.styles.isTransparent()));\n};\nvar createsStackingContext = function (styles) { return styles.isPositioned() || styles.isFloating(); };\nvar isTextNode = function (node) { return node.nodeType === Node.TEXT_NODE; };\nvar isElementNode = function (node) { return node.nodeType === Node.ELEMENT_NODE; };\nvar isHTMLElementNode = function (node) {\n return isElementNode(node) && typeof node.style !== 'undefined' && !isSVGElementNode(node);\n};\nvar isSVGElementNode = function (element) {\n return typeof element.className === 'object';\n};\nvar isLIElement = function (node) { return node.tagName === 'LI'; };\nvar isOLElement = function (node) { return node.tagName === 'OL'; };\nvar isInputElement = function (node) { return node.tagName === 'INPUT'; };\nvar isHTMLElement = function (node) { return node.tagName === 'HTML'; };\nvar isSVGElement = function (node) { return node.tagName === 'svg'; };\nvar isBodyElement = function (node) { return node.tagName === 'BODY'; };\nvar isCanvasElement = function (node) { return node.tagName === 'CANVAS'; };\nvar isVideoElement = function (node) { return node.tagName === 'VIDEO'; };\nvar isImageElement = function (node) { return node.tagName === 'IMG'; };\nvar isIFrameElement = function (node) { return node.tagName === 'IFRAME'; };\nvar isStyleElement = function (node) { return node.tagName === 'STYLE'; };\nvar isScriptElement = function (node) { return node.tagName === 'SCRIPT'; };\nvar isTextareaElement = function (node) { return node.tagName === 'TEXTAREA'; };\nvar isSelectElement = function (node) { return node.tagName === 'SELECT'; };\nvar isSlotElement = function (node) { return node.tagName === 'SLOT'; };\n// https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\nvar isCustomElement = function (node) { return node.tagName.indexOf('-') > 0; };\n\nvar CounterState = /** @class */ (function () {\n function CounterState() {\n this.counters = {};\n }\n CounterState.prototype.getCounterValue = function (name) {\n var counter = this.counters[name];\n if (counter && counter.length) {\n return counter[counter.length - 1];\n }\n return 1;\n };\n CounterState.prototype.getCounterValues = function (name) {\n var counter = this.counters[name];\n return counter ? counter : [];\n };\n CounterState.prototype.pop = function (counters) {\n var _this = this;\n counters.forEach(function (counter) { return _this.counters[counter].pop(); });\n };\n CounterState.prototype.parse = function (style) {\n var _this = this;\n var counterIncrement = style.counterIncrement;\n var counterReset = style.counterReset;\n var canReset = true;\n if (counterIncrement !== null) {\n counterIncrement.forEach(function (entry) {\n var counter = _this.counters[entry.counter];\n if (counter && entry.increment !== 0) {\n canReset = false;\n if (!counter.length) {\n counter.push(1);\n }\n counter[Math.max(0, counter.length - 1)] += entry.increment;\n }\n });\n }\n var counterNames = [];\n if (canReset) {\n counterReset.forEach(function (entry) {\n var counter = _this.counters[entry.counter];\n counterNames.push(entry.counter);\n if (!counter) {\n counter = _this.counters[entry.counter] = [];\n }\n counter.push(entry.reset);\n });\n }\n return counterNames;\n };\n return CounterState;\n}());\nvar ROMAN_UPPER = {\n integers: [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1],\n values: ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']\n};\nvar ARMENIAN = {\n integers: [\n 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70,\n 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'Ք',\n 'Փ',\n 'Ւ',\n 'Ց',\n 'Ր',\n 'Տ',\n 'Վ',\n 'Ս',\n 'Ռ',\n 'Ջ',\n 'Պ',\n 'Չ',\n 'Ո',\n 'Շ',\n 'Ն',\n 'Յ',\n 'Մ',\n 'Ճ',\n 'Ղ',\n 'Ձ',\n 'Հ',\n 'Կ',\n 'Ծ',\n 'Խ',\n 'Լ',\n 'Ի',\n 'Ժ',\n 'Թ',\n 'Ը',\n 'Է',\n 'Զ',\n 'Ե',\n 'Դ',\n 'Գ',\n 'Բ',\n 'Ա'\n ]\n};\nvar HEBREW = {\n integers: [\n 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20,\n 19, 18, 17, 16, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'י׳',\n 'ט׳',\n 'ח׳',\n 'ז׳',\n 'ו׳',\n 'ה׳',\n 'ד׳',\n 'ג׳',\n 'ב׳',\n 'א׳',\n 'ת',\n 'ש',\n 'ר',\n 'ק',\n 'צ',\n 'פ',\n 'ע',\n 'ס',\n 'נ',\n 'מ',\n 'ל',\n 'כ',\n 'יט',\n 'יח',\n 'יז',\n 'טז',\n 'טו',\n 'י',\n 'ט',\n 'ח',\n 'ז',\n 'ו',\n 'ה',\n 'ד',\n 'ג',\n 'ב',\n 'א'\n ]\n};\nvar GEORGIAN = {\n integers: [\n 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90,\n 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'ჵ',\n 'ჰ',\n 'ჯ',\n 'ჴ',\n 'ხ',\n 'ჭ',\n 'წ',\n 'ძ',\n 'ც',\n 'ჩ',\n 'შ',\n 'ყ',\n 'ღ',\n 'ქ',\n 'ფ',\n 'ჳ',\n 'ტ',\n 'ს',\n 'რ',\n 'ჟ',\n 'პ',\n 'ო',\n 'ჲ',\n 'ნ',\n 'მ',\n 'ლ',\n 'კ',\n 'ი',\n 'თ',\n 'ჱ',\n 'ზ',\n 'ვ',\n 'ე',\n 'დ',\n 'გ',\n 'ბ',\n 'ა'\n ]\n};\nvar createAdditiveCounter = function (value, min, max, symbols, fallback, suffix) {\n if (value < min || value > max) {\n return createCounterText(value, fallback, suffix.length > 0);\n }\n return (symbols.integers.reduce(function (string, integer, index) {\n while (value >= integer) {\n value -= integer;\n string += symbols.values[index];\n }\n return string;\n }, '') + suffix);\n};\nvar createCounterStyleWithSymbolResolver = function (value, codePointRangeLength, isNumeric, resolver) {\n var string = '';\n do {\n if (!isNumeric) {\n value--;\n }\n string = resolver(value) + string;\n value /= codePointRangeLength;\n } while (value * codePointRangeLength >= codePointRangeLength);\n return string;\n};\nvar createCounterStyleFromRange = function (value, codePointRangeStart, codePointRangeEnd, isNumeric, suffix) {\n var codePointRangeLength = codePointRangeEnd - codePointRangeStart + 1;\n return ((value < 0 ? '-' : '') +\n (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, isNumeric, function (codePoint) {\n return fromCodePoint$1(Math.floor(codePoint % codePointRangeLength) + codePointRangeStart);\n }) +\n suffix));\n};\nvar createCounterStyleFromSymbols = function (value, symbols, suffix) {\n if (suffix === void 0) { suffix = '. '; }\n var codePointRangeLength = symbols.length;\n return (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, false, function (codePoint) { return symbols[Math.floor(codePoint % codePointRangeLength)]; }) + suffix);\n};\nvar CJK_ZEROS = 1 << 0;\nvar CJK_TEN_COEFFICIENTS = 1 << 1;\nvar CJK_TEN_HIGH_COEFFICIENTS = 1 << 2;\nvar CJK_HUNDRED_COEFFICIENTS = 1 << 3;\nvar createCJKCounter = function (value, numbers, multipliers, negativeSign, suffix, flags) {\n if (value < -9999 || value > 9999) {\n return createCounterText(value, 4 /* CJK_DECIMAL */, suffix.length > 0);\n }\n var tmp = Math.abs(value);\n var string = suffix;\n if (tmp === 0) {\n return numbers[0] + string;\n }\n for (var digit = 0; tmp > 0 && digit <= 4; digit++) {\n var coefficient = tmp % 10;\n if (coefficient === 0 && contains(flags, CJK_ZEROS) && string !== '') {\n string = numbers[coefficient] + string;\n }\n else if (coefficient > 1 ||\n (coefficient === 1 && digit === 0) ||\n (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_COEFFICIENTS)) ||\n (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_HIGH_COEFFICIENTS) && value > 100) ||\n (coefficient === 1 && digit > 1 && contains(flags, CJK_HUNDRED_COEFFICIENTS))) {\n string = numbers[coefficient] + (digit > 0 ? multipliers[digit - 1] : '') + string;\n }\n else if (coefficient === 1 && digit > 0) {\n string = multipliers[digit - 1] + string;\n }\n tmp = Math.floor(tmp / 10);\n }\n return (value < 0 ? negativeSign : '') + string;\n};\nvar CHINESE_INFORMAL_MULTIPLIERS = '十百千萬';\nvar CHINESE_FORMAL_MULTIPLIERS = '拾佰仟萬';\nvar JAPANESE_NEGATIVE = 'マイナス';\nvar KOREAN_NEGATIVE = '마이너스';\nvar createCounterText = function (value, type, appendSuffix) {\n var defaultSuffix = appendSuffix ? '. ' : '';\n var cjkSuffix = appendSuffix ? '、' : '';\n var koreanSuffix = appendSuffix ? ', ' : '';\n var spaceSuffix = appendSuffix ? ' ' : '';\n switch (type) {\n case 0 /* DISC */:\n return '•' + spaceSuffix;\n case 1 /* CIRCLE */:\n return '◦' + spaceSuffix;\n case 2 /* SQUARE */:\n return '◾' + spaceSuffix;\n case 5 /* DECIMAL_LEADING_ZERO */:\n var string = createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n return string.length < 4 ? \"0\" + string : string;\n case 4 /* CJK_DECIMAL */:\n return createCounterStyleFromSymbols(value, '〇一二三四五六七八九', cjkSuffix);\n case 6 /* LOWER_ROMAN */:\n return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n case 7 /* UPPER_ROMAN */:\n return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix);\n case 8 /* LOWER_GREEK */:\n return createCounterStyleFromRange(value, 945, 969, false, defaultSuffix);\n case 9 /* LOWER_ALPHA */:\n return createCounterStyleFromRange(value, 97, 122, false, defaultSuffix);\n case 10 /* UPPER_ALPHA */:\n return createCounterStyleFromRange(value, 65, 90, false, defaultSuffix);\n case 11 /* ARABIC_INDIC */:\n return createCounterStyleFromRange(value, 1632, 1641, true, defaultSuffix);\n case 12 /* ARMENIAN */:\n case 49 /* UPPER_ARMENIAN */:\n return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix);\n case 35 /* LOWER_ARMENIAN */:\n return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n case 13 /* BENGALI */:\n return createCounterStyleFromRange(value, 2534, 2543, true, defaultSuffix);\n case 14 /* CAMBODIAN */:\n case 30 /* KHMER */:\n return createCounterStyleFromRange(value, 6112, 6121, true, defaultSuffix);\n case 15 /* CJK_EARTHLY_BRANCH */:\n return createCounterStyleFromSymbols(value, '子丑寅卯辰巳午未申酉戌亥', cjkSuffix);\n case 16 /* CJK_HEAVENLY_STEM */:\n return createCounterStyleFromSymbols(value, '甲乙丙丁戊己庚辛壬癸', cjkSuffix);\n case 17 /* CJK_IDEOGRAPHIC */:\n case 48 /* TRAD_CHINESE_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 47 /* TRAD_CHINESE_FORMAL */:\n return createCJKCounter(value, '零壹貳參肆伍陸柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 42 /* SIMP_CHINESE_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 41 /* SIMP_CHINESE_FORMAL */:\n return createCJKCounter(value, '零壹贰叁肆伍陆柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 26 /* JAPANESE_INFORMAL */:\n return createCJKCounter(value, '〇一二三四五六七八九', '十百千万', JAPANESE_NEGATIVE, cjkSuffix, 0);\n case 25 /* JAPANESE_FORMAL */:\n return createCJKCounter(value, '零壱弐参四伍六七八九', '拾百千万', JAPANESE_NEGATIVE, cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 31 /* KOREAN_HANGUL_FORMAL */:\n return createCJKCounter(value, '영일이삼사오육칠팔구', '십백천만', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 33 /* KOREAN_HANJA_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', '十百千萬', KOREAN_NEGATIVE, koreanSuffix, 0);\n case 32 /* KOREAN_HANJA_FORMAL */:\n return createCJKCounter(value, '零壹貳參四五六七八九', '拾百千', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 18 /* DEVANAGARI */:\n return createCounterStyleFromRange(value, 0x966, 0x96f, true, defaultSuffix);\n case 20 /* GEORGIAN */:\n return createAdditiveCounter(value, 1, 19999, GEORGIAN, 3 /* DECIMAL */, defaultSuffix);\n case 21 /* GUJARATI */:\n return createCounterStyleFromRange(value, 0xae6, 0xaef, true, defaultSuffix);\n case 22 /* GURMUKHI */:\n return createCounterStyleFromRange(value, 0xa66, 0xa6f, true, defaultSuffix);\n case 22 /* HEBREW */:\n return createAdditiveCounter(value, 1, 10999, HEBREW, 3 /* DECIMAL */, defaultSuffix);\n case 23 /* HIRAGANA */:\n return createCounterStyleFromSymbols(value, 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん');\n case 24 /* HIRAGANA_IROHA */:\n return createCounterStyleFromSymbols(value, 'いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす');\n case 27 /* KANNADA */:\n return createCounterStyleFromRange(value, 0xce6, 0xcef, true, defaultSuffix);\n case 28 /* KATAKANA */:\n return createCounterStyleFromSymbols(value, 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン', cjkSuffix);\n case 29 /* KATAKANA_IROHA */:\n return createCounterStyleFromSymbols(value, 'イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス', cjkSuffix);\n case 34 /* LAO */:\n return createCounterStyleFromRange(value, 0xed0, 0xed9, true, defaultSuffix);\n case 37 /* MONGOLIAN */:\n return createCounterStyleFromRange(value, 0x1810, 0x1819, true, defaultSuffix);\n case 38 /* MYANMAR */:\n return createCounterStyleFromRange(value, 0x1040, 0x1049, true, defaultSuffix);\n case 39 /* ORIYA */:\n return createCounterStyleFromRange(value, 0xb66, 0xb6f, true, defaultSuffix);\n case 40 /* PERSIAN */:\n return createCounterStyleFromRange(value, 0x6f0, 0x6f9, true, defaultSuffix);\n case 43 /* TAMIL */:\n return createCounterStyleFromRange(value, 0xbe6, 0xbef, true, defaultSuffix);\n case 44 /* TELUGU */:\n return createCounterStyleFromRange(value, 0xc66, 0xc6f, true, defaultSuffix);\n case 45 /* THAI */:\n return createCounterStyleFromRange(value, 0xe50, 0xe59, true, defaultSuffix);\n case 46 /* TIBETAN */:\n return createCounterStyleFromRange(value, 0xf20, 0xf29, true, defaultSuffix);\n case 3 /* DECIMAL */:\n default:\n return createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n }\n};\n\nvar IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\nvar DocumentCloner = /** @class */ (function () {\n function DocumentCloner(context, element, options) {\n this.context = context;\n this.options = options;\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false);\n }\n DocumentCloner.prototype.toIFrame = function (ownerDocument, windowSize) {\n var _this = this;\n var iframe = createIFrameContainer(ownerDocument, windowSize);\n if (!iframe.contentWindow) {\n return Promise.reject(\"Unable to find iframe window\");\n }\n var scrollX = ownerDocument.defaultView.pageXOffset;\n var scrollY = ownerDocument.defaultView.pageYOffset;\n var cloneWindow = iframe.contentWindow;\n var documentClone = cloneWindow.document;\n /* Chrome doesn't detect relative background-images assigned in inline <style> sheets when fetched through getComputedStyle\n if window url is about:blank, we can assign the url to current by writing onto the document\n */\n var iframeLoad = iframeLoader(iframe).then(function () { return __awaiter(_this, void 0, void 0, function () {\n var onclone, referenceElement;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.scrolledElements.forEach(restoreNodeScroll);\n if (cloneWindow) {\n cloneWindow.scrollTo(windowSize.left, windowSize.top);\n if (/(iPad|iPhone|iPod)/g.test(navigator.userAgent) &&\n (cloneWindow.scrollY !== windowSize.top || cloneWindow.scrollX !== windowSize.left)) {\n this.context.logger.warn('Unable to restore scroll position for cloned document');\n this.context.windowBounds = this.context.windowBounds.add(cloneWindow.scrollX - windowSize.left, cloneWindow.scrollY - windowSize.top, 0, 0);\n }\n }\n onclone = this.options.onclone;\n referenceElement = this.clonedReferenceElement;\n if (typeof referenceElement === 'undefined') {\n return [2 /*return*/, Promise.reject(\"Error finding the \" + this.referenceElement.nodeName + \" in the cloned document\")];\n }\n if (!(documentClone.fonts && documentClone.fonts.ready)) return [3 /*break*/, 2];\n return [4 /*yield*/, documentClone.fonts.ready];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n if (!/(AppleWebKit)/g.test(navigator.userAgent)) return [3 /*break*/, 4];\n return [4 /*yield*/, imagesReady(documentClone)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n if (typeof onclone === 'function') {\n return [2 /*return*/, Promise.resolve()\n .then(function () { return onclone(documentClone, referenceElement); })\n .then(function () { return iframe; })];\n }\n return [2 /*return*/, iframe];\n }\n });\n }); });\n documentClone.open();\n documentClone.write(serializeDoctype(document.doctype) + \"<html></html>\");\n // Chrome scrolls the parent document for some reason after the write to the cloned window???\n restoreOwnerScroll(this.referenceElement.ownerDocument, scrollX, scrollY);\n documentClone.replaceChild(documentClone.adoptNode(this.documentElement), documentClone.documentElement);\n documentClone.close();\n return iframeLoad;\n };\n DocumentCloner.prototype.createElementClone = function (node) {\n if (isDebugging(node, 2 /* CLONE */)) {\n debugger;\n }\n if (isCanvasElement(node)) {\n return this.createCanvasClone(node);\n }\n if (isVideoElement(node)) {\n return this.createVideoClone(node);\n }\n if (isStyleElement(node)) {\n return this.createStyleClone(node);\n }\n var clone = node.cloneNode(false);\n if (isImageElement(clone)) {\n if (isImageElement(node) && node.currentSrc && node.currentSrc !== node.src) {\n clone.src = node.currentSrc;\n clone.srcset = '';\n }\n if (clone.loading === 'lazy') {\n clone.loading = 'eager';\n }\n }\n if (isCustomElement(clone)) {\n return this.createCustomElementClone(clone);\n }\n return clone;\n };\n DocumentCloner.prototype.createCustomElementClone = function (node) {\n var clone = document.createElement('html2canvascustomelement');\n copyCSSStyles(node.style, clone);\n return clone;\n };\n DocumentCloner.prototype.createStyleClone = function (node) {\n try {\n var sheet = node.sheet;\n if (sheet && sheet.cssRules) {\n var css = [].slice.call(sheet.cssRules, 0).reduce(function (css, rule) {\n if (rule && typeof rule.cssText === 'string') {\n return css + rule.cssText;\n }\n return css;\n }, '');\n var style = node.cloneNode(false);\n style.textContent = css;\n return style;\n }\n }\n catch (e) {\n // accessing node.sheet.cssRules throws a DOMException\n this.context.logger.error('Unable to access cssRules property', e);\n if (e.name !== 'SecurityError') {\n throw e;\n }\n }\n return node.cloneNode(false);\n };\n DocumentCloner.prototype.createCanvasClone = function (canvas) {\n var _a;\n if (this.options.inlineImages && canvas.ownerDocument) {\n var img = canvas.ownerDocument.createElement('img');\n try {\n img.src = canvas.toDataURL();\n return img;\n }\n catch (e) {\n this.context.logger.info(\"Unable to inline canvas contents, canvas is tainted\", canvas);\n }\n }\n var clonedCanvas = canvas.cloneNode(false);\n try {\n clonedCanvas.width = canvas.width;\n clonedCanvas.height = canvas.height;\n var ctx = canvas.getContext('2d');\n var clonedCtx = clonedCanvas.getContext('2d');\n if (clonedCtx) {\n if (!this.options.allowTaint && ctx) {\n clonedCtx.putImageData(ctx.getImageData(0, 0, canvas.width, canvas.height), 0, 0);\n }\n else {\n var gl = (_a = canvas.getContext('webgl2')) !== null && _a !== void 0 ? _a : canvas.getContext('webgl');\n if (gl) {\n var attribs = gl.getContextAttributes();\n if ((attribs === null || attribs === void 0 ? void 0 : attribs.preserveDrawingBuffer) === false) {\n this.context.logger.warn('Unable to clone WebGL context as it has preserveDrawingBuffer=false', canvas);\n }\n }\n clonedCtx.drawImage(canvas, 0, 0);\n }\n }\n return clonedCanvas;\n }\n catch (e) {\n this.context.logger.info(\"Unable to clone canvas as it is tainted\", canvas);\n }\n return clonedCanvas;\n };\n DocumentCloner.prototype.createVideoClone = function (video) {\n var canvas = video.ownerDocument.createElement('canvas');\n canvas.width = video.offsetWidth;\n canvas.height = video.offsetHeight;\n var ctx = canvas.getContext('2d');\n try {\n if (ctx) {\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n if (!this.options.allowTaint) {\n ctx.getImageData(0, 0, canvas.width, canvas.height);\n }\n }\n return canvas;\n }\n catch (e) {\n this.context.logger.info(\"Unable to clone video as it is tainted\", video);\n }\n var blankCanvas = video.ownerDocument.createElement('canvas');\n blankCanvas.width = video.offsetWidth;\n blankCanvas.height = video.offsetHeight;\n return blankCanvas;\n };\n DocumentCloner.prototype.appendChildNode = function (clone, child, copyStyles) {\n if (!isElementNode(child) ||\n (!isScriptElement(child) &&\n !child.hasAttribute(IGNORE_ATTRIBUTE) &&\n (typeof this.options.ignoreElements !== 'function' || !this.options.ignoreElements(child)))) {\n if (!this.options.copyStyles || !isElementNode(child) || !isStyleElement(child)) {\n clone.appendChild(this.cloneNode(child, copyStyles));\n }\n }\n };\n DocumentCloner.prototype.cloneChildNodes = function (node, clone, copyStyles) {\n var _this = this;\n for (var child = node.shadowRoot ? node.shadowRoot.firstChild : node.firstChild; child; child = child.nextSibling) {\n if (isElementNode(child) && isSlotElement(child) && typeof child.assignedNodes === 'function') {\n var assignedNodes = child.assignedNodes();\n if (assignedNodes.length) {\n assignedNodes.forEach(function (assignedNode) { return _this.appendChildNode(clone, assignedNode, copyStyles); });\n }\n }\n else {\n this.appendChildNode(clone, child, copyStyles);\n }\n }\n };\n DocumentCloner.prototype.cloneNode = function (node, copyStyles) {\n if (isTextNode(node)) {\n return document.createTextNode(node.data);\n }\n if (!node.ownerDocument) {\n return node.cloneNode(false);\n }\n var window = node.ownerDocument.defaultView;\n if (window && isElementNode(node) && (isHTMLElementNode(node) || isSVGElementNode(node))) {\n var clone = this.createElementClone(node);\n clone.style.transitionProperty = 'none';\n var style = window.getComputedStyle(node);\n var styleBefore = window.getComputedStyle(node, ':before');\n var styleAfter = window.getComputedStyle(node, ':after');\n if (this.referenceElement === node && isHTMLElementNode(clone)) {\n this.clonedReferenceElement = clone;\n }\n if (isBodyElement(clone)) {\n createPseudoHideStyles(clone);\n }\n var counters = this.counters.parse(new CSSParsedCounterDeclaration(this.context, style));\n var before = this.resolvePseudoContent(node, clone, styleBefore, PseudoElementType.BEFORE);\n if (isCustomElement(node)) {\n copyStyles = true;\n }\n if (!isVideoElement(node)) {\n this.cloneChildNodes(node, clone, copyStyles);\n }\n if (before) {\n clone.insertBefore(before, clone.firstChild);\n }\n var after = this.resolvePseudoContent(node, clone, styleAfter, PseudoElementType.AFTER);\n if (after) {\n clone.appendChild(after);\n }\n this.counters.pop(counters);\n if ((style && (this.options.copyStyles || isSVGElementNode(node)) && !isIFrameElement(node)) ||\n copyStyles) {\n copyCSSStyles(style, clone);\n }\n if (node.scrollTop !== 0 || node.scrollLeft !== 0) {\n this.scrolledElements.push([clone, node.scrollLeft, node.scrollTop]);\n }\n if ((isTextareaElement(node) || isSelectElement(node)) &&\n (isTextareaElement(clone) || isSelectElement(clone))) {\n clone.value = node.value;\n }\n return clone;\n }\n return node.cloneNode(false);\n };\n DocumentCloner.prototype.resolvePseudoContent = function (node, clone, style, pseudoElt) {\n var _this = this;\n if (!style) {\n return;\n }\n var value = style.content;\n var document = clone.ownerDocument;\n if (!document || !value || value === 'none' || value === '-moz-alt-content' || style.display === 'none') {\n return;\n }\n this.counters.parse(new CSSParsedCounterDeclaration(this.context, style));\n var declaration = new CSSParsedPseudoDeclaration(this.context, style);\n var anonymousReplacedElement = document.createElement('html2canvaspseudoelement');\n copyCSSStyles(style, anonymousReplacedElement);\n declaration.content.forEach(function (token) {\n if (token.type === 0 /* STRING_TOKEN */) {\n anonymousReplacedElement.appendChild(document.createTextNode(token.value));\n }\n else if (token.type === 22 /* URL_TOKEN */) {\n var img = document.createElement('img');\n img.src = token.value;\n img.style.opacity = '1';\n anonymousReplacedElement.appendChild(img);\n }\n else if (token.type === 18 /* FUNCTION */) {\n if (token.name === 'attr') {\n var attr = token.values.filter(isIdentToken);\n if (attr.length) {\n anonymousReplacedElement.appendChild(document.createTextNode(node.getAttribute(attr[0].value) || ''));\n }\n }\n else if (token.name === 'counter') {\n var _a = token.values.filter(nonFunctionArgSeparator), counter = _a[0], counterStyle = _a[1];\n if (counter && isIdentToken(counter)) {\n var counterState = _this.counters.getCounterValue(counter.value);\n var counterType = counterStyle && isIdentToken(counterStyle)\n ? listStyleType.parse(_this.context, counterStyle.value)\n : 3 /* DECIMAL */;\n anonymousReplacedElement.appendChild(document.createTextNode(createCounterText(counterState, counterType, false)));\n }\n }\n else if (token.name === 'counters') {\n var _b = token.values.filter(nonFunctionArgSeparator), counter = _b[0], delim = _b[1], counterStyle = _b[2];\n if (counter && isIdentToken(counter)) {\n var counterStates = _this.counters.getCounterValues(counter.value);\n var counterType_1 = counterStyle && isIdentToken(counterStyle)\n ? listStyleType.parse(_this.context, counterStyle.value)\n : 3 /* DECIMAL */;\n var separator = delim && delim.type === 0 /* STRING_TOKEN */ ? delim.value : '';\n var text = counterStates\n .map(function (value) { return createCounterText(value, counterType_1, false); })\n .join(separator);\n anonymousReplacedElement.appendChild(document.createTextNode(text));\n }\n }\n else ;\n }\n else if (token.type === 20 /* IDENT_TOKEN */) {\n switch (token.value) {\n case 'open-quote':\n anonymousReplacedElement.appendChild(document.createTextNode(getQuote(declaration.quotes, _this.quoteDepth++, true)));\n break;\n case 'close-quote':\n anonymousReplacedElement.appendChild(document.createTextNode(getQuote(declaration.quotes, --_this.quoteDepth, false)));\n break;\n default:\n // safari doesn't parse string tokens correctly because of lack of quotes\n anonymousReplacedElement.appendChild(document.createTextNode(token.value));\n }\n }\n });\n anonymousReplacedElement.className = PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + \" \" + PSEUDO_HIDE_ELEMENT_CLASS_AFTER;\n var newClassName = pseudoElt === PseudoElementType.BEFORE\n ? \" \" + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE\n : \" \" + PSEUDO_HIDE_ELEMENT_CLASS_AFTER;\n if (isSVGElementNode(clone)) {\n clone.className.baseValue += newClassName;\n }\n else {\n clone.className += newClassName;\n }\n return anonymousReplacedElement;\n };\n DocumentCloner.destroy = function (container) {\n if (container.parentNode) {\n container.parentNode.removeChild(container);\n return true;\n }\n return false;\n };\n return DocumentCloner;\n}());\nvar PseudoElementType;\n(function (PseudoElementType) {\n PseudoElementType[PseudoElementType[\"BEFORE\"] = 0] = \"BEFORE\";\n PseudoElementType[PseudoElementType[\"AFTER\"] = 1] = \"AFTER\";\n})(PseudoElementType || (PseudoElementType = {}));\nvar createIFrameContainer = function (ownerDocument, bounds) {\n var cloneIframeContainer = ownerDocument.createElement('iframe');\n cloneIframeContainer.className = 'html2canvas-container';\n cloneIframeContainer.style.visibility = 'hidden';\n cloneIframeContainer.style.position = 'fixed';\n cloneIframeContainer.style.left = '-10000px';\n cloneIframeContainer.style.top = '0px';\n cloneIframeContainer.style.border = '0';\n cloneIframeContainer.width = bounds.width.toString();\n cloneIframeContainer.height = bounds.height.toString();\n cloneIframeContainer.scrolling = 'no'; // ios won't scroll without it\n cloneIframeContainer.setAttribute(IGNORE_ATTRIBUTE, 'true');\n ownerDocument.body.appendChild(cloneIframeContainer);\n return cloneIframeContainer;\n};\nvar imageReady = function (img) {\n return new Promise(function (resolve) {\n if (img.complete) {\n resolve();\n return;\n }\n if (!img.src) {\n resolve();\n return;\n }\n img.onload = resolve;\n img.onerror = resolve;\n });\n};\nvar imagesReady = function (document) {\n return Promise.all([].slice.call(document.images, 0).map(imageReady));\n};\nvar iframeLoader = function (iframe) {\n return new Promise(function (resolve, reject) {\n var cloneWindow = iframe.contentWindow;\n if (!cloneWindow) {\n return reject(\"No window assigned for iframe\");\n }\n var documentClone = cloneWindow.document;\n cloneWindow.onload = iframe.onload = function () {\n cloneWindow.onload = iframe.onload = null;\n var interval = setInterval(function () {\n if (documentClone.body.childNodes.length > 0 && documentClone.readyState === 'complete') {\n clearInterval(interval);\n resolve(iframe);\n }\n }, 50);\n };\n });\n};\nvar ignoredStyleProperties = [\n 'all',\n 'd',\n 'content' // Safari shows pseudoelements if content is set\n];\nvar copyCSSStyles = function (style, target) {\n // Edge does not provide value for cssText\n for (var i = style.length - 1; i >= 0; i--) {\n var property = style.item(i);\n if (ignoredStyleProperties.indexOf(property) === -1) {\n target.style.setProperty(property, style.getPropertyValue(property));\n }\n }\n return target;\n};\nvar serializeDoctype = function (doctype) {\n var str = '';\n if (doctype) {\n str += '<!DOCTYPE ';\n if (doctype.name) {\n str += doctype.name;\n }\n if (doctype.internalSubset) {\n str += doctype.internalSubset;\n }\n if (doctype.publicId) {\n str += \"\\\"\" + doctype.publicId + \"\\\"\";\n }\n if (doctype.systemId) {\n str += \"\\\"\" + doctype.systemId + \"\\\"\";\n }\n str += '>';\n }\n return str;\n};\nvar restoreOwnerScroll = function (ownerDocument, x, y) {\n if (ownerDocument &&\n ownerDocument.defaultView &&\n (x !== ownerDocument.defaultView.pageXOffset || y !== ownerDocument.defaultView.pageYOffset)) {\n ownerDocument.defaultView.scrollTo(x, y);\n }\n};\nvar restoreNodeScroll = function (_a) {\n var element = _a[0], x = _a[1], y = _a[2];\n element.scrollLeft = x;\n element.scrollTop = y;\n};\nvar PSEUDO_BEFORE = ':before';\nvar PSEUDO_AFTER = ':after';\nvar PSEUDO_HIDE_ELEMENT_CLASS_BEFORE = '___html2canvas___pseudoelement_before';\nvar PSEUDO_HIDE_ELEMENT_CLASS_AFTER = '___html2canvas___pseudoelement_after';\nvar PSEUDO_HIDE_ELEMENT_STYLE = \"{\\n content: \\\"\\\" !important;\\n display: none !important;\\n}\";\nvar createPseudoHideStyles = function (body) {\n createStyles(body, \".\" + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + PSEUDO_BEFORE + PSEUDO_HIDE_ELEMENT_STYLE + \"\\n .\" + PSEUDO_HIDE_ELEMENT_CLASS_AFTER + PSEUDO_AFTER + PSEUDO_HIDE_ELEMENT_STYLE);\n};\nvar createStyles = function (body, styles) {\n var document = body.ownerDocument;\n if (document) {\n var style = document.createElement('style');\n style.textContent = styles;\n body.appendChild(style);\n }\n};\n\nvar CacheStorage = /** @class */ (function () {\n function CacheStorage() {\n }\n CacheStorage.getOrigin = function (url) {\n var link = CacheStorage._link;\n if (!link) {\n return 'about:blank';\n }\n link.href = url;\n link.href = link.href; // IE9, LOL! - http://jsfiddle.net/niklasvh/2e48b/\n return link.protocol + link.hostname + link.port;\n };\n CacheStorage.isSameOrigin = function (src) {\n return CacheStorage.getOrigin(src) === CacheStorage._origin;\n };\n CacheStorage.setContext = function (window) {\n CacheStorage._link = window.document.createElement('a');\n CacheStorage._origin = CacheStorage.getOrigin(window.location.href);\n };\n CacheStorage._origin = 'about:blank';\n return CacheStorage;\n}());\nvar Cache = /** @class */ (function () {\n function Cache(context, _options) {\n this.context = context;\n this._options = _options;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this._cache = {};\n }\n Cache.prototype.addImage = function (src) {\n var result = Promise.resolve();\n if (this.has(src)) {\n return result;\n }\n if (isBlobImage(src) || isRenderable(src)) {\n (this._cache[src] = this.loadImage(src)).catch(function () {\n // prevent unhandled rejection\n });\n return result;\n }\n return result;\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Cache.prototype.match = function (src) {\n return this._cache[src];\n };\n Cache.prototype.loadImage = function (key) {\n return __awaiter(this, void 0, void 0, function () {\n var isSameOrigin, useCORS, useProxy, src;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isSameOrigin = CacheStorage.isSameOrigin(key);\n useCORS = !isInlineImage(key) && this._options.useCORS === true && FEATURES.SUPPORT_CORS_IMAGES && !isSameOrigin;\n useProxy = !isInlineImage(key) &&\n !isSameOrigin &&\n !isBlobImage(key) &&\n typeof this._options.proxy === 'string' &&\n FEATURES.SUPPORT_CORS_XHR &&\n !useCORS;\n if (!isSameOrigin &&\n this._options.allowTaint === false &&\n !isInlineImage(key) &&\n !isBlobImage(key) &&\n !useProxy &&\n !useCORS) {\n return [2 /*return*/];\n }\n src = key;\n if (!useProxy) return [3 /*break*/, 2];\n return [4 /*yield*/, this.proxy(src)];\n case 1:\n src = _a.sent();\n _a.label = 2;\n case 2:\n this.context.logger.debug(\"Added image \" + key.substring(0, 256));\n return [4 /*yield*/, new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () { return resolve(img); };\n img.onerror = reject;\n //ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous\n if (isInlineBase64Image(src) || useCORS) {\n img.crossOrigin = 'anonymous';\n }\n img.src = src;\n if (img.complete === true) {\n // Inline XML images may fail to parse, throwing an Error later on\n setTimeout(function () { return resolve(img); }, 500);\n }\n if (_this._options.imageTimeout > 0) {\n setTimeout(function () { return reject(\"Timed out (\" + _this._options.imageTimeout + \"ms) loading image\"); }, _this._options.imageTimeout);\n }\n })];\n case 3: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n Cache.prototype.has = function (key) {\n return typeof this._cache[key] !== 'undefined';\n };\n Cache.prototype.keys = function () {\n return Promise.resolve(Object.keys(this._cache));\n };\n Cache.prototype.proxy = function (src) {\n var _this = this;\n var proxy = this._options.proxy;\n if (!proxy) {\n throw new Error('No proxy defined');\n }\n var key = src.substring(0, 256);\n return new Promise(function (resolve, reject) {\n var responseType = FEATURES.SUPPORT_RESPONSE_TYPE ? 'blob' : 'text';\n var xhr = new XMLHttpRequest();\n xhr.onload = function () {\n if (xhr.status === 200) {\n if (responseType === 'text') {\n resolve(xhr.response);\n }\n else {\n var reader_1 = new FileReader();\n reader_1.addEventListener('load', function () { return resolve(reader_1.result); }, false);\n reader_1.addEventListener('error', function (e) { return reject(e); }, false);\n reader_1.readAsDataURL(xhr.response);\n }\n }\n else {\n reject(\"Failed to proxy resource \" + key + \" with status code \" + xhr.status);\n }\n };\n xhr.onerror = reject;\n var queryString = proxy.indexOf('?') > -1 ? '&' : '?';\n xhr.open('GET', \"\" + proxy + queryString + \"url=\" + encodeURIComponent(src) + \"&responseType=\" + responseType);\n if (responseType !== 'text' && xhr instanceof XMLHttpRequest) {\n xhr.responseType = responseType;\n }\n if (_this._options.imageTimeout) {\n var timeout_1 = _this._options.imageTimeout;\n xhr.timeout = timeout_1;\n xhr.ontimeout = function () { return reject(\"Timed out (\" + timeout_1 + \"ms) proxying \" + key); };\n }\n xhr.send();\n });\n };\n return Cache;\n}());\nvar INLINE_SVG = /^data:image\\/svg\\+xml/i;\nvar INLINE_BASE64 = /^data:image\\/.*;base64,/i;\nvar INLINE_IMG = /^data:image\\/.*/i;\nvar isRenderable = function (src) { return FEATURES.SUPPORT_SVG_DRAWING || !isSVG(src); };\nvar isInlineImage = function (src) { return INLINE_IMG.test(src); };\nvar isInlineBase64Image = function (src) { return INLINE_BASE64.test(src); };\nvar isBlobImage = function (src) { return src.substr(0, 4) === 'blob'; };\nvar isSVG = function (src) { return src.substr(-3).toLowerCase() === 'svg' || INLINE_SVG.test(src); };\n\nvar Vector = /** @class */ (function () {\n function Vector(x, y) {\n this.type = 0 /* VECTOR */;\n this.x = x;\n this.y = y;\n }\n Vector.prototype.add = function (deltaX, deltaY) {\n return new Vector(this.x + deltaX, this.y + deltaY);\n };\n return Vector;\n}());\n\nvar lerp = function (a, b, t) {\n return new Vector(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t);\n};\nvar BezierCurve = /** @class */ (function () {\n function BezierCurve(start, startControl, endControl, end) {\n this.type = 1 /* BEZIER_CURVE */;\n this.start = start;\n this.startControl = startControl;\n this.endControl = endControl;\n this.end = end;\n }\n BezierCurve.prototype.subdivide = function (t, firstHalf) {\n var ab = lerp(this.start, this.startControl, t);\n var bc = lerp(this.startControl, this.endControl, t);\n var cd = lerp(this.endControl, this.end, t);\n var abbc = lerp(ab, bc, t);\n var bccd = lerp(bc, cd, t);\n var dest = lerp(abbc, bccd, t);\n return firstHalf ? new BezierCurve(this.start, ab, abbc, dest) : new BezierCurve(dest, bccd, cd, this.end);\n };\n BezierCurve.prototype.add = function (deltaX, deltaY) {\n return new BezierCurve(this.start.add(deltaX, deltaY), this.startControl.add(deltaX, deltaY), this.endControl.add(deltaX, deltaY), this.end.add(deltaX, deltaY));\n };\n BezierCurve.prototype.reverse = function () {\n return new BezierCurve(this.end, this.endControl, this.startControl, this.start);\n };\n return BezierCurve;\n}());\nvar isBezierCurve = function (path) { return path.type === 1 /* BEZIER_CURVE */; };\n\nvar BoundCurves = /** @class */ (function () {\n function BoundCurves(element) {\n var styles = element.styles;\n var bounds = element.bounds;\n var _a = getAbsoluteValueForTuple(styles.borderTopLeftRadius, bounds.width, bounds.height), tlh = _a[0], tlv = _a[1];\n var _b = getAbsoluteValueForTuple(styles.borderTopRightRadius, bounds.width, bounds.height), trh = _b[0], trv = _b[1];\n var _c = getAbsoluteValueForTuple(styles.borderBottomRightRadius, bounds.width, bounds.height), brh = _c[0], brv = _c[1];\n var _d = getAbsoluteValueForTuple(styles.borderBottomLeftRadius, bounds.width, bounds.height), blh = _d[0], blv = _d[1];\n var factors = [];\n factors.push((tlh + trh) / bounds.width);\n factors.push((blh + brh) / bounds.width);\n factors.push((tlv + blv) / bounds.height);\n factors.push((trv + brv) / bounds.height);\n var maxFactor = Math.max.apply(Math, factors);\n if (maxFactor > 1) {\n tlh /= maxFactor;\n tlv /= maxFactor;\n trh /= maxFactor;\n trv /= maxFactor;\n brh /= maxFactor;\n brv /= maxFactor;\n blh /= maxFactor;\n blv /= maxFactor;\n }\n var topWidth = bounds.width - trh;\n var rightHeight = bounds.height - brv;\n var bottomWidth = bounds.width - brh;\n var leftHeight = bounds.height - blv;\n var borderTopWidth = styles.borderTopWidth;\n var borderRightWidth = styles.borderRightWidth;\n var borderBottomWidth = styles.borderBottomWidth;\n var borderLeftWidth = styles.borderLeftWidth;\n var paddingTop = getAbsoluteValue(styles.paddingTop, element.bounds.width);\n var paddingRight = getAbsoluteValue(styles.paddingRight, element.bounds.width);\n var paddingBottom = getAbsoluteValue(styles.paddingBottom, element.bounds.width);\n var paddingLeft = getAbsoluteValue(styles.paddingLeft, element.bounds.width);\n this.topLeftBorderDoubleOuterBox =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth / 3, bounds.top + borderTopWidth / 3, tlh - borderLeftWidth / 3, tlv - borderTopWidth / 3, CORNER.TOP_LEFT)\n : new Vector(bounds.left + borderLeftWidth / 3, bounds.top + borderTopWidth / 3);\n this.topRightBorderDoubleOuterBox =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + topWidth, bounds.top + borderTopWidth / 3, trh - borderRightWidth / 3, trv - borderTopWidth / 3, CORNER.TOP_RIGHT)\n : new Vector(bounds.left + bounds.width - borderRightWidth / 3, bounds.top + borderTopWidth / 3);\n this.bottomRightBorderDoubleOuterBox =\n brh > 0 || brv > 0\n ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - borderRightWidth / 3, brv - borderBottomWidth / 3, CORNER.BOTTOM_RIGHT)\n : new Vector(bounds.left + bounds.width - borderRightWidth / 3, bounds.top + bounds.height - borderBottomWidth / 3);\n this.bottomLeftBorderDoubleOuterBox =\n blh > 0 || blv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth / 3, bounds.top + leftHeight, blh - borderLeftWidth / 3, blv - borderBottomWidth / 3, CORNER.BOTTOM_LEFT)\n : new Vector(bounds.left + borderLeftWidth / 3, bounds.top + bounds.height - borderBottomWidth / 3);\n this.topLeftBorderDoubleInnerBox =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + (borderTopWidth * 2) / 3, tlh - (borderLeftWidth * 2) / 3, tlv - (borderTopWidth * 2) / 3, CORNER.TOP_LEFT)\n : new Vector(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + (borderTopWidth * 2) / 3);\n this.topRightBorderDoubleInnerBox =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + topWidth, bounds.top + (borderTopWidth * 2) / 3, trh - (borderRightWidth * 2) / 3, trv - (borderTopWidth * 2) / 3, CORNER.TOP_RIGHT)\n : new Vector(bounds.left + bounds.width - (borderRightWidth * 2) / 3, bounds.top + (borderTopWidth * 2) / 3);\n this.bottomRightBorderDoubleInnerBox =\n brh > 0 || brv > 0\n ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - (borderRightWidth * 2) / 3, brv - (borderBottomWidth * 2) / 3, CORNER.BOTTOM_RIGHT)\n : new Vector(bounds.left + bounds.width - (borderRightWidth * 2) / 3, bounds.top + bounds.height - (borderBottomWidth * 2) / 3);\n this.bottomLeftBorderDoubleInnerBox =\n blh > 0 || blv > 0\n ? getCurvePoints(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + leftHeight, blh - (borderLeftWidth * 2) / 3, blv - (borderBottomWidth * 2) / 3, CORNER.BOTTOM_LEFT)\n : new Vector(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + bounds.height - (borderBottomWidth * 2) / 3);\n this.topLeftBorderStroke =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth / 2, bounds.top + borderTopWidth / 2, tlh - borderLeftWidth / 2, tlv - borderTopWidth / 2, CORNER.TOP_LEFT)\n : new Vector(bounds.left + borderLeftWidth / 2, bounds.top + borderTopWidth / 2);\n this.topRightBorderStroke =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + topWidth, bounds.top + borderTopWidth / 2, trh - borderRightWidth / 2, trv - borderTopWidth / 2, CORNER.TOP_RIGHT)\n : new Vector(bounds.left + bounds.width - borderRightWidth / 2, bounds.top + borderTopWidth / 2);\n this.bottomRightBorderStroke =\n brh > 0 || brv > 0\n ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - borderRightWidth / 2, brv - borderBottomWidth / 2, CORNER.BOTTOM_RIGHT)\n : new Vector(bounds.left + bounds.width - borderRightWidth / 2, bounds.top + bounds.height - borderBottomWidth / 2);\n this.bottomLeftBorderStroke =\n blh > 0 || blv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth / 2, bounds.top + leftHeight, blh - borderLeftWidth / 2, blv - borderBottomWidth / 2, CORNER.BOTTOM_LEFT)\n : new Vector(bounds.left + borderLeftWidth / 2, bounds.top + bounds.height - borderBottomWidth / 2);\n this.topLeftBorderBox =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left, bounds.top, tlh, tlv, CORNER.TOP_LEFT)\n : new Vector(bounds.left, bounds.top);\n this.topRightBorderBox =\n trh > 0 || trv > 0\n ? getCurvePoints(bounds.left + topWidth, bounds.top, trh, trv, CORNER.TOP_RIGHT)\n : new Vector(bounds.left + bounds.width, bounds.top);\n this.bottomRightBorderBox =\n brh > 0 || brv > 0\n ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh, brv, CORNER.BOTTOM_RIGHT)\n : new Vector(bounds.left + bounds.width, bounds.top + bounds.height);\n this.bottomLeftBorderBox =\n blh > 0 || blv > 0\n ? getCurvePoints(bounds.left, bounds.top + leftHeight, blh, blv, CORNER.BOTTOM_LEFT)\n : new Vector(bounds.left, bounds.top + bounds.height);\n this.topLeftPaddingBox =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth, bounds.top + borderTopWidth, Math.max(0, tlh - borderLeftWidth), Math.max(0, tlv - borderTopWidth), CORNER.TOP_LEFT)\n : new Vector(bounds.left + borderLeftWidth, bounds.top + borderTopWidth);\n this.topRightPaddingBox =\n trh > 0 || trv > 0\n ? getCurvePoints(bounds.left + Math.min(topWidth, bounds.width - borderRightWidth), bounds.top + borderTopWidth, topWidth > bounds.width + borderRightWidth ? 0 : Math.max(0, trh - borderRightWidth), Math.max(0, trv - borderTopWidth), CORNER.TOP_RIGHT)\n : new Vector(bounds.left + bounds.width - borderRightWidth, bounds.top + borderTopWidth);\n this.bottomRightPaddingBox =\n brh > 0 || brv > 0\n ? getCurvePoints(bounds.left + Math.min(bottomWidth, bounds.width - borderLeftWidth), bounds.top + Math.min(rightHeight, bounds.height - borderBottomWidth), Math.max(0, brh - borderRightWidth), Math.max(0, brv - borderBottomWidth), CORNER.BOTTOM_RIGHT)\n : new Vector(bounds.left + bounds.width - borderRightWidth, bounds.top + bounds.height - borderBottomWidth);\n this.bottomLeftPaddingBox =\n blh > 0 || blv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth, bounds.top + Math.min(leftHeight, bounds.height - borderBottomWidth), Math.max(0, blh - borderLeftWidth), Math.max(0, blv - borderBottomWidth), CORNER.BOTTOM_LEFT)\n : new Vector(bounds.left + borderLeftWidth, bounds.top + bounds.height - borderBottomWidth);\n this.topLeftContentBox =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth + paddingLeft, bounds.top + borderTopWidth + paddingTop, Math.max(0, tlh - (borderLeftWidth + paddingLeft)), Math.max(0, tlv - (borderTopWidth + paddingTop)), CORNER.TOP_LEFT)\n : new Vector(bounds.left + borderLeftWidth + paddingLeft, bounds.top + borderTopWidth + paddingTop);\n this.topRightContentBox =\n trh > 0 || trv > 0\n ? getCurvePoints(bounds.left + Math.min(topWidth, bounds.width + borderLeftWidth + paddingLeft), bounds.top + borderTopWidth + paddingTop, topWidth > bounds.width + borderLeftWidth + paddingLeft ? 0 : trh - borderLeftWidth + paddingLeft, trv - (borderTopWidth + paddingTop), CORNER.TOP_RIGHT)\n : new Vector(bounds.left + bounds.width - (borderRightWidth + paddingRight), bounds.top + borderTopWidth + paddingTop);\n this.bottomRightContentBox =\n brh > 0 || brv > 0\n ? getCurvePoints(bounds.left + Math.min(bottomWidth, bounds.width - (borderLeftWidth + paddingLeft)), bounds.top + Math.min(rightHeight, bounds.height + borderTopWidth + paddingTop), Math.max(0, brh - (borderRightWidth + paddingRight)), brv - (borderBottomWidth + paddingBottom), CORNER.BOTTOM_RIGHT)\n : new Vector(bounds.left + bounds.width - (borderRightWidth + paddingRight), bounds.top + bounds.height - (borderBottomWidth + paddingBottom));\n this.bottomLeftContentBox =\n blh > 0 || blv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth + paddingLeft, bounds.top + leftHeight, Math.max(0, blh - (borderLeftWidth + paddingLeft)), blv - (borderBottomWidth + paddingBottom), CORNER.BOTTOM_LEFT)\n : new Vector(bounds.left + borderLeftWidth + paddingLeft, bounds.top + bounds.height - (borderBottomWidth + paddingBottom));\n }\n return BoundCurves;\n}());\nvar CORNER;\n(function (CORNER) {\n CORNER[CORNER[\"TOP_LEFT\"] = 0] = \"TOP_LEFT\";\n CORNER[CORNER[\"TOP_RIGHT\"] = 1] = \"TOP_RIGHT\";\n CORNER[CORNER[\"BOTTOM_RIGHT\"] = 2] = \"BOTTOM_RIGHT\";\n CORNER[CORNER[\"BOTTOM_LEFT\"] = 3] = \"BOTTOM_LEFT\";\n})(CORNER || (CORNER = {}));\nvar getCurvePoints = function (x, y, r1, r2, position) {\n var kappa = 4 * ((Math.sqrt(2) - 1) / 3);\n var ox = r1 * kappa; // control point offset horizontal\n var oy = r2 * kappa; // control point offset vertical\n var xm = x + r1; // x-middle\n var ym = y + r2; // y-middle\n switch (position) {\n case CORNER.TOP_LEFT:\n return new BezierCurve(new Vector(x, ym), new Vector(x, ym - oy), new Vector(xm - ox, y), new Vector(xm, y));\n case CORNER.TOP_RIGHT:\n return new BezierCurve(new Vector(x, y), new Vector(x + ox, y), new Vector(xm, ym - oy), new Vector(xm, ym));\n case CORNER.BOTTOM_RIGHT:\n return new BezierCurve(new Vector(xm, y), new Vector(xm, y + oy), new Vector(x + ox, ym), new Vector(x, ym));\n case CORNER.BOTTOM_LEFT:\n default:\n return new BezierCurve(new Vector(xm, ym), new Vector(xm - ox, ym), new Vector(x, y + oy), new Vector(x, y));\n }\n};\nvar calculateBorderBoxPath = function (curves) {\n return [curves.topLeftBorderBox, curves.topRightBorderBox, curves.bottomRightBorderBox, curves.bottomLeftBorderBox];\n};\nvar calculateContentBoxPath = function (curves) {\n return [\n curves.topLeftContentBox,\n curves.topRightContentBox,\n curves.bottomRightContentBox,\n curves.bottomLeftContentBox\n ];\n};\nvar calculatePaddingBoxPath = function (curves) {\n return [\n curves.topLeftPaddingBox,\n curves.topRightPaddingBox,\n curves.bottomRightPaddingBox,\n curves.bottomLeftPaddingBox\n ];\n};\n\nvar TransformEffect = /** @class */ (function () {\n function TransformEffect(offsetX, offsetY, matrix) {\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n this.matrix = matrix;\n this.type = 0 /* TRANSFORM */;\n this.target = 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */;\n }\n return TransformEffect;\n}());\nvar ClipEffect = /** @class */ (function () {\n function ClipEffect(path, target) {\n this.path = path;\n this.target = target;\n this.type = 1 /* CLIP */;\n }\n return ClipEffect;\n}());\nvar OpacityEffect = /** @class */ (function () {\n function OpacityEffect(opacity) {\n this.opacity = opacity;\n this.type = 2 /* OPACITY */;\n this.target = 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */;\n }\n return OpacityEffect;\n}());\nvar isTransformEffect = function (effect) {\n return effect.type === 0 /* TRANSFORM */;\n};\nvar isClipEffect = function (effect) { return effect.type === 1 /* CLIP */; };\nvar isOpacityEffect = function (effect) { return effect.type === 2 /* OPACITY */; };\n\nvar equalPath = function (a, b) {\n if (a.length === b.length) {\n return a.some(function (v, i) { return v === b[i]; });\n }\n return false;\n};\nvar transformPath = function (path, deltaX, deltaY, deltaW, deltaH) {\n return path.map(function (point, index) {\n switch (index) {\n case 0:\n return point.add(deltaX, deltaY);\n case 1:\n return point.add(deltaX + deltaW, deltaY);\n case 2:\n return point.add(deltaX + deltaW, deltaY + deltaH);\n case 3:\n return point.add(deltaX, deltaY + deltaH);\n }\n return point;\n });\n};\n\nvar StackingContext = /** @class */ (function () {\n function StackingContext(container) {\n this.element = container;\n this.inlineLevel = [];\n this.nonInlineLevel = [];\n this.negativeZIndex = [];\n this.zeroOrAutoZIndexOrTransformedOrOpacity = [];\n this.positiveZIndex = [];\n this.nonPositionedFloats = [];\n this.nonPositionedInlineLevel = [];\n }\n return StackingContext;\n}());\nvar ElementPaint = /** @class */ (function () {\n function ElementPaint(container, parent) {\n this.container = container;\n this.parent = parent;\n this.effects = [];\n this.curves = new BoundCurves(this.container);\n if (this.container.styles.opacity < 1) {\n this.effects.push(new OpacityEffect(this.container.styles.opacity));\n }\n if (this.container.styles.transform !== null) {\n var offsetX = this.container.bounds.left + this.container.styles.transformOrigin[0].number;\n var offsetY = this.container.bounds.top + this.container.styles.transformOrigin[1].number;\n var matrix = this.container.styles.transform;\n this.effects.push(new TransformEffect(offsetX, offsetY, matrix));\n }\n if (this.container.styles.overflowX !== 0 /* VISIBLE */) {\n var borderBox = calculateBorderBoxPath(this.curves);\n var paddingBox = calculatePaddingBoxPath(this.curves);\n if (equalPath(borderBox, paddingBox)) {\n this.effects.push(new ClipEffect(borderBox, 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */));\n }\n else {\n this.effects.push(new ClipEffect(borderBox, 2 /* BACKGROUND_BORDERS */));\n this.effects.push(new ClipEffect(paddingBox, 4 /* CONTENT */));\n }\n }\n }\n ElementPaint.prototype.getEffects = function (target) {\n var inFlow = [2 /* ABSOLUTE */, 3 /* FIXED */].indexOf(this.container.styles.position) === -1;\n var parent = this.parent;\n var effects = this.effects.slice(0);\n while (parent) {\n var croplessEffects = parent.effects.filter(function (effect) { return !isClipEffect(effect); });\n if (inFlow || parent.container.styles.position !== 0 /* STATIC */ || !parent.parent) {\n effects.unshift.apply(effects, croplessEffects);\n inFlow = [2 /* ABSOLUTE */, 3 /* FIXED */].indexOf(parent.container.styles.position) === -1;\n if (parent.container.styles.overflowX !== 0 /* VISIBLE */) {\n var borderBox = calculateBorderBoxPath(parent.curves);\n var paddingBox = calculatePaddingBoxPath(parent.curves);\n if (!equalPath(borderBox, paddingBox)) {\n effects.unshift(new ClipEffect(paddingBox, 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */));\n }\n }\n }\n else {\n effects.unshift.apply(effects, croplessEffects);\n }\n parent = parent.parent;\n }\n return effects.filter(function (effect) { return contains(effect.target, target); });\n };\n return ElementPaint;\n}());\nvar parseStackTree = function (parent, stackingContext, realStackingContext, listItems) {\n parent.container.elements.forEach(function (child) {\n var treatAsRealStackingContext = contains(child.flags, 4 /* CREATES_REAL_STACKING_CONTEXT */);\n var createsStackingContext = contains(child.flags, 2 /* CREATES_STACKING_CONTEXT */);\n var paintContainer = new ElementPaint(child, parent);\n if (contains(child.styles.display, 2048 /* LIST_ITEM */)) {\n listItems.push(paintContainer);\n }\n var listOwnerItems = contains(child.flags, 8 /* IS_LIST_OWNER */) ? [] : listItems;\n if (treatAsRealStackingContext || createsStackingContext) {\n var parentStack = treatAsRealStackingContext || child.styles.isPositioned() ? realStackingContext : stackingContext;\n var stack = new StackingContext(paintContainer);\n if (child.styles.isPositioned() || child.styles.opacity < 1 || child.styles.isTransformed()) {\n var order_1 = child.styles.zIndex.order;\n if (order_1 < 0) {\n var index_1 = 0;\n parentStack.negativeZIndex.some(function (current, i) {\n if (order_1 > current.element.container.styles.zIndex.order) {\n index_1 = i;\n return false;\n }\n else if (index_1 > 0) {\n return true;\n }\n return false;\n });\n parentStack.negativeZIndex.splice(index_1, 0, stack);\n }\n else if (order_1 > 0) {\n var index_2 = 0;\n parentStack.positiveZIndex.some(function (current, i) {\n if (order_1 >= current.element.container.styles.zIndex.order) {\n index_2 = i + 1;\n return false;\n }\n else if (index_2 > 0) {\n return true;\n }\n return false;\n });\n parentStack.positiveZIndex.splice(index_2, 0, stack);\n }\n else {\n parentStack.zeroOrAutoZIndexOrTransformedOrOpacity.push(stack);\n }\n }\n else {\n if (child.styles.isFloating()) {\n parentStack.nonPositionedFloats.push(stack);\n }\n else {\n parentStack.nonPositionedInlineLevel.push(stack);\n }\n }\n parseStackTree(paintContainer, stack, treatAsRealStackingContext ? stack : realStackingContext, listOwnerItems);\n }\n else {\n if (child.styles.isInlineLevel()) {\n stackingContext.inlineLevel.push(paintContainer);\n }\n else {\n stackingContext.nonInlineLevel.push(paintContainer);\n }\n parseStackTree(paintContainer, stackingContext, realStackingContext, listOwnerItems);\n }\n if (contains(child.flags, 8 /* IS_LIST_OWNER */)) {\n processListItems(child, listOwnerItems);\n }\n });\n};\nvar processListItems = function (owner, elements) {\n var numbering = owner instanceof OLElementContainer ? owner.start : 1;\n var reversed = owner instanceof OLElementContainer ? owner.reversed : false;\n for (var i = 0; i < elements.length; i++) {\n var item = elements[i];\n if (item.container instanceof LIElementContainer &&\n typeof item.container.value === 'number' &&\n item.container.value !== 0) {\n numbering = item.container.value;\n }\n item.listValue = createCounterText(numbering, item.container.styles.listStyleType, true);\n numbering += reversed ? -1 : 1;\n }\n};\nvar parseStackingContexts = function (container) {\n var paintContainer = new ElementPaint(container, null);\n var root = new StackingContext(paintContainer);\n var listItems = [];\n parseStackTree(paintContainer, root, root, listItems);\n processListItems(paintContainer.container, listItems);\n return root;\n};\n\nvar parsePathForBorder = function (curves, borderSide) {\n switch (borderSide) {\n case 0:\n return createPathFromCurves(curves.topLeftBorderBox, curves.topLeftPaddingBox, curves.topRightBorderBox, curves.topRightPaddingBox);\n case 1:\n return createPathFromCurves(curves.topRightBorderBox, curves.topRightPaddingBox, curves.bottomRightBorderBox, curves.bottomRightPaddingBox);\n case 2:\n return createPathFromCurves(curves.bottomRightBorderBox, curves.bottomRightPaddingBox, curves.bottomLeftBorderBox, curves.bottomLeftPaddingBox);\n case 3:\n default:\n return createPathFromCurves(curves.bottomLeftBorderBox, curves.bottomLeftPaddingBox, curves.topLeftBorderBox, curves.topLeftPaddingBox);\n }\n};\nvar parsePathForBorderDoubleOuter = function (curves, borderSide) {\n switch (borderSide) {\n case 0:\n return createPathFromCurves(curves.topLeftBorderBox, curves.topLeftBorderDoubleOuterBox, curves.topRightBorderBox, curves.topRightBorderDoubleOuterBox);\n case 1:\n return createPathFromCurves(curves.topRightBorderBox, curves.topRightBorderDoubleOuterBox, curves.bottomRightBorderBox, curves.bottomRightBorderDoubleOuterBox);\n case 2:\n return createPathFromCurves(curves.bottomRightBorderBox, curves.bottomRightBorderDoubleOuterBox, curves.bottomLeftBorderBox, curves.bottomLeftBorderDoubleOuterBox);\n case 3:\n default:\n return createPathFromCurves(curves.bottomLeftBorderBox, curves.bottomLeftBorderDoubleOuterBox, curves.topLeftBorderBox, curves.topLeftBorderDoubleOuterBox);\n }\n};\nvar parsePathForBorderDoubleInner = function (curves, borderSide) {\n switch (borderSide) {\n case 0:\n return createPathFromCurves(curves.topLeftBorderDoubleInnerBox, curves.topLeftPaddingBox, curves.topRightBorderDoubleInnerBox, curves.topRightPaddingBox);\n case 1:\n return createPathFromCurves(curves.topRightBorderDoubleInnerBox, curves.topRightPaddingBox, curves.bottomRightBorderDoubleInnerBox, curves.bottomRightPaddingBox);\n case 2:\n return createPathFromCurves(curves.bottomRightBorderDoubleInnerBox, curves.bottomRightPaddingBox, curves.bottomLeftBorderDoubleInnerBox, curves.bottomLeftPaddingBox);\n case 3:\n default:\n return createPathFromCurves(curves.bottomLeftBorderDoubleInnerBox, curves.bottomLeftPaddingBox, curves.topLeftBorderDoubleInnerBox, curves.topLeftPaddingBox);\n }\n};\nvar parsePathForBorderStroke = function (curves, borderSide) {\n switch (borderSide) {\n case 0:\n return createStrokePathFromCurves(curves.topLeftBorderStroke, curves.topRightBorderStroke);\n case 1:\n return createStrokePathFromCurves(curves.topRightBorderStroke, curves.bottomRightBorderStroke);\n case 2:\n return createStrokePathFromCurves(curves.bottomRightBorderStroke, curves.bottomLeftBorderStroke);\n case 3:\n default:\n return createStrokePathFromCurves(curves.bottomLeftBorderStroke, curves.topLeftBorderStroke);\n }\n};\nvar createStrokePathFromCurves = function (outer1, outer2) {\n var path = [];\n if (isBezierCurve(outer1)) {\n path.push(outer1.subdivide(0.5, false));\n }\n else {\n path.push(outer1);\n }\n if (isBezierCurve(outer2)) {\n path.push(outer2.subdivide(0.5, true));\n }\n else {\n path.push(outer2);\n }\n return path;\n};\nvar createPathFromCurves = function (outer1, inner1, outer2, inner2) {\n var path = [];\n if (isBezierCurve(outer1)) {\n path.push(outer1.subdivide(0.5, false));\n }\n else {\n path.push(outer1);\n }\n if (isBezierCurve(outer2)) {\n path.push(outer2.subdivide(0.5, true));\n }\n else {\n path.push(outer2);\n }\n if (isBezierCurve(inner2)) {\n path.push(inner2.subdivide(0.5, true).reverse());\n }\n else {\n path.push(inner2);\n }\n if (isBezierCurve(inner1)) {\n path.push(inner1.subdivide(0.5, false).reverse());\n }\n else {\n path.push(inner1);\n }\n return path;\n};\n\nvar paddingBox = function (element) {\n var bounds = element.bounds;\n var styles = element.styles;\n return bounds.add(styles.borderLeftWidth, styles.borderTopWidth, -(styles.borderRightWidth + styles.borderLeftWidth), -(styles.borderTopWidth + styles.borderBottomWidth));\n};\nvar contentBox = function (element) {\n var styles = element.styles;\n var bounds = element.bounds;\n var paddingLeft = getAbsoluteValue(styles.paddingLeft, bounds.width);\n var paddingRight = getAbsoluteValue(styles.paddingRight, bounds.width);\n var paddingTop = getAbsoluteValue(styles.paddingTop, bounds.width);\n var paddingBottom = getAbsoluteValue(styles.paddingBottom, bounds.width);\n return bounds.add(paddingLeft + styles.borderLeftWidth, paddingTop + styles.borderTopWidth, -(styles.borderRightWidth + styles.borderLeftWidth + paddingLeft + paddingRight), -(styles.borderTopWidth + styles.borderBottomWidth + paddingTop + paddingBottom));\n};\n\nvar calculateBackgroundPositioningArea = function (backgroundOrigin, element) {\n if (backgroundOrigin === 0 /* BORDER_BOX */) {\n return element.bounds;\n }\n if (backgroundOrigin === 2 /* CONTENT_BOX */) {\n return contentBox(element);\n }\n return paddingBox(element);\n};\nvar calculateBackgroundPaintingArea = function (backgroundClip, element) {\n if (backgroundClip === 0 /* BORDER_BOX */) {\n return element.bounds;\n }\n if (backgroundClip === 2 /* CONTENT_BOX */) {\n return contentBox(element);\n }\n return paddingBox(element);\n};\nvar calculateBackgroundRendering = function (container, index, intrinsicSize) {\n var backgroundPositioningArea = calculateBackgroundPositioningArea(getBackgroundValueForIndex(container.styles.backgroundOrigin, index), container);\n var backgroundPaintingArea = calculateBackgroundPaintingArea(getBackgroundValueForIndex(container.styles.backgroundClip, index), container);\n var backgroundImageSize = calculateBackgroundSize(getBackgroundValueForIndex(container.styles.backgroundSize, index), intrinsicSize, backgroundPositioningArea);\n var sizeWidth = backgroundImageSize[0], sizeHeight = backgroundImageSize[1];\n var position = getAbsoluteValueForTuple(getBackgroundValueForIndex(container.styles.backgroundPosition, index), backgroundPositioningArea.width - sizeWidth, backgroundPositioningArea.height - sizeHeight);\n var path = calculateBackgroundRepeatPath(getBackgroundValueForIndex(container.styles.backgroundRepeat, index), position, backgroundImageSize, backgroundPositioningArea, backgroundPaintingArea);\n var offsetX = Math.round(backgroundPositioningArea.left + position[0]);\n var offsetY = Math.round(backgroundPositioningArea.top + position[1]);\n return [path, offsetX, offsetY, sizeWidth, sizeHeight];\n};\nvar isAuto = function (token) { return isIdentToken(token) && token.value === BACKGROUND_SIZE.AUTO; };\nvar hasIntrinsicValue = function (value) { return typeof value === 'number'; };\nvar calculateBackgroundSize = function (size, _a, bounds) {\n var intrinsicWidth = _a[0], intrinsicHeight = _a[1], intrinsicProportion = _a[2];\n var first = size[0], second = size[1];\n if (!first) {\n return [0, 0];\n }\n if (isLengthPercentage(first) && second && isLengthPercentage(second)) {\n return [getAbsoluteValue(first, bounds.width), getAbsoluteValue(second, bounds.height)];\n }\n var hasIntrinsicProportion = hasIntrinsicValue(intrinsicProportion);\n if (isIdentToken(first) && (first.value === BACKGROUND_SIZE.CONTAIN || first.value === BACKGROUND_SIZE.COVER)) {\n if (hasIntrinsicValue(intrinsicProportion)) {\n var targetRatio = bounds.width / bounds.height;\n return targetRatio < intrinsicProportion !== (first.value === BACKGROUND_SIZE.COVER)\n ? [bounds.width, bounds.width / intrinsicProportion]\n : [bounds.height * intrinsicProportion, bounds.height];\n }\n return [bounds.width, bounds.height];\n }\n var hasIntrinsicWidth = hasIntrinsicValue(intrinsicWidth);\n var hasIntrinsicHeight = hasIntrinsicValue(intrinsicHeight);\n var hasIntrinsicDimensions = hasIntrinsicWidth || hasIntrinsicHeight;\n // If the background-size is auto or auto auto:\n if (isAuto(first) && (!second || isAuto(second))) {\n // If the image has both horizontal and vertical intrinsic dimensions, it's rendered at that size.\n if (hasIntrinsicWidth && hasIntrinsicHeight) {\n return [intrinsicWidth, intrinsicHeight];\n }\n // If the image has no intrinsic dimensions and has no intrinsic proportions,\n // it's rendered at the size of the background positioning area.\n if (!hasIntrinsicProportion && !hasIntrinsicDimensions) {\n return [bounds.width, bounds.height];\n }\n // TODO If the image has no intrinsic dimensions but has intrinsic proportions, it's rendered as if contain had been specified instead.\n // If the image has only one intrinsic dimension and has intrinsic proportions, it's rendered at the size corresponding to that one dimension.\n // The other dimension is computed using the specified dimension and the intrinsic proportions.\n if (hasIntrinsicDimensions && hasIntrinsicProportion) {\n var width_1 = hasIntrinsicWidth\n ? intrinsicWidth\n : intrinsicHeight * intrinsicProportion;\n var height_1 = hasIntrinsicHeight\n ? intrinsicHeight\n : intrinsicWidth / intrinsicProportion;\n return [width_1, height_1];\n }\n // If the image has only one intrinsic dimension but has no intrinsic proportions,\n // it's rendered using the specified dimension and the other dimension of the background positioning area.\n var width_2 = hasIntrinsicWidth ? intrinsicWidth : bounds.width;\n var height_2 = hasIntrinsicHeight ? intrinsicHeight : bounds.height;\n return [width_2, height_2];\n }\n // If the image has intrinsic proportions, it's stretched to the specified dimension.\n // The unspecified dimension is computed using the specified dimension and the intrinsic proportions.\n if (hasIntrinsicProportion) {\n var width_3 = 0;\n var height_3 = 0;\n if (isLengthPercentage(first)) {\n width_3 = getAbsoluteValue(first, bounds.width);\n }\n else if (isLengthPercentage(second)) {\n height_3 = getAbsoluteValue(second, bounds.height);\n }\n if (isAuto(first)) {\n width_3 = height_3 * intrinsicProportion;\n }\n else if (!second || isAuto(second)) {\n height_3 = width_3 / intrinsicProportion;\n }\n return [width_3, height_3];\n }\n // If the image has no intrinsic proportions, it's stretched to the specified dimension.\n // The unspecified dimension is computed using the image's corresponding intrinsic dimension,\n // if there is one. If there is no such intrinsic dimension,\n // it becomes the corresponding dimension of the background positioning area.\n var width = null;\n var height = null;\n if (isLengthPercentage(first)) {\n width = getAbsoluteValue(first, bounds.width);\n }\n else if (second && isLengthPercentage(second)) {\n height = getAbsoluteValue(second, bounds.height);\n }\n if (width !== null && (!second || isAuto(second))) {\n height =\n hasIntrinsicWidth && hasIntrinsicHeight\n ? (width / intrinsicWidth) * intrinsicHeight\n : bounds.height;\n }\n if (height !== null && isAuto(first)) {\n width =\n hasIntrinsicWidth && hasIntrinsicHeight\n ? (height / intrinsicHeight) * intrinsicWidth\n : bounds.width;\n }\n if (width !== null && height !== null) {\n return [width, height];\n }\n throw new Error(\"Unable to calculate background-size for element\");\n};\nvar getBackgroundValueForIndex = function (values, index) {\n var value = values[index];\n if (typeof value === 'undefined') {\n return values[0];\n }\n return value;\n};\nvar calculateBackgroundRepeatPath = function (repeat, _a, _b, backgroundPositioningArea, backgroundPaintingArea) {\n var x = _a[0], y = _a[1];\n var width = _b[0], height = _b[1];\n switch (repeat) {\n case 2 /* REPEAT_X */:\n return [\n new Vector(Math.round(backgroundPositioningArea.left), Math.round(backgroundPositioningArea.top + y)),\n new Vector(Math.round(backgroundPositioningArea.left + backgroundPositioningArea.width), Math.round(backgroundPositioningArea.top + y)),\n new Vector(Math.round(backgroundPositioningArea.left + backgroundPositioningArea.width), Math.round(height + backgroundPositioningArea.top + y)),\n new Vector(Math.round(backgroundPositioningArea.left), Math.round(height + backgroundPositioningArea.top + y))\n ];\n case 3 /* REPEAT_Y */:\n return [\n new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top)),\n new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top)),\n new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.height + backgroundPositioningArea.top)),\n new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.height + backgroundPositioningArea.top))\n ];\n case 1 /* NO_REPEAT */:\n return [\n new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top + y)),\n new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top + y)),\n new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top + y + height)),\n new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top + y + height))\n ];\n default:\n return [\n new Vector(Math.round(backgroundPaintingArea.left), Math.round(backgroundPaintingArea.top)),\n new Vector(Math.round(backgroundPaintingArea.left + backgroundPaintingArea.width), Math.round(backgroundPaintingArea.top)),\n new Vector(Math.round(backgroundPaintingArea.left + backgroundPaintingArea.width), Math.round(backgroundPaintingArea.height + backgroundPaintingArea.top)),\n new Vector(Math.round(backgroundPaintingArea.left), Math.round(backgroundPaintingArea.height + backgroundPaintingArea.top))\n ];\n }\n};\n\nvar SMALL_IMAGE = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\n\nvar SAMPLE_TEXT = 'Hidden Text';\nvar FontMetrics = /** @class */ (function () {\n function FontMetrics(document) {\n this._data = {};\n this._document = document;\n }\n FontMetrics.prototype.parseMetrics = function (fontFamily, fontSize) {\n var container = this._document.createElement('div');\n var img = this._document.createElement('img');\n var span = this._document.createElement('span');\n var body = this._document.body;\n container.style.visibility = 'hidden';\n container.style.fontFamily = fontFamily;\n container.style.fontSize = fontSize;\n container.style.margin = '0';\n container.style.padding = '0';\n container.style.whiteSpace = 'nowrap';\n body.appendChild(container);\n img.src = SMALL_IMAGE;\n img.width = 1;\n img.height = 1;\n img.style.margin = '0';\n img.style.padding = '0';\n img.style.verticalAlign = 'baseline';\n span.style.fontFamily = fontFamily;\n span.style.fontSize = fontSize;\n span.style.margin = '0';\n span.style.padding = '0';\n span.appendChild(this._document.createTextNode(SAMPLE_TEXT));\n container.appendChild(span);\n container.appendChild(img);\n var baseline = img.offsetTop - span.offsetTop + 2;\n container.removeChild(span);\n container.appendChild(this._document.createTextNode(SAMPLE_TEXT));\n container.style.lineHeight = 'normal';\n img.style.verticalAlign = 'super';\n var middle = img.offsetTop - container.offsetTop + 2;\n body.removeChild(container);\n return { baseline: baseline, middle: middle };\n };\n FontMetrics.prototype.getMetrics = function (fontFamily, fontSize) {\n var key = fontFamily + \" \" + fontSize;\n if (typeof this._data[key] === 'undefined') {\n this._data[key] = this.parseMetrics(fontFamily, fontSize);\n }\n return this._data[key];\n };\n return FontMetrics;\n}());\n\nvar Renderer = /** @class */ (function () {\n function Renderer(context, options) {\n this.context = context;\n this.options = options;\n }\n return Renderer;\n}());\n\nvar MASK_OFFSET = 10000;\nvar CanvasRenderer = /** @class */ (function (_super) {\n __extends(CanvasRenderer, _super);\n function CanvasRenderer(context, options) {\n var _this = _super.call(this, context, options) || this;\n _this._activeEffects = [];\n _this.canvas = options.canvas ? options.canvas : document.createElement('canvas');\n _this.ctx = _this.canvas.getContext('2d');\n if (!options.canvas) {\n _this.canvas.width = Math.floor(options.width * options.scale);\n _this.canvas.height = Math.floor(options.height * options.scale);\n _this.canvas.style.width = options.width + \"px\";\n _this.canvas.style.height = options.height + \"px\";\n }\n _this.fontMetrics = new FontMetrics(document);\n _this.ctx.scale(_this.options.scale, _this.options.scale);\n _this.ctx.translate(-options.x, -options.y);\n _this.ctx.textBaseline = 'bottom';\n _this._activeEffects = [];\n _this.context.logger.debug(\"Canvas renderer initialized (\" + options.width + \"x\" + options.height + \") with scale \" + options.scale);\n return _this;\n }\n CanvasRenderer.prototype.applyEffects = function (effects) {\n var _this = this;\n while (this._activeEffects.length) {\n this.popEffect();\n }\n effects.forEach(function (effect) { return _this.applyEffect(effect); });\n };\n CanvasRenderer.prototype.applyEffect = function (effect) {\n this.ctx.save();\n if (isOpacityEffect(effect)) {\n this.ctx.globalAlpha = effect.opacity;\n }\n if (isTransformEffect(effect)) {\n this.ctx.translate(effect.offsetX, effect.offsetY);\n this.ctx.transform(effect.matrix[0], effect.matrix[1], effect.matrix[2], effect.matrix[3], effect.matrix[4], effect.matrix[5]);\n this.ctx.translate(-effect.offsetX, -effect.offsetY);\n }\n if (isClipEffect(effect)) {\n this.path(effect.path);\n this.ctx.clip();\n }\n this._activeEffects.push(effect);\n };\n CanvasRenderer.prototype.popEffect = function () {\n this._activeEffects.pop();\n this.ctx.restore();\n };\n CanvasRenderer.prototype.renderStack = function (stack) {\n return __awaiter(this, void 0, void 0, function () {\n var styles;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n styles = stack.element.container.styles;\n if (!styles.isVisible()) return [3 /*break*/, 2];\n return [4 /*yield*/, this.renderStackContent(stack)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n CanvasRenderer.prototype.renderNode = function (paint) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (contains(paint.container.flags, 16 /* DEBUG_RENDER */)) {\n debugger;\n }\n if (!paint.container.styles.isVisible()) return [3 /*break*/, 3];\n return [4 /*yield*/, this.renderNodeBackgroundAndBorders(paint)];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.renderNodeContent(paint)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n CanvasRenderer.prototype.renderTextWithLetterSpacing = function (text, letterSpacing, baseline) {\n var _this = this;\n if (letterSpacing === 0) {\n this.ctx.fillText(text.text, text.bounds.left, text.bounds.top + baseline);\n }\n else {\n var letters = segmentGraphemes(text.text);\n letters.reduce(function (left, letter) {\n _this.ctx.fillText(letter, left, text.bounds.top + baseline);\n return left + _this.ctx.measureText(letter).width;\n }, text.bounds.left);\n }\n };\n CanvasRenderer.prototype.createFontStyle = function (styles) {\n var fontVariant = styles.fontVariant\n .filter(function (variant) { return variant === 'normal' || variant === 'small-caps'; })\n .join('');\n var fontFamily = fixIOSSystemFonts(styles.fontFamily).join(', ');\n var fontSize = isDimensionToken(styles.fontSize)\n ? \"\" + styles.fontSize.number + styles.fontSize.unit\n : styles.fontSize.number + \"px\";\n return [\n [styles.fontStyle, fontVariant, styles.fontWeight, fontSize, fontFamily].join(' '),\n fontFamily,\n fontSize\n ];\n };\n CanvasRenderer.prototype.renderTextNode = function (text, styles) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, font, fontFamily, fontSize, _b, baseline, middle, paintOrder;\n var _this = this;\n return __generator(this, function (_c) {\n _a = this.createFontStyle(styles), font = _a[0], fontFamily = _a[1], fontSize = _a[2];\n this.ctx.font = font;\n this.ctx.direction = styles.direction === 1 /* RTL */ ? 'rtl' : 'ltr';\n this.ctx.textAlign = 'left';\n this.ctx.textBaseline = 'alphabetic';\n _b = this.fontMetrics.getMetrics(fontFamily, fontSize), baseline = _b.baseline, middle = _b.middle;\n paintOrder = styles.paintOrder;\n text.textBounds.forEach(function (text) {\n paintOrder.forEach(function (paintOrderLayer) {\n switch (paintOrderLayer) {\n case 0 /* FILL */:\n _this.ctx.fillStyle = asString(styles.color);\n _this.renderTextWithLetterSpacing(text, styles.letterSpacing, baseline);\n var textShadows = styles.textShadow;\n if (textShadows.length && text.text.trim().length) {\n textShadows\n .slice(0)\n .reverse()\n .forEach(function (textShadow) {\n _this.ctx.shadowColor = asString(textShadow.color);\n _this.ctx.shadowOffsetX = textShadow.offsetX.number * _this.options.scale;\n _this.ctx.shadowOffsetY = textShadow.offsetY.number * _this.options.scale;\n _this.ctx.shadowBlur = textShadow.blur.number;\n _this.renderTextWithLetterSpacing(text, styles.letterSpacing, baseline);\n });\n _this.ctx.shadowColor = '';\n _this.ctx.shadowOffsetX = 0;\n _this.ctx.shadowOffsetY = 0;\n _this.ctx.shadowBlur = 0;\n }\n if (styles.textDecorationLine.length) {\n _this.ctx.fillStyle = asString(styles.textDecorationColor || styles.color);\n styles.textDecorationLine.forEach(function (textDecorationLine) {\n switch (textDecorationLine) {\n case 1 /* UNDERLINE */:\n // Draws a line at the baseline of the font\n // TODO As some browsers display the line as more than 1px if the font-size is big,\n // need to take that into account both in position and size\n _this.ctx.fillRect(text.bounds.left, Math.round(text.bounds.top + baseline), text.bounds.width, 1);\n break;\n case 2 /* OVERLINE */:\n _this.ctx.fillRect(text.bounds.left, Math.round(text.bounds.top), text.bounds.width, 1);\n break;\n case 3 /* LINE_THROUGH */:\n // TODO try and find exact position for line-through\n _this.ctx.fillRect(text.bounds.left, Math.ceil(text.bounds.top + middle), text.bounds.width, 1);\n break;\n }\n });\n }\n break;\n case 1 /* STROKE */:\n if (styles.webkitTextStrokeWidth && text.text.trim().length) {\n _this.ctx.strokeStyle = asString(styles.webkitTextStrokeColor);\n _this.ctx.lineWidth = styles.webkitTextStrokeWidth;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this.ctx.lineJoin = !!window.chrome ? 'miter' : 'round';\n _this.ctx.strokeText(text.text, text.bounds.left, text.bounds.top + baseline);\n }\n _this.ctx.strokeStyle = '';\n _this.ctx.lineWidth = 0;\n _this.ctx.lineJoin = 'miter';\n break;\n }\n });\n });\n return [2 /*return*/];\n });\n });\n };\n CanvasRenderer.prototype.renderReplacedElement = function (container, curves, image) {\n if (image && container.intrinsicWidth > 0 && container.intrinsicHeight > 0) {\n var box = contentBox(container);\n var path = calculatePaddingBoxPath(curves);\n this.path(path);\n this.ctx.save();\n this.ctx.clip();\n this.ctx.drawImage(image, 0, 0, container.intrinsicWidth, container.intrinsicHeight, box.left, box.top, box.width, box.height);\n this.ctx.restore();\n }\n };\n CanvasRenderer.prototype.renderNodeContent = function (paint) {\n return __awaiter(this, void 0, void 0, function () {\n var container, curves, styles, _i, _a, child, image, image, iframeRenderer, canvas, size, _b, fontFamily, fontSize, baseline, bounds, x, textBounds, img, image, url, fontFamily, bounds;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n this.applyEffects(paint.getEffects(4 /* CONTENT */));\n container = paint.container;\n curves = paint.curves;\n styles = container.styles;\n _i = 0, _a = container.textNodes;\n _c.label = 1;\n case 1:\n if (!(_i < _a.length)) return [3 /*break*/, 4];\n child = _a[_i];\n return [4 /*yield*/, this.renderTextNode(child, styles)];\n case 2:\n _c.sent();\n _c.label = 3;\n case 3:\n _i++;\n return [3 /*break*/, 1];\n case 4:\n if (!(container instanceof ImageElementContainer)) return [3 /*break*/, 8];\n _c.label = 5;\n case 5:\n _c.trys.push([5, 7, , 8]);\n return [4 /*yield*/, this.context.cache.match(container.src)];\n case 6:\n image = _c.sent();\n this.renderReplacedElement(container, curves, image);\n return [3 /*break*/, 8];\n case 7:\n _c.sent();\n this.context.logger.error(\"Error loading image \" + container.src);\n return [3 /*break*/, 8];\n case 8:\n if (container instanceof CanvasElementContainer) {\n this.renderReplacedElement(container, curves, container.canvas);\n }\n if (!(container instanceof SVGElementContainer)) return [3 /*break*/, 12];\n _c.label = 9;\n case 9:\n _c.trys.push([9, 11, , 12]);\n return [4 /*yield*/, this.context.cache.match(container.svg)];\n case 10:\n image = _c.sent();\n this.renderReplacedElement(container, curves, image);\n return [3 /*break*/, 12];\n case 11:\n _c.sent();\n this.context.logger.error(\"Error loading svg \" + container.svg.substring(0, 255));\n return [3 /*break*/, 12];\n case 12:\n if (!(container instanceof IFrameElementContainer && container.tree)) return [3 /*break*/, 14];\n iframeRenderer = new CanvasRenderer(this.context, {\n scale: this.options.scale,\n backgroundColor: container.backgroundColor,\n x: 0,\n y: 0,\n width: container.width,\n height: container.height\n });\n return [4 /*yield*/, iframeRenderer.render(container.tree)];\n case 13:\n canvas = _c.sent();\n if (container.width && container.height) {\n this.ctx.drawImage(canvas, 0, 0, container.width, container.height, container.bounds.left, container.bounds.top, container.bounds.width, container.bounds.height);\n }\n _c.label = 14;\n case 14:\n if (container instanceof InputElementContainer) {\n size = Math.min(container.bounds.width, container.bounds.height);\n if (container.type === CHECKBOX) {\n if (container.checked) {\n this.ctx.save();\n this.path([\n new Vector(container.bounds.left + size * 0.39363, container.bounds.top + size * 0.79),\n new Vector(container.bounds.left + size * 0.16, container.bounds.top + size * 0.5549),\n new Vector(container.bounds.left + size * 0.27347, container.bounds.top + size * 0.44071),\n new Vector(container.bounds.left + size * 0.39694, container.bounds.top + size * 0.5649),\n new Vector(container.bounds.left + size * 0.72983, container.bounds.top + size * 0.23),\n new Vector(container.bounds.left + size * 0.84, container.bounds.top + size * 0.34085),\n new Vector(container.bounds.left + size * 0.39363, container.bounds.top + size * 0.79)\n ]);\n this.ctx.fillStyle = asString(INPUT_COLOR);\n this.ctx.fill();\n this.ctx.restore();\n }\n }\n else if (container.type === RADIO) {\n if (container.checked) {\n this.ctx.save();\n this.ctx.beginPath();\n this.ctx.arc(container.bounds.left + size / 2, container.bounds.top + size / 2, size / 4, 0, Math.PI * 2, true);\n this.ctx.fillStyle = asString(INPUT_COLOR);\n this.ctx.fill();\n this.ctx.restore();\n }\n }\n }\n if (isTextInputElement(container) && container.value.length) {\n _b = this.createFontStyle(styles), fontFamily = _b[0], fontSize = _b[1];\n baseline = this.fontMetrics.getMetrics(fontFamily, fontSize).baseline;\n this.ctx.font = fontFamily;\n this.ctx.fillStyle = asString(styles.color);\n this.ctx.textBaseline = 'alphabetic';\n this.ctx.textAlign = canvasTextAlign(container.styles.textAlign);\n bounds = contentBox(container);\n x = 0;\n switch (container.styles.textAlign) {\n case 1 /* CENTER */:\n x += bounds.width / 2;\n break;\n case 2 /* RIGHT */:\n x += bounds.width;\n break;\n }\n textBounds = bounds.add(x, 0, 0, -bounds.height / 2 + 1);\n this.ctx.save();\n this.path([\n new Vector(bounds.left, bounds.top),\n new Vector(bounds.left + bounds.width, bounds.top),\n new Vector(bounds.left + bounds.width, bounds.top + bounds.height),\n new Vector(bounds.left, bounds.top + bounds.height)\n ]);\n this.ctx.clip();\n this.renderTextWithLetterSpacing(new TextBounds(container.value, textBounds), styles.letterSpacing, baseline);\n this.ctx.restore();\n this.ctx.textBaseline = 'alphabetic';\n this.ctx.textAlign = 'left';\n }\n if (!contains(container.styles.display, 2048 /* LIST_ITEM */)) return [3 /*break*/, 20];\n if (!(container.styles.listStyleImage !== null)) return [3 /*break*/, 19];\n img = container.styles.listStyleImage;\n if (!(img.type === 0 /* URL */)) return [3 /*break*/, 18];\n image = void 0;\n url = img.url;\n _c.label = 15;\n case 15:\n _c.trys.push([15, 17, , 18]);\n return [4 /*yield*/, this.context.cache.match(url)];\n case 16:\n image = _c.sent();\n this.ctx.drawImage(image, container.bounds.left - (image.width + 10), container.bounds.top);\n return [3 /*break*/, 18];\n case 17:\n _c.sent();\n this.context.logger.error(\"Error loading list-style-image \" + url);\n return [3 /*break*/, 18];\n case 18: return [3 /*break*/, 20];\n case 19:\n if (paint.listValue && container.styles.listStyleType !== -1 /* NONE */) {\n fontFamily = this.createFontStyle(styles)[0];\n this.ctx.font = fontFamily;\n this.ctx.fillStyle = asString(styles.color);\n this.ctx.textBaseline = 'middle';\n this.ctx.textAlign = 'right';\n bounds = new Bounds(container.bounds.left, container.bounds.top + getAbsoluteValue(container.styles.paddingTop, container.bounds.width), container.bounds.width, computeLineHeight(styles.lineHeight, styles.fontSize.number) / 2 + 1);\n this.renderTextWithLetterSpacing(new TextBounds(paint.listValue, bounds), styles.letterSpacing, computeLineHeight(styles.lineHeight, styles.fontSize.number) / 2 + 2);\n this.ctx.textBaseline = 'bottom';\n this.ctx.textAlign = 'left';\n }\n _c.label = 20;\n case 20: return [2 /*return*/];\n }\n });\n });\n };\n CanvasRenderer.prototype.renderStackContent = function (stack) {\n return __awaiter(this, void 0, void 0, function () {\n var _i, _a, child, _b, _c, child, _d, _e, child, _f, _g, child, _h, _j, child, _k, _l, child, _m, _o, child;\n return __generator(this, function (_p) {\n switch (_p.label) {\n case 0:\n if (contains(stack.element.container.flags, 16 /* DEBUG_RENDER */)) {\n debugger;\n }\n // https://www.w3.org/TR/css-position-3/#painting-order\n // 1. the background and borders of the element forming the stacking context.\n return [4 /*yield*/, this.renderNodeBackgroundAndBorders(stack.element)];\n case 1:\n // https://www.w3.org/TR/css-position-3/#painting-order\n // 1. the background and borders of the element forming the stacking context.\n _p.sent();\n _i = 0, _a = stack.negativeZIndex;\n _p.label = 2;\n case 2:\n if (!(_i < _a.length)) return [3 /*break*/, 5];\n child = _a[_i];\n return [4 /*yield*/, this.renderStack(child)];\n case 3:\n _p.sent();\n _p.label = 4;\n case 4:\n _i++;\n return [3 /*break*/, 2];\n case 5: \n // 3. For all its in-flow, non-positioned, block-level descendants in tree order:\n return [4 /*yield*/, this.renderNodeContent(stack.element)];\n case 6:\n // 3. For all its in-flow, non-positioned, block-level descendants in tree order:\n _p.sent();\n _b = 0, _c = stack.nonInlineLevel;\n _p.label = 7;\n case 7:\n if (!(_b < _c.length)) return [3 /*break*/, 10];\n child = _c[_b];\n return [4 /*yield*/, this.renderNode(child)];\n case 8:\n _p.sent();\n _p.label = 9;\n case 9:\n _b++;\n return [3 /*break*/, 7];\n case 10:\n _d = 0, _e = stack.nonPositionedFloats;\n _p.label = 11;\n case 11:\n if (!(_d < _e.length)) return [3 /*break*/, 14];\n child = _e[_d];\n return [4 /*yield*/, this.renderStack(child)];\n case 12:\n _p.sent();\n _p.label = 13;\n case 13:\n _d++;\n return [3 /*break*/, 11];\n case 14:\n _f = 0, _g = stack.nonPositionedInlineLevel;\n _p.label = 15;\n case 15:\n if (!(_f < _g.length)) return [3 /*break*/, 18];\n child = _g[_f];\n return [4 /*yield*/, this.renderStack(child)];\n case 16:\n _p.sent();\n _p.label = 17;\n case 17:\n _f++;\n return [3 /*break*/, 15];\n case 18:\n _h = 0, _j = stack.inlineLevel;\n _p.label = 19;\n case 19:\n if (!(_h < _j.length)) return [3 /*break*/, 22];\n child = _j[_h];\n return [4 /*yield*/, this.renderNode(child)];\n case 20:\n _p.sent();\n _p.label = 21;\n case 21:\n _h++;\n return [3 /*break*/, 19];\n case 22:\n _k = 0, _l = stack.zeroOrAutoZIndexOrTransformedOrOpacity;\n _p.label = 23;\n case 23:\n if (!(_k < _l.length)) return [3 /*break*/, 26];\n child = _l[_k];\n return [4 /*yield*/, this.renderStack(child)];\n case 24:\n _p.sent();\n _p.label = 25;\n case 25:\n _k++;\n return [3 /*break*/, 23];\n case 26:\n _m = 0, _o = stack.positiveZIndex;\n _p.label = 27;\n case 27:\n if (!(_m < _o.length)) return [3 /*break*/, 30];\n child = _o[_m];\n return [4 /*yield*/, this.renderStack(child)];\n case 28:\n _p.sent();\n _p.label = 29;\n case 29:\n _m++;\n return [3 /*break*/, 27];\n case 30: return [2 /*return*/];\n }\n });\n });\n };\n CanvasRenderer.prototype.mask = function (paths) {\n this.ctx.beginPath();\n this.ctx.moveTo(0, 0);\n this.ctx.lineTo(this.canvas.width, 0);\n this.ctx.lineTo(this.canvas.width, this.canvas.height);\n this.ctx.lineTo(0, this.canvas.height);\n this.ctx.lineTo(0, 0);\n this.formatPath(paths.slice(0).reverse());\n this.ctx.closePath();\n };\n CanvasRenderer.prototype.path = function (paths) {\n this.ctx.beginPath();\n this.formatPath(paths);\n this.ctx.closePath();\n };\n CanvasRenderer.prototype.formatPath = function (paths) {\n var _this = this;\n paths.forEach(function (point, index) {\n var start = isBezierCurve(point) ? point.start : point;\n if (index === 0) {\n _this.ctx.moveTo(start.x, start.y);\n }\n else {\n _this.ctx.lineTo(start.x, start.y);\n }\n if (isBezierCurve(point)) {\n _this.ctx.bezierCurveTo(point.startControl.x, point.startControl.y, point.endControl.x, point.endControl.y, point.end.x, point.end.y);\n }\n });\n };\n CanvasRenderer.prototype.renderRepeat = function (path, pattern, offsetX, offsetY) {\n this.path(path);\n this.ctx.fillStyle = pattern;\n this.ctx.translate(offsetX, offsetY);\n this.ctx.fill();\n this.ctx.translate(-offsetX, -offsetY);\n };\n CanvasRenderer.prototype.resizeImage = function (image, width, height) {\n var _a;\n if (image.width === width && image.height === height) {\n return image;\n }\n var ownerDocument = (_a = this.canvas.ownerDocument) !== null && _a !== void 0 ? _a : document;\n var canvas = ownerDocument.createElement('canvas');\n canvas.width = Math.max(1, width);\n canvas.height = Math.max(1, height);\n var ctx = canvas.getContext('2d');\n ctx.drawImage(image, 0, 0, image.width, image.height, 0, 0, width, height);\n return canvas;\n };\n CanvasRenderer.prototype.renderBackgroundImage = function (container) {\n return __awaiter(this, void 0, void 0, function () {\n var index, _loop_1, this_1, _i, _a, backgroundImage;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n index = container.styles.backgroundImage.length - 1;\n _loop_1 = function (backgroundImage) {\n var image, url, _c, path, x, y, width, height, pattern, _d, path, x, y, width, height, _e, lineLength, x0, x1, y0, y1, canvas, ctx, gradient_1, pattern, _f, path, left, top_1, width, height, position, x, y, _g, rx, ry, radialGradient_1, midX, midY, f, invF;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0:\n if (!(backgroundImage.type === 0 /* URL */)) return [3 /*break*/, 5];\n image = void 0;\n url = backgroundImage.url;\n _h.label = 1;\n case 1:\n _h.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this_1.context.cache.match(url)];\n case 2:\n image = _h.sent();\n return [3 /*break*/, 4];\n case 3:\n _h.sent();\n this_1.context.logger.error(\"Error loading background-image \" + url);\n return [3 /*break*/, 4];\n case 4:\n if (image) {\n _c = calculateBackgroundRendering(container, index, [\n image.width,\n image.height,\n image.width / image.height\n ]), path = _c[0], x = _c[1], y = _c[2], width = _c[3], height = _c[4];\n pattern = this_1.ctx.createPattern(this_1.resizeImage(image, width, height), 'repeat');\n this_1.renderRepeat(path, pattern, x, y);\n }\n return [3 /*break*/, 6];\n case 5:\n if (isLinearGradient(backgroundImage)) {\n _d = calculateBackgroundRendering(container, index, [null, null, null]), path = _d[0], x = _d[1], y = _d[2], width = _d[3], height = _d[4];\n _e = calculateGradientDirection(backgroundImage.angle, width, height), lineLength = _e[0], x0 = _e[1], x1 = _e[2], y0 = _e[3], y1 = _e[4];\n canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n ctx = canvas.getContext('2d');\n gradient_1 = ctx.createLinearGradient(x0, y0, x1, y1);\n processColorStops(backgroundImage.stops, lineLength).forEach(function (colorStop) {\n return gradient_1.addColorStop(colorStop.stop, asString(colorStop.color));\n });\n ctx.fillStyle = gradient_1;\n ctx.fillRect(0, 0, width, height);\n if (width > 0 && height > 0) {\n pattern = this_1.ctx.createPattern(canvas, 'repeat');\n this_1.renderRepeat(path, pattern, x, y);\n }\n }\n else if (isRadialGradient(backgroundImage)) {\n _f = calculateBackgroundRendering(container, index, [\n null,\n null,\n null\n ]), path = _f[0], left = _f[1], top_1 = _f[2], width = _f[3], height = _f[4];\n position = backgroundImage.position.length === 0 ? [FIFTY_PERCENT] : backgroundImage.position;\n x = getAbsoluteValue(position[0], width);\n y = getAbsoluteValue(position[position.length - 1], height);\n _g = calculateRadius(backgroundImage, x, y, width, height), rx = _g[0], ry = _g[1];\n if (rx > 0 && ry > 0) {\n radialGradient_1 = this_1.ctx.createRadialGradient(left + x, top_1 + y, 0, left + x, top_1 + y, rx);\n processColorStops(backgroundImage.stops, rx * 2).forEach(function (colorStop) {\n return radialGradient_1.addColorStop(colorStop.stop, asString(colorStop.color));\n });\n this_1.path(path);\n this_1.ctx.fillStyle = radialGradient_1;\n if (rx !== ry) {\n midX = container.bounds.left + 0.5 * container.bounds.width;\n midY = container.bounds.top + 0.5 * container.bounds.height;\n f = ry / rx;\n invF = 1 / f;\n this_1.ctx.save();\n this_1.ctx.translate(midX, midY);\n this_1.ctx.transform(1, 0, 0, f, 0, 0);\n this_1.ctx.translate(-midX, -midY);\n this_1.ctx.fillRect(left, invF * (top_1 - midY) + midY, width, height * invF);\n this_1.ctx.restore();\n }\n else {\n this_1.ctx.fill();\n }\n }\n }\n _h.label = 6;\n case 6:\n index--;\n return [2 /*return*/];\n }\n });\n };\n this_1 = this;\n _i = 0, _a = container.styles.backgroundImage.slice(0).reverse();\n _b.label = 1;\n case 1:\n if (!(_i < _a.length)) return [3 /*break*/, 4];\n backgroundImage = _a[_i];\n return [5 /*yield**/, _loop_1(backgroundImage)];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3:\n _i++;\n return [3 /*break*/, 1];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n CanvasRenderer.prototype.renderSolidBorder = function (color, side, curvePoints) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.path(parsePathForBorder(curvePoints, side));\n this.ctx.fillStyle = asString(color);\n this.ctx.fill();\n return [2 /*return*/];\n });\n });\n };\n CanvasRenderer.prototype.renderDoubleBorder = function (color, width, side, curvePoints) {\n return __awaiter(this, void 0, void 0, function () {\n var outerPaths, innerPaths;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(width < 3)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.renderSolidBorder(color, side, curvePoints)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n case 2:\n outerPaths = parsePathForBorderDoubleOuter(curvePoints, side);\n this.path(outerPaths);\n this.ctx.fillStyle = asString(color);\n this.ctx.fill();\n innerPaths = parsePathForBorderDoubleInner(curvePoints, side);\n this.path(innerPaths);\n this.ctx.fill();\n return [2 /*return*/];\n }\n });\n });\n };\n CanvasRenderer.prototype.renderNodeBackgroundAndBorders = function (paint) {\n return __awaiter(this, void 0, void 0, function () {\n var styles, hasBackground, borders, backgroundPaintingArea, side, _i, borders_1, border;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.applyEffects(paint.getEffects(2 /* BACKGROUND_BORDERS */));\n styles = paint.container.styles;\n hasBackground = !isTransparent(styles.backgroundColor) || styles.backgroundImage.length;\n borders = [\n { style: styles.borderTopStyle, color: styles.borderTopColor, width: styles.borderTopWidth },\n { style: styles.borderRightStyle, color: styles.borderRightColor, width: styles.borderRightWidth },\n { style: styles.borderBottomStyle, color: styles.borderBottomColor, width: styles.borderBottomWidth },\n { style: styles.borderLeftStyle, color: styles.borderLeftColor, width: styles.borderLeftWidth }\n ];\n backgroundPaintingArea = calculateBackgroundCurvedPaintingArea(getBackgroundValueForIndex(styles.backgroundClip, 0), paint.curves);\n if (!(hasBackground || styles.boxShadow.length)) return [3 /*break*/, 2];\n this.ctx.save();\n this.path(backgroundPaintingArea);\n this.ctx.clip();\n if (!isTransparent(styles.backgroundColor)) {\n this.ctx.fillStyle = asString(styles.backgroundColor);\n this.ctx.fill();\n }\n return [4 /*yield*/, this.renderBackgroundImage(paint.container)];\n case 1:\n _a.sent();\n this.ctx.restore();\n styles.boxShadow\n .slice(0)\n .reverse()\n .forEach(function (shadow) {\n _this.ctx.save();\n var borderBoxArea = calculateBorderBoxPath(paint.curves);\n var maskOffset = shadow.inset ? 0 : MASK_OFFSET;\n var shadowPaintingArea = transformPath(borderBoxArea, -maskOffset + (shadow.inset ? 1 : -1) * shadow.spread.number, (shadow.inset ? 1 : -1) * shadow.spread.number, shadow.spread.number * (shadow.inset ? -2 : 2), shadow.spread.number * (shadow.inset ? -2 : 2));\n if (shadow.inset) {\n _this.path(borderBoxArea);\n _this.ctx.clip();\n _this.mask(shadowPaintingArea);\n }\n else {\n _this.mask(borderBoxArea);\n _this.ctx.clip();\n _this.path(shadowPaintingArea);\n }\n _this.ctx.shadowOffsetX = shadow.offsetX.number + maskOffset;\n _this.ctx.shadowOffsetY = shadow.offsetY.number;\n _this.ctx.shadowColor = asString(shadow.color);\n _this.ctx.shadowBlur = shadow.blur.number;\n _this.ctx.fillStyle = shadow.inset ? asString(shadow.color) : 'rgba(0,0,0,1)';\n _this.ctx.fill();\n _this.ctx.restore();\n });\n _a.label = 2;\n case 2:\n side = 0;\n _i = 0, borders_1 = borders;\n _a.label = 3;\n case 3:\n if (!(_i < borders_1.length)) return [3 /*break*/, 13];\n border = borders_1[_i];\n if (!(border.style !== 0 /* NONE */ && !isTransparent(border.color) && border.width > 0)) return [3 /*break*/, 11];\n if (!(border.style === 2 /* DASHED */)) return [3 /*break*/, 5];\n return [4 /*yield*/, this.renderDashedDottedBorder(border.color, border.width, side, paint.curves, 2 /* DASHED */)];\n case 4:\n _a.sent();\n return [3 /*break*/, 11];\n case 5:\n if (!(border.style === 3 /* DOTTED */)) return [3 /*break*/, 7];\n return [4 /*yield*/, this.renderDashedDottedBorder(border.color, border.width, side, paint.curves, 3 /* DOTTED */)];\n case 6:\n _a.sent();\n return [3 /*break*/, 11];\n case 7:\n if (!(border.style === 4 /* DOUBLE */)) return [3 /*break*/, 9];\n return [4 /*yield*/, this.renderDoubleBorder(border.color, border.width, side, paint.curves)];\n case 8:\n _a.sent();\n return [3 /*break*/, 11];\n case 9: return [4 /*yield*/, this.renderSolidBorder(border.color, side, paint.curves)];\n case 10:\n _a.sent();\n _a.label = 11;\n case 11:\n side++;\n _a.label = 12;\n case 12:\n _i++;\n return [3 /*break*/, 3];\n case 13: return [2 /*return*/];\n }\n });\n });\n };\n CanvasRenderer.prototype.renderDashedDottedBorder = function (color, width, side, curvePoints, style) {\n return __awaiter(this, void 0, void 0, function () {\n var strokePaths, boxPaths, startX, startY, endX, endY, length, dashLength, spaceLength, useLineDash, multiplier, numberOfDashes, minSpace, maxSpace, path1, path2, path1, path2;\n return __generator(this, function (_a) {\n this.ctx.save();\n strokePaths = parsePathForBorderStroke(curvePoints, side);\n boxPaths = parsePathForBorder(curvePoints, side);\n if (style === 2 /* DASHED */) {\n this.path(boxPaths);\n this.ctx.clip();\n }\n if (isBezierCurve(boxPaths[0])) {\n startX = boxPaths[0].start.x;\n startY = boxPaths[0].start.y;\n }\n else {\n startX = boxPaths[0].x;\n startY = boxPaths[0].y;\n }\n if (isBezierCurve(boxPaths[1])) {\n endX = boxPaths[1].end.x;\n endY = boxPaths[1].end.y;\n }\n else {\n endX = boxPaths[1].x;\n endY = boxPaths[1].y;\n }\n if (side === 0 || side === 2) {\n length = Math.abs(startX - endX);\n }\n else {\n length = Math.abs(startY - endY);\n }\n this.ctx.beginPath();\n if (style === 3 /* DOTTED */) {\n this.formatPath(strokePaths);\n }\n else {\n this.formatPath(boxPaths.slice(0, 2));\n }\n dashLength = width < 3 ? width * 3 : width * 2;\n spaceLength = width < 3 ? width * 2 : width;\n if (style === 3 /* DOTTED */) {\n dashLength = width;\n spaceLength = width;\n }\n useLineDash = true;\n if (length <= dashLength * 2) {\n useLineDash = false;\n }\n else if (length <= dashLength * 2 + spaceLength) {\n multiplier = length / (2 * dashLength + spaceLength);\n dashLength *= multiplier;\n spaceLength *= multiplier;\n }\n else {\n numberOfDashes = Math.floor((length + spaceLength) / (dashLength + spaceLength));\n minSpace = (length - numberOfDashes * dashLength) / (numberOfDashes - 1);\n maxSpace = (length - (numberOfDashes + 1) * dashLength) / numberOfDashes;\n spaceLength =\n maxSpace <= 0 || Math.abs(spaceLength - minSpace) < Math.abs(spaceLength - maxSpace)\n ? minSpace\n : maxSpace;\n }\n if (useLineDash) {\n if (style === 3 /* DOTTED */) {\n this.ctx.setLineDash([0, dashLength + spaceLength]);\n }\n else {\n this.ctx.setLineDash([dashLength, spaceLength]);\n }\n }\n if (style === 3 /* DOTTED */) {\n this.ctx.lineCap = 'round';\n this.ctx.lineWidth = width;\n }\n else {\n this.ctx.lineWidth = width * 2 + 1.1;\n }\n this.ctx.strokeStyle = asString(color);\n this.ctx.stroke();\n this.ctx.setLineDash([]);\n // dashed round edge gap\n if (style === 2 /* DASHED */) {\n if (isBezierCurve(boxPaths[0])) {\n path1 = boxPaths[3];\n path2 = boxPaths[0];\n this.ctx.beginPath();\n this.formatPath([new Vector(path1.end.x, path1.end.y), new Vector(path2.start.x, path2.start.y)]);\n this.ctx.stroke();\n }\n if (isBezierCurve(boxPaths[1])) {\n path1 = boxPaths[1];\n path2 = boxPaths[2];\n this.ctx.beginPath();\n this.formatPath([new Vector(path1.end.x, path1.end.y), new Vector(path2.start.x, path2.start.y)]);\n this.ctx.stroke();\n }\n }\n this.ctx.restore();\n return [2 /*return*/];\n });\n });\n };\n CanvasRenderer.prototype.render = function (element) {\n return __awaiter(this, void 0, void 0, function () {\n var stack;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.options.backgroundColor) {\n this.ctx.fillStyle = asString(this.options.backgroundColor);\n this.ctx.fillRect(this.options.x, this.options.y, this.options.width, this.options.height);\n }\n stack = parseStackingContexts(element);\n return [4 /*yield*/, this.renderStack(stack)];\n case 1:\n _a.sent();\n this.applyEffects([]);\n return [2 /*return*/, this.canvas];\n }\n });\n });\n };\n return CanvasRenderer;\n}(Renderer));\nvar isTextInputElement = function (container) {\n if (container instanceof TextareaElementContainer) {\n return true;\n }\n else if (container instanceof SelectElementContainer) {\n return true;\n }\n else if (container instanceof InputElementContainer && container.type !== RADIO && container.type !== CHECKBOX) {\n return true;\n }\n return false;\n};\nvar calculateBackgroundCurvedPaintingArea = function (clip, curves) {\n switch (clip) {\n case 0 /* BORDER_BOX */:\n return calculateBorderBoxPath(curves);\n case 2 /* CONTENT_BOX */:\n return calculateContentBoxPath(curves);\n case 1 /* PADDING_BOX */:\n default:\n return calculatePaddingBoxPath(curves);\n }\n};\nvar canvasTextAlign = function (textAlign) {\n switch (textAlign) {\n case 1 /* CENTER */:\n return 'center';\n case 2 /* RIGHT */:\n return 'right';\n case 0 /* LEFT */:\n default:\n return 'left';\n }\n};\n// see https://github.com/niklasvh/html2canvas/pull/2645\nvar iOSBrokenFonts = ['-apple-system', 'system-ui'];\nvar fixIOSSystemFonts = function (fontFamilies) {\n return /iPhone OS 15_(0|1)/.test(window.navigator.userAgent)\n ? fontFamilies.filter(function (fontFamily) { return iOSBrokenFonts.indexOf(fontFamily) === -1; })\n : fontFamilies;\n};\n\nvar ForeignObjectRenderer = /** @class */ (function (_super) {\n __extends(ForeignObjectRenderer, _super);\n function ForeignObjectRenderer(context, options) {\n var _this = _super.call(this, context, options) || this;\n _this.canvas = options.canvas ? options.canvas : document.createElement('canvas');\n _this.ctx = _this.canvas.getContext('2d');\n _this.options = options;\n _this.canvas.width = Math.floor(options.width * options.scale);\n _this.canvas.height = Math.floor(options.height * options.scale);\n _this.canvas.style.width = options.width + \"px\";\n _this.canvas.style.height = options.height + \"px\";\n _this.ctx.scale(_this.options.scale, _this.options.scale);\n _this.ctx.translate(-options.x, -options.y);\n _this.context.logger.debug(\"EXPERIMENTAL ForeignObject renderer initialized (\" + options.width + \"x\" + options.height + \" at \" + options.x + \",\" + options.y + \") with scale \" + options.scale);\n return _this;\n }\n ForeignObjectRenderer.prototype.render = function (element) {\n return __awaiter(this, void 0, void 0, function () {\n var svg, img;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n svg = createForeignObjectSVG(this.options.width * this.options.scale, this.options.height * this.options.scale, this.options.scale, this.options.scale, element);\n return [4 /*yield*/, loadSerializedSVG(svg)];\n case 1:\n img = _a.sent();\n if (this.options.backgroundColor) {\n this.ctx.fillStyle = asString(this.options.backgroundColor);\n this.ctx.fillRect(0, 0, this.options.width * this.options.scale, this.options.height * this.options.scale);\n }\n this.ctx.drawImage(img, -this.options.x * this.options.scale, -this.options.y * this.options.scale);\n return [2 /*return*/, this.canvas];\n }\n });\n });\n };\n return ForeignObjectRenderer;\n}(Renderer));\nvar loadSerializedSVG = function (svg) {\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () {\n resolve(img);\n };\n img.onerror = reject;\n img.src = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(new XMLSerializer().serializeToString(svg));\n });\n};\n\nvar Logger = /** @class */ (function () {\n function Logger(_a) {\n var id = _a.id, enabled = _a.enabled;\n this.id = id;\n this.enabled = enabled;\n this.start = Date.now();\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Logger.prototype.debug = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (this.enabled) {\n // eslint-disable-next-line no-console\n if (typeof window !== 'undefined' && window.console && typeof console.debug === 'function') {\n // eslint-disable-next-line no-console\n console.debug.apply(console, __spreadArray([this.id, this.getTime() + \"ms\"], args));\n }\n else {\n this.info.apply(this, args);\n }\n }\n };\n Logger.prototype.getTime = function () {\n return Date.now() - this.start;\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Logger.prototype.info = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (this.enabled) {\n // eslint-disable-next-line no-console\n if (typeof window !== 'undefined' && window.console && typeof console.info === 'function') {\n // eslint-disable-next-line no-console\n console.info.apply(console, __spreadArray([this.id, this.getTime() + \"ms\"], args));\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Logger.prototype.warn = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (this.enabled) {\n // eslint-disable-next-line no-console\n if (typeof window !== 'undefined' && window.console && typeof console.warn === 'function') {\n // eslint-disable-next-line no-console\n console.warn.apply(console, __spreadArray([this.id, this.getTime() + \"ms\"], args));\n }\n else {\n this.info.apply(this, args);\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Logger.prototype.error = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (this.enabled) {\n // eslint-disable-next-line no-console\n if (typeof window !== 'undefined' && window.console && typeof console.error === 'function') {\n // eslint-disable-next-line no-console\n console.error.apply(console, __spreadArray([this.id, this.getTime() + \"ms\"], args));\n }\n else {\n this.info.apply(this, args);\n }\n }\n };\n Logger.instances = {};\n return Logger;\n}());\n\nvar Context = /** @class */ (function () {\n function Context(options, windowBounds) {\n var _a;\n this.windowBounds = windowBounds;\n this.instanceName = \"#\" + Context.instanceCount++;\n this.logger = new Logger({ id: this.instanceName, enabled: options.logging });\n this.cache = (_a = options.cache) !== null && _a !== void 0 ? _a : new Cache(this, options);\n }\n Context.instanceCount = 1;\n return Context;\n}());\n\nvar html2canvas = function (element, options) {\n if (options === void 0) { options = {}; }\n return renderElement(element, options);\n};\nif (typeof window !== 'undefined') {\n CacheStorage.setContext(window);\n}\nvar renderElement = function (element, opts) { return __awaiter(void 0, void 0, void 0, function () {\n var ownerDocument, defaultView, resourceOptions, contextOptions, windowOptions, windowBounds, context, foreignObjectRendering, cloneOptions, documentCloner, clonedElement, container, _a, width, height, left, top, backgroundColor, renderOptions, canvas, renderer, root, renderer;\n var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;\n return __generator(this, function (_u) {\n switch (_u.label) {\n case 0:\n if (!element || typeof element !== 'object') {\n return [2 /*return*/, Promise.reject('Invalid element provided as first argument')];\n }\n ownerDocument = element.ownerDocument;\n if (!ownerDocument) {\n throw new Error(\"Element is not attached to a Document\");\n }\n defaultView = ownerDocument.defaultView;\n if (!defaultView) {\n throw new Error(\"Document is not attached to a Window\");\n }\n resourceOptions = {\n allowTaint: (_b = opts.allowTaint) !== null && _b !== void 0 ? _b : false,\n imageTimeout: (_c = opts.imageTimeout) !== null && _c !== void 0 ? _c : 15000,\n proxy: opts.proxy,\n useCORS: (_d = opts.useCORS) !== null && _d !== void 0 ? _d : false\n };\n contextOptions = __assign({ logging: (_e = opts.logging) !== null && _e !== void 0 ? _e : true, cache: opts.cache }, resourceOptions);\n windowOptions = {\n windowWidth: (_f = opts.windowWidth) !== null && _f !== void 0 ? _f : defaultView.innerWidth,\n windowHeight: (_g = opts.windowHeight) !== null && _g !== void 0 ? _g : defaultView.innerHeight,\n scrollX: (_h = opts.scrollX) !== null && _h !== void 0 ? _h : defaultView.pageXOffset,\n scrollY: (_j = opts.scrollY) !== null && _j !== void 0 ? _j : defaultView.pageYOffset\n };\n windowBounds = new Bounds(windowOptions.scrollX, windowOptions.scrollY, windowOptions.windowWidth, windowOptions.windowHeight);\n context = new Context(contextOptions, windowBounds);\n foreignObjectRendering = (_k = opts.foreignObjectRendering) !== null && _k !== void 0 ? _k : false;\n cloneOptions = {\n allowTaint: (_l = opts.allowTaint) !== null && _l !== void 0 ? _l : false,\n onclone: opts.onclone,\n ignoreElements: opts.ignoreElements,\n inlineImages: foreignObjectRendering,\n copyStyles: foreignObjectRendering\n };\n context.logger.debug(\"Starting document clone with size \" + windowBounds.width + \"x\" + windowBounds.height + \" scrolled to \" + -windowBounds.left + \",\" + -windowBounds.top);\n documentCloner = new DocumentCloner(context, element, cloneOptions);\n clonedElement = documentCloner.clonedReferenceElement;\n if (!clonedElement) {\n return [2 /*return*/, Promise.reject(\"Unable to find element in cloned iframe\")];\n }\n return [4 /*yield*/, documentCloner.toIFrame(ownerDocument, windowBounds)];\n case 1:\n container = _u.sent();\n _a = isBodyElement(clonedElement) || isHTMLElement(clonedElement)\n ? parseDocumentSize(clonedElement.ownerDocument)\n : parseBounds(context, clonedElement), width = _a.width, height = _a.height, left = _a.left, top = _a.top;\n backgroundColor = parseBackgroundColor(context, clonedElement, opts.backgroundColor);\n renderOptions = {\n canvas: opts.canvas,\n backgroundColor: backgroundColor,\n scale: (_o = (_m = opts.scale) !== null && _m !== void 0 ? _m : defaultView.devicePixelRatio) !== null && _o !== void 0 ? _o : 1,\n x: ((_p = opts.x) !== null && _p !== void 0 ? _p : 0) + left,\n y: ((_q = opts.y) !== null && _q !== void 0 ? _q : 0) + top,\n width: (_r = opts.width) !== null && _r !== void 0 ? _r : Math.ceil(width),\n height: (_s = opts.height) !== null && _s !== void 0 ? _s : Math.ceil(height)\n };\n if (!foreignObjectRendering) return [3 /*break*/, 3];\n context.logger.debug(\"Document cloned, using foreign object rendering\");\n renderer = new ForeignObjectRenderer(context, renderOptions);\n return [4 /*yield*/, renderer.render(clonedElement)];\n case 2:\n canvas = _u.sent();\n return [3 /*break*/, 5];\n case 3:\n context.logger.debug(\"Document cloned, element located at \" + left + \",\" + top + \" with size \" + width + \"x\" + height + \" using computed rendering\");\n context.logger.debug(\"Starting DOM parsing\");\n root = parseTree(context, clonedElement);\n if (backgroundColor === root.styles.backgroundColor) {\n root.styles.backgroundColor = COLORS.TRANSPARENT;\n }\n context.logger.debug(\"Starting renderer for element at \" + renderOptions.x + \",\" + renderOptions.y + \" with size \" + renderOptions.width + \"x\" + renderOptions.height);\n renderer = new CanvasRenderer(context, renderOptions);\n return [4 /*yield*/, renderer.render(root)];\n case 4:\n canvas = _u.sent();\n _u.label = 5;\n case 5:\n if ((_t = opts.removeContainer) !== null && _t !== void 0 ? _t : true) {\n if (!DocumentCloner.destroy(container)) {\n context.logger.error(\"Cannot detach cloned iframe as it is not in the DOM anymore\");\n }\n }\n context.logger.debug(\"Finished rendering\");\n return [2 /*return*/, canvas];\n }\n });\n}); };\nvar parseBackgroundColor = function (context, element, backgroundColorOverride) {\n var ownerDocument = element.ownerDocument;\n // http://www.w3.org/TR/css3-background/#special-backgrounds\n var documentBackgroundColor = ownerDocument.documentElement\n ? parseColor(context, getComputedStyle(ownerDocument.documentElement).backgroundColor)\n : COLORS.TRANSPARENT;\n var bodyBackgroundColor = ownerDocument.body\n ? parseColor(context, getComputedStyle(ownerDocument.body).backgroundColor)\n : COLORS.TRANSPARENT;\n var defaultBackgroundColor = typeof backgroundColorOverride === 'string'\n ? parseColor(context, backgroundColorOverride)\n : backgroundColorOverride === null\n ? COLORS.TRANSPARENT\n : 0xffffffff;\n return element === ownerDocument.documentElement\n ? isTransparent(documentBackgroundColor)\n ? isTransparent(bodyBackgroundColor)\n ? defaultBackgroundColor\n : bodyBackgroundColor\n : documentBackgroundColor\n : defaultBackgroundColor;\n};\n\nexport default html2canvas;\n//# sourceMappingURL=html2canvas.esm.js.map\n"],"names":["theme","createTheme","cssVariables","typography","fontFamily","join","palette","primary","main","mainLight","light","gray","lightGreen","green","red","lightRed","lightGray","darkGray","dark","text","secondary","contrastText","white","gradients","MetricSelector","_ref","metric","onMetricChange","_ref$options","options","_ref$label","label","_React$useState","React","useState","_React$useState2","_slicedToArray","anchorEl","setAnchorEl","open","Boolean","handleClick","event","currentTarget","handleClose","value","_jsxs","Box","sx","display","gap","children","Button","id","undefined","onClick","variant","borderRadius","borderColor","color","textTransform","fontWeight","px","height","bgcolor","_jsx","Menu","onClose","MenuListProps","PaperProps","mt","boxShadow","minWidth","map","option","MenuItem","RevenueChart","data","series","categories","_ref$height","_ref$stacked","stacked","_ref$type","type","_ref$id","colors","_ref$showLegend","showLegend","useTheme","isRadial","baseOptions","chart","toolbar","show","sparkline","enabled","animations","tooltip","y","formatter","toLowerCase","concat","toLocaleString","radialOptions","_objectSpread","labels","stroke","width","dataLabels","legend","position","horizontalAlign","plotOptions","pie","donut","size","total","w","sum","globals","seriesTotals","reduce","a","b","Math","round","linearOptions","curve","fill","gradient","shadeIntensity","opacityFrom","opacityTo","stops","xaxis","axisBorder","axisTicks","tickAmount","rotate","rotateAlways","hideOverlappingLabels","style","fontSize","val","date","Date","isNaN","getTime","toLocaleDateString","month","day","yaxis","grid","strokeDashArray","length","bar","columnWidth","chartOptions","chartSeries","_series$","processedData","Array","isArray","v","_typeof","name","ReactApexChart","RenderChartCard","item","index","_ref$isPrimary","isPrimary","_ref$isPremium","isPremium","setMetric","_ref$md","md","Grid","xs","paddingTop","Card","flexDirection","border","CardContent","p","flexGrow","justifyContent","alignItems","mb","textAlign","Typography","subtitle","JSON","stringify","trend","py","letterSpacing","subValue","hideControls","sm","leg","_Fragment","showSelector","IconButton","MoreHorizIcon","minHeight","includes","flexWrap","marginTop","footer","pt","borderTop","left","right","NewOverview","lazy","Dashboard","_ref$apiData","apiData","_ref$overviewType","overviewType","_ref$dateName","dateName","_ref$exportTrigger","exportTrigger","ThemeProvider","Suspense","fallback","CircularProgress","activeSection","OverallSection","PaidSection","OrganicSection","EmailSection","activeSectionProp","initialMetric","revenueData","donationsData","_useState","_useState2","_useState3","_useState4","setActiveSection","exportCaptureRef","useRef","useEffect","capitalized","charAt","toUpperCase","slice","buildAndDownloadPdf","_ref2","_asyncToGenerator","_regenerator","m","_callee","captureNode","_yield$Promise$all","_yield$Promise$all2","jsPDF","html2canvasModule","html2canvas","dateLabel","generatedAt","generatedLabel","canvas","sectionImageWidth","sectionImageHeight","doc","pageWidth","pageHeight","marginX","contentTop","contentBottom","contentWidth","contentHeight","pxPerPt","pageSliceHeightPx","totalPages","addHeader","addFooter","i","startY","sliceHeight","pageCanvas","pageCtx","pageImage","renderHeight","safeDate","_t","_context","n","current","Promise","all","toLocaleTimeString","resolve","setTimeout","scale","useCORS","backgroundColor","scrollWidth","scrollHeight","windowWidth","windowHeight","scrollX","scrollY","window","unit","format","internal","pageSize","getWidth","getHeight","max","floor","ceil","setFont","setTextColor","setFontSize","activeFilters","pageNumber","addPage","min","document","createElement","getContext","fillStyle","fillRect","drawImage","toDataURL","addImage","toISOString","save","console","error","apply","arguments","currentData","oneTimeData","oneTimeDonations","oneTimeValues","oneTimeCategories","oneTimeTotal","firstInstData","firstInstallmentRevenue","firstInstValues","firstInstCategories","firstInstTotal","totalRevData","totalRevenue","totalRevValues","totalRevCategories","totalRevTotal","avgDonData","averageDonation","avgDonValues","avgDonCategories","avgDonOverall","tipData","tipAmount","tipValues","tipCategories","tipTotal","convRateData","conversionRate","convRateValues","convRateCategories","convRateAvg","organicVisData","organicVisits","paidVisData","paidVisits","organicVisValues","paidVisValues","trafficCategories","primaryCharts","totalDonations","secondaryCharts","toFixed","totalTips","tertiaryCharts","quaternaryCharts","ref","PerformanceSection","title","_ref$performanceData","performanceData","visitorsData","revPerVisData","revenuePerVisitor","revPerVisValues","revPerVisCategories","revPerVisTotal","totalVisData","totalVisits","totalVisValues","totalVisCategories","totalVisTotal","upSellData","upSellRaisedAmount","upSellValues","upSellCategories","upSellTotal","downSellData","downSellRaisedAmount","downSellValues","downSellCategories","downSellTotal","abandonedData","abandonedDonationRecoveryCount","abandonedValues","abandonedCategories","abandonedTotal","gutterBottom","container","spacing","range","plans","share","RecurringDonationAmounts","LinearProgress","RecurringRevenueSection","UTM_COLORS","rawData","source","donations","totalRaised","Revenue","Donations","SORT_OPTIONS","dateCategories","from","_","d","getDate","UTMPerformance","sortMode","setSortMode","_useState5","_useState6","_useState7","_useState8","parameter","setParameter","sortedData","sort","valA","valB","zoom","opposite","padding","shared","custom","dataPointIndex","items","config","s","markers","BORDER","headerCellSx","borderBottom","cellSx","verticalAlign","overflow","TableContainer","Table","borderCollapse","TableHead","TableRow","TableCell","e","ml","MoreVertIcon","TableBody","row","colorIdx","findIndex","flexShrink","opt","CheckIcon","step","DropOffPoints","DonorBehavior","miniChartOptions","MiniChart","rows","abandoned","sent","openRate","openCount","clickRate","clickCount","recoveryRate","recoveryData","revenue","recovered","recoveredData","aggregates","sentData","openRateData","clickRateData","borderRight","lineHeight","aggCellSx","AbandonedDonationRecovery","InfoOutlined","Settings","pb","overflowX","boxSizing","borderSpacing","themeColors","themeTypography","ActiveCampaignsCard","_ref$title","_ref$subtitle","_ref$columns","columns","_ref$rows","_ref$gridTemplateColu","gridTemplateColumns","header","idx","Avatar","avatarBg","icon","iconColor","val1","progress","progressColor","val2","highlightVal3","val3Color","val3","val4","trendType","trendLabel","statusBg","statusColor","status","DonorMixCard","_ref$series","_ref$labels","_ref$colors","_ref$centerLabel","centerLabel","_ref$centerValue","centerValue","_ref$items","_ref$showBottomSummar","showBottomSummary","_ref$bottomSummaryVal","bottomSummaryValue","_ref$bottomSummaryTre","bottomSummaryTrend","_ref$sx","offsetY","states","hover","filter","Chart","formatNumber","num","replace","toString","TrafficSourceCard","_ref$trafficSourceDat","trafficSourceData","_ref$total","paidAdsColor","organicColor","emailColor","directColor","getSourceColor","shareValue","Number","textOverflow","whiteSpace","MetricSparklineCard","_ref$trendColor","trendColor","_ref$chartData","chartData","_ref$chartColor","chartColor","_ref$footerMetrics","footerMetrics","_ref$bottomSection","bottomSection","x","marker","MetricDonutCard","acceptanceRate","acceptanceVal","acceptanceTrend","raisedVal","raisedTrend","_ref$chartColors","chartColors","radialBar","hollow","track","background","strokeWidth","lineCap","TrendingUp","DonationTypeBarChart","donationTypeData","recurringColor","oneTimeColor","summaries","isDistributed","recurring","oneTime","totalRecurringDonations","totalOneTimeDonations","totalAmount","_dataObj$summary","_dataObj$summary2","_dataObj$summary3","_dataObj$summary4","dataObj","summary","horizontal","distributed","opacity","lines","mr","CardWrapper","LandingPagesCard","page","visitors","cvr","KeywordsCard","keyword","clicks","rank","GeographyCard","_ref2$subtitle","country","stats","percentage","TopCampaignsRaisedCard","marginBottom","TopCampaignsCTRCard","TopCampaignsConvRateCard","TopPerformingCampaignsCard","spend","roas","PaidDonorGeographyCard","_ref3","donorGeographyData","rawCountries","countries","countryName","RefundsChargebacksCard","_ref$refundsChargebac","refundsChargebacksData","_refundsChargebacksDa","refundRate","_refundsChargebacksDa2","chargebackRate","_refundsChargebacksDa3","totalRefundedAmount","_refundsChargebacksDa4","totalRefunds","_refundsChargebacksDa5","totalChargebacks","_refundsChargebacksDa6","growthPercentage","_refundsChargebacksDa8","refundSeries","parseFloat","chargebackSeries","maxVal","_toConsumableArray","yAxisMax","annotations","offsetX","fmt","_n$toFixed","growthColor","growthLabel","abs","MetricCard","caption","active","warning","paddingBottom","Stack","direction","_apiData$overviewStat","_apiData$overviewStat2","_apiData$overviewStat3","_apiData$overviewStat4","_apiData$overviewStat5","_apiData$overviewStat6","_apiData$overviewStat7","_apiData$overviewStat8","_apiData$overviewStat9","_apiData$overviewStat0","_apiData$overviewStat1","_apiData$overviewStat10","_apiData$roasCard","_apiData$roasCardPrev","_apiData$overviewStat11","_apiData$overviewStat12","_apiData$overviewStat13","_orderBumpData$chart","_orderBumpData$peakDa","_orderBumpData$peakDa2","_referralData$chartDa","activeMetric","setActiveMetric","recurringBarChartData","donorGeography","orderBumpData","orderBumpDetails","upsellData","upSellDetails","downsellData","downSellDetails","referralData","referralDetails","refundAndChargeBacks","allCharts","getExtendedCharts","charts","find","c","push","netRaised","totalDonors","metricInfo","overviewStats","overview","DollarIcon","money","netRevenue","HeartIcon","PeopleIcon","overallAVGDonations","roasCard","roasCardPrev","TrendIcon","AdjustIcon","activeCampaignsData","activeCampaigns","donorMix","donorPieChartData","newDonorsCount","returningDonorsCount","totalDonorsMix","newDonorsPerc","returningDonorsPerc","avgGift","donorMixPrev","newDonorsObj","returningDonorsObj","newDonors","returningDonors","log","renderCard","extendedCharts","selectedInfo","mainChart","_apiData$overviewStat14","stackedData","hasStackedData","paidAds","email","organic","_apiData$overviewStat15","netData","_apiData$overviewStat16","donorsData","roasData","_apiData$overviewStat17","conversionData","_apiData$overviewStat18","avgData","avgDonations","lg","Object","keys","campaign","campaignName","split","word","collectedAmount","usdTargetAmount","uniqueDonationsCount","maxHeight","averagePerDay","totalOrders","peakDay","amount","totalUpsellsAttached","acceptanceGrowth","raised","raisedGrowth","totalReferrers","averageGift","chartLabel","IndeterminateCheckBoxOutlinedIcon","ROAS","PersonOutlinedIcon","totalRaisedTrend","netRaisedSub","SearchoutlinedIcon","avgDonationTrend","roasTrend","EmailTrendCard","_ref$yAxisMax","_ref$yAxisTickAmount","yAxisTickAmount","_ref$yAxisFormatter","yAxisFormatter","dashArray","dashed","bottom","radius","itemMargin","vertical","CTR","NotInterestedIcon","EmailIcon","Clicks","NearMeIcon","HighlightOffIcon"],"mappings":"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","x_google_ignoreList":[29]}