@djb25/digit-ui-module-ekyc 1.0.38 → 1.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/EKYCCard.js","../src/components/StatusCards.js","../src/components/Dashboard.js","../src/components/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/components/mockData.js","../src/components/analytics/charts/ExecutiveLineChart.jsx","../src/components/analytics/charts/ExecutiveBarChart.jsx","../src/components/analytics/charts/ExecutivePieChart.jsx","../src/components/CeoDashboard.jsx","../src/components/VendorDetails.jsx","../src/hook/useInboxTableConfig.js","../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/components/SearchFormFieldsComponent.js","../src/pages/employee/Inbox.js","../src/pages/employee/Mapping.js","../src/components/ConnectionDetailsView.js","../src/pages/employee/Create.js","../src/components/Review.js","../src/config/AadhaarVerificationConfig.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../src/components/AssignEkycModal.js","../src/utils/reportDownloader.js","../src/components/SurveyorDetailsCard.js","../../vendor/src/config/tableConfig.js","../src/hook/SupervisorInboxTableConfig.js","../src/components/AssignEkyc.js","../src/pages/employee/index.js","../src/config/PropertyInfoConfig.js","../src/components/PropertyInfo.js","../src/config/MeterDetailsConfig.js","../src/components/MeterDetails.js","../src/pages/citizen/Home.js","../src/pages/citizen/Inbox.js","../src/components/SupervisorDetailsCard.js","../src/pages/citizen/EkycStatus.js","../src/pages/citizen/index.js","../src/Module.js"],"sourcesContent":["import { PersonIcon, EmployeeModuleCard } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst EKYCCard = () => {\n const { t } = useTranslation();\n\n const propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: [\n {\n count: \"-\",\n label: t(\"TOTAL_EKYC\"),\n link: `/digit-ui/employee/ekyc/dashboard`,\n },\n ],\n links: [\n {\n label: t(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n link: `/digit-ui/employee/ekyc/ceo-dashboard`,\n },\n // {\n // label: t(\"EKYC_DASHBOARD\"),\n // link: `/digit-ui/employee/ekyc/dashboard`,\n // },\n {\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/employee/ekyc/inbox`,\n },\n // {\n // label: t(\"EKYC_CREATE_KYC\"),\n // link: `/digit-ui/employee/ekyc/create-kyc`\n // },\n // {\n // label: t(\"EKYC_UPDATE_KYC\"),\n // link: `/digit-ui/employee/ekyc/update-kyc`\n // },\n // {\n // label: t(\"EKYC_MAPPING\"),\n // link: `/digit-ui/employee/ekyc/mapping`,\n // },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/employee/ekyc/assign`,\n },\n ],\n };\n\n return <EmployeeModuleCard {...propsForModuleCard} />;\n};\n\nexport default EKYCCard;\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Chartjs from \"chart.js/auto\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\n\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n\n const total = countData?.total || 0;\n const pending = countData?.pending || 0;\n const active = countData?.completed || 0;\n const completed = 0;\n\n const actualCompleted = countData?.completed || 0;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round((actualCompleted / total) * 100) : 0;\n const healthPct = total > 0 ? Math.round((approved / total) * 100) : 0;\n\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n\n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_ACTIVE\"), t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\")],\n datasets: [\n {\n data: [active, pending, completed],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n },\n ],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: false,\n responsive: true,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n };\n }, [pending, completed, active, t]);\n\n const legendItems = [\n { color: \"#0c2a52\", label: t(\"EKYC_ACTIVE\"), value: active },\n { color: \"#77B6EA\", label: t(\"EKYC_PENDING\"), value: pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_COMPLETED\"), value: completed },\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-cards-wrapper\">\n {/* Header */}\n <div className=\"status-cards-header\">\n <div>\n <div className=\"eyebrow\">\n <span className=\"eyebrow-dot\" />\n {t(\"EKYC_INSTITUTIONAL_OVERVIEW\") || \"Institutional Performance Overview\"}\n </div>\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n <p className=\"status-cards-subtitle\">\n {t(\"EKYC_DASHBOARD_SUBTITLE\") || \"Real-time monitoring of consumer verification workflows across all administrative zones.\"}\n </p>\n </div>\n <div className=\"total-applications-card\">\n <div className=\"total-label\">{t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Processed\"}</div>\n <div className=\"total-number\">{formatNumber(total)}</div>\n <div className=\"total-badge\">↗ +12.4% {t(\"EKYC_FROM_LAST_QUARTER\") || \"from last quarter\"}</div>\n </div>\n </div>\n\n {/* Panels */}\n <div className=\"status-panels-grid\">\n {/* Panel 1: Status Breakdown */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">{t(\"EKYC_STATUS_BREAKDOWN\") || \"Status Breakdown\"}</div>\n <div className=\"panel-subtitle\">{t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle distribution\"}</div>\n <div className=\"breakdown-body\">\n <div className=\"status-legend\">\n {legendItems.map((item) => (\n <div key={item.label} className=\"legend-row\">\n <span className=\"legend-label\">\n <span className=\"indicator-dot\" style={{ background: item.color }} />\n {item.label}\n </span>\n <span className=\"legend-value\">{formatNumber(item.value)}</span>\n </div>\n ))}\n </div>\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n <div className=\"chart-center\">\n <div className=\"chart-percentage\">{efficiency}%</div>\n <div className=\"chart-label\">{t(\"EKYC_COMPLETE\") || \"Complete\"}</div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Panel 2: Submission Health */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">\n {t(\"EKYC_SUBMISSION_HEALTH\") || \"Submission Health\"}\n <span className=\"optimal-badge\">{t(\"EKYC_OPTIMAL\") || \"Optimal\"}</span>\n </div>\n <div className=\"panel-subtitle\">{t(\"EKYC_PLATFORM_EFFICIENCY\") || \"Platform operational efficiency\"}</div>\n <div className=\"health-metrics-row\">\n <div className=\"health-percentage\">{healthPct}%</div>\n <div className=\"health-trend\">↗ +2.1%</div>\n </div>\n <div className=\"status-progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${healthPct}%` }} />\n </div>\n <div className=\"mini-metrics-grid\">\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_AVG_LATENCY\") || \"Avg Latency\"}</div>\n <div className=\"metric-value\">1.2s</div>\n </div>\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_ERROR_RATE\") || \"Error Rate\"}</div>\n <div className=\"metric-value\">0.04%</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;\n","import React, { useMemo } from \"react\";\nimport StatusCards from \"./StatusCards\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\n\n// Mock data removed in favor of API integration\n\nconst Dashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 2. API Data Fetching\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const countData = useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n };\n }, [dashboardData]);\n\n return isLoading ? (\n <Loader />\n ) : (\n <Card className=\"min-width-full\">\n <StatusCards countData={countData} />\n </Card>\n );\n};\n\nexport default Dashboard;\n","import React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, Card, Loader, InboxLinks } from \"@djb25/digit-ui-react-components\";\nimport { useHistory } from \"react-router-dom\";\nimport StatusCards from \"./StatusCards\";\n\nconst DesktopInbox = ({ tableConfig, filterComponent, ...props }) => {\n const {\n data,\n isLoading,\n onSort,\n onNextPage,\n onPrevPage,\n currentPage,\n pageSizeLimit,\n onPageSizeChange,\n parentRoute,\n searchParams,\n sortParams,\n totalRecords,\n countData,\n } = props;\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const FilterComponent = Digit.ComponentRegistryService?.getComponent(filterComponent);\n\n // State for Review Modal\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(\"/digit-ui/employee/ekyc/review\", { kNumber: selectedKno, aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const columns = useMemo(\n () => [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{row.original?.citizenName || \"NA\"}</span>,\n },\n // {\n // Header: t(\"EKYC_MOBILE_NO\"),\n // accessor: \"mobileNumber\",\n // Cell: ({ row }) => <span>{row.original?.mobileNumber || \"NA\"}</span>,\n // },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const ekycStatus = (row.original?.ekycStatus || row.original?.ekycstatus || \"NA\").toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>;\n },\n },\n {\n Header: t(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","export const ekycMockData = {\n topKpis: {\n totalWaterConnections: 2990996,\n totalEkycCompleted: 2460810,\n totalPending: 530186,\n totalRejected: 224324,\n agencyEkycCompleted: 2352069,\n citizenSelfEkycCompleted: 638927,\n todaysEkyc: 54684,\n successRate: 82,\n rejectionPercentage: 7,\n },\n\n executiveMetrics: {\n totalSurveyors: 186,\n totalSupervisors: 56,\n activeJurisdictions: 27,\n todaysGrowth: 2.8,\n selfEkycAdoption: 38,\n avgApprovalTime: \"2.3 Days\",\n riskZones: 7,\n escalationsOpen: 18,\n },\n\n alerts: [\n {\n title: \"North East District pending increased\",\n priority: \"high\",\n change: \"+22%\",\n district: \"North East District\",\n },\n {\n title: \"Agency 2 self eKYC adoption low\",\n priority: \"medium\",\n change: \"-12%\",\n district: \"West District\",\n },\n {\n title: \"Escalation raised in NWS Bhera Enclave\",\n priority: \"high\",\n change: \"+18\",\n district: \"Outer North\",\n },\n {\n title: \"Approval rate improved in East District\",\n priority: \"low\",\n change: \"+9%\",\n district: \"East District\",\n },\n ],\n\n heatmapData: [\n {\n district: \"Outer North\",\n intensity: 82,\n },\n {\n district: \"East District\",\n intensity: 48,\n },\n {\n district: \"South District\",\n intensity: 67,\n },\n {\n district: \"North East District\",\n intensity: 74,\n },\n ],\n\n dailyTrend: [\n {\n label: \"Mon\",\n completed: 270689,\n pending: 491305,\n rejected: 145810,\n },\n {\n label: \"Tue\",\n completed: 442945,\n pending: 466563,\n rejected: 157026,\n },\n {\n label: \"Wed\",\n completed: 615202,\n pending: 441821,\n rejected: 168243,\n },\n {\n label: \"Thu\",\n completed: 812067,\n pending: 413545,\n rejected: 179459,\n },\n {\n label: \"Fri\",\n completed: 1033540,\n pending: 381733,\n rejected: 190675,\n },\n {\n label: \"Sat\",\n completed: 1279621,\n pending: 346388,\n rejected: 201891,\n },\n {\n label: \"Sun\",\n completed: 1574918,\n pending: 303973,\n rejected: 213107,\n },\n ],\n\n selfVsAgency: [\n {\n label: \"Agency1\",\n agency: 201457,\n citizen: 758414,\n },\n {\n label: \"Agency 2\",\n agency: 164302,\n citizen: 919322,\n },\n {\n label: \"Agency 3\",\n agency: 328451,\n citizen: 541772,\n },\n ],\n\n pendingVsCompleted: [\n {\n label: \"Agency1\",\n completed: 201457,\n pending: 201457,\n },\n {\n label: \"Agency 2\",\n completed: 164302,\n pending: 164302,\n },\n {\n label: \"Agency 3\",\n completed: 328451,\n pending: 77278,\n },\n ],\n\n rejectionAnalysis: [\n {\n label: \"Agency1\",\n rejected: 71990,\n success: 72,\n },\n {\n label: \"Agency 2\",\n rejected: 81271,\n success: 77,\n },\n {\n label: \"Agency 3\",\n rejected: 71063,\n success: 86,\n },\n ],\n\n vendors: [\n {\n id: 1,\n name: \"Agency1\",\n\n assignedConnections: 959871,\n\n completedEkyc: 201457,\n\n selfEkyc: 758414,\n\n pending: 201457,\n\n rejected: 71990,\n\n inactiveDemand: 1161328,\n\n successRate: 72,\n\n progress: 21,\n\n supervisors: 23,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"Outer North\", \"North West District\", \"Model Town AC 18\", \"Cluster 2\", \"North District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 16116,\n pending: 196084,\n rejected: 53272,\n },\n {\n day: \"Tue\",\n completed: 26189,\n pending: 192727,\n rejected: 55072,\n },\n {\n day: \"Wed\",\n completed: 38276,\n pending: 188698,\n rejected: 57232,\n },\n {\n day: \"Thu\",\n completed: 52378,\n pending: 183997,\n rejected: 59751,\n },\n {\n day: \"Fri\",\n completed: 68495,\n pending: 178625,\n rejected: 62631,\n },\n {\n day: \"Sat\",\n completed: 84611,\n pending: 173253,\n rejected: 65510,\n },\n {\n day: \"Sun\",\n completed: 100728,\n pending: 167880,\n rejected: 68390,\n },\n ],\n\n zones: [\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n cluster: \"NWS Bhera Enclave\",\n\n assignedConnections: 102669,\n\n location: \"102669\",\n\n zroOffice: \"NWS Bhera Enclave\",\n\n assemblyConstituency: \"Part of Mundka AC 08\",\n\n gpsLocation: null,\n\n distanceFromFarthestPoint: null,\n\n activeDemand: 202197,\n\n pppZones: 15800,\n\n inactiveDemand: 35265,\n\n districtwiseInactiveTotal: 237462,\n },\n\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n\n cluster: \"Narela\",\n\n assignedConnections: 99528,\n\n location: \"99528\",\n\n zroOffice: \"Narela\",\n\n assemblyConstituency: \"Narela AC 01\",\n\n activeDemand: 99528,\n\n pppZones: 19465,\n\n inactiveDemand: 35265,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"North West District\",\n\n cluster: \"Rohini AC 13\",\n\n assignedConnections: 71041,\n\n location: \"71041\",\n\n zroOffice: \"Rohini\",\n\n assemblyConstituency: \"Rithala AC 06\",\n\n activeDemand: 247949,\n\n pppZones: 28975,\n\n inactiveDemand: 49494,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Mangol Puri AC 12\",\n\n cluster: \"Model Town AC 18\",\n\n assignedConnections: 68957,\n\n location: \"68957\",\n\n zroOffice: \"Central North District\",\n\n assemblyConstituency: \"Ashok Vihar\",\n\n activeDemand: 231216,\n\n pppZones: 16627,\n\n inactiveDemand: 36915,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Timarpur AC 03\",\n\n cluster: \"Cluster 2\",\n\n assignedConnections: 34862,\n\n location: \"34862\",\n\n zroOffice: \"Old Delhi District\",\n\n assemblyConstituency: \"Pratap Nagar\",\n\n activeDemand: 99694,\n\n pppZones: 20011,\n\n inactiveDemand: 48011,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Bali Maran AC 22\",\n\n cluster: \"North District\",\n\n assignedConnections: 110507,\n\n location: \"110507\",\n\n zroOffice: \"Burari\",\n\n assemblyConstituency: \"Burari AC 2\",\n\n activeDemand: 178815,\n\n pppZones: 14700,\n\n inactiveDemand: 31772,\n },\n ],\n },\n\n {\n id: 2,\n\n name: \"Agency 2\",\n\n assignedConnections: 1083624,\n\n completedEkyc: 164302,\n\n selfEkyc: 919322,\n\n pending: 164302,\n\n rejected: 81271,\n\n inactiveDemand: 1247926,\n\n successRate: 77,\n\n progress: 15,\n\n supervisors: 14,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"West District\", \"Janak Puri\", \"South District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 13144,\n pending: 159920,\n rejected: 60140,\n },\n {\n day: \"Tue\",\n completed: 21359,\n pending: 157182,\n rejected: 62172,\n },\n {\n day: \"Wed\",\n completed: 31217,\n pending: 153896,\n rejected: 64610,\n },\n {\n day: \"Thu\",\n completed: 42718,\n pending: 150062,\n rejected: 67454,\n },\n {\n day: \"Fri\",\n completed: 55862,\n pending: 145681,\n rejected: 70705,\n },\n {\n day: \"Sat\",\n completed: 69006,\n pending: 141299,\n rejected: 73956,\n },\n {\n day: \"Sun\",\n completed: 82151,\n pending: 136918,\n rejected: 77207,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Rajouri Garden AC 27\",\n\n assignedConnections: 84506,\n\n location: \"84506\",\n\n zroOffice: \"Rajouri Garden AC 27\",\n\n assemblyConstituency: \"Punjabi Bagh\",\n\n activeDemand: 470766,\n\n pppZones: 13269,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Tilak Nagar AC 29\",\n\n assignedConnections: 51428,\n\n location: \"51428\",\n\n zroOffice: \"Tilak Nagar AC 29\",\n\n assemblyConstituency: \"Paschim Vihar\",\n\n activeDemand: 470766,\n\n pppZones: 6298,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"Part of Uttam Nagar & Vikas puri\",\n\n cluster: \"Janak Puri\",\n\n assignedConnections: 163041,\n\n location: \"163041\",\n\n zroOffice: \"Janakpuri\",\n\n assemblyConstituency: \"Janakpuri AC 30\",\n\n activeDemand: 369772,\n\n pppZones: 25729,\n\n inactiveDemand: 60534,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"South District\",\n\n assignedConnections: 52803,\n\n location: \"52803\",\n\n zroOffice: \"R K Puram\",\n\n assemblyConstituency: \"Malviya Nagar AC 43\",\n\n activeDemand: 243086,\n\n pppZones: 9678,\n\n inactiveDemand: 39204,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"Vasant Kunz\",\n\n assignedConnections: 58997,\n\n location: \"58997\",\n\n zroOffice: \"Vasant Kunj\",\n\n assemblyConstituency: \"Vasant Kunj\",\n\n activeDemand: 243086,\n\n pppZones: 6691,\n\n inactiveDemand: 39204,\n },\n ],\n },\n\n {\n id: 3,\n\n name: \"Agency 3\",\n\n assignedConnections: 947501,\n\n completedEkyc: 328451,\n\n selfEkyc: 541772,\n\n pending: 77278,\n\n rejected: 71063,\n\n inactiveDemand: 1016841,\n\n successRate: 86,\n\n progress: 78,\n\n supervisors: 19,\n\n activeSurveyors: 58,\n\n jurisdictions: [\"East District\", \"North East District\", \"South East District\", \"MNWS\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 44120,\n pending: 130002,\n rejected: 5711,\n },\n {\n day: \"Tue\",\n completed: 58221,\n pending: 121998,\n rejected: 7104,\n },\n {\n day: \"Wed\",\n completed: 70218,\n pending: 113201,\n rejected: 8842,\n },\n {\n day: \"Thu\",\n completed: 85124,\n pending: 104006,\n rejected: 9911,\n },\n {\n day: \"Fri\",\n completed: 102315,\n pending: 94441,\n rejected: 11214,\n },\n {\n day: \"Sat\",\n completed: 121009,\n pending: 85218,\n rejected: 12902,\n },\n {\n day: \"Sun\",\n completed: 142118,\n pending: 77278,\n rejected: 14101,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Mayur Vihar\",\n\n assignedConnections: 72326,\n\n location: \"72326\",\n\n zroOffice: \"Mayur Vihar\",\n\n assemblyConstituency: \"Trilokpuri AC 55\",\n\n activeDemand: 328564,\n\n pppZones: 9691,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Yojna Vihar\",\n\n assignedConnections: 40651,\n\n location: \"40651\",\n\n zroOffice: \"Yojna Vihar\",\n\n assemblyConstituency: \"Vishwas Nagar AC 59\",\n\n activeDemand: 328564,\n\n pppZones: 10097,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"GTB Enclave\",\n\n assignedConnections: 80453,\n\n location: \"80453\",\n\n zroOffice: \"GTB Enclave\",\n\n assemblyConstituency: \"Seemapuri AC 63\",\n\n activeDemand: 323753,\n\n pppZones: 10671,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"Yamuna Vihar\",\n\n assignedConnections: 90599,\n\n location: \"90599\",\n\n zroOffice: \"Yamuna Vihar\",\n\n assemblyConstituency: \"Mustafabad AC 69\",\n\n activeDemand: 323753,\n\n pppZones: 18185,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Kalkaji AC 51\",\n\n assignedConnections: 29188,\n\n location: \"29188\",\n\n zroOffice: \"Kalkaji AC 51\",\n\n assemblyConstituency: \"Saket\",\n\n activeDemand: 136102,\n\n pppZones: 3675,\n\n inactiveDemand: 23977,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Okhla\",\n\n assignedConnections: 18473,\n\n location: \"18473\",\n\n zroOffice: \"Sarita Vihar/Okhla\",\n\n assemblyConstituency: \"Okhla AC 54\",\n\n activeDemand: 136102,\n\n pppZones: 3703,\n\n inactiveDemand: 23977,\n },\n ],\n },\n ],\n};\n","// import React from \"react\";\n// import { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\n// const ExecutiveLineChart = ({ data = [], dataKey = \"completed\", name = \"Value\" }) => {\n// return (\n// <div className=\"chart-card\" style={{ minHeight: 320 }}>\n// <ResponsiveContainer width=\"100%\" height={320}>\n// <LineChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n// <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n// <XAxis dataKey=\"label\" axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} itemStyle={{ color: \"#f8fafc\" }} />\n// <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n// <Line\n// type=\"monotone\"\n// dataKey={dataKey}\n// name={name}\n// stroke=\"#38bdf8\"\n// strokeWidth={3}\n// dot={{ r: 4 }}\n// activeDot={{ r: 6, strokeWidth: 2, fill: \"#60a5fa\" }}\n// />\n// </LineChart>\n// </ResponsiveContainer>\n// </div>\n// );\n// };\n\n// export default ExecutiveLineChart;\n\nimport React from \"react\";\nimport { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveLineChart = ({ data = [] }) => {\n const formattedData = data.map((item) => ({\n ...item,\n\n agencyKyc: item.completed || 0,\n\n selfKyc: Math.round((item.completed || 0) * 0.42),\n\n totalKyc: (item.completed || 0) + Math.round((item.completed || 0) * 0.42),\n }));\n\n return (\n <div className=\"chart-card executive-line-chart\">\n <ResponsiveContainer width=\"100%\" height={340}>\n <LineChart\n data={formattedData}\n margin={{\n top: 20,\n right: 12,\n left: 0,\n bottom: 0,\n }}\n >\n <CartesianGrid stroke=\"#e2e8f0\" strokeDasharray=\"3 3\" vertical={false} />\n\n <XAxis\n dataKey=\"label\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n fontWeight: 600,\n }}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n }}\n />\n\n <Tooltip\n cursor={{\n stroke: \"#cbd5e1\",\n strokeWidth: 1,\n }}\n contentStyle={{\n background: \"#ffffff\",\n border: \"1px solid #e2e8f0\",\n borderRadius: 18,\n boxShadow: \"0 10px 30px rgba(15,23,42,0.08)\",\n }}\n labelStyle={{\n color: \"#0f172a\",\n fontWeight: 700,\n marginBottom: 10,\n }}\n />\n\n <Legend\n verticalAlign=\"top\"\n align=\"right\"\n iconType=\"circle\"\n wrapperStyle={{\n paddingBottom: 18,\n color: \"#475569\",\n fontWeight: 600,\n }}\n />\n\n {/* TOTAL */}\n\n <Line\n type=\"monotone\"\n dataKey=\"totalKyc\"\n name=\"Total eKYC\"\n stroke=\"#0f172a\"\n strokeWidth={4}\n dot={false}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* AGENCY */}\n\n <Line\n type=\"monotone\"\n dataKey=\"agencyKyc\"\n name=\"Agency eKYC\"\n stroke=\"#3b82f6\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* SELF */}\n\n <Line\n type=\"monotone\"\n dataKey=\"selfKyc\"\n name=\"Self eKYC\"\n stroke=\"#10b981\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n </LineChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveLineChart;\n","import React from \"react\";\nimport { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveBarChart = ({ data = [], categories = [], xKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <BarChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n <XAxis dataKey={xKey} axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14 }} itemStyle={{ color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n {categories.map((series, index) => (\n <Bar\n key={series.key}\n dataKey={series.key}\n name={series.name}\n fill={index === 0 ? \"#34d399\" : \"#60a5fa\"}\n radius={[12, 12, 0, 0]}\n barSize={24}\n />\n ))}\n </BarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveBarChart;\n","import React from \"react\";\nimport { ResponsiveContainer, PieChart, Pie, Cell, Tooltip, Legend } from \"recharts\";\n\nconst colors = [\"#22c55e\", \"#38bdf8\", \"#f97316\", \"#facc15\", \"#f43f5e\"];\n\nconst ExecutivePieChart = ({ data = [], dataKey = \"value\", labelKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <PieChart>\n <Pie data={data} dataKey={dataKey} nameKey={labelKey} cx=\"50%\" cy=\"50%\" outerRadius={110} innerRadius={60} paddingAngle={3} label={{ fill: \"#f8fafc\", fontSize: 12 }}>\n {data.map((entry, index) => (\n <Cell key={`cell-${index}`} fill={colors[index % colors.length]} />\n ))}\n </Pie>\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"bottom\" align=\"center\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\", marginTop: 10 }} />\n </PieChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutivePieChart;\n","import React, { useMemo, useState } from \"react\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport {\n FaChartLine,\n FaUsers,\n FaCheckCircle,\n FaClock,\n FaExclamationTriangle,\n FaUserTie,\n FaMapMarkedAlt,\n FaSearch,\n FaArrowRight,\n} from \"react-icons/fa\";\nimport { ekycMockData } from \"./mockData\";\nimport ExecutiveLineChart from \"./analytics/charts/ExecutiveLineChart\";\nimport ExecutiveBarChart from \"./analytics/charts/ExecutiveBarChart\";\nimport ExecutivePieChart from \"./analytics/charts/ExecutivePieChart\";\n\nconst CeoDashboard = () => {\n const history = useHistory();\n const location = useLocation();\n const [query, setQuery] = useState(\"\");\n const [statusFilter, setStatusFilter] = useState(\"All\");\n\n const basePath = location.pathname.replace(/\\/ceo-dashboard$/, \"\");\n const filters = [\"All\", \"High Priority\", \"Stable\", \"Watchlist\"];\n\n const vendors = useMemo(() => ekycMockData.vendors || [], []);\n const topKpis = useMemo(() => ekycMockData.topKpis || {}, []);\n const dailyTrend = useMemo(() => ekycMockData.dailyTrend || [], []);\n const selfVsAgency = useMemo(() => ekycMockData.selfVsAgency || [], []);\n const pendingVsCompleted = useMemo(() => ekycMockData.pendingVsCompleted || [], []);\n // const rejectionAnalysis = ekycMockData.rejectionAnalysis || [];\n\n const filteredVendors = useMemo(() => {\n return vendors\n .filter((vendor) => {\n if (statusFilter === \"High Priority\") return vendor.successRate < 70;\n if (statusFilter === \"Watchlist\") return vendor.pending > 35000;\n if (statusFilter === \"Stable\") return vendor.successRate >= 70;\n return true;\n })\n .filter((vendor) => {\n if (!query) return true;\n const keyword = query.toLowerCase();\n return (\n vendor.name.toLowerCase().includes(keyword) ||\n vendor.jurisdictions.some((zone) => zone.toLowerCase().includes(keyword)) ||\n vendor.zones.some((zone) => zone.location?.toLowerCase().includes(keyword))\n );\n });\n }, [vendors, query, statusFilter]);\n\n const zoneRows = useMemo(() => {\n return vendors\n .flatMap((vendor) => vendor.zones.map((zone) => ({ ...zone, agency: vendor.name })))\n .filter((row) => row.location)\n .sort((a, b) => (b.activeDemand || 0) - (a.activeDemand || 0));\n }, [vendors]);\n\n const alerts = [\n \"North East District has 22% more pending accounts than last week\",\n \"Agency 2 has a 12% improvement opportunity in Self eKYC adoption\",\n \"Urgent: 18 supervisor escalations raised for NWS Bhera Enclave\",\n \"Risk alert: Rejection trends are rising in Outer North clusters\",\n ];\n\n const routeToVendor = (vendorId) => {\n history.push(`${basePath}/vendors/${vendorId}`);\n };\n\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell\">\n <section className=\"kpi-grid\">\n {[\n {\n title: \"Total Water Connections\",\n value: topKpis.totalWaterConnections,\n icon: <FaUsers />,\n variant: \"primary\",\n },\n {\n title: \"Total eKYC Completed\",\n value: topKpis.totalEkycCompleted,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Total Pending\",\n value: topKpis.totalPending,\n icon: <FaClock />,\n variant: \"warning\",\n },\n {\n title: \"Total Rejected\",\n value: topKpis.totalRejected,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n {\n title: \"Agency eKYC Completed\",\n value: topKpis.agencyEkycCompleted,\n icon: <FaUserTie />,\n variant: \"info\",\n },\n {\n title: \"Citizen Self eKYC Completed\",\n value: topKpis.citizenSelfEkycCompleted,\n icon: <FaUsers />,\n variant: \"secondary\",\n },\n {\n title: \"Today's eKYC\",\n value: topKpis.todaysEkyc,\n icon: <FaChartLine />,\n variant: \"muted\",\n },\n {\n title: \"Success Rate\",\n value: `${topKpis.successRate}%`,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Rejection Percentage\",\n value: `${topKpis.rejectionPercentage}%`,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n ].map((card) => (\n <article key={card.title} className={`kpi-card card-${card.variant}`}>\n <div className=\"kpi-icon\">{card.icon}</div>\n <div>\n <p className=\"kpi-title\">{card.title}</p>\n <h2>{card.value?.toLocaleString?.() ?? card.value}</h2>\n </div>\n </article>\n ))}\n </section>\n\n <section className=\"vendor-section\">\n <div className=\"section-top\">\n <div>\n <h2>Agency Performance Snapshot</h2>\n <p>Search, filter, and navigate into detailed analytics for every assigned vendor.</p>\n </div>\n <div className=\"vendor-filters\">\n <div className=\"search-box\">\n <FaSearch />\n <input type=\"text\" placeholder=\"Search agency, jurisdiction, location\" value={query} onChange={(e) => setQuery(e.target.value)} />\n </div>\n <div className=\"status-pill-group\">\n {filters.map((status) => (\n <button key={status} className={`status-pill ${statusFilter === status ? \"active\" : \"\"}`} onClick={() => setStatusFilter(status)}>\n {status}\n </button>\n ))}\n </div>\n </div>\n </div>\n\n <div className=\"vendor-grid\">\n {filteredVendors.map((vendor) => (\n <div key={vendor.id} className=\"vendor-card glass-card\" onClick={() => routeToVendor(vendor.id)}>\n <div className=\"vendor-card-top\">\n <div>\n <p className=\"vendor-chip\">{vendor.name}</p>\n <h3>{vendor.assignedConnections.toLocaleString()}</h3>\n <p className=\"vendor-subtitle\">Assigned connections across {vendor.jurisdictions.length} jurisdiction(s)</p>\n </div>\n <div className=\"vendor-progress-value\">{vendor.progress}%</div>\n </div>\n <div className=\"progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${vendor.progress}%` }} />\n </div>\n <div className=\"vendor-stats-grid\">\n <div>\n <strong>{vendor.completedEkyc.toLocaleString()}</strong>\n <span>Agency eKYC</span>\n </div>\n <div>\n <strong>{vendor.selfEkyc.toLocaleString()}</strong>\n <span>Self eKYC</span>\n </div>\n <div>\n <strong>{vendor.pending.toLocaleString()}</strong>\n <span>Pending</span>\n </div>\n <div>\n <strong>{vendor.rejected.toLocaleString()}</strong>\n <span>Rejected</span>\n </div>\n </div>\n <div className=\"vendor-card-footer\">\n <span>{vendor.activeSurveyors} Surveyors</span>\n <span>{vendor.supervisors} Supervisors</span>\n <span>{vendor.jurisdictions.join(\", \")}</span>\n </div>\n <div className=\"vendor-card-action\">\n <span>Explore analytics</span>\n <FaArrowRight />\n </div>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"analytics-grid\">\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Daily eKYC Trend</h2>\n <span className=\"badge success\">Live index</span>\n </div>\n <ExecutiveLineChart data={dailyTrend} dataKey=\"completed\" name=\"Completed\" />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Self vs Agency eKYC</h2>\n <span className=\"badge info\">Adoption</span>\n </div>\n <ExecutiveBarChart\n data={selfVsAgency}\n categories={[\n { key: \"agency\", name: \"Agency\" },\n { key: \"citizen\", name: \"Citizen\" },\n ]}\n />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Pending vs Completed</h2>\n <span className=\"badge warning\">Operational pulse</span>\n </div>\n <ExecutivePieChart data={pendingVsCompleted} dataKey=\"completed\" labelKey=\"label\" />\n </div>\n </section>\n\n <section className=\"zone-section\">\n <div className=\"section-header\">\n <div>\n <h2>\n <FaMapMarkedAlt /> Jurisdiction Performance\n </h2>\n <p>Top zones evaluated from the full agency dataset.</p>\n </div>\n <button className=\"secondary-button\">Export Zone Data</button>\n </div>\n\n <div className=\"table-wrapper glass-card\">\n <table>\n <thead>\n <tr>\n <th>Agency</th>\n <th>Location</th>\n <th>District</th>\n <th>Assigned</th>\n <th>Agency eKYC</th>\n <th>Pending</th>\n <th>Progress</th>\n </tr>\n </thead>\n <tbody>\n {zoneRows.slice(0, 10).map((zone, index) => (\n <tr key={`${zone.agency}-${zone.location}-${index}`}>\n <td>{zone.agency}</td>\n <td>{zone.location}</td>\n <td>{zone.district || zone.cluster}</td>\n <td>{zone.activeDemand?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.pppZones?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.inactiveDemand?.toLocaleString() ?? \"—\"}</td>\n <td>\n <span className=\"status-badge success\">\n {Math.min(100, Math.round(((zone.pppZones || 0) / Math.max(zone.activeDemand || 1, 1)) * 100))}%\n </span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <section className=\"bottom-grid\">\n <div className=\"alerts-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaExclamationTriangle /> Critical Alerts\n </h2>\n </div>\n <div className=\"alerts-list\">\n {alerts.map((alert) => (\n <div key={alert} className=\"alert-card\">\n <FaExclamationTriangle />\n <p>{alert}</p>\n </div>\n ))}\n </div>\n </div>\n\n <div className=\"efficiency-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaUserTie /> Workforce & Efficiency\n </h2>\n </div>\n <div className=\"efficiency-grid\">\n <div className=\"efficiency-box\">\n <h3>48</h3>\n <p>Supervisors Online</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>168</h3>\n <p>Surveyors Active</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.todayEkyc?.toLocaleString()}</h3>\n <p>eKYC Completed Today</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.successRate}%</h3>\n <p>Operational Efficiency</p>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n );\n};\n\nexport default CeoDashboard;\n","import React, { useMemo } from \"react\";\nimport { useHistory, useParams } from \"react-router-dom\";\nimport { FaArrowLeft, FaUsers, FaCheckCircle, FaClock, FaExclamationTriangle, FaMapMarkedAlt } from \"react-icons/fa\";\nimport { ekycMockData } from \"./mockData\";\nimport ExecutiveLineChart from \"./analytics/charts/ExecutiveLineChart\";\nimport ExecutiveBarChart from \"./analytics/charts/ExecutiveBarChart\";\nimport ExecutivePieChart from \"./analytics/charts/ExecutivePieChart\";\nimport { Loader } from \"@djb25/digit-ui-react-components\";\n\nconst VendorDetails = () => {\n const history = useHistory();\n const { vendorId = 1 } = useParams();\n const vendor = useMemo(() => ekycMockData.vendors.find((item) => item.id === Number(vendorId)), [vendorId]);\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n if (!vendor) {\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell\">\n <div className=\"detail-header\">\n <button className=\"back-button\" onClick={() => history.goBack()}>\n <FaArrowLeft /> Back\n </button>\n </div>\n <div className=\"empty-state\">\n <h2>Vendor analytics not found</h2>\n <p>The selected vendor does not exist in the current report. Please return to the dashboard.</p>\n </div>\n </div>\n </div>\n );\n }\n\n const zoneRows = vendor.zones.slice(0, 8);\n\n const performanceData = vendor.dailyPerformance.map((row) => ({\n day: row.day,\n completed: row.completed,\n pending: row.pending,\n rejected: row.rejected,\n }));\n\n if (isLoading) <Loader />;\n\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell detail-shell\">\n <section className=\"kpi-grid detail-kpi-grid\">\n {[\n {\n label: \"Assigned Connections\",\n value: vendor.assignedConnections,\n icon: <FaUsers />,\n variant: \"primary\",\n },\n {\n label: \"Agency eKYC\",\n value: vendor.completedEkyc,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n label: \"Self eKYC\",\n value: vendor.selfEkyc,\n icon: <FaUsers />,\n variant: \"info\",\n },\n {\n label: \"Pending\",\n value: vendor.pending,\n icon: <FaClock />,\n variant: \"warning\",\n },\n {\n label: \"Rejected\",\n value: vendor.rejected,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n {\n label: \"Success Rate\",\n value: `${vendor.successRate}%`,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n ].map((item) => (\n <article key={item.label} className={`kpi-card card-${item.variant}`}>\n <div className=\"kpi-icon\">{item.icon}</div>\n <div>\n <p className=\"kpi-title\">{item.label}</p>\n <h2>{item.value?.toLocaleString?.() ?? item.value}</h2>\n </div>\n </article>\n ))}\n </section>\n\n <section className=\"analytics-grid detail-analytics-grid\">\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Daily Completion Trend</h2>\n <span className=\"badge success\">Performance</span>\n </div>\n <ExecutiveLineChart data={performanceData} dataKey=\"completed\" name=\"Completed\" />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Pending vs Completed</h2>\n <span className=\"badge warning\">Workload</span>\n </div>\n <ExecutiveBarChart\n data={performanceData}\n categories={[\n { key: \"completed\", name: \"Completed\" },\n { key: \"pending\", name: \"Pending\" },\n ]}\n xKey=\"day\"\n />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Self vs Agency Split</h2>\n <span className=\"badge info\">Adoption</span>\n </div>\n <ExecutivePieChart\n data={[\n { label: \"Agency eKYC\", value: vendor.completedEkyc },\n { label: \"Citizen Self eKYC\", value: vendor.selfEkyc },\n ]}\n dataKey=\"value\"\n labelKey=\"label\"\n />\n </div>\n </section>\n\n <section className=\"zone-section detail-zone-section\">\n <div className=\"section-header\">\n <div>\n <h2>\n <FaMapMarkedAlt /> Zone-wise Jurisdiction Analytics\n </h2>\n <p>Drill into the current operational load and heatmap intensity for this vendor.</p>\n </div>\n </div>\n <div className=\"table-wrapper glass-card\">\n <table>\n <thead>\n <tr>\n <th>Zone</th>\n <th>Cluster</th>\n <th>Assigned</th>\n <th>Agency eKYC</th>\n <th>Pending</th>\n <th>Activity Score</th>\n </tr>\n </thead>\n <tbody>\n {zoneRows.map((row, index) => (\n <tr key={`${row.location}-${index}`}>\n <td>{row.location}</td>\n <td>{row.cluster || row.district}</td>\n <td>{row.activeDemand?.toLocaleString() ?? \"—\"}</td>\n <td>{row.pppZones?.toLocaleString() ?? \"—\"}</td>\n <td>{row.inactiveDemand?.toLocaleString() ?? \"—\"}</td>\n <td>\n <span className={`status-badge ${row.intensityScore > 65 ? \"danger\" : row.intensityScore > 45 ? \"warning\" : \"success\"}`}>\n {row.intensityScore}%\n </span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <section className=\"bottom-grid detail-bottom-grid\">\n <div className=\"cards-summary glass-card\">\n <h2>Operational Efficiency</h2>\n <div className=\"efficiency-grid\">\n <div className=\"efficiency-box\">\n <h3>{vendor.activeSurveyors}</h3>\n <p>Active Surveyors</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{vendor.supervisors}</h3>\n <p>Supervisors</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{vendor.progress}%</h3>\n <p>Execution Rate</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{vendor.dailyPerformance.slice(-1)[0]?.completed?.toLocaleString()}</h3>\n <p>Latest Day Completed</p>\n </div>\n </div>\n </div>\n\n <div className=\"cards-summary glass-card\">\n <h2>Supervisor Pulse</h2>\n <div className=\"pulse-list\">\n {vendor.jurisdictions.map((zone) => (\n <div key={zone} className=\"pulse-row\">\n <span>{zone}</span>\n <span>{Math.max(12, Math.round(Math.random() * 38))} active</span>\n </div>\n ))}\n </div>\n </div>\n </section>\n </div>\n </div>\n );\n};\n\nexport default VendorDetails;\n","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst useInboxTableConfig = ({\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n checkPathName,\n onSortingByData,\n tenantId,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const tableColumnConfig = [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n disableSortBy: true,\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{row.original?.citizenName || \"NA\"}</span>,\n },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const ekycStatus = (row.original?.ekycStatus || row.original?.ekycstatus || \"NA\").toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>;\n },\n },\n ];\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n initSortId: \"applicationDate\",\n onPageSizeChange: onPageSizeChange,\n currentPage: offset,\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) + limit },\n checkPathName,\n }),\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) - limit },\n checkPathName,\n }),\n pageSizeLimit: limit,\n onSort: onSortingByData,\n // sortParams: [{id: getValues(\"sortBy\"), desc: getValues(\"sortOrder\") === \"DESC\" ? true : false}],\n totalRecords: totalCount,\n onSearch: formState?.searchForm?.message,\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: Math.max(0, Math.floor((totalCount - 1) / limit) * limit) },\n checkPathName,\n }),\n onFirstPage: () => dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, offset: 0 }, checkPathName }),\n // globalSearch: {searchForItemsInTable},\n // searchQueryForTable,\n data: table,\n columns: tableColumnConfig,\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default useInboxTableConfig;\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport { CardLabelError, TextInput, CustomTooltip, Label } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchFormFieldsComponents = ({ searchFormState, controlSearchForm, searchType }) => {\n const { t } = useTranslation();\n const { errors } = searchFormState;\n\n if (searchType === \"mobile\") {\n return (\n <React.Fragment>\n {/* MOBILE NUMBER */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"ES_COMMON_MOBILE_NUM\") || \"Mobile Number\"}\n <CustomTooltip message={t(\"EKYC_MOBILE_NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"mobileNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[6-9]\\d{9}$/,\n message: t(\"ERR_INVALID_MOBILE_NUMBER\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.mobileNumber && <CardLabelError>{errors.mobileNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment>\n {/* K NUMBER (KNO) */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"EKYC_K.NUMBER\") || \"K Number\"}\n <CustomTooltip message={t(\"EKYC_K.NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"kNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[0-9]{10}$/,\n message: t(\"ERR_INVALID_KNO\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.kNumber && <CardLabelError>{errors.kNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n};\n\nexport default SearchFormFieldsComponents;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit]);\n\n const { isLoading: isListLoading, data: listData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return listData?.consumerList || [];\n }, [isSearchActive, searchData, listData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (\n item.connectionDetails?.ekycStatus ||\n item.connectionDetails?.ekycstatus ||\n item.ekycStatus ||\n item.ekycstatus ||\n \"NA\"\n ).toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.kno || \"\",\n owner: fullName || item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName || item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = listData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n function formReducer(state, payload) {\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isListLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n // ...propsForMobileSortForm,\n propsForInboxTable,\n // propsForInboxMobileCards,\n formState,\n countData: listData,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useMemo } from \"react\";\nimport {\n Header,\n Card,\n CardHeader,\n CardText,\n CardLabel,\n Dropdown,\n SubmitBar,\n ActionBar,\n Table,\n Toast,\n LabelFieldPair,\n Modal,\n DeleteIcon,\n EditIcon,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\n// ─── Static Mock Data ─────────────────────────────────────────────────────────\n\nconst MOCK_SURVEYORS = [\n { name: \"Amit Kumar\", id: \"SVR001\", role: \"Surveyor\" },\n { name: \"Sanjay Singh\", id: \"SVR002\", role: \"Surveyor\" },\n { name: \"Rahul Sharma\", id: \"SVR003\", role: \"Surveyor\" },\n { name: \"Priya Verma\", id: \"SVR004\", role: \"Surveyor\" },\n];\n\nconst MOCK_MRDS = [\n { name: \"MRD - 01 (Central Zone)\", code: \"MRD01\", zone: \"Central\" },\n { name: \"MRD - 02 (North Zone)\", code: \"MRD02\", zone: \"North\" },\n { name: \"MRD - 03 (South Zone)\", code: \"MRD03\", zone: \"South\" },\n { name: \"MRD - 04 (West Zone)\", code: \"MRD04\", zone: \"West\" },\n { name: \"MRD - 05 (East Zone)\", code: \"MRD05\", zone: \"East\" },\n { name: \"MRD - 06 (Rohini)\", code: \"MRD06\", zone: \"Rohini\" },\n { name: \"MRD - 07 (Dwarka)\", code: \"MRD07\", zone: \"Dwarka\" },\n];\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst Mapping = () => {\n const { t } = useTranslation();\n\n // Form state\n const [selectedSurveyor, setSelectedSurveyor] = useState(null);\n const [selectedMRD, setSelectedMRD] = useState(null);\n\n // Mappings list\n const [mappings, setMappings] = useState([]);\n\n // Edit state: stores the id of the row being edited + its draft values\n const [editingId, setEditingId] = useState(null);\n const [editSurveyor, setEditSurveyor] = useState(null);\n const [editMRD, setEditMRD] = useState(null);\n\n // Delete confirm modal\n const [deleteTarget, setDeleteTarget] = useState(null);\n\n const [toast, setToast] = useState(null);\n\n // ── Handlers ──────────────────────────────────────────────────────────────\n\n const handleAddMapping = () => {\n if (!selectedSurveyor || !selectedMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD\" });\n return;\n }\n const exists = mappings.some(\n m => m.surveyorId === selectedSurveyor.id && m.mrdCode === selectedMRD.code\n );\n if (exists) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => [...prev, {\n id: Date.now(),\n surveyorName: selectedSurveyor.name,\n surveyorId: selectedSurveyor.id,\n mrdName: selectedMRD.name,\n mrdCode: selectedMRD.code,\n zone: selectedMRD.zone,\n }]);\n setSelectedMRD(null);\n setSelectedSurveyor(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_ADDED\") || \"Mapping added successfully\" });\n };\n\n const handleEditStart = (row) => {\n setEditingId(row.id);\n setEditSurveyor(MOCK_SURVEYORS.find(s => s.id === row.surveyorId) || null);\n setEditMRD(MOCK_MRDS.find(m => m.code === row.mrdCode) || null);\n };\n\n const handleEditSave = (id) => {\n if (!editSurveyor || !editMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD to save\" });\n return;\n }\n // Check duplicate (excluding self)\n const duplicate = mappings.some(\n m => m.id !== id && m.surveyorId === editSurveyor.id && m.mrdCode === editMRD.code\n );\n if (duplicate) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => prev.map(m => m.id !== id ? m : {\n ...m,\n surveyorName: editSurveyor.name,\n surveyorId: editSurveyor.id,\n mrdName: editMRD.name,\n mrdCode: editMRD.code,\n zone: editMRD.zone,\n }));\n setEditingId(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_UPDATED\") || \"Mapping updated successfully\" });\n };\n\n const handleEditCancel = () => {\n setEditingId(null);\n setEditSurveyor(null);\n setEditMRD(null);\n };\n\n const handleDeleteConfirm = () => {\n setMappings(prev => prev.filter(m => m.id !== deleteTarget.id));\n setDeleteTarget(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_REMOVED\") || \"Mapping removed\" });\n };\n\n const handleSaveMappings = () => {\n if (mappings.length === 0) {\n setToast({ type: \"error\", message: t(\"EKYC_NO_MAPPINGS_TO_SAVE\") || \"No mappings to save\" });\n return;\n }\n // TODO: replace with real API call\n setToast({ type: \"success\", message: t(\"EKYC_MAPPINGS_SAVED_SUCCESS\") || \"Surveyor mappings saved successfully!\" });\n };\n\n // ── Table columns ─────────────────────────────────────────────────────────\n\n const columns = useMemo(() => [\n {\n Header: t(\"EKYC_SURVEYOR_NAME\") || \"Surveyor\",\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editSurveyor}\n select={setEditSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose surveyor...\"}\n />\n );\n }\n return (\n <div>\n <span className=\"link\">{row.original.surveyorName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.surveyorId}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"EKYC_MRD_ASSIGNED\") || \"MRD Assigned\",\n accessor: \"mrdName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editMRD}\n select={setEditMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose MRD...\"}\n />\n );\n }\n return (\n <div>\n <span>{row.original.mrdName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.zone}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"ES_COMMON_ACTION\") || \"Actions\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <div style={{ display: \"flex\", gap: \"10px\" }}>\n <span\n style={{ cursor: \"pointer\", color: \"#f47738\", fontWeight: \"bold\" }}\n onClick={() => handleEditSave(row.original.id)}\n >\n {t(\"ES_COMMON_SAVE\")}\n </span>\n <span\n style={{ cursor: \"pointer\", color: \"#505A5F\", fontWeight: \"bold\" }}\n onClick={handleEditCancel}\n >\n {t(\"ES_COMMON_CANCEL\")}\n </span>\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", gap: \"16px\" }}>\n <span onClick={() => handleEditStart(row.original)} style={{ cursor: \"pointer\" }}>\n <EditIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n <span onClick={() => setDeleteTarget(row.original)} style={{ cursor: \"pointer\" }}>\n <DeleteIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n </div>\n );\n },\n },\n ], [editingId, editSurveyor, editMRD, mappings, t]);\n\n // ── Render ────────────────────────────────────────────────────────────────\n\n return (\n <React.Fragment>\n <div className=\"side-panel-item\">\n <Card className=\"employeeCard filter inboxLinks\" style={{ marginTop: \"16px\" }}>\n <div className=\"complaint-links-container\">\n <div className=\"header\" style={{ marginBottom: \"0px\" }}>\n <span className=\"logo\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M6.5 2H20V22H6.5A2.5 2.5 0 0 1 4 19.5V4.5A2.5 2.5 0 0 1 6.5 2Z\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n <span className=\"text\">{t(\"EKYC_SURVEYOR_MAPPING\") || \"Surveyor Mapping\"}</span>\n </div>\n </div>\n </Card>\n </div>\n\n <Card>\n <CardHeader>{t(\"EKYC_NEW_MAPPING\") || \"New Mapping\"}</CardHeader>\n <CardText>\n {t(\"EKYC_MAPPING_SUBHEADER\") || \"Assign Meter Reading Dairies to surveyors to manage their data access.\"}\n </CardText>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_SURVEYOR\") || \"Select Surveyor\"} *</CardLabel>\n <div className=\"\">\n <Dropdown\n selected={selectedSurveyor}\n select={setSelectedSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose a surveyor...\"}\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_MRD\") || \"Select MRD\"} *</CardLabel>\n <div className=\"field\">\n <Dropdown\n selected={selectedMRD}\n select={setSelectedMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose an MRD...\"}\n />\n </div>\n </LabelFieldPair>\n\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"EKYC_ADD_TO_LIST\") || \"Add to Mapping List\"}\n onSubmit={handleAddMapping}\n disabled={!selectedSurveyor || !selectedMRD}\n />\n </div>\n </Card>\n\n {mappings.length > 0 && (\n <Card>\n <CardHeader>\n {t(\"EKYC_MAPPING_SUMMARY\") || \"Mapping Summary\"} ({mappings.length})\n </CardHeader>\n <Table\n t={t}\n data={mappings}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n padding: \"10px\",\n fontSize: \"16px\",\n }\n };\n }}\n tableClassName=\"table digit-table\"\n />\n </Card>\n )}\n\n {mappings.length > 0 && (\n <ActionBar>\n <SubmitBar\n label={t(\"EKYC_SAVE_MAPPINGS\") || \"Save Mappings\"}\n onSubmit={handleSaveMappings}\n />\n </ActionBar>\n )}\n\n {deleteTarget && (\n <Modal\n headerBarMain={t(\"EKYC_REMOVE_MAPPING\") || \"Remove Mapping\"}\n headerBarEnd={\n <span onClick={() => setDeleteTarget(null)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_REMOVE\")}\n actionSaveOnSubmit={handleDeleteConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setDeleteTarget(null)}\n style={{ borderRadius: \"12px\" }}\n >\n <CardText style={{ marginTop: \"16px\", marginBottom: \"16px\" }}>\n {t(\"EKYC_REMOVE_MAPPING_CONFIRM_MSG\") || \"Are you sure you want to remove the mapping between \"}\n <strong>{deleteTarget?.surveyorName}</strong> and <strong>{deleteTarget?.mrdName}</strong>?\n </CardText>\n </Modal>\n )}\n\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n warning={toast.type === \"warning\"}\n info={toast.type === \"info\"}\n isDsc={true}\n onClose={() => setToast(null)}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport default Mapping;","import React, { useState } from \"react\";\nimport { Loader, Modal, RadioButtons } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\n\nconst ConnectionDetailsView = ({ kNumber, kName, connectionDetails, isLoading }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { path } = useRouteMatch();\n\n const [showModal, setShowModal] = useState(false);\n const [selectedOption, setSelectedOption] = useState({ code: \"SELF\", name: \"EKYC_SELF\" });\n\n const options = [\n { code: \"SELF\", name: \"EKYC_SELF\" },\n { code: \"OTHER\", name: \"EKYC_OTHER\" },\n ];\n\n const handleStartVerification = () => setShowModal(true);\n\n const onModalConfirm = () => {\n const parentPath = path.includes(\"/create-kyc\")\n ? path.replace(\"/create-kyc\", \"\")\n : path.replace(\"/k-details\", \"\");\n history.push(`${parentPath}/consumer-details`, { kNumber, selectedOption, connectionDetails });\n setShowModal(false);\n };\n\n if (isLoading) return <Loader />;\n if (!connectionDetails) return null;\n\n const details = connectionDetails?.connectionDetails || {};\n const statusFlag = details.statusflag || \"\";\n const isActive = statusFlag?.toLowerCase() === \"active\" || statusFlag === \"A\";\n\n return (\n <React.Fragment>\n <div className=\"ekyc-employee-container\">\n {/* Main Card */}\n <div className=\"connection-details-card\">\n {/* Card Header */}\n <div className=\"details-card-header\">\n <div className=\"header-title-wrapper\">\n <div className=\"header-icon-bg\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </div>\n <span className=\"header-title-text\">\n {t(\"EKYC_K_NUMBER_DETAILS\") || \"Consumer Identity Details\"}\n </span>\n </div>\n\n {/* Status Badge */}\n <span className={`status-badge ${isActive ? \"active\" : \"inactive\"}`}>\n {isActive ? (t(\"EKYC_ACTIVE_CONNECTION\") || \"Active Connection\") : (statusFlag || t(\"CS_NA\"))}\n </span>\n </div>\n\n {/* Card Body */}\n <div className=\"details-card-body\">\n <div className=\"body-content-row\">\n {/* Left: Verification Parameters */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_VERIFICATION_PARAMETERS\") || \"Verification Parameters\"}\n </div>\n\n <div className=\"data-grid\">\n {/* Consumer Name */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONSUMER_NAME\") || \"Consumer Name\"}\n </div>\n <div className=\"data-value\">\n {details.consumerName || kName || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* K Number */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n </div>\n <div className=\"data-value blue\">\n {kNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Meter Serial No */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_METER_NO\") || \"Meter Serial No.\"}\n </div>\n <div className=\"data-value\">\n {details.meterNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Connection Type */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONNECTION_TYPE\") || \"Connection Type\"}\n </div>\n <div className=\"data-value\">\n {details.connectionType || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n\n {/* Divider */}\n <div className=\"vertical-divider\" />\n\n {/* Right: Address & Contact */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_ADDRESS_AND_CONTACT\") || \"Address & Contact\"}\n </div>\n\n {/* Service Address */}\n <div className=\"address-block\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0z\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_ADDRESS\") || \"Service Address\"}\n </div>\n <div className=\"address-text\">\n {details.address || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Contact + Email row */}\n <div className=\"contact-row\">\n {/* Contact */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\" />\n <line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_PHONE_NO\") || \"Contact\"}\n </div>\n <div className=\"address-text\">\n {details.phoneNumber || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Email */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_EMAIL\") || \"Email Address\"}\n </div>\n <div className=\"address-text\">\n {details.email || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Card Footer */}\n <div className=\"details-card-footer\">\n {/* Last Verified */}\n <div className=\"footer-meta-text\">\n {connectionDetails?.lastVerified\n ? `${t(\"EKYC_LAST_VERIFIED\") || \"Last verified:\"} ${connectionDetails.lastVerified}`\n : \"\"}\n </div>\n\n {/* Action Buttons */}\n <div className=\"action-btns-container\" style={{ fontSize: \"12px\" }}>\n <button\n onClick={handleStartVerification}\n className=\"primary-action-btn\"\n style={{ fontSize: \"12px\" }}\n >\n {t(\"EKYC_START_REVIEW\") || \"Start Review\"}\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n <polyline points=\"12 5 19 12 12 19\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n {/* Modal */}\n {showModal && (\n <Modal\n headerBarMain={t(\"EKYC_SELECT_VERIFICATION_TYPE\")}\n headerBarEnd={\n <span onClick={() => setShowModal(false)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_CONFIRM\")}\n actionSaveOnSubmit={onModalConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setShowModal(false)}\n style={{ borderRadius: \"12px\" }}\n >\n <div style={{ padding: \"24px\" }}>\n <RadioButtons\n name=\"verificationType\"\n options={options}\n optionsKey=\"name\"\n selectedOption={selectedOption}\n onSelect={setSelectedOption}\n style={{ display: \"flex\", flexDirection: \"column\", gap: \"12px\", buttonStyle: { borderRadius: \"5px\" } }}\n t={t}\n />\n </div>\n </Modal>\n )}\n </React.Fragment>\n );\n};\n\nexport default ConnectionDetailsView;","import React, { useState, useEffect } from \"react\";\nimport { Card, HomeIcon, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport SearchConsumer from \"../../components/SearchConsumer\";\nimport ConnectionDetailsView from \"../../components/ConnectionDetailsView\";\n\nconst Create = () => {\n const { t } = useTranslation();\n const [searchParams, setSearchParams] = useState(() => {\n const saved = sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n return saved ? JSON.parse(saved) : { kNumber: \"\", kName: \"\" };\n });\n const [searchPerformed, setSearchPerformed] = useState(() => {\n return sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PERFORMED\") === \"true\";\n });\n const [showToast, setShowToast] = useState(null);\n const [formParams, setFormParams, clearParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const { isLoading: isSearching, data: connectionDetails, error, revalidate } = Digit.Hooks.ekyc.useSearchConnection({\n tenantId,\n details: { kno: searchParams.kNumber, name: searchParams.kName }\n }, {\n enabled: searchPerformed && !!searchParams.kNumber && !!searchParams.kName,\n onError: (error) => {\n setShowToast({ error: true, label: error?.response?.data?.Errors?.[0]?.message || t(\"EKYC_SEARCH_ERROR_PLEASE_ENTER_THE_CORRECT_CREDENTIALS\") });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n }\n });\n\n const handleSearch = (params) => {\n if (!params.kNumber && !params.kName) {\n // This is the \"Clear\" case\n setSearchParams({ kNumber: \"\", kName: \"\" });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n clearParams(); // Clear consolidated EKYC data\n return;\n }\n\n if (!params.kNumber || !params.kName) {\n setShowToast({ error: true, label: t(\"EKYC_FILL_ALL_FIELDS\") });\n return;\n }\n setSearchParams(params);\n setSearchPerformed(true);\n\n // Clear previous EKYC session data if K-number changes\n const currentKno = sessionStorage.getItem(\"EKYC_K_NUMBER\");\n if (currentKno !== params.kNumber) {\n clearParams();\n // Clear any other EKYC keys if they exist\n Object.keys(sessionStorage).forEach(key => {\n if (key.startsWith(\"EKYC_\") && key !== \"EKYC_CREATE\") sessionStorage.removeItem(key);\n });\n }\n\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PARAMS\", JSON.stringify(params));\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PERFORMED\", \"true\");\n sessionStorage.setItem(\"EKYC_K_NUMBER\", params.kNumber);\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n return (\n <SearchConsumer\n onSearch={handleSearch}\n searchParams={searchParams}\n >\n {searchPerformed && (\n <ConnectionDetailsView\n kNumber={searchParams.kNumber}\n kName={searchParams.kName}\n connectionDetails={connectionDetails}\n isLoading={isSearching}\n />\n )}\n\n {!searchPerformed && !isSearching && (\n <Card style={{ textAlign: \"center\", padding: \"40px\" }}>\n <div style={{ color: \"#667085\" }}>{t(\"EKYC_SEARCH_TO_VIEW_DETAILS\")}</div>\n </Card>\n )}\n {showToast && <Toast error={showToast.error} label={showToast.label} onClose={closeToast} isDsc={true} />}\n </SearchConsumer>\n );\n};\n\nexport default Create;\n","import React, { Fragment, useState } from \"react\";\nimport {\n Card,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n Menu,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\n\n// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />} style={{ margin: 0, padding: 0 }} onClick={routeTo} />\n );\n};\n\nconst checkForNA = (value) => (value !== null && value !== undefined && value !== \"\" ? value : \"N/A\");\n\nconst boolToYesNo = (value, t) => {\n if (value === true || value === \"true\" || String(value).toLowerCase() === \"yes\") return t(\"CORE_COMMON_YES\");\n if (value === false || value === \"false\" || String(value).toLowerCase() === \"no\") return t(\"CORE_COMMON_NO\");\n if (value === \"true\") return t(\"CORE_COMMON_YES\");\n if (value === \"false\") return t(\"CORE_COMMON_NO\");\n};\n/**\n * Robust data extraction for comparison.\n * The API returns { applicationReviewInfo: { newData: { ... }, oldData: { ... } } }\n */\nconst extractReviewData = (searchData, flowState) => {\n const rawData = searchData && Object.keys(searchData).length > 0 ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReviewInfo -> newData/oldData\n const reviewWrapper = rawData?.applicationReviewInfo || rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n\n return {\n newData: applicationData?.newData || applicationData,\n oldData: applicationData?.oldData || null,\n };\n};\n\nconst ReviewSection = ({ title, fields, newData, oldData, t, jumpTo, state, hideEditButton }) => {\n return (\n <div\n className=\"review-section-wrapper\"\n style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}\n >\n <div\n style={{\n padding: \"20px 24px\",\n background: \"#F9FAFB\",\n borderBottom: \"1px solid #EAECF0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && !hideEditButton && <ActionButton jumpTo={jumpTo} state={state} />}\n </div>\n\n <div style={{ padding: \"0 24px\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", tableLayout: \"fixed\" }}>\n <thead>\n <tr>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"30%\",\n }}\n >\n {t(\"EKYC_FIELD_NAME\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_EXISTING_INFORMATION\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_PROPOSED_UPDATES\")}\n </th>\n </tr>\n </thead>\n <tbody>\n {fields.map((field, idx) => {\n const valNew = newData?.[field.key];\n const valOld = oldData?.[field.key];\n const isChanged = oldData && String(valNew) !== String(valOld) && valOld !== undefined && valOld !== null;\n\n return (\n <tr key={idx} style={{ borderTop: \"1px solid #F2F4F7\" }}>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#344054\", fontWeight: \"500\" }}>{t(field.label)}</td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#667085\" }}>\n {field.isBool ? boolToYesNo(valOld, t) : checkForNA(valOld)}\n </td>\n <td\n style={{ padding: \"16px 0\", fontSize: \"14px\", color: isChanged ? \"#1B8B32\" : \"#101828\", fontWeight: isChanged ? \"700\" : \"400\" }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {field.isBool ? boolToYesNo(valNew, t) : checkForNA(valNew)}\n {isChanged && (\n <span\n style={{\n background: \"#ECFDF3\",\n color: \"#067647\",\n padding: \"2px 8px\",\n borderRadius: \"12px\",\n fontSize: \"10px\",\n fontWeight: \"600\",\n }}\n >\n {t(\"EKYC_CHANGED\")}\n </span>\n )}\n </div>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nconst Review = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n let { kno, applicationId } = useParams();\n\n const [agree, setAgree] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [showPreview, setShowPreview] = useState(false);\n const [previewUrl, setPreviewUrl] = useState(\"\");\n const [showOptions, setShowOptions] = useState(false);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({ error: false, label: \"\" });\n\n const options = [\n { action: t(\"APPROVE\") },\n { action: t(\"REJECT\") }\n ];\n\n const flowState = location.state || {};\n const { edits = {} } = flowState;\n const activeKno = kno || applicationId;\n\n const { aadhaarData = {}, addressDetails: editedAddress = {}, propertyDetails: editedProperty = {}, meterDetails: editedMeter = {} } = edits;\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const workflowMutation = Digit.Hooks.ekyc.useEkycWorkflow(tenantId);\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const { data: searchData, isLoading: isSearchLoading } = Digit.Hooks.ekyc.useEkycSearchReview({ kno: activeKno, fetchType: \"REVIEW\" }, tenantId, {\n enabled: !!activeKno,\n });\n\n const userRoles = Digit.SessionStorage.get(\"User\")?.info?.roles?.map((ele) => ele.code) || [];\n const isZRO = userRoles.includes(\"EKYC_ZRO\") || userRoles.includes(\"ZRO\");\n const isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SUPERVISOR\") || userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n const isStatusView = location.pathname.includes(\"/status/\");\n const hideEditButton = (isSupervisorOrSurveyorOrVendor && !isZRO) || isStatusView;\n\n // ── Data Consolidation ──────────────────────────────────────────────────\n const { newData: apiNewData, oldData: apiOldData } = extractReviewData(searchData, flowState);\n\n const prepareConsolidatedData = (data) => {\n if (!data) return null;\n const apiConn = data?.connectionDetails || data || {};\n const apiAddr = data?.addressDetails || data || {};\n const apiProp = data?.propertyInfo || data || {};\n const apiMeter = data?.meterDetails || data || {};\n\n return {\n connection: {\n consumerName:\n apiConn?.consumerName || (apiConn?.firstName ? [apiConn.firstName, apiConn.middleName, apiConn.lastName].filter(Boolean).join(\" \") : null),\n address: apiConn?.address || apiConn?.addressRaw,\n connectionType: apiConn?.connectionType || apiConn?.connectionCategory,\n meterNumber: apiConn?.meterNumber || apiConn?.meterNo,\n phoneNumber: apiConn?.phoneNumber || apiConn?.mobileNo || apiConn?.mobileNumber,\n email: apiConn?.email,\n statusflag: apiConn?.statusflag || apiConn?.statusFlag,\n ekycStatus: apiConn?.ekycStatus,\n knumber: apiConn?.knumber || apiConn?.kno,\n },\n address: {\n fullAddress: apiAddr?.fullAddress || apiAddr?.addressRaw,\n flatHouseNumber: apiAddr?.flatHouseNumber || apiAddr?.flatNo,\n buildingTower: apiAddr?.buildingTower || apiAddr?.building,\n landmark: apiAddr?.landmark,\n pinCode: apiAddr?.pinCode || apiAddr?.pincode,\n ward: apiAddr?.ward || apiAddr?.locality,\n assembly: apiAddr?.assembly,\n gpsValid: apiAddr?.gpsValid,\n latitude: apiAddr?.latitude,\n longitude: apiAddr?.longitude,\n mobileNo: apiAddr?.mobileNo || apiAddr?.mobileNumber,\n whatsappNo: apiAddr?.whatsappNo,\n email: apiAddr?.email,\n noOfPerson: apiAddr?.noOfPerson || apiAddr?.noOfPersons,\n knumber: apiAddr?.knumber || apiAddr?.kno,\n doorPhotoFilestoreId: apiAddr?.doorPhotoFilestoreId,\n },\n property: {\n kno: apiProp?.kno,\n pidNumber: apiProp?.pidNumber,\n typeOfConnection: apiProp?.typeOfConnection,\n connectionCategory: apiProp?.connectionCategory,\n userType: apiProp?.userType,\n numberOfFloors: apiProp?.numberOfFloors || apiProp?.noOfFloor,\n tenantName: apiProp?.tenantName,\n tenantMobile: apiProp?.tenantMobile,\n ekycStatus: apiProp?.ekycStatus,\n propertyDocumentFileStoreId: apiProp?.propertyDocumentFileStoreId,\n buildingImageFileStoreId: apiProp?.buildingImageFileStoreId,\n },\n meter: {\n kno: apiMeter?.kno,\n metered: apiMeter?.meterStatus === \"METERED\" || apiMeter?.metered,\n meterNumber: apiMeter?.meterNumber || apiMeter?.meterNo,\n meterMake: apiMeter?.meterMake,\n meterLocationAddress: apiMeter?.meterLocationAddress,\n meterLatitude: apiMeter?.meterLatitude,\n meterLongitude: apiMeter?.meterLongitude,\n workingStatus: apiMeter?.workingStatus,\n lastBillRaised: apiMeter?.lastBillRaised,\n systemMeterId: apiMeter?.systemMeterId,\n meterPhotoFileStoreId: apiMeter?.meterPhotoFileStoreId,\n },\n };\n };\n\n const newDataRaw = prepareConsolidatedData(apiNewData);\n const oldDataRaw = prepareConsolidatedData(apiOldData);\n\n // Apply edits to newData if present\n const connectionData = {\n ...newDataRaw?.connection,\n consumerName: aadhaarData?.name || newDataRaw?.connection?.consumerName,\n phoneNumber: aadhaarData?.mobileNumber || newDataRaw?.connection?.phoneNumber,\n knumber: newDataRaw?.connection?.knumber || activeKno,\n };\n\n const addressData = {\n ...newDataRaw?.address,\n fullAddress: editedAddress?.fullAddress || newDataRaw?.address?.fullAddress,\n flatHouseNumber: editedAddress?.flatHouseNumber || editedAddress?.flatNo || newDataRaw?.address?.flatHouseNumber,\n buildingTower: editedAddress?.buildingTower || editedAddress?.building || newDataRaw?.address?.buildingTower,\n landmark: editedAddress?.landmark || newDataRaw?.address?.landmark,\n pinCode: editedAddress?.pinCode || editedAddress?.pincode || newDataRaw?.address?.pinCode,\n ward: editedAddress?.ward || newDataRaw?.address?.ward,\n assembly: editedAddress?.assembly || newDataRaw?.address?.assembly,\n gpsValid: editedAddress?.gpsValid !== undefined ? editedAddress.gpsValid : newDataRaw?.address?.gpsValid,\n latitude: editedAddress?.latitude || newDataRaw?.address?.latitude,\n longitude: editedAddress?.longitude || newDataRaw?.address?.longitude,\n mobileNo: editedAddress?.mobileNo || aadhaarData?.mobileNumber || newDataRaw?.address?.mobileNo,\n whatsappNo: editedAddress?.whatsappNo || aadhaarData?.whatsappNumber || newDataRaw?.address?.whatsappNo,\n email: editedAddress?.email || newDataRaw?.address?.email,\n noOfPerson: editedAddress?.noOfPerson || aadhaarData?.noOfPersons || newDataRaw?.address?.noOfPerson,\n knumber: editedAddress?.knumber || newDataRaw?.address?.knumber || activeKno,\n doorPhotoFilestoreId: editedAddress?.doorPhotoFileStoreId || newDataRaw?.address?.doorPhotoFilestoreId,\n };\n\n const propertyData = {\n ...newDataRaw?.property,\n kno: newDataRaw?.property?.kno || activeKno,\n pidNumber: editedProperty?.pidNumber || newDataRaw?.property?.pidNumber,\n typeOfConnection: editedProperty?.connectionTypeData?.label || newDataRaw?.property?.typeOfConnection,\n connectionCategory: editedProperty?.connectionCategoryData?.label || newDataRaw?.property?.connectionCategory,\n userType: editedProperty?.userTypeData?.label || newDataRaw?.property?.userType,\n numberOfFloors: editedProperty?.noOfFloorsData?.label || newDataRaw?.property?.numberOfFloors,\n propertyDocumentFileStoreId: editedProperty?.propertyDocumentFileStoreId || newDataRaw?.property?.propertyDocumentFileStoreId,\n };\n\n const meterData = {\n ...newDataRaw?.meter,\n kno: editedMeter?.kno || newDataRaw?.meter?.kno || activeKno,\n metered: editedMeter?.meterStatusData?.value === \"Metered\" || newDataRaw?.meter?.metered,\n meterNumber: newDataRaw?.meter?.meterNumber,\n meterMake: editedMeter?.meterMake || newDataRaw?.meter?.meterMake,\n meterLocationAddress: editedMeter?.meterLocation || newDataRaw?.meter?.meterLocationAddress,\n workingStatus: editedMeter?.workingStatusData?.value === \"Working\" || newDataRaw?.meter?.workingStatus,\n lastBillRaised: editedMeter?.lastBillRaisedData?.value === \"Yes\" || newDataRaw?.meter?.lastBillRaised,\n meterPhotoFileStoreId: editedMeter?.meterPhotoFileStoreId || newDataRaw?.meter?.meterPhotoFileStoreId,\n };\n\n // ── Section Fields Configuration ─────────────────────────────────────\n const connectionFields = [\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n { label: \"EKYC_CONSUMER_NAME\", key: \"consumerName\" },\n { label: \"EKYC_ADDRESS\", key: \"address\" },\n { label: \"EKYC_CONNECTION_TYPE\", key: \"connectionType\" },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_MOBILE_NO\", key: \"phoneNumber\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_STATUS_FLAG\", key: \"statusflag\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const addressFields = [\n { label: \"EKYC_FULL_ADDRESS\", key: \"fullAddress\" },\n { label: \"EKYC_FLAT_HOUSE_NO\", key: \"flatHouseNumber\" },\n { label: \"EKYC_BUILDING_TOWER\", key: \"buildingTower\" },\n { label: \"EKYC_LANDMARK\", key: \"landmark\" },\n { label: \"EKYC_PINCODE\", key: \"pinCode\" },\n { label: \"EKYC_LOCALITY\", key: \"ward\" },\n { label: \"EKYC_ASSEMBLY\", key: \"assembly\" },\n { label: \"EKYC_GPS_VALID\", key: \"gpsValid\", isBool: true },\n { label: \"EKYC_LATITUDE\", key: \"latitude\" },\n { label: \"EKYC_LONGITUDE\", key: \"longitude\" },\n { label: \"EKYC_MOBILE_NO\", key: \"mobileNo\" },\n { label: \"EKYC_WHATSAPP_NO\", key: \"whatsappNo\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_NO_OF_PERSONS\", key: \"noOfPerson\" },\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n ];\n\n const propertyFields = [\n { label: \"EKYC_CONNECTION_CATEGORY\", key: \"connectionCategory\" },\n { label: \"EKYC_PID_NUMBER\", key: \"pidNumber\" },\n { label: \"EKYC_TYPE_OF_CONNECTION\", key: \"typeOfConnection\" },\n { label: \"EKYC_USER_TYPE\", key: \"userType\" },\n { label: \"EKYC_FLOOR_COUNT\", key: \"numberOfFloors\" },\n { label: \"EKYC_TENANT_NAME\", key: \"tenantName\" },\n { label: \"EKYC_TENANT_MOBILE\", key: \"tenantMobile\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const meterFields = [\n { label: \"EKYC_METERED\", key: \"metered\", isBool: true },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_METER_MAKE\", key: \"meterMake\" },\n { label: \"EKYC_METER_LOCATION_ADDRESS\", key: \"meterLocationAddress\" },\n { label: \"EKYC_METER_LATITUDE\", key: \"meterLatitude\" },\n { label: \"EKYC_METER_LONGITUDE\", key: \"meterLongitude\" },\n { label: \"EKYC_WORKING_STATUS\", key: \"workingStatus\", isBool: true },\n { label: \"EKYC_LAST_BILL_RAISED\", key: \"lastBillRaised\", isBool: true },\n { label: \"EKYC_SYSTEM_METER_ID\", key: \"systemMeterId\" },\n ];\n\n const handleDeclaration = () => setAgree(!agree);\n\n const handleReject = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"REJECTED\",\n remarks: \"Application rejected by reviewer\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Reject Error:\", err);\n }\n };\n\n const handleApprove = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"APPROVED\",\n remarks: \"All documents verified\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: false,\n label: t(\"EKYC_APPLICATION_APPROVE_SUCCESSFUL\") || \"Application Approved Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Approve Error:\", err);\n setToastData({\n error: true,\n label: err?.message || err?.response?.data?.message || \"Approve Error\",\n });\n setShowToast(true);\n }\n };\n\n const handleFinalSubmit = async () => {\n setIsSubmitting(true);\n try {\n const payload = {\n kno: activeKno,\n tenantId: tenantId,\n newData: {\n connectionDetails: connectionData,\n addressDetails: addressData,\n propertyInfo: propertyData,\n meterDetails: meterData,\n },\n };\n\n const result = await updateMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Submit Error:\", err);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleViewDocument = (fileStoreId) => {\n if (!fileStoreId) return;\n const documentUrl = `https://dev-djberp.nitcon.in/filestore/v1/files/id?tenantId=dl.djb&fileStoreId=${fileStoreId}`;\n setPreviewUrl(documentUrl);\n setShowPreview(true);\n };\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n if (option.action === t(\"Approve\")) {\n handleApprove();\n } else if (option.action === t(\"Reject\")) {\n handleReject();\n }\n };\n\n if (isSearchLoading || isSubmitting) return <Loader />;\n\n const baseUrl = \"/digit-ui/employee/ekyc\";\n\n return (\n <Fragment>\n <Card className=\"overflow-y-scroll\">\n {/* ── 1. Connection Details ────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_CONNECTION_DETAILS\")}\n fields={connectionFields}\n newData={connectionData}\n oldData={oldDataRaw?.connection}\n t={t}\n jumpTo={`${baseUrl}/consumer-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 2. Address Details ──────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_ADDRESS_DETAILS\")}\n fields={addressFields}\n newData={addressData}\n oldData={oldDataRaw?.address}\n t={t}\n jumpTo={`${baseUrl}/address-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 3. Property Info ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_PROPERTY_INFO\")}\n fields={propertyFields}\n newData={propertyData}\n oldData={oldDataRaw?.property}\n t={t}\n jumpTo={`${baseUrl}/property-info?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 4. Meter Details ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_METER_DETAILS\")}\n fields={meterFields}\n newData={meterData}\n oldData={oldDataRaw?.meter}\n t={t}\n jumpTo={`${baseUrl}/meter-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 5. Documents ────────────────────────────────────────────── */}\n <div style={{ marginTop: \"40px\" }}>\n <CardSubHeader style={{ marginBottom: \"20px\" }}>{t(\"EKYC_DOCUMENTS\")}</CardSubHeader>\n <StatusTable style={{ maxWidth: \"600px\" }}>\n <Row\n label={t(\"EKYC_DOOR_PHOTO\")}\n text={addressData.doorPhotoFilestoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n addressData.doorPhotoFilestoreId && (\n <div onClick={() => handleViewDocument(addressData.doorPhotoFilestoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n meterData.meterPhotoFileStoreId && (\n <div onClick={() => handleViewDocument(meterData.meterPhotoFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.buildingImageFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.buildingImageFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.propertyDocumentFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.propertyDocumentFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n </StatusTable>\n </div>\n\n {!hideEditButton && (\n <div style={{ marginTop: \"40px\", paddingTop: \"30px\", borderTop: \"1px solid #EAECF0\" }}>\n <CheckBox\n id=\"agreeDeclaration\"\n name=\"agreeDeclaration\"\n label={<span style={{ fontSize: \"16px\", color: \"#344054\" }}>{t(\"EKYC_FINAL_DECLARATION\")}</span>}\n onChange={handleDeclaration}\n checked={agree}\n />\n </div>\n )}\n\n {/* <ActionBar>\n <SubmitBar label={t(\"EKYC_REJECT\")} onSubmit={handleReject} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_APPROVE\")} onSubmit={handleApprove} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_SUBMIT_APPLICATION\")} onSubmit={handleFinalSubmit} disabled={!agree} />\n </ActionBar> */}\n {!hideEditButton && (\n <ActionBar>\n <SubmitBar\n label={t(\"TAKE_ACTION_FOR_APPROVE_REJECT\")}\n onSubmit={() => setShowOptions((prev) => !prev)}\n disabled={!agree}\n />\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n </Card>\n\n {/* ── Document Preview Modal ────────────────────────────────────── */}\n {showPreview && (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0,0,0,0.7)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 10000,\n }}\n >\n <div\n style={{\n position: \"relative\",\n backgroundColor: \"#fff\",\n padding: \"30px\",\n borderRadius: \"12px\",\n maxWidth: \"600px\",\n width: \"100%\",\n maxHeight: \"70vh\",\n overflow: \"auto\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n }}\n >\n <div\n onClick={() => setShowPreview(false)}\n style={{\n position: \"absolute\",\n top: \"10px\",\n right: \"10px\",\n cursor: \"pointer\",\n fontWeight: \"bold\",\n fontSize: \"20px\",\n color: \"#333\",\n background: \"#eee\",\n width: \"30px\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: \"50%\",\n }}\n >\n ×\n </div>\n <img\n src={previewUrl}\n alt=\"Document Preview\"\n style={{ maxWidth: \"100%\", height: \"auto\", display: \"block\" }}\n onError={(e) => {\n e.target.style.display = \"none\";\n e.target.nextSibling.style.display = \"block\";\n }}\n />\n <div style={{ display: \"none\", padding: \"40px\", textAlign: \"center\" }}>\n <p>{t(\"EKYC_DOCUMENT_PREVIEW_NOT_AVAILABLE\")}</p>\n <LinkButton label={t(\"EKYC_OPEN_IN_NEW_TAB\")} onClick={() => window.open(previewUrl, \"_blank\")} />\n </div>\n </div>\n </div>\n )}\n {showToast && (\n <Toast\n error={toastData.error}\n label={toastData.label}\n onClose={() => setShowToast(false)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { UploadFile, CheckBox, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst AadhaarVerificationConfig = (t, formData = {}, uploadFile, setDocumentId, documentId) => {\n const consumerType = formData?.consumerType?.name || formData?.consumerType;\n const occupantType = formData?.occupantType?.name || formData?.occupantType;\n const informantIsConsumer = formData?.informantIsConsumer ?? true;\n\n const fields = [\n {\n label: t(\"Consumer Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consumerType\",\n populators: {\n name: \"consumerType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Individual\" }, { name: \"Govt\" }, { name: \"Company_Society_Org\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Occupant Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"occupantType\",\n populators: {\n name: \"occupantType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Self\" }, { name: \"Tenanted\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Category Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"categoryType\",\n populators: {\n name: \"categoryType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Bulk\" }, { name: \"Non-Bulk\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"First Name\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"firstName\",\n validation: { required: true },\n },\n },\n {\n label: t(\"Middle Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"middleName\",\n },\n },\n {\n label: t(\"Last Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"lastName\",\n },\n },\n {\n label: t(\"Gender\"),\n isMandatory: false,\n type: \"custom\",\n key: \"gender\",\n populators: {\n name: \"gender\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Male\" }, { name: \"Female\" }, { name: \"Others\" }, { name: \"Not prefer to say\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Parent/Spouse Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"parentSpouseName\",\n },\n },\n {\n label: t(\"Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"mobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n error: t(\"Invalid mobile number\"),\n },\n },\n {\n label: t(\"WhatsApp\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"whatsapp\",\n },\n },\n {\n label: t(\"Email\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"email\",\n validation: {\n pattern: /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9.-]+$/,\n },\n error: t(\"Invalid email address\"),\n },\n },\n {\n label: t(\"No. of Residents\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"residents\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Type of Identity\"),\n isMandatory: true,\n type: \"custom\",\n key: \"identityType\",\n populators: {\n name: \"identityType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Aadhaar Card\" }, { name: \"Driving License\" }, { name: \"Passport\" }, { name: \"Voter ID\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Proof of Identity\"),\n isMandatory: false,\n type: \"custom\",\n key: \"idFile\",\n populators: {\n name: \"idFile\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n },\n {\n label: t(\"Document Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"documentNumber\",\n },\n },\n {\n label: t(\"Informant Is Consumer\"),\n isMandatory: false,\n type: \"custom\",\n key: \"informantIsConsumer\",\n populators: {\n name: \"informantIsConsumer\",\n component: (props) => (\n <CheckBox\n label={t(\"Yes, the informant is the consumer\")}\n checked={props.value ?? true}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n },\n ];\n\n // Informant conditional fields\n if (!informantIsConsumer) {\n fields.push(\n {\n label: t(\"Informant Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantName\",\n },\n },\n {\n label: t(\"Informant Relation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantRelation\",\n },\n }\n );\n }\n\n // Tenant conditional fields\n if (occupantType === \"Tenanted\") {\n fields.push({\n label: t(\"Document Proof\"),\n isMandatory: false,\n type: \"custom\",\n key: \"documentProof\",\n populators: {\n name: \"documentProof\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n });\n\n if (!documentId) {\n fields.push(\n {\n label: t(\"Owner Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"ownerMobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n },\n },\n {\n label: t(\"Tenant Verification\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"tenantVerification\",\n },\n }\n );\n }\n }\n\n // Govt conditional fields\n if (consumerType === \"Govt\") {\n fields.push(\n {\n label: t(\"Designation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"designation\",\n },\n },\n {\n label: t(\"Department\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"department\",\n },\n },\n {\n label: t(\"Employee ID\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"employeeId\",\n },\n }\n );\n }\n\n // Company / Society / Org conditional fields\n if (consumerType === \"Company_Society_Org\") {\n fields.push(\n {\n label: t(\"Entity Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"entityName\",\n },\n },\n {\n label: t(\"Contact Person\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"contactPerson\",\n },\n }\n );\n }\n\n // Consent checkbox field\n fields.push({\n label: t(\"Consent\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consent\",\n populators: {\n name: \"consent\",\n validation: { required: true },\n component: (props) => (\n <CheckBox\n label={t(\"I hereby consent to verify my Aadhaar details.\")}\n checked={props.value ?? false}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n });\n\n return [\n {\n head: t(\"EKYC_CONSUMER_CONNECTION\"),\n body: fields,\n },\n ];\n};\n\nexport default AadhaarVerificationConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport AadhaarVerificationConfig from \"../config/AadhaarVerificationConfig\";\n\nconst AadhaarVerification = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\") ||\n \"\";\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"CONNECTION\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.aadhaarVerification || {};\n\n // 🔹 STATES\n const [documentId, setDocumentId] = useState(savedData.documentId || null);\n const [documentProof, setDocumentProof] = useState(savedData.documentProof || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType ? { name: savedData.consumerType } : null,\n occupantType: savedData.occupantType ? { name: savedData.occupantType } : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || \"\",\n middleName: savedData.middleName || \"\",\n lastName: savedData.lastName || \"\",\n gender: savedData.gender ? { name: savedData.gender } : null,\n parentSpouseName: savedData.parentSpouseName || \"\",\n mobile: savedData.mobile || \"\",\n whatsapp: savedData.whatsapp || \"\",\n email: savedData.email || \"\",\n residents: savedData.residents || \"\",\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || \"\",\n informantRelation: savedData.informantRelation || \"\",\n documentId: savedData.documentId || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const details = rawData?.connectionDetails || rawData || {};\n const addrDetails = rawData?.addressDetails || {};\n\n if (details && Object.keys(details).length > 0 && !isDataLoaded) {\n let fName = \"\";\n let mName = \"\";\n let lName = \"\";\n\n if (details.firstName) {\n fName = details.firstName;\n mName = details.middleName || \"\";\n lName = details.lastName || \"\";\n } else if (details.consumerName) {\n const parts = details.consumerName.trim().split(/\\s+/);\n fName = parts[0] || \"\";\n if (parts.length === 2) lName = parts[1];\n if (parts.length > 2) {\n mName = parts.slice(1, -1).join(\" \");\n lName = parts[parts.length - 1];\n }\n }\n\n const updatedDefaults = {\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType\n ? { name: savedData.consumerType }\n : details.consumerType\n ? { name: details.consumerType }\n : null,\n occupantType: savedData.occupantType\n ? { name: savedData.occupantType }\n : details.occupantType\n ? { name: details.occupantType }\n : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || fName,\n middleName: savedData.middleName || mName,\n lastName: savedData.lastName || lName,\n gender: savedData.gender\n ? { name: savedData.gender }\n : details.gender\n ? { name: details.gender }\n : null,\n parentSpouseName: savedData.parentSpouseName || details.parentSpouse || \"\",\n mobile: savedData.mobile || details.phoneNumber || addrDetails.mobileNo || \"\",\n whatsapp: savedData.whatsapp || addrDetails.whatsappNo || \"\",\n email: savedData.email || details.email || addrDetails.email || \"\",\n residents: savedData.residents || (addrDetails.noOfPerson ? String(addrDetails.noOfPerson) : \"\"),\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || details.informantName || \"\",\n informantRelation: savedData.informantRelation || details.informantRelation || \"\",\n documentId: savedData.documentId || details.documentNumber || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.documentId) {\n setDocumentId(updatedDefaults.documentId);\n }\n if (updatedDefaults.documentProof) {\n setDocumentProof(updatedDefaults.documentProof);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUploadProof = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n if (fileStoreId) {\n onChange(file.name);\n setDocumentProof(file.name);\n setDocumentId(fileStoreId);\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Avoid updating states on every keypress unless they affect conditional visibility\n const consumerTypeChanged =\n (data?.consumerType?.name || data?.consumerType) !==\n (localFormData?.consumerType?.name || localFormData?.consumerType);\n const occupantTypeChanged =\n (data?.occupantType?.name || data?.occupantType) !==\n (localFormData?.occupantType?.name || localFormData?.occupantType);\n const informantIsConsumerChanged = data?.informantIsConsumer !== localFormData?.informantIsConsumer;\n\n if (consumerTypeChanged || occupantTypeChanged || informantIsConsumerChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const knoVal = data?.kno || searchKno;\n const consumerTypeVal = data?.consumerType;\n const occupantTypeVal = data?.occupantType;\n const categoryTypeVal = data?.categoryType;\n const firstNameVal = data?.firstName;\n const mobileVal = data?.mobile;\n const residentsVal = data?.residents;\n const consentVal = data?.consent;\n const docId = data?.documentId || documentId;\n const ownerMobileVal = data?.ownerMobile;\n\n let valid = true;\n if (!knoVal) valid = false;\n if (!consumerTypeVal) valid = false;\n if (!occupantTypeVal) valid = false;\n if (!categoryTypeVal) valid = false;\n if (!firstNameVal) valid = false;\n if (!mobileVal || !/^[6-9]\\d{9}$/.test(mobileVal)) valid = false;\n if (!residentsVal || Number(residentsVal) <= 0) valid = false;\n if (occupantTypeVal?.name === \"Tenanted\" && !docId && !ownerMobileVal) valid = false;\n if (!consentVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n kno: data.kno || searchKno,\n consumerType: data.consumerType?.name || data.consumerType,\n occupantType: data.occupantType?.name || data.occupantType,\n categoryType: data.categoryType?.name || data.categoryType,\n consumerName: data.consumerName || `${data.firstName || \"\"} ${data.middleName || \"\"} ${data.lastName || \"\"}`.trim(),\n firstName: data.firstName,\n middleName: data.middleName,\n lastName: data.lastName,\n gender: data.gender?.name || data.gender,\n parentSpouseName: data.parentSpouseName,\n relation: data.relation || savedData.relation || \"\",\n mobile: data.mobile,\n whatsapp: data.whatsapp,\n email: data.email,\n residents: data.residents,\n documentId: documentId,\n documentProof: documentProof,\n ownerMobile: data.ownerMobile,\n tenantVerification: data.tenantVerification,\n designation: data.designation,\n department: data.department,\n employeeId: data.employeeId,\n landline: data.landline || savedData.landline || \"\",\n entityRelation: data.entityRelation || savedData.entityRelation || \"\",\n contactPerson: data.contactPerson,\n entityName: data.entityName,\n idProof: data.identityType?.name || data.identityType,\n idNumber: data.documentNumber,\n consent: data.consent,\n informantIsConsumer: data.informantIsConsumer ?? true,\n informantName: data.informantName,\n informantRelation: data.informantRelation,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"CONSUMER\",\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Data updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update consumer details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = AadhaarVerificationConfig(t, localFormData, handleUploadProof, setDocumentId, documentId);\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default AadhaarVerification;\n","import AadhaarVerification from \"../components/AadhaarVerification\";\n\nexport const ekycConfig = [\n {\n body: [\n {\n route: \"consumer-details\",\n component: AadhaarVerification,\n key: \"aadhaarVerification\",\n texts: {\n header: \"EKYC_CONSUMER_CONNECTION\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 1,\n actions: \"EKYC_CONSUMER_CONNECTION\",\n },\n ],\n },\n {\n route: \"address-details\",\n component: \"AddressDetails\",\n key: \"addressDetails\",\n doorImage: true,\n showMapActualLocation: false,\n texts: {\n header: \"EKYC_ADDRESS_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 2,\n actions: \"EKYC_ADDRESS_DETAILS\",\n },\n ],\n },\n {\n route: \"property-info\",\n component: \"PropertyInfo\",\n key: \"propertyDetails\",\n texts: {\n header: \"EKYC_PROPERTY_INFO\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 3,\n actions: \"EKYC_PROPERTY_INFO\",\n },\n ],\n },\n {\n route: \"meter-details\",\n component: \"MeterDetails\",\n key: \"meterDetails\",\n texts: {\n header: \"EKYC_METER_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 4,\n actions: \"EKYC_METER_DETAILS\",\n },\n ],\n },\n ],\n },\n];\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n// import { useQueryClient } from \"react-query\";\nimport { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from \"react-router-dom\";\nimport { VerticalTimeline } from \"@djb25/digit-ui-react-components\";\nimport { ekycConfig } from \"../../config/config\";\n\nconst EKYCForm = ({ path: passedPath }) => {\n // const queryClient = useQueryClient();\n const match = useRouteMatch();\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const history = useHistory();\n\n let config = [];\n const [params, setParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n useEffect(() => {\n if (location.state && Object.keys(location.state).length > 0) {\n const { edits, ...rest } = location.state;\n setParams({ ...params, ...rest, ...edits });\n }\n }, [location.state]);\n\n const goNext = (skipStep, index, isAddMultiple, key) => {\n let currentPath = pathname.split(\"/\").pop();\n let routeObj = config.find((routeObj) => (key ? routeObj.key === key : routeObj.route === currentPath));\n if (!routeObj) routeObj = config.find((routeObj) => routeObj.route === currentPath);\n\n let nextStep = null;\n const currentIndex = config.findIndex((c) => c.route === routeObj.route);\n if (currentIndex > -1 && currentIndex < config.length - 1) {\n nextStep = config[currentIndex + 1].route;\n }\n\n let redirectWithHistory = history.push;\n if (skipStep) {\n redirectWithHistory = history.replace;\n }\n\n const base = passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\");\n if (nextStep === null) {\n return redirectWithHistory(`${base}/review`, { ...params, edits: params });\n }\n\n redirectWithHistory(`${base}/${nextStep}`, { ...params });\n };\n\n function handleSelect(key, data, skipStep, index, isAddMultiple = false, silent = false) {\n setParams((prev) => ({ ...prev, [key]: { ...params[key], ...data } }));\n if (!silent) {\n goNext(skipStep, index, isAddMultiple, key);\n }\n }\n\n // const onSuccess = () => {\n // clearParams();\n // queryClient.invalidateQueries(\"EKYC_CREATE\");\n // };\n\n ekycConfig.forEach((obj) => {\n config = config.concat(obj.body);\n });\n\n config.indexRoute = \"consumer-details\";\n\n const formStepRoutes = config.map((c) => c.route);\n const isFormStep = formStepRoutes.some((route) => pathname.includes(route));\n\n const sectionRefs = useRef({});\n\n useEffect(() => {\n if (isFormStep) {\n const currentRoute = pathname.split(\"/\").pop();\n if (sectionRefs.current[currentRoute]) {\n sectionRefs.current[currentRoute].scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }\n }\n }, [pathname, isFormStep]);\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={config} showFinalStep={true} />\n <div className=\"employee-form-section\">\n <Switch>\n <Route path={formStepRoutes.map((route) => `${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${route}`)}>\n <div className=\"single-page-form-container\">\n {config.map((routeObj, index) => {\n const { component } = routeObj;\n const Component = typeof component === \"string\" ? Digit.ComponentRegistryService.getComponent(component) : component;\n\n return (\n <div key={index} ref={(el) => (sectionRefs.current[routeObj.route] = el)} className=\"form-section-unit\">\n <Component\n config={{ ...routeObj, isCollapsible: true, defaultOpen: true }}\n onSelect={handleSelect}\n t={t}\n formData={params}\n // formData={{ ...params, address: params.addressDetails }}\n />\n </div>\n );\n })}\n </div>\n </Route>\n <Route>\n <Redirect to={`${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${config.indexRoute}`} />\n </Route>\n </Switch>\n </div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default EKYCForm;\n","import React, { useMemo, useState, useEffect } from \"react\";\nimport { Modal, Close, Table, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nconst AssignEkycModal = ({ surveyor, closeModal, refetchDashboard }) => {\n const { t } = useTranslation();\n const [selectedKnos, setSelectedKnos] = useState([]);\n const [isBulkSelection, setIsBulkSelection] = useState(false);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(10);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({\n error: false,\n label: \"\",\n });\n const [filters, setFilters] = useState({\n kno: \"\", // search value\n pincode: \"\",\n zoneCode: \"\",\n zoneName: \"\",\n ward: \"\",\n assembly: \"\",\n mrkey: \"\",\n ekycStatus: \"\",\n });\n\n const [debouncedFilters, setDebouncedFilters] = useState(filters);\n\n const { data: zroLocationsData, isLoading: isZroLoading } = Digit.Hooks.ws.useWSConfigMDMS.ZROLocation(\"dl.djb\");\n const mappedZROLocation = useMemo(() => {\n return (zroLocationsData || []).map((item) => ({\n code: item.code,\n name: item.name,\n }));\n }, [zroLocationsData]);\n\n const { data: egovLocationData } = Digit.Hooks.useCommonMDMS(\"dl.djb\", \"egov-location\", [\"TenantBoundary\"]);\n\n const boundaryData = useMemo(() => {\n const tenantBoundary = egovLocationData?.[\"egov-location\"]?.TenantBoundary || [];\n const revenueData = tenantBoundary.find((item) => item?.hierarchyType?.code === \"REVENUE\");\n const boundary = revenueData?.boundary || [];\n return Array.isArray(boundary) ? boundary : [boundary];\n }, [egovLocationData]);\n\n const { assemblyOptions, wardOptions } = useMemo(() => {\n const assemblies = new Map();\n const wards = new Map();\n\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const traverse = (node) => {\n if (!node) return;\n if (node.label === \"Ward\" || node.label === \"WARD\" || node.label === \"Block\" || node.label === \"BLOCK\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) wards.set(code, { code, name: name });\n }\n if (node.label === \"Assembly Constituency\" || node.label === \"ASSEMBLY_CONSTITUENCY\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) assemblies.set(code, { code, name: name });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach(traverse);\n }\n };\n\n boundaries.forEach(traverse);\n\n return {\n assemblyOptions: Array.from(assemblies.values()).sort((a, b) => a.name.localeCompare(b.name)),\n wardOptions: Array.from(wards.values()).sort((a, b) => a.name.localeCompare(b.name)),\n };\n }, [boundaryData]);\n\n const structuredLocalityData = useMemo(() => {\n let localities = [];\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const extractLocalities = (node) => {\n if (!node) return;\n\n if (node.label === \"Locality\" || node.label === \"LOCALITY\") {\n localities.push({\n ...node,\n name: node.localname || node.name || node.code,\n });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach((child) => extractLocalities(child));\n }\n };\n\n boundaries.forEach((rootNode) => extractLocalities(rootNode));\n\n return localities;\n }, [boundaryData]);\n\n const fetchedPincodes = useMemo(() => {\n const pinSet = new Set();\n\n structuredLocalityData.forEach((loc) => {\n if (loc.pincode) {\n const pins = Array.isArray(loc.pincode) ? loc.pincode : [loc.pincode];\n pins.forEach((p) => {\n if (p) {\n const sanitizedPin = p.toString().split(\".\")[0];\n pinSet.add(sanitizedPin);\n }\n });\n }\n });\n\n return Array.from(pinSet).sort();\n }, [structuredLocalityData]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedFilters(filters);\n }, 500);\n\n return () => clearTimeout(timer);\n }, [filters]);\n\n useEffect(() => {\n setCurrentPage(0);\n }, [debouncedFilters, filters.kno]);\n\n const { data: applicationData, isFetching: isLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n /*\n ...(debouncedFilters.kno && {\n kno: debouncedFilters.kno,\n }),\n */\n ...(filters.kno && {\n kno: filters.kno,\n }),\n\n ...(debouncedFilters.ekycStatus && {\n ekycStatus: debouncedFilters.ekycStatus,\n }),\n\n ...(debouncedFilters.zoneName && {\n zoneName: debouncedFilters.zoneName,\n }),\n\n ...(debouncedFilters.assembly && {\n assembly: debouncedFilters.assembly,\n }),\n\n ...(debouncedFilters.ward && {\n ward: debouncedFilters.ward,\n }),\n\n ...(debouncedFilters.mrkey && {\n mrkey: debouncedFilters.mrkey,\n }),\n\n ...(debouncedFilters.pincode && {\n pincode: debouncedFilters.pincode,\n }),\n },\n {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const handleAssignmentError = (errMsg, variables) => {\n const isAlreadyAssigned =\n errMsg.toLowerCase().includes(\"already assigned\") ||\n errMsg.toLowerCase().includes(\"already assign\") ||\n errMsg.toLowerCase().includes(\"active assignment\") ||\n errMsg.toLowerCase().includes(\"mrkey\") ||\n errMsg.toLowerCase().includes(\"mr key\") ||\n errMsg.toLowerCase().includes(\"kno\") ||\n errMsg.toLowerCase().includes(\"already exists\");\n\n if (isAlreadyAssigned) {\n const isMrKeyType = variables?.assignmentType === \"MRKEY\";\n\n if (isMrKeyType) {\n setToastData({\n error: true,\n label: t(\"EKYC_MR_KEY_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"mr key is already assign with another surveyor\",\n });\n } else {\n setToastData({\n error: true,\n label: t(\"EKYC_KNO_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"kno is already assign with another surveyor\",\n });\n }\n } else {\n setToastData({\n error: true,\n label: t(errMsg) || errMsg || t(\"EKYC_SOMETHING_WENT_WRONG\") || \"Something went wrong\",\n });\n }\n setShowToast(true);\n };\n\n const assignmentMutation = Digit.Hooks.ekyc.useEkycAssignmentCreate({\n onSuccess: (response, variables) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n return;\n }\n\n // Check for skipped assignments (e.g. 200 OK but skipped)\n if (response?.skipped && response.skipped.length > 0) {\n const reason = response.skipped[0]?.reason || \"\";\n handleAssignmentError(reason, variables);\n return;\n }\n\n setToastData({\n error: false,\n label: t(\"EKYC_ASSIGNMENT_SUCCESSFUL\") || \"Assignment successful\",\n });\n\n setShowToast(true);\n\n // optional delay so user can see the success toast\n setTimeout(async () => {\n await refetchDashboard();\n closeModal();\n }, 1000);\n },\n\n onError: (error, variables) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n },\n });\n\n const tableData = applicationData?.consumerList || [];\n\n const getAssignmentPayload = () => {\n if (isBulkSelection) {\n const filterMappings = [\n { key: \"ekycStatus\", type: \"EKYCSTATUS\" },\n { key: \"zoneName\", type: \"ZONENAME\" },\n { key: \"assembly\", type: \"ASSEMBLY\" },\n { key: \"ward\", type: \"WARD\" },\n { key: \"mrkey\", type: \"MRKEY\" },\n { key: \"pincode\", type: \"PINCODE\" },\n ];\n\n const appliedFilter = filterMappings.find(({ key }) => debouncedFilters[key]);\n\n if (appliedFilter) {\n return {\n assignmentType: appliedFilter.type,\n assignmentValue: debouncedFilters[appliedFilter.key],\n };\n }\n }\n\n return {\n assignmentType: \"KNO\",\n assignmentValue: selectedKnos,\n };\n };\n\n const handleAssign = () => {\n const { assignmentType, assignmentValue } = getAssignmentPayload();\n\n assignmentMutation.mutate({\n tenantId: \"dl.djb\",\n surveyorId: surveyor?.owner?.uuid,\n assignmentType,\n assignmentValue,\n });\n };\n\n const handleSelectAll = () => {\n setIsBulkSelection(true);\n\n const pageKnos = tableData.map((item) => item.kno);\n\n const allSelected = pageKnos.length > 0 && pageKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos((prev) => (allSelected ? prev.filter((kno) => !pageKnos.includes(kno)) : [...new Set([...prev, ...pageKnos])]));\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => (\n <input\n type=\"checkbox\"\n checked={tableData.length > 0 && tableData.every((item) => selectedKnos.includes(item.kno))}\n onChange={handleSelectAll}\n />\n ),\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return <input type=\"checkbox\" checked={selectedKnos.includes(kno)} onChange={() => handleSelect(kno)} />;\n },\n },\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n {\n Header: \"Pincode\",\n accessor: \"pincode\",\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => value || \"-\",\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedKnos, tableData]\n );\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n return (\n <Modal\n headerBarMain={`Assign KNOs to ${surveyor?.name}`}\n headerBarEnd={<Close onClick={closeModal} />}\n actionCancelLabel=\"Cancel\"\n actionCancelOnSubmit={closeModal}\n actionSaveLabel={`Assign ${selectedKnos.length} KNOs`}\n actionSaveOnSubmit={handleAssign}\n isDisabled={!selectedKnos?.length}\n >\n <div className=\"assign-knos-modal\">\n {/* Filters */}\n <div className=\"filters-grid\">\n <input className=\"form-control\" placeholder=\"KNO\" value={filters.kno} onChange={(e) => handleFilterChange(\"kno\", e.target.value)} />\n\n <select className=\"form-control\" value={filters.pincode} onChange={(e) => handleFilterChange(\"pincode\", e.target.value)}>\n <option value=\"\">Select Pincode</option>\n {fetchedPincodes.map((pin) => (\n <option key={pin} value={pin}>\n {pin}\n </option>\n ))}\n </select>\n\n <select\n className=\"form-control\"\n value={filters.zoneName}\n onChange={(e) => {\n const val = e.target.value;\n setFilters((prev) => ({\n ...prev,\n zoneCode: val,\n zoneName: val,\n }));\n }}\n disabled={isZroLoading}\n >\n <option value=\"\">{isZroLoading ? \"Loading ZRO Locations...\" : \"Select ZRO Location\"}</option>\n {mappedZROLocation.map((loc) => (\n <option key={loc.code} value={loc.name}>\n {loc.name}\n </option>\n ))}\n </select>\n\n <select className=\"form-control\" value={filters.ward} onChange={(e) => handleFilterChange(\"ward\", e.target.value)}>\n <option value=\"\">Select Ward</option>\n {wardOptions.map((ward) => (\n <option key={ward.code} value={ward.name}>\n {ward.name}\n </option>\n ))}\n </select>\n\n <select className=\"form-control\" value={filters.assembly} onChange={(e) => handleFilterChange(\"assembly\", e.target.value)}>\n <option value=\"\">Select Assembly</option>\n {assemblyOptions.map((assembly) => (\n <option key={assembly.code} value={assembly.name}>\n {assembly.name}\n </option>\n ))}\n </select>\n\n <input className=\"form-control\" placeholder=\"MR Key\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)} />\n\n {selectedKnos.length > 0 && (\n <button className=\"clear-selected-btn\" type=\"button\" onClick={() => setSelectedKnos([])}>\n {t(\"EKYC_CLEAR_SELECTION\") || `Clear Selected (${selectedKnos.length})`}\n </button>\n )}\n\n {/* <select className=\"form-control\" value={filters.ekycStatus} onChange={(e) => handleFilterChange(\"ekycStatus\", e.target.value)}>\n <option value=\"\">All eKYC Status</option>\n <option value=\"PENDING\">Pending</option>\n <option value=\"APPROVED\">Approved</option>\n <option value=\"REJECTED\">Rejected</option>\n </select> */}\n </div>\n\n {/* Table */}\n <Table\n tableTitle=\"eKYC Applications\"\n tableClass=\"ekycTable\"\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n totalRecords={applicationData?.totalCount || 0}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n manualPagination={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (applicationData?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((applicationData?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n {showToast && <Toast error={toastData.error} label={toastData.label} onClose={() => setShowToast(false)} />}\n </Modal>\n );\n};\n\nexport default AssignEkycModal;\n","export const downloadSurveyorPDF = async ({\n rows,\n surveyorName,\n employeeId,\n mobileNumber,\n vendorName,\n supervisorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const initData = Digit.SessionStorage.get(\"initData\");\n const tenants = initData?.tenants || [];\n const tenantInfo = tenants.find((tenant) => tenant.code === tenantId);\n\n const capitalize = (text) =>\n text && text.substr(0, 1).toUpperCase() + text.substr(1);\n const ulbCamel = (ulb) =>\n ulb &&\n ulb\n .toLowerCase()\n .split(\" \")\n .map(capitalize)\n .join(\" \");\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SURVEYOR_DETAILS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"SURVEYOR_NAME\"), value: surveyorName },\n { title: t(\"MOBILE_NUMBER\"), value: mobileNumber },\n { title: t(\"VENDOR_NAME\"), value: vendorName },\n { title: t(\"SUPERVISOR_NAME\"), value: supervisorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\"), value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\"), value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\"), value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\"), value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SURVEYOR_REPORT\"),\n details,\n applicationNumber: employeeId,\n rows,\n t,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n};\n\n\nexport const downloadSupervisorPDF = async ({\n rows,\n supervisorName,\n mobileNumber,\n vendorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SUPERVISOR_DETAILS\") || \"Supervisor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\", value: supervisorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from surveyors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || row.owner?.name || \"N/A\",\n firstName: row.owner?.mobileNumber || row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SURVEYOR_NAME\") || \"Surveyor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SUPERVISOR_REPORT\") || \"eKYC Supervisor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\n// import { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, PieChart, Pie, Cell, Legend } from \"recharts\";\n\nimport { Card, SubmitBar, ActionBar, Menu, Loader, Table } from \"@djb25/digit-ui-react-components\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\n\nimport AssignEkycModal from \"./AssignEkycModal\";\nimport { downloadSurveyorPDF } from \"../utils/reportDownloader\";\n\nconst SurveyorDetailsDashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const [showModal, setShowModal] = useState(false);\n const [showOptions, setShowOptions] = useState(false);\n\n const { id: surveyorId } = useParams();\n const ownerIds = Digit.SessionStorage.get(\"User\")?.info?.uuid;\n\n const { t } = useTranslation();\n\n const searchParams = surveyorId ? { ids: surveyorId } : { ownerIds };\n\n const { data: surveyorSearchResponse, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, searchParams, { staleTime: Infinity });\n\n const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n\n const surveyor = useMemo(() => {\n return surveyorSearchResponse?.surveyors?.[0] || null;\n }, [surveyorSearchResponse]);\n\n const { data: vendorData } = Digit.Hooks.fsm.useDsoSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n const { data: supervisorSearchResponse } = Digit.Hooks.fsm.useSupervisorSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n const vendorName = useMemo(() => {\n if (surveyor?.vendorName) return surveyor.vendorName;\n if (!vendorData || !surveyor?.vendorId) return \"N/A\";\n const mappedVendor = vendorData.find((v) => v.dsoDetails?.id === surveyor.vendorId || v.dsoDetails?.vendorId === surveyor.vendorId);\n return mappedVendor?.dsoDetails?.name || surveyor.vendorId || \"N/A\";\n }, [vendorData, surveyor?.vendorId, surveyor?.vendorName]);\n\n const supervisorName = useMemo(() => {\n if (surveyor?.supervisorName) return surveyor.supervisorName;\n if (!supervisorSearchResponse?.supervisors || !surveyor?.supervisorId) return \"N/A\";\n const mappedSupervisor = supervisorSearchResponse.supervisors.find(\n (s) => s.id === surveyor.supervisorId || s.owner?.uuid === surveyor.supervisorId\n );\n return mappedSupervisor?.name || mappedSupervisor?.owner?.name || surveyor.supervisorId || \"N/A\";\n }, [supervisorSearchResponse, surveyor?.supervisorId, surveyor?.supervisorName]);\n const fullName = surveyor?.owner?.name || surveyor?.name || \"N/A\";\n const employeeId = surveyor?.employeeId || surveyor?.owner?.uuid || surveyor?.id;\n const mobileNumber = surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\";\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const queryParams = {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n surveyorId: surveyor?.owner?.uuid,\n };\n\n const { isFetching: isDashboardLoading, data: dashboardData = {}, refetch: refetchDashboard } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n queryParams,\n {\n enabled: !!queryParams.tenantId && !!queryParams.surveyorId,\n keepPreviousData: true,\n }\n );\n\n const knoColumns = useMemo(\n () => [\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n // {\n // Header: \"Pincode\",\n // accessor: \"pincode\",\n // },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => value || \"-\",\n },\n ],\n []\n );\n\n // ─── Download Report hooks (must be before any early returns) ───────\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n if (isLoading) {\n return <Loader />;\n }\n\n if (!surveyor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SURVEYOR_FOUND\")}</div>\n </Card>\n );\n }\n\n // const weeklyData = [\n // { day: \"Mon\", completed: 4 },\n // { day: \"Tue\", completed: 6 },\n // { day: \"Wed\", completed: 3 },\n // { day: \"Thu\", completed: 8 },\n // { day: \"Fri\", completed: 5 },\n // { day: \"Sat\", completed: 7 },\n // { day: \"Sun\", completed: 2 },\n // ];\n\n // const statusData = [\n // {\n // name: \"Completed\",\n // value: surveyor?.completedCases || 0,\n // color: \"#10B981\",\n // },\n // {\n // name: \"Pending\",\n // value: surveyor?.pendingCases || 0,\n // color: \"#F59E0B\",\n // },\n // {\n // name: \"Rejected\",\n // value: surveyor?.rejectedCases || 0,\n // color: \"#EF4444\",\n // },\n // ];\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: range.from.getTime(),\n toDate: range.to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: from.getTime(),\n toDate: to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch custom dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n </React.Fragment>\n )}\n </div>\n );\n\n const options = [{ action: \"Assign\" }];\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n setShowModal(true);\n };\n\n const closeModal = async () => {\n setShowModal(false);\n };\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n\n <div className=\"designation\">{surveyor?.description || t(\"FIELD_SURVEYOR\")}</div>\n\n {/* <div className=\"employee-id\">\n {t(\"EMPLOYEE_ID\")}: {employeeId}\n </div> */}\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"FROM_DATE\") || \"From\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) => setCustomDate((d) => ({ ...d, from: e.target.value }))}\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"TO_DATE\") || \"To\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) => setCustomDate((d) => ({ ...d, to: e.target.value }))}\n />\n </div>\n\n <button className=\"download-action-btn\" onClick={handleCustomDownload}>\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n <StatCard title={t(\"TOTAL_ASSIGNED\")} value={dashboardData?.dashboardInfo?.total || 0} type=\"today\" isLoading={isDashboardLoading} />\n <StatCard title={t(\"COMPLETED\")} value={dashboardData?.dashboardInfo?.completed || 0} type=\"week\" isLoading={isDashboardLoading} />\n <StatCard title={t(\"PENDING\")} value={dashboardData?.dashboardInfo?.pending || 0} type=\"pending\" isLoading={isDashboardLoading} />\n <StatCard title={t(\"SUBMITTED\")} value={dashboardData?.dashboardInfo?.submittedCount || 0} type=\"month\" isLoading={isDashboardLoading} />\n </div>\n\n {/* Charts */}\n <div className=\"charts-wrapper\">\n {/* Weekly Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"WEEKLY_SURVEY_PROGRESS\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart data={weeklyData}>\n <CartesianGrid strokeDasharray=\"3 3\" />\n\n <XAxis dataKey=\"day\" />\n\n <YAxis />\n\n <Tooltip />\n\n <Bar dataKey=\"completed\" fill=\"#0B2559\" radius={[6, 6, 0, 0]} />\n </BarChart>\n </ResponsiveContainer>\n </div> */}\n\n {/* Pie Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"CASE_DISTRIBUTION\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <PieChart>\n <Pie data={statusData} dataKey=\"value\" nameKey=\"name\" outerRadius={90} label>\n {statusData.map((entry, index) => (\n <Cell key={index} fill={entry.color} />\n ))}\n </Pie>\n\n <Tooltip />\n\n <Legend />\n </PieChart>\n </ResponsiveContainer>\n </div> */}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}:</span>\n <span className=\"value\">{surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}:</span>\n <span className=\"value\">{surveyor?.owner?.emailId || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}:</span>\n <span className=\"value\">{surveyor?.owner?.gender || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}:</span>\n <span className=\"value\">{surveyor?.status || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SERVICE_TYPE\")}:</span>\n <span className=\"value\">{surveyor?.additionalDetails?.serviceType || \"N/A\"}</span>\n </div>\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}:</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SUPERVISOR_NAME\") || \"Supervisor Name\"}:</span>\n <span className=\"value\">{supervisorName}</span>\n </div>\n </div>\n </div>\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"ASSIGNED_KNOS\")}\n tableClass=\"ekycTable\"\n data={dashboardData?.dashboardInfo?.consumerList || []}\n columns={knoColumns}\n isLoading={isDashboardLoading}\n totalRecords={dashboardData?.dashboardInfo?.total}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (dashboardData?.dashboardInfo?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((dashboardData?.dashboardInfo?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n {/* Actions */}\n {(!roles.includes(\"EKYC_SURVEYOR\") || roles.includes(\"EMPLOYEE\")) && (\n <ActionBar>\n <SubmitBar label={t(\"EKYC_ASSIGN_KNOS\")} onSubmit={() => setShowOptions((prev) => !prev)} />\n\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n\n {showModal && <AssignEkycModal surveyor={surveyor} closeModal={closeModal} refetchDashboard={refetchDashboard} />}\n </Card>\n );\n};\n\nexport default SurveyorDetailsDashboard;\n","import React from \"react\";\nexport function formReducer(state, payload) {\n const storageKey = \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n}\n\nexport const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n};\n\nexport const tableColumnConfig = (t, handleReview) => [\n {\n Header: t(\"SURVEYOR_NAME\"),\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const id = row.original?.id;\n return (\n <span className=\"link\" onClick={() => handleReview(id)}>\n {row.original?.surveyorName || row.original?.name || \"NA\"}\n </span>\n );\n },\n },\n // {\n // Header: t(\"SURVEYOR_NAME\"),\n // accessor: \"surveyorName\",\n // Cell: ({ row }) => <span>{row.original?.surveyorName || row.original?.name || \"NA\"}</span>,\n // },\n {\n Header: t(\"MOBILE_NUMBER\"),\n accessor: \"mobileNo\",\n Cell: ({ row }) => <span>{row.original?.mobileNo || row.original?.owner?.mobileNumber || \"NA\"}</span>,\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>;\n },\n },\n {\n Header: t(\"SERVICE_TYPE\"),\n accessor: \"serviceType\",\n Cell: ({ row }) => <span>{row.original?.serviceType || \"NA\"}</span>,\n },\n];\n","import { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { tableColumnConfig } from \"../../../vendor/src/config/tableConfig\";\n\nconst SupervisorInboxTableConfig = ({\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n onSortingByData,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n const handleReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n\n currentPage: Math.floor(offset / limit),\n\n onPageSizeChange,\n\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) + Number(limit),\n },\n }),\n\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) - Number(limit),\n },\n }),\n\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Math.ceil(totalCount / limit) * limit - Number(limit),\n },\n }),\n\n onFirstPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: 0 },\n }),\n\n totalRecords: totalCount,\n onSort: onSortingByData,\n\n data: table,\n columns: tableColumnConfig(t, handleReview),\n\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default SupervisorInboxTableConfig;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport SupervisorInboxTableConfig from \"../hook/SupervisorInboxTableConfig\";\nimport SearchFormFieldsComponents from \"./SearchFormFieldsComponent\";\nimport { formInitValue, formReducer } from \"../../../vendor/src/config/tableConfig\";\n\n// Mock data removed in favor of API integration\n\nconst AssignEkyc = () => {\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\"; // Force tenantId to dl.djb for EKYC APIs in citizen portal\n }\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n let paginationParms = {\n limit: formState?.tableForm?.limit || 10,\n offset: formState?.tableForm?.offset || 0,\n sortBy: formState?.tableForm?.sortBy || \"createdTime\",\n sortOrder: formState?.tableForm?.sortOrder || \"DESC\",\n };\n\n const mobileNumber = formState?.searchForm?.mobileNumber || \"\";\n const isSearchActive = !!mobileNumber;\n\n const filters = {\n ...paginationParms,\n status: \"ACTIVE,DISABLED\",\n };\n\n if (isSearchActive) {\n filters.mobileNumber = mobileNumber;\n }\n\n const { data: dashboardData, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, filters, { enabled: !!tenantId, keepPreviousData: true });\n\n const { isLoading: isDataSearchLoading, data } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const sourceData = useMemo(() => {\n return dashboardData?.surveyors || [];\n }, [dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n const owner = item?.owner || {};\n const roleCodes = owner?.roles?.map((role) => role.code)?.join(\", \") || \"\";\n\n return {\n ...item,\n id: item?.id || \"\",\n surveyorName: item?.name || owner?.name || \"\",\n mobileNo: item?.mobileNo || owner?.mobileNumber || \"\",\n email: owner?.emailId || \"\",\n vendorId: item?.vendorId || \"\",\n tenantId: item?.tenantId || \"\",\n supervisorId: item?.supervisorId || \"\",\n status: item?.status || \"\",\n roleCodes,\n userName: owner?.userName || \"\",\n gender: owner?.gender || \"\",\n serviceType: item?.additionalDetails?.serviceType || \"\",\n createdTime: item?.auditDetails?.createdTime || 0,\n lastModifiedTime: item?.auditDetails?.lastModifiedTime || 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"mobile\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues } });\n dispatch({ action: \"mutateSearchForm\", data });\n };\n\n const searchFormDefaultValues = {\n mobileNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"mobileNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n });\n }\n }\n };\n\n const propsForInboxTable = SupervisorInboxTableConfig({\n ...{\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading;\n\n const cards = [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: data?.totalKnos || 0,\n color: \"#0B2559\",\n filter: null,\n active: true,\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: data?.totalAssignments || 0,\n color: \"#3B82F6\",\n filter: [\"ASSIGNED\"],\n },\n {\n label: \"EKYC_COMPLETED\",\n count: data?.completedKnos || 0,\n color: \"#10B981\",\n filter: [\"COMPLETED\"],\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: (data?.totalKnos || 0) - (data?.completedKnos || 0),\n color: \"#F59E0B\",\n filter: [\"PENDING\"],\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${data?.overallProgressPercent || 0}%`,\n color: \"#A855F7\",\n filter: [\"IN_PROGRESS\"],\n },\n ];\n \n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n // ...propsForMobileSortForm,\n propsForInboxTable,\n // propsForInboxMobileCards,\n formState,\n countData: dashboardData?.dashboardInfo,\n cards,\n isCardLoading: isDataSearchLoading,\n }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\n","import { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation } from \"react-router-dom\";\nimport Dashboard from \"../../components/Dashboard\";\nimport CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetails from \"../../components/VendorDetails.jsx\";\nimport Inbox from \"./Inbox\";\nimport Mapping from \"./Mapping\";\nimport Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\";\nimport AssignEkyc from \"../../components/AssignEkyc.js\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC inbox\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(\"ACTION_TEST_EKYC\"), path: `/digit-ui/employee/module/details` },\n ];\n\n // Child crumb — only appended when on a sub-page (not inbox/dashboard itself)\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/consumer-details\")) {\n crumbs.push({ label: t(\"EKYC_CONSUMER_DETAILS\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/employee/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/employee/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/ceo-dashboard\")) {\n crumbs.push({ label: t(\"CEO_M.F_DOR_FINANCE_VIEW\") });\n } else if (pathname.includes(\"/vendors/\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DETAILS\") });\n } else if (pathname.includes(\"/mapping\")) {\n crumbs.push({ label: t(\"EKYC_MAPPING\") });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n }\n // dashboard & inbox → no child crumb (only \"eKYC Admin\" shown)\n\n return crumbs;\n };\n\n const formStepRoutes = [\"consumer-details\", \"address-details\", \"property-info\", \"meter-details\"];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n Back\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <div className=\"employee-form\">\n <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Create />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/mapping`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Mapping />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={formStepRoutes.map((route) => `${path}/${route}`)}\n component={(props) => (\n <LayoutWrapper layoutClass=\"normal\">\n <EKYCForm {...props} path={path} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review/:kno`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/ceo-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <CeoDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/vendors/:vendorId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetails />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n /> */}\n </Switch>\n </div>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst PropertyInfoConfig = (t, formData = {}, uploadFile, buildingImage, buildingImageId, setBuildingImage, setBuildingImageId) => {\n const propertyType = formData?.propertyType?.name || formData?.propertyType;\n const isHotel = propertyType === \"Hotel\";\n const isHospitalOrNursing = propertyType === \"Hospital\" || propertyType === \"Nursing Home\";\n\n const fields = [\n {\n label: t(\"PID Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"pidNumber\",\n },\n },\n {\n label: t(\"Property Type\"),\n isMandatory: false,\n type: \"custom\",\n key: \"propertyType\",\n populators: {\n name: \"propertyType\",\n component: (props) => (\n <Dropdown\n option={[\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sub Property Category\"),\n isMandatory: false,\n type: \"custom\",\n key: \"subPropertyCategory\",\n populators: {\n name: \"subPropertyCategory\",\n component: (props) => (\n <Dropdown\n option={[]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"No. of Floors\"),\n isMandatory: true,\n type: \"number\",\n populators: {\n name: \"noOfFloors\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Floor No. of this KNO\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"floorNo\",\n },\n },\n {\n label: isHospitalOrNursing ? t(\"No of Beds\") : t(\"No of Beds\"),\n isMandatory: isHospitalOrNursing,\n type: \"number\",\n populators: {\n name: \"noOfBeds\",\n validation: isHospitalOrNursing ? { required: true, min: 1 } : {},\n },\n },\n {\n label: isHotel ? t(\"No. of Rooms\") : t(\"No. of Rooms\"),\n isMandatory: isHotel,\n type: \"number\",\n populators: {\n name: \"noOfRooms\",\n validation: isHotel ? { required: true, min: 1 } : {},\n },\n },\n {\n label: t(\"Number of Dwelling Units\"),\n isMandatory: false,\n type: \"number\",\n populators: {\n name: \"dwellingUnits\",\n },\n },\n {\n label: t(\"Building Image\"),\n isMandatory: true,\n type: \"custom\",\n key: \"buildingImage\",\n populators: {\n name: \"buildingImage\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {buildingImage && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n },\n ];\n\n return [\n {\n head: t(\"EKYC_PROPERTY_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default PropertyInfoConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport PropertyInfoConfig from \"../config/PropertyInfoConfig\";\n\nconst PropertyInfo = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"PROPERTY\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.propertyDetails || {};\n\n // 🔹 STATES\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n pidNumber: savedData.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : null,\n subPropertyCategory: savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null,\n noOfFloors: savedData.noOfFloors || \"\",\n floorNo: savedData.floorNo || \"\",\n noOfRooms: savedData.noOfRooms || \"\",\n noOfBeds: savedData.noOfBeds || \"\",\n dwellingUnits: savedData.dwellingUnits || \"\",\n buildingImage: savedData.buildingImageId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || rawData || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !isDataLoaded) {\n let propType = null;\n let subPropCat = null;\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ].find((type) => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) propType = matchingType;\n else propType = { name: propertyInfo.subPropertyCategory };\n subPropCat = { name: propertyInfo.subPropertyCategory };\n }\n\n if (propertyInfo.propertyType) {\n subPropCat = { name: propertyInfo.propertyType };\n if (!propertyInfo.subPropertyCategory) propType = { name: propertyInfo.propertyType };\n }\n\n const updatedDefaults = {\n pidNumber: savedData.pidNumber || propertyInfo.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : propType,\n subPropertyCategory: savedData.subPropertyCategory\n ? { name: savedData.subPropertyCategory }\n : subPropCat,\n noOfFloors:\n savedData.noOfFloors ||\n (propertyInfo.numberOfFloors || propertyInfo.noOfFloor\n ? String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor)\n : \"\"),\n floorNo: savedData.floorNo || propertyInfo.floorNo || \"\",\n noOfRooms:\n savedData.noOfRooms ||\n (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined\n ? String(propertyInfo.numberOfRooms)\n : \"\"),\n noOfBeds:\n savedData.noOfBeds ||\n (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined\n ? String(propertyInfo.numberOfBeds)\n : \"\"),\n dwellingUnits:\n savedData.dwellingUnits ||\n (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined\n ? String(propertyInfo.numberOfDwellingUnits)\n : \"\"),\n buildingImage: savedData.buildingImageId || propertyInfo.buildingImageFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.buildingImage) {\n setBuildingImageId(updatedDefaults.buildingImage);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setBuildingImageId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setBuildingImage(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Check if propertyType changed to re-evaluate mandatory validation or conditional visibility\n const propertyTypeChanged =\n (data?.propertyType?.name || data?.propertyType) !==\n (localFormData?.propertyType?.name || localFormData?.propertyType);\n\n if (propertyTypeChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const propTypeVal = data?.propertyType;\n const subPropCatVal = data?.subPropertyCategory;\n const noOfFloorsVal = data?.noOfFloors;\n const buildingImgId = buildingImageId || data?.buildingImage;\n const noOfRoomsVal = data?.noOfRooms;\n const noOfBedsVal = data?.noOfBeds;\n\n let valid = true;\n if (!propTypeVal) valid = false;\n if (!subPropCatVal) valid = false;\n if (!noOfFloorsVal || Number(noOfFloorsVal) < 1) valid = false;\n if (!buildingImgId) valid = false;\n\n if (propTypeVal?.name === \"Hotel\" && !noOfRoomsVal) valid = false;\n if (\n (propTypeVal?.name === \"Hospital\" || propTypeVal?.name === \"Nursing Home\") &&\n !noOfBedsVal\n )\n valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n pidNumber: data.pidNumber,\n propertyType: data.propertyType?.name || data.propertyType,\n subPropertyCategory: data.subPropertyCategory?.name || data.subPropertyCategory,\n noOfFloors: data.noOfFloors,\n floorNo: data.floorNo,\n noOfRooms: data.noOfRooms,\n noOfBeds: data.noOfBeds,\n dwellingUnits: data.dwellingUnits,\n buildingImageId: buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Property details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update property details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = PropertyInfoConfig(\n t,\n localFormData,\n handleUpload,\n buildingImage,\n buildingImageId,\n setBuildingImage,\n setBuildingImageId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetailsConfig = (t, formData = {}, uploadPhoto, meterPhoto, meterPhotoId, setMeterPhoto, setMeterPhotoId) => {\n const meterStatus = formData?.meterStatus?.name || formData?.meterStatus;\n const lastBillReceived = formData?.lastBillReceived?.name || formData?.lastBillReceived;\n const sewerConnection = formData?.sewerConnection?.name || formData?.sewerConnection;\n\n const isFrozen = meterStatus === \"Can not be identified\";\n\n // Generate Month-Year Options (1998–2026)\n const monthYearOptions = [];\n for (let y = 1998; y <= 2026; y++) {\n for (let m = 1; m <= 12; m++) {\n monthYearOptions.push({ name: `${m}/${y}` });\n }\n }\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const fields = [\n {\n label: t(\"Connection Category\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"connectionCategory\",\n validation: { required: true },\n },\n },\n {\n label: t(\"SA Type\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"saType\",\n },\n },\n {\n label: t(\"Status\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"status\",\n },\n },\n {\n label: t(\"MR Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrCode\",\n },\n },\n {\n label: t(\"Area Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"areaCode\",\n },\n },\n {\n label: t(\"MR Key\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrKey\",\n },\n },\n ];\n\n // 🔹 Non-frozen fields\n if (!isFrozen) {\n fields.push(\n {\n label: t(\"Meter Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterNumber\",\n },\n },\n {\n label: t(\"Meter Maker\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterMaker\",\n },\n },\n {\n label: t(\"Meter Condition\"),\n isMandatory: false,\n type: \"custom\",\n key: \"meterCondition\",\n populators: {\n name: \"meterCondition\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Damaged\" }, { name: \"Not-Damaged\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (meterStatus === \"Metered\") {\n fields.push({\n label: t(\"Meter Photo\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterPhoto\",\n populators: {\n name: \"meterPhoto\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadPhoto(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setMeterPhoto(null);\n setMeterPhotoId(null);\n }}\n message={meterPhotoId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {meterPhoto && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={meterPhoto}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n });\n }\n }\n\n // 🔹 Standard fields after the conditional section\n fields.push(\n {\n label: t(\"Meter Status\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterStatus\",\n populators: {\n name: \"meterStatus\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Metered\" }, { name: \"Unmetered\" }, { name: \"Can not be identified\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Meter Location\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterLocation\",\n populators: {\n name: \"meterLocation\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Inside\" }, { name: \"Outside\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Last Bill Received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"lastBillReceived\",\n populators: {\n name: \"lastBillReceived\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n // 🔹 Bill-received fields\n if (lastBillReceived === \"Yes\") {\n fields.push({\n label: t(\"When was the last bill received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"billMonthYear\",\n populators: {\n name: \"billMonthYear\",\n component: (props) => (\n <Dropdown\n option={monthYearOptions}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n } else if (lastBillReceived === \"No\") {\n fields.push({\n label: t(\"Reason *\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"reason\",\n validation: { required: true },\n },\n });\n }\n\n fields.push(\n {\n label: t(\"Access to Meter\"),\n isMandatory: false,\n type: \"custom\",\n key: \"accessToMeter\",\n populators: {\n name: \"accessToMeter\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sewer Connection\"),\n isMandatory: true,\n type: \"custom\",\n key: \"sewerConnection\",\n populators: {\n name: \"sewerConnection\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (sewerConnection === \"No\") {\n fields.push({\n label: t(\"Septic Tank\"),\n isMandatory: true,\n type: \"custom\",\n key: \"septicTank\",\n populators: {\n name: \"septicTank\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n }\n\n return [\n {\n head: t(\"EKYC_METER_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default MeterDetailsConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport MeterDetailsConfig from \"../config/MeterDetailsConfig\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"METER\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.meterDetails || {};\n\n // 🔹 STATES\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n connectionCategory: savedData.connectionCategory || \"\",\n saType: savedData.saType || \"\",\n status: savedData.status || \"\",\n mrCode: savedData.mrCode || \"\",\n areaCode: savedData.areaCode || \"\",\n mrKey: savedData.mrKey || \"\",\n meterNumber: savedData.meterNumber || \"\",\n meterMaker: savedData.meterMaker || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : null,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : null,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : null,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : null,\n reason: savedData.reason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : null,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : null,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : null,\n meterPhoto: savedData.meterPhotoId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !isDataLoaded) {\n let mStatus = null;\n let mCondition = null;\n let mLoc = null;\n let billRec = null;\n let billMonYr = null;\n let accToMeter = null;\n let sewerConn = null;\n let sepTank = null;\n\n if (apiMeter.meterStatus) {\n const matchingStatus = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ].find((o) => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) mStatus = matchingStatus;\n else mStatus = { name: apiMeter.meterStatus };\n } else if (apiMeter.metered !== undefined) {\n mStatus = { name: apiMeter.metered ? \"Metered\" : \"Unmetered\" };\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = [{ name: \"Damaged\" }, { name: \"Not-Damaged\" }].find(\n (o) => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase()\n );\n if (matchingCond) mCondition = matchingCond;\n else mCondition = { name: apiMeter.meterCondition };\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = [{ name: \"Inside\" }, { name: \"Outside\" }].find(\n (o) =>\n o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() ||\n apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase())\n );\n if (matchingLoc) mLoc = matchingLoc;\n else mLoc = { name: apiMeter.meterLocation };\n }\n\n if (apiMeter.lastBillRaised !== undefined && apiMeter.lastBillRaised !== null) {\n const strVal = String(apiMeter.lastBillRaised).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") billRec = { name: \"Yes\" };\n else billRec = { name: \"No\" };\n }\n\n if (apiMeter.lastBillReceivedDate) {\n const formatted = apiMeter.lastBillReceivedDate.replace(\"-\", \"/\");\n const parsedParts = formatted.split(\"/\");\n if (parsedParts.length === 2) {\n const mon = parseInt(parsedParts[0], 10);\n const yr = parseInt(parsedParts[1], 10);\n billMonYr = { name: `${mon}/${yr}` };\n } else {\n billMonYr = { name: apiMeter.lastBillReceivedDate };\n }\n }\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") accToMeter = { name: \"Yes\" };\n else accToMeter = { name: \"No\" };\n }\n\n if (apiMeter.sewerConnection !== undefined && apiMeter.sewerConnection !== null) {\n const strVal = String(apiMeter.sewerConnection).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sewerConn = { name: \"Yes\" };\n else sewerConn = { name: \"No\" };\n }\n\n if (apiMeter.septicTank !== undefined && apiMeter.septicTank !== null) {\n const strVal = String(apiMeter.septicTank).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sepTank = { name: \"Yes\" };\n else sepTank = { name: \"No\" };\n }\n\n const updatedDefaults = {\n connectionCategory: savedData.connectionCategory || apiMeter.connectionCategory || \"\",\n saType: savedData.saType || apiMeter.saType || \"\",\n status: savedData.status || apiMeter.statusFlag || \"\",\n mrCode: savedData.mrCode || (apiMeter.mrcode ? String(apiMeter.mrcode) : \"\"),\n areaCode: savedData.areaCode || (apiMeter.areacode ? String(apiMeter.areacode) : \"\"),\n mrKey: savedData.mrKey || (apiMeter.mrkey ? String(apiMeter.mrkey) : \"\"),\n meterNumber: savedData.meterNumber || apiMeter.meterNumber || \"\",\n meterMaker: savedData.meterMaker || apiMeter.meterMake || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : mStatus,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : mCondition,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : mLoc,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : billRec,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : billMonYr,\n reason: savedData.reason || apiMeter.lastBillNotRaisedReason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : accToMeter,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : sewerConn,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : sepTank,\n meterPhoto: savedData.meterPhotoId || apiMeter.meterPhotoFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.meterPhoto) {\n setMeterPhotoId(updatedDefaults.meterPhoto);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setMeterPhotoId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n const meterStatusChanged =\n (data?.meterStatus?.name || data?.meterStatus) !==\n (localFormData?.meterStatus?.name || localFormData?.meterStatus);\n\n const lastBillReceivedChanged =\n (data?.lastBillReceived?.name || data?.lastBillReceived) !==\n (localFormData?.lastBillReceived?.name || localFormData?.lastBillReceived);\n\n const sewerConnectionChanged =\n (data?.sewerConnection?.name || data?.sewerConnection) !==\n (localFormData?.sewerConnection?.name || localFormData?.sewerConnection);\n\n if (meterStatusChanged || lastBillReceivedChanged || sewerConnectionChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const connCatVal = data?.connectionCategory;\n const mStatusVal = data?.meterStatus;\n const mLocVal = data?.meterLocation;\n const billRecVal = data?.lastBillReceived;\n const sewerConnVal = data?.sewerConnection;\n const mPhotoId = meterPhotoId || data?.meterPhoto;\n const reasonVal = data?.reason;\n const billMonYrVal = data?.billMonthYear;\n const sepTankVal = data?.septicTank;\n\n let valid = true;\n if (!connCatVal) valid = false;\n if (!mStatusVal) valid = false;\n if (!mLocVal) valid = false;\n if (!billRecVal) valid = false;\n if (!sewerConnVal) valid = false;\n\n if (mStatusVal?.name === \"Metered\" && !mPhotoId) valid = false;\n if (billRecVal?.name === \"No\" && !reasonVal) valid = false;\n if (billRecVal?.name === \"Yes\" && !billMonYrVal) valid = false;\n if (sewerConnVal?.name === \"No\" && !sepTankVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n connectionCategory: data.connectionCategory,\n saType: data.saType,\n status: data.status,\n mrCode: data.mrCode,\n areaCode: data.areaCode,\n mrKey: data.mrKey,\n meterNumber: data.meterNumber,\n meterMaker: data.meterMaker,\n meterStatus: data.meterStatus?.name || data.meterStatus,\n meterCondition: data.meterCondition?.name || data.meterCondition,\n meterLocation: data.meterLocation?.name || data.meterLocation,\n lastBillReceived: data.lastBillReceived?.name || data.lastBillReceived,\n billMonthYear: data.billMonthYear?.name || data.billMonthYear,\n reason: data.reason,\n accessToMeter: data.accessToMeter?.name || data.accessToMeter,\n sewerConnection: data.sewerConnection?.name || data.sewerConnection,\n septicTank: data.septicTank?.name || data.septicTank,\n meterPhotoId: meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Meter details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update meter details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = MeterDetailsConfig(\n t,\n localFormData,\n handleUpload,\n meterPhoto,\n meterPhotoId,\n setMeterPhoto,\n setMeterPhotoId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CitizenHomeCard, DocumentIcon } from \"@djb25/digit-ui-react-components\";\n\nconst Home = () => {\n const { t } = useTranslation();\n const propsForModuleCard = {\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: [\n {\n count: \"-\",\n label: t(\"TOTAL_EKYC\"),\n link: `/digit-ui/citizen/ekyc/dashboard`,\n },\n ],\n links: [],\n };\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code) : [];\n\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n propsForModuleCard.links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/surveyor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push(\n {\n label: t(\"EKYC_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/dashboard`,\n },\n {\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/citizen/ekyc/inbox`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/citizen/ekyc/assign`,\n }\n );\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/supervisor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n\n if (roles.length === 1 && roles.includes(\"CITIZEN\")) {\n propsForModuleCard.links.push(\n // {\n // label: t(\"EKYC_CREATE_KYC\"),\n // link: `/digit-ui/citizen/ekyc/create-kyc`,\n // },\n // {\n // label: t(\"EKYC_UPDATE_KYC\"),\n // link: `/digit-ui/citizen/ekyc/update-kyc`,\n // },\n {\n label: t(\"EKYC_STATUS\"),\n link: `/digit-ui/citizen/ekyc/:id`,\n }\n );\n }\n\n const formattedLinks = propsForModuleCard.links.map((l) => ({\n i18nKey: l.label,\n link: l.link,\n count: l.count,\n }));\n\n return (\n <CitizenHomeCard\n header={t(\"EKYC_MODULE_NAME\")}\n links={formattedLinks}\n Icon={() => <DocumentIcon className=\"fill-path-primary-main\" />}\n />\n );\n};\n\nexport default Home;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 20,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 20,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return dashboardData?.consumerList || [];\n }, [isSearchActive, searchData, dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n const searchDetails = item.connectionDetails || {};\n const fullName = (searchDetails.firstName || searchDetails.middleName || searchDetails.lastName)\n ? `${searchDetails.firstName || \"\"} ${searchDetails.middleName || \"\"} ${searchDetails.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : searchDetails.consumerName || \"\";\n\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: fullName,\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: fullName,\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = (item.firstName || item.middleName || item.lastName)\n ? `${item.firstName || \"\"} ${item.middleName || \"\"} ${item.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : item.consumerName || item.citizenName || \"\";\n\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: fullName,\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName,\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 20,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n // ...propsForMobileSortForm,\n propsForInboxTable,\n // propsForInboxMobileCards,\n formState,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\nimport { downloadSupervisorPDF } from \"../utils/reportDownloader\";\n\nconst SurveyorStatsCell = ({ surveyorId, type }) => {\n const { data, isLoading } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1,\n surveyorId: surveyorId,\n },\n {\n enabled: !!surveyorId,\n staleTime: 60000,\n }\n );\n\n if (isLoading) return \"...\";\n\n const dashboardInfo = data?.dashboardInfo || {};\n const total = dashboardInfo?.total || 0;\n const completed = dashboardInfo?.completed || 0;\n const pending = dashboardInfo?.pending || 0;\n const progress = total > 0 ? `${Math.round((completed / total) * 100)}%` : \"0%\";\n\n if (type === \"total\") return total;\n if (type === \"completed\") return completed;\n if (type === \"pending\") return pending;\n if (type === \"progress\") return progress;\n\n return null;\n};\n\nconst SupervisorDetailsCard = () => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { id: supervisorId } = useParams();\n const ownerIds = Digit.SessionStorage.get(\"User\")?.info?.uuid;\n const searchParams = supervisorId ? { ids: supervisorId } : { ownerIds };\n\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n searchParams,\n { staleTime: Infinity }\n );\n\n const supervisor = useMemo(() => {\n return supervisorSearchResponse?.supervisors?.[0] || null;\n }, [supervisorSearchResponse]);\n\n const { data: vendorData } = Digit.Hooks.fsm.useDsoSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n\n const vendorName = useMemo(() => {\n if (!vendorData || !supervisor?.vendorId) return \"N/A\";\n const mappedVendor = vendorData.find((v) => v.dsoDetails?.id === supervisor.vendorId || v.dsoDetails?.vendorId === supervisor.vendorId);\n return mappedVendor?.dsoDetails?.name || supervisor.vendorId || \"N/A\";\n }, [vendorData, supervisor?.vendorId]);\n\n const fullName = supervisor?.owner?.name || supervisor?.name || \"N/A\";\n const employeeId = supervisor?.employeeId || supervisor?.owner?.uuid || supervisor?.id;\n const mobileNumber = supervisor?.owner?.mobileNumber || supervisor?.mobileNo || \"N/A\";\n\n // Fetch surveyors connected to the logged-in supervisor\n const { data: surveyorsResponse, isLoading: isSurveyorsLoading } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { supervisorIds: supervisor?.id },\n { enabled: !!tenantId && !!supervisor?.id }\n );\n\n const surveyors = useMemo(() => {\n return surveyorsResponse?.surveyors || surveyorsResponse?.surveyor || [];\n }, [surveyorsResponse]);\n\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const cards = useMemo(() => [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: progressData?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: progressData?.totalAssignments || 0,\n color: \"#3B82F6\",\n type: \"week\",\n },\n {\n label: \"EKYC_COMPLETED\",\n count: progressData?.completedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: (progressData?.totalKnos || 0) - (progressData?.completedKnos || 0),\n color: \"#F59E0B\",\n type: \"pending\",\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${progressData?.overallProgressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n },\n ], [progressData]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const paginatedSurveyors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return surveyors.slice(start, end);\n }, [surveyors, currentPage, pageSize]);\n\n const surveyorColumns = useMemo(\n () => [\n {\n Header: t(\"SURVEYOR_NAME\") || \"Surveyor Name\",\n accessor: (row) => row?.name || row?.owner?.name || \"N/A\",\n Cell: ({ row }) => (\n <a\n href={`/digit-ui/citizen/ekyc/surveyor-dashboard/${row.original.id}`}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n >\n {row.original?.name || row.original?.owner?.name || \"N/A\"}\n </a>\n ),\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.owner?.mobileNumber || row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : \"pending\"}`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalEkycApplications || 0,\n id: \"totalEkycApplications\",\n Cell: ({ row }) => <SurveyorStatsCell surveyorId={row.original?.owner?.uuid} type=\"total\" />,\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.ekycCompleted || 0,\n id: \"ekycCompleted\",\n Cell: ({ row }) => <SurveyorStatsCell surveyorId={row.original?.owner?.uuid} type=\"completed\" />,\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingApplications || 0,\n id: \"pendingApplications\",\n Cell: ({ row }) => <SurveyorStatsCell surveyorId={row.original?.owner?.uuid} type=\"pending\" />,\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => row?.overallProgress || \"N/A\",\n id: \"overallProgress\",\n Cell: ({ row }) => <SurveyorStatsCell surveyorId={row.original?.owner?.uuid} type=\"progress\" />,\n }\n // {\n // Header: t(\"ACTIONS\") || \"Actions\",\n // Cell: ({ row }) => (\n // <a\n // href={`/digit-ui/citizen/ekyc/surveyor-dashboard/${row.original.id}`}\n // className=\"download-action-btn\"\n // style={{\n // display: \"inline-block\",\n // padding: \"6px 12px\",\n // fontSize: \"12px\",\n // textDecoration: \"none\",\n // textAlign: \"center\"\n // }}\n // >\n // {t(\"VIEW_DASHBOARD\") || \"View Dashboard\"}\n // </a>\n // ),\n // },\n ],\n [t]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n\n setReportLoading(true);\n try {\n const surveyorsList = surveyors || [];\n\n const rowsWithStats = await Promise.all(\n surveyorsList.map(async (surveyor) => {\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1,\n surveyorId: surveyor.owner?.uuid,\n fromDate: range.from.getTime(),\n toDate: range.to.getTime(),\n }\n );\n const info = response?.dashboardInfo || {};\n const total = info.total || 0;\n const completed = info.completed || 0;\n const pending = info.pending || 0;\n const progress = total > 0 ? `${Math.round((completed / total) * 100)}%` : \"0%\";\n return {\n ...surveyor,\n total,\n completed,\n pending,\n progress,\n };\n } catch (err) {\n console.error(\"Failed to fetch stats for surveyor:\", surveyor.id, err);\n return {\n ...surveyor,\n total: 0,\n completed: 0,\n pending: 0,\n progress: \"0%\",\n };\n }\n })\n );\n\n const overallResponse = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1,\n supervisorId: supervisor?.owner?.uuid,\n fromDate: range.from.getTime(),\n toDate: range.to.getTime(),\n }\n );\n\n downloadSupervisorPDF({\n rows: rowsWithStats,\n supervisorName: fullName,\n mobileNumber,\n vendorName,\n dashboardInfo: overallResponse?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n\n setReportLoading(true);\n try {\n const surveyorsList = surveyors || [];\n\n const rowsWithStats = await Promise.all(\n surveyorsList.map(async (surveyor) => {\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1,\n surveyorId: surveyor.owner?.uuid,\n fromDate: from.getTime(),\n toDate: to.getTime(),\n }\n );\n const info = response?.dashboardInfo || {};\n const total = info.total || 0;\n const completed = info.completed || 0;\n const pending = info.pending || 0;\n const progress = total > 0 ? `${Math.round((completed / total) * 100)}%` : \"0%\";\n return {\n ...surveyor,\n total,\n completed,\n pending,\n progress,\n };\n } catch (err) {\n console.error(\"Failed to fetch stats for surveyor:\", surveyor.id, err);\n return {\n ...surveyor,\n total: 0,\n completed: 0,\n pending: 0,\n progress: \"0%\",\n };\n }\n })\n );\n\n const overallResponse = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1,\n supervisorId: supervisor?.owner?.uuid,\n fromDate: from.getTime(),\n toDate: to.getTime(),\n }\n );\n\n downloadSupervisorPDF({\n rows: rowsWithStats,\n supervisorName: fullName,\n mobileNumber,\n vendorName,\n dashboardInfo: overallResponse?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch custom dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const StatCard = ({ title, value, type, color, isLoading }) => (\n <div className={`stat-card ${type}`} style={color ? { borderLeft: `5px solid ${color}` } : {}}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\" style={color ? { color } : {}}>{value}</div>\n </React.Fragment>\n )}\n </div>\n );\n\n if (isSupervisorSearchLoading) {\n return <Loader />;\n }\n\n if (!supervisor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SUPERVISOR_FOUND\")}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n <div className=\"designation\">{t(\"FIELD_SUPERVISOR\") || \"Field Supervisor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n color={card.color}\n isLoading={isProgressLoading}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}:</span>\n <span className=\"value\">{supervisor?.owner?.mobileNumber || supervisor?.mobileNo || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}:</span>\n <span className=\"value\">{supervisor?.owner?.emailId || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}:</span>\n <span className=\"value\">{supervisor?.owner?.gender || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}:</span>\n <span className=\"value\">{supervisor?.status || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SERVICE_TYPE\")}:</span>\n <span className=\"value\">{supervisor?.additionalDetails?.serviceType || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}:</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\"}\n tableClass=\"ekycTable\"\n data={paginatedSurveyors}\n columns={surveyorColumns}\n isLoading={isSurveyorsLoading}\n totalRecords={surveyors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(surveyors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(surveyors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default SupervisorDetailsCard;","import React, { useState, useEffect, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport {\n Card,\n CardHeader,\n CardText,\n Loader,\n StatusTable,\n Row,\n InboxComposer,\n VerticalTimeline,\n SubmitBar,\n} from \"@djb25/digit-ui-react-components\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\nconst EkycStatus = () => {\n const { t } = useTranslation();\n const { id } = useParams();\n const history = useHistory();\n\n // Separate states for the input form state and the triggered search query\n const [formState, setFormState] = useState({\n searchForm: {\n kNumber: id && id !== \":id\" ? id : \"\",\n },\n filterForm: {},\n });\n const [searchQuery, setSearchQuery] = useState(id && id !== \":id\" ? id : \"\");\n const [errorMsg, setErrorMsg] = useState(\"\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // Sync states with URL id parameter change (e.g. back navigation or page load)\n // Added strict equality check to prevent infinite re-render loop\n useEffect(() => {\n const currentKNumber = formState?.searchForm?.kNumber || \"\";\n const targetKNumber = id && id !== \":id\" ? id : \"\";\n if (currentKNumber !== targetKNumber) {\n setFormState({\n searchForm: { kNumber: targetKNumber },\n filterForm: {},\n });\n setSearchQuery(targetKNumber);\n }\n }, [id]);\n\n // Fetch eKYC review/status data - only triggers on 'searchQuery' state\n const { data: searchData, isLoading: isReviewLoading } = Digit.Hooks.ekyc.useEkycSearchReview(\n { kno: searchQuery, fetchType: \"REVIEW\" },\n tenantId,\n {\n enabled: !!searchQuery,\n retry: false,\n onError: (err) => {\n setErrorMsg(err?.message || t(\"EKYC_STATUS_NOT_FOUND\", \"eKYC Application not found.\"));\n },\n }\n );\n\n // Fetch connection/application details via useSearchConnection\n const { data: connectionSearchData, isLoading: isConnectionLoading } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchQuery } },\n { enabled: !!searchQuery, retry: false }\n );\n\n const isLoading = isReviewLoading || isConnectionLoading;\n\n const onSearchFormSubmit = (data) => {\n const val = data?.kNumber?.trim();\n if (!val) {\n setErrorMsg(t(\"EKYC_PLEASE_ENTER_KNO\", \"Please enter a valid K-Number.\"));\n return;\n }\n setErrorMsg(\"\");\n setFormState({\n searchForm: data,\n filterForm: {},\n });\n setSearchQuery(val);\n history.push(`/digit-ui/citizen/ekyc/${val}`);\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", \"\");\n setErrorMsg(\"\");\n setFormState({\n searchForm: { kNumber: \"\" },\n filterForm: {},\n });\n setSearchQuery(\"\");\n history.push(\"/digit-ui/citizen/ekyc/:id\");\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n const propsForInboxTable = {\n columns: [],\n data: [],\n limit: 10,\n offset: 0,\n };\n\n const propsForInboxMobileCards = {\n data: [],\n };\n\n const getStatusDetails = () => {\n if (!searchData) return null;\n const reviewWrapper = searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const appData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n const newData = appData?.newData || appData;\n const connection = newData?.connectionDetails || newData || {};\n\n const naText = t(\"CS_NA\", \"N/A\");\n const connRaw = connectionSearchData?.connectionDetails || connectionSearchData || {};\n const addrRaw = connectionSearchData?.addressDetails || {};\n const propRaw = connectionSearchData?.propertyInfo || {};\n const meterRaw = connectionSearchData?.meterDetails || {};\n\n const rawStatus = (connection?.ekycStatus || connection?.ekycstatus || connRaw?.ekycStatus || propRaw?.ekycStatus || meterRaw?.ekycStatus || \"NA\").toUpperCase();\n\n const reviewName = connection?.consumerName || [newData?.firstName, newData?.middleName, newData?.lastName].filter(Boolean).join(\" \");\n const connName = connRaw?.consumerName || [connRaw?.firstName, connRaw?.middleName, connRaw?.lastName].filter(Boolean).join(\" \");\n\n const reviewPhone = connection?.phoneNumber || connection?.mobileNo || connection?.mobileNumber;\n const connPhone = connRaw?.phoneNumber || connRaw?.mobileNo || connRaw?.mobileNumber || addrRaw?.mobileNo || addrRaw?.phoneNumber || addrRaw?.mobileNumber;\n\n const reviewType = connection?.connectionType || connection?.connectionCategory;\n const connType = connRaw?.connectionType || connRaw?.connectionCategory || connRaw?.knoCategory || propRaw?.connectionType || propRaw?.connectionCategory || meterRaw?.connectionCategory;\n\n return {\n kno: connection?.knumber || connection?.kno || connRaw?.knumber || connRaw?.kno || searchQuery,\n consumerName: (reviewName && reviewName !== naText && reviewName !== \"\") ? reviewName : (connName || naText),\n phoneNumber: (reviewPhone && reviewPhone !== naText && reviewPhone !== \"\") ? reviewPhone : (connPhone || naText),\n connectionType: (reviewType && reviewType !== naText && reviewType !== \"\") ? reviewType : (connType || naText),\n status: rawStatus,\n };\n };\n\n const details = getStatusDetails();\n\n // Visual Stepper configuration for VerticalTimeline\n const timelineConfig = [\n {\n route: \"submitted\",\n timeLine: [\n {\n currentStep: 1,\n actions: t(\"EKYC_STEP_SUBMITTED\", \"eKYC Survey Submitted\"),\n },\n ],\n },\n {\n route: \"verification\",\n timeLine: [\n {\n currentStep: 2,\n actions: t(\"EKYC_STEP_UNDER_VERIFICATION\", \"Under Verification\"),\n },\n ],\n },\n {\n route: \"zro-decision\",\n timeLine: [\n {\n currentStep: 3,\n actions: t(\"EKYC_STEP_ZRO_DECISION\", \"ZRO Decision\"),\n },\n ],\n },\n ];\n\n let activeStepIndex = 0;\n if (details) {\n if (details.status === \"APPROVED\") {\n activeStepIndex = 3;\n } else if (details.status === \"REJECTED\") {\n activeStepIndex = 2;\n } else if (details.status === \"PENDING_FOR_VERIFICATION\") {\n activeStepIndex = 1;\n } else {\n activeStepIndex = 1;\n }\n }\n\n const getStatusText = (status) => {\n const key = `EKYC_STATUS_${status}`;\n const val = t(key);\n if (val === key) {\n if (status === \"APPROVED\") return \"Approved\";\n if (status === \"REJECTED\") return \"Rejected\";\n if (status === \"PENDING_FOR_VERIFICATION\") return \"Pending For Verification\";\n return status;\n }\n return val;\n };\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n {!isLoading && details && (\n <VerticalTimeline config={timelineConfig} currentActiveIndex={activeStepIndex} />\n )}\n <div className=\"employee-form-section\">\n <div className=\"single-page-form-container\">\n {/* 1. Search Form Card rendered with InboxComposer */}\n <Card className=\"ekyc-status-search-card\">\n <CardHeader className=\"ekyc-status-card-header\">\n {t(\"EKYC_APPLICATION_STATUS_TRACKER\", \"eKYC Application Status\")}\n </CardHeader>\n <CardText className=\"ekyc-status-card-text\">\n {t(\"EKYC_STATUS_TRACKER_SUBHEADER\", \"Enter your K-Number below to track the real-time status of your eKYC application.\")}\n </CardText>\n\n <div className=\"status-search-composer-wrapper\">\n <InboxComposer\n {...{\n isInboxLoading: false,\n ...propsForSearchForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n }}\n />\n </div>\n </Card>\n\n {errorMsg && (\n <div className=\"ekyc-status-error-msg\">\n {errorMsg}\n </div>\n )}\n\n {/* 2. Results Card */}\n {isLoading && <Loader />}\n\n {!isLoading && details && (\n <Card className=\"ekyc-status-results-card\">\n {/* Status overview and badge */}\n <div className=\"ekyc-status-overview-header\">\n <div>\n <span className=\"ekyc-status-label-title\">\n {t(\"EKYC_CURRENT_STATUS\", \"Current Status\")}\n </span>\n <div className=\"ekyc-status-value-text\">\n {getStatusText(details.status)}\n </div>\n </div>\n <span className={`ekyc-status-badge ${details.status.toLowerCase()}`}>\n {details.status}\n </span>\n </div>\n\n {/* Details Table */}\n <div className=\"ekyc-status-details-section\">\n <h3 className=\"ekyc-status-details-title\">\n {t(\"EKYC_CONNECTION_SUMMARY\", \"Connection Summary\")}\n </h3>\n <StatusTable>\n <Row label={t(\"EKYC_K_NUMBER\", \"K-Number\")} text={details.kno} />\n <Row label={t(\"EKYC_CONSUMER_NAME\", \"Consumer Name\")} text={details.consumerName} />\n <Row label={t(\"EKYC_MOBILE_NO\", \"Mobile Number\")} text={details.phoneNumber} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\", \"Connection Type\")} text={details.connectionType} />\n </StatusTable>\n </div>\n\n {/* View Application button */}\n <div className=\"ekyc-status-action-section\" style={{ marginTop: \"24px\", display: \"flex\", justifyContent: \"flex-end\" }}>\n <SubmitBar\n label={t(\"EKYC_VIEW_APPLICATION\", \"View Application\")}\n onSubmit={() => history.push(`/digit-ui/citizen/ekyc/status/${details.kno}`)}\n />\n </div>\n </Card>\n )}\n </div>\n </div>\n </div>\n </React.Fragment>\n );\n\n \n};\n\nexport default EkycStatus;\n","import React from \"react\";\nimport { PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper, BackButton } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch } from \"react-router-dom\";\nimport AadhaarVerification from \"../../components/AadhaarVerification\";\nimport PropertyInfo from \"../../components/PropertyInfo\";\nimport MeterDetails from \"../../components/MeterDetails\";\nimport Review from \"../../components/Review\";\nimport Home from \"./Home\";\nimport Inbox from \"./Inbox\";\nimport AssignEkyc from \"../../components/AssignEkyc\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard\";\nimport VendorDetails from \"../../components/VendorDetails\";\nimport EkycStatus from \"./EkycStatus\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n const { data: { stateInfo } = {} } = Digit.Hooks.useStore.getInitData();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC citizen home\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(\"EKYC_MODULE_NAME\"), path: `/digit-ui/citizen/ekyc` },\n ];\n\n // Child crumb — only appended when on a sub-page\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/aadhaar-verification\")) {\n crumbs.push({ label: t(\"EKYC_AADHAAR_VERIFICATION\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/citizen/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/citizen/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n } else if (pathname.includes(\"/supervisor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") });\n } else if (pathname.includes(\"/surveyor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/status/\") || /^\\/digit-ui\\/citizen\\/ekyc\\/[^/]+$/.test(pathname)) {\n const statusLabel = t(\"EKYC_STATUS\");\n crumbs.push({ label: statusLabel === \"EKYC_STATUS\" || statusLabel === \"STATUS\" ? \"eKYC Status\" : statusLabel });\n }\n // home (exact path) → no child crumb\n\n return crumbs;\n };\n\n // const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n // const isEkyAction = (!roles?.includes(\"EKYC_SURVEYOR\") || roles?.includes(\"EMPLOYEE\"))\n const isEkycHome = location.pathname === \"/digit-ui/citizen/ekyc\" || location.pathname === \"/digit-ui/citizen/ekyc/\";\n\n if (isEkycHome) {\n const isMobile = window.Digit.Utils.browser.isMobile();\n return (\n // <div className=\"moduleLinkHomePage\">\n // <img src={stateInfo?.bannerUrl} alt=\"noimagefound\" />\n // <BackButton className=\"moduleLinkHomePageBackButton\" />\n // {isMobile ? (\n // <h4\n // style={{\n // top: \"calc(16vw + 40px)\",\n // left: \"1.5rem\",\n // position: \"absolute\",\n // color: \"white\",\n // width: \"50px\",\n // fontSize: \"15px\",\n // marginTop: \"6px\",\n // }}\n // >\n // {t(\"MODULE_EKYC\")}\n // </h4>\n // ) : (\n // <h1 style={{ width: \"230px\", marginTop: \"15px\" }}>{t(\"MODULE_EKYC\")}</h1>\n // )}\n // <div className=\"moduleLinkHomePageModuleLinks\">\n // <Home />\n // </div>\n // </div>\n <div className=\"moduleLinkHomePage\">\n <div style={{ position: \"relative\" }}>\n <img src={stateInfo?.bannerUrl} alt=\"noimagefound\" />\n <BackButton className=\"moduleLinkHomePageBackButton\" />\n <div className=\"moduleTitle\">\n {isMobile ? <h4>{t(\"MODULE_EKYC\")}</h4> : <h1>{t(\"MODULE_EKYC\")}</h1>}\n </div>\n </div>\n\n <div className=\"moduleLinkHomePageModuleLinks\">\n <Home />\n </div>\n </div>\n );\n }\n\n return (\n <React.Fragment>\n <div className=\"ground-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <Switch>\n <PrivateRoute\n exact\n path={`${path}`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Home />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetails />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AadhaarVerification />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/address-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AddressDetails />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <PropertyInfo />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <MeterDetails />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/status/:applicationId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/supervisor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <EkycStatus />\n </LayoutWrapper>\n )}\n />\n </Switch>\n </div>\n </React.Fragment>\n );\n};\n\nexport default CitizenApp;\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CitizenHomeCard, DocumentIcon, Loader } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"./components/EKYCCard\";\nimport Inbox from \"./components/Dashboard\";\nimport DesktopInbox from \"./components/DesktopInbox\";\nimport MobileInbox from \"./components/MobileInbox\";\nimport Filter from \"./components/Filter\";\nimport EmployeeApp from \"./pages/employee\";\nimport CitizenApp from \"./pages/citizen\";\nimport PropertyInfo from \"./components/PropertyInfo\";\nimport MeterDetails from \"./components/MeterDetails\";\nimport AadhaarVerification from \"./components/AadhaarVerification\";\n\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading } = Digit.Services.useStore({ stateCode, moduleCode, language });\n\n Digit.SessionStorage.set(\"EKYC_TENANTS\", tenants);\n\n useEffect(\n () =>\n Digit.LocalizationService.getLocale({\n modules: [`rainmaker-ekyc`, `rainmaker-${Digit.ULBService.getCurrentTenantId()}`],\n locale: Digit.StoreData.getCurrentLanguage(),\n tenantId: Digit.ULBService.getCurrentTenantId(),\n }),\n []\n );\n\n if (isLoading) {\n return <Loader page={true} />;\n }\n\n if (userType === \"employee\") {\n return <EmployeeApp path={path} url={url} userType={userType} tenants={tenants} />;\n } else return <CitizenApp />;\n};\n\nexport const EkycLinks = ({ matchPath, userType }) => {\n const { t } = useTranslation();\n const links = [\n {\n link: `${matchPath}/create-kyc`,\n i18nKey: t(\"EKYC_CREATE_KYC\"),\n },\n {\n link: `${matchPath}/update-kyc`,\n i18nKey: t(\"EKYC_UPDATE_KYC\"),\n },\n ];\n\n return <CitizenHomeCard header={t(\"EKYC_MODULE_NAME\")} links={links} Icon={() => <DocumentIcon className=\"fill-path-primary-main\" />} />;\n};\n\nconst componentsToRegister = {\n EKYCModule: EkycModule,\n EKYCCard,\n EKYCInbox: Inbox,\n EKYCDesktopInbox: DesktopInbox,\n EKYCMobileInbox: MobileInbox,\n EKYC_INBOX_FILTER: (props) => <Filter {...props} />,\n EkycLinks,\n AadhaarVerification,\n PropertyInfo,\n MeterDetails,\n};\n\nexport const initEkycComponents = () => {\n Object.entries(componentsToRegister).forEach(([key, value]) => {\n Digit.ComponentRegistryService.setComponent(key, value);\n });\n};\n\nexport default EkycModule;\n"],"names":["EKYCCard","_useTranslation","useTranslation","t","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","count","label","link","links","EmployeeModuleCard","getChartConstructor","C","Chartjs","StatusCards","_ref","countData","chartRef1","useRef","chartInstance1","total","pending","active","completed","actualCompleted","approved","efficiency","Math","round","healthPct","formatNumber","num","Intl","NumberFormat","format","useEffect","current","destroy","ctx1","getContext","ChartConstructor","type","data","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","className","map","item","key","style","background","ref","width","height","Dashboard","tenantId","Digit","ULBService","getCurrentTenantId","_Digit$Hooks$ekyc$use","Hooks","ekyc","useEkycSurveyorDashboard","offset","limit","enabled","isLoading","dashboardData","useMemo","info","dashboardInfo","rejected","Loader","Card","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","_useState","useState","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kno","push","kNumber","aadhaarData","columns","Header","accessor","Cell","_ref2","_row$original","_row$original2","row","original","applicationNumber","onClick","_ref3","_row$original3","citizenName","_ref4","_row$original4","status","_ref5","_row$original5","_row$original6","ekycStatus","ekycstatus","toUpperCase","_ref6","_row$original7","_row$original8","tableData","items","Array","isArray","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_extends","_searchParams","setSearchParams","onChange","prev","onSubmit","e","preventDefault","onClear","cleared","kName","HomeIcon","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","x1","y1","x2","y2","TextInput","target","placeholder","d","todaysAudits","auditChange","pendingCount","i","String","fromCharCode","MobileInbox","_data$items","mobileData","mobileNumber","Link","to","SubmitBar","length","DetailsCard","serviceRequestIdKey","linkPrefix","split","text","index","textAlign","Filter","statusMap","applyLocalFilters","clearAll","onStatusChange","newParams","FilterForm","handleSubmit","fn","onResetFilterForm","id","onMobileExclusiveFilterPopupFormClose","onClose","FilterFormField","fontWeight","Dropdown","option","optionKey","select","selected","ekycMockData","topKpis","totalWaterConnections","totalEkycCompleted","totalPending","totalRejected","agencyEkycCompleted","citizenSelfEkycCompleted","todaysEkyc","successRate","rejectionPercentage","executiveMetrics","totalSurveyors","totalSupervisors","activeJurisdictions","todaysGrowth","selfEkycAdoption","avgApprovalTime","riskZones","escalationsOpen","alerts","title","priority","change","district","heatmapData","intensity","dailyTrend","selfVsAgency","agency","citizen","pendingVsCompleted","rejectionAnalysis","success","vendors","name","assignedConnections","completedEkyc","selfEkyc","inactiveDemand","progress","supervisors","activeSurveyors","jurisdictions","dailyPerformance","day","zones","cluster","location","zroOffice","assemblyConstituency","gpsLocation","distanceFromFarthestPoint","activeDemand","pppZones","districtwiseInactiveTotal","ExecutiveLineChart","_ref$data","formattedData","agencyKyc","selfKyc","totalKyc","ResponsiveContainer","LineChart","margin","top","right","left","bottom","CartesianGrid","strokeDasharray","vertical","XAxis","dataKey","axisLine","tickLine","tick","fontSize","YAxis","Tooltip","cursor","contentStyle","border","borderRadius","boxShadow","labelStyle","marginBottom","Legend","verticalAlign","align","iconType","wrapperStyle","paddingBottom","Line","dot","activeDot","ExecutiveBarChart","_ref$categories","categories","_ref$xKey","xKey","minHeight","BarChart","itemStyle","series","Bar","radius","barSize","colors","ExecutivePieChart","_ref$dataKey","_ref$labelKey","labelKey","PieChart","Pie","nameKey","outerRadius","innerRadius","paddingAngle","entry","marginTop","CeoDashboard","_topKpis$todayEkyc","useLocation","query","setQuery","_useState2","statusFilter","setStatusFilter","basePath","pathname","replace","filters","filteredVendors","filter","vendor","keyword","toLowerCase","includes","some","zone","_zone$location","zoneRows","flatMap","sort","a","b","routeToVendor","vendorId","icon","FaUsers","variant","FaCheckCircle","FaClock","FaExclamationTriangle","FaUserTie","FaChartLine","card","_card$value$toLocaleS","_card$value","_card$value$toLocaleS2","toLocaleString","call","FaSearch","join","FaArrowRight","FaMapMarkedAlt","slice","_zone$activeDemand$to","_zone$activeDemand","_zone$pppZones$toLoca","_zone$pppZones","_zone$inactiveDemand$","_zone$inactiveDemand","min","max","alert","todayEkyc","VendorDetails","_vendor$dailyPerforma","_vendor$dailyPerforma2","_useParams","useParams","_useParams$vendorId","find","Number","goBack","FaArrowLeft","performanceData","_item$value$toLocaleS","_item$value","_item$value$toLocaleS2","_row$activeDemand$toL","_row$activeDemand","_row$pppZones$toLocal","_row$pppZones","_row$inactiveDemand$t","_row$inactiveDemand","intensityScore","random","useInboxTableConfig","_formState$tableForm","_formState$tableForm2","_Digit$SessionStorage","_Digit$SessionStorage2","_Digit$SessionStorage3","_formState$searchForm","formState","totalCount","table","dispatch","checkPathName","onSortingByData","_ref$inboxStyles","inboxStyles","_ref$tableStyle","tableStyle","tableForm","userType","SessionStorage","get","tableColumnConfig","disableSortBy","disableSort","autoSort","manualPagination","initSortId","_formState$tableForm3","action","parseInt","_formState$tableForm4","searchForm","message","onLastPage","floor","onFirstPage","_iteratorSymbol","Symbol","iterator","_asyncIteratorSymbol","asyncIterator","_catch","body","recover","result","then","_finallyRethrows","finalizer","bind","SearchFormFieldsComponents","searchFormState","controlSearchForm","searchType","errors","Fragment","Label","CustomTooltip","Controller","control","defaultValue","rules","pattern","render","CardLabelError","Inbox","_formState$searchForm3","_formState$searchForm4","formInitValue","filterForm","sortBy","sortOrder","_useReducer","useReducer","formReducer","queryParams","useEkycApplicationList","keepPreviousData","isListLoading","_Digit$Hooks$ekyc$use2","listData","searchDetails","_formState$searchForm2","isSearchActive","_Digit$Hooks$ekyc$use3","useSearchConnection","details","isSearchLoading","searchData","sourceData","consumerList","filteredData","_item$sla","isSearchItem","connectionDetails","_item$propertyInfo","_item$propertyInfo2","_item$connectionDetai","_item$propertyInfo3","_item$connectionDetai2","_item$connectionDetai3","_item$connectionDetai4","_item$connectionDetai5","applicationNo","propertyInfo","connectionNo","owner","consumerName","statusflag","sla","fullName","firstName","middleName","lastName","Boolean","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","window","Utils","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","state","payload","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","isInboxLoading","InboxComposer","MOCK_SURVEYORS","role","MOCK_MRDS","code","Mapping","selectedSurveyor","setSelectedSurveyor","selectedMRD","setSelectedMRD","_useState3","mappings","setMappings","_useState4","editingId","setEditingId","_useState5","editSurveyor","setEditSurveyor","_useState6","editMRD","setEditMRD","_useState7","deleteTarget","setDeleteTarget","_useState8","toast","setToast","handleAddMapping","exists","m","surveyorId","mrdCode","Date","now","surveyorName","mrdName","handleEditStart","s","handleEditSave","duplicate","handleEditCancel","handleDeleteConfirm","handleSaveMappings","isEditing","gap","EditIcon","DeleteIcon","xmlns","CardHeader","CardText","LabelFieldPair","CardLabel","justifyContent","disabled","tableClassName","ActionBar","Modal","headerBarMain","headerBarEnd","actionSaveLabel","actionSaveOnSubmit","actionCancelLabel","actionCancelOnSubmit","Toast","error","warning","isDsc","ConnectionDetailsView","_useRouteMatch","useRouteMatch","path","showModal","setShowModal","selectedOption","setSelectedOption","handleStartVerification","onModalConfirm","parentPath","statusFlag","isActive","meterNumber","connectionType","address","x","y","rx","ry","phoneNumber","email","lastVerified","points","RadioButtons","optionsKey","onSelect","flexDirection","buttonStyle","Create","saved","sessionStorage","getItem","JSON","parse","searchPerformed","setSearchPerformed","showToast","setShowToast","_Digit$Hooks$useSessi","useSessionStorage","formParams","clearParams","onError","_error$response","_error$response$data","_error$response$data$","_error$response$data$2","response","Errors","removeItem","isSearching","handleSearch","params","currentKno","Object","keys","forEach","startsWith","setItem","stringify","closeToast","ActionButton","jumpTo","routeTo","LinkButton","checkForNA","undefined","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","overflow","borderBottom","alignItems","CardSubHeader","borderCollapse","tableLayout","textTransform","field","idx","valNew","valOld","isChanged","borderTop","isBool","Review","_newDataRaw$connectio","_newDataRaw$connectio2","_newDataRaw$connectio3","_newDataRaw$address","_newDataRaw$address2","_newDataRaw$address3","_newDataRaw$address4","_newDataRaw$address5","_newDataRaw$address6","_newDataRaw$address7","_newDataRaw$address8","_newDataRaw$address9","_newDataRaw$address0","_newDataRaw$address1","_newDataRaw$address10","_newDataRaw$address11","_newDataRaw$address12","_newDataRaw$address13","_newDataRaw$address14","_newDataRaw$property","_newDataRaw$property2","_editedProperty$conne","_newDataRaw$property3","_editedProperty$conne2","_newDataRaw$property4","_editedProperty$userT","_newDataRaw$property5","_editedProperty$noOfF","_newDataRaw$property6","_newDataRaw$property7","_newDataRaw$meter","_editedMeter$meterSta","_newDataRaw$meter2","_newDataRaw$meter3","_newDataRaw$meter4","_newDataRaw$meter5","_editedMeter$workingS","_newDataRaw$meter6","_editedMeter$lastBill","_newDataRaw$meter7","_newDataRaw$meter8","applicationId","agree","setAgree","isSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","showOptions","setShowOptions","toastData","setToastData","_flowState$edits","edits","activeKno","_edits$aadhaarData","_edits$addressDetails","addressDetails","editedAddress","_edits$propertyDetail","propertyDetails","editedProperty","_edits$meterDetails","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","userRoles","roles","ele","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","_extractReviewData","apiNewData","apiOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","addressRaw","connectionCategory","meterNo","mobileNo","knumber","fullAddress","flatHouseNumber","flatNo","buildingTower","building","landmark","pinCode","pincode","ward","locality","assembly","gpsValid","latitude","longitude","whatsappNo","noOfPerson","noOfPersons","doorPhotoFilestoreId","property","pidNumber","typeOfConnection","numberOfFloors","noOfFloor","tenantName","tenantMobile","propertyDocumentFileStoreId","buildingImageFileStoreId","meter","metered","meterStatus","meterMake","meterLocationAddress","meterLatitude","meterLongitude","workingStatus","lastBillRaised","systemMeterId","meterPhotoFileStoreId","newDataRaw","oldDataRaw","connectionData","addressData","whatsappNumber","doorPhotoFileStoreId","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","meterLocation","workingStatusData","lastBillRaisedData","connectionFields","addressFields","propertyFields","meterFields","handleDeclaration","handleReject","_Digit$UserService$ge","_Digit$UserService$ge2","_Digit$UserService$ge3","RequestInfo","apiId","ver","msgId","authToken","UserService","getUser","access_token","remarks","reviewedBy","userName","_temp","Promise","resolve","mutateAsync","err","console","reject","handleApprove","_Digit$UserService$ge4","_Digit$UserService$ge5","_Digit$UserService$ge6","_temp2","setTimeout","_err$response","_err$response$data","handleViewDocument","fileStoreId","documentUrl","handleMenuSelect","baseUrl","StatusTable","maxWidth","Row","actionButton","GenericFileIcon","paddingTop","CheckBox","checked","Menu","position","zIndex","maxHeight","src","alt","nextSibling","open","AadhaarVerificationConfig","formData","uploadFile","setDocumentId","documentId","_formData","_formData$consumerTyp","_formData2","_formData3","_formData3$occupantTy","_formData4","_formData$informantIs","_formData5","consumerType","occupantType","informantIsConsumer","isMandatory","populators","component","validation","required","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","AadhaarVerification","config","URLSearchParams","search","urlKno","searchKno","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","isDataLoaded","setIsDataLoaded","canSubmit","setCanSubmit","_savedData$informantI","categoryType","gender","parentSpouseName","mobile","whatsapp","residents","identityType","documentNumber","informantName","informantRelation","idFile","ownerMobile","tenantVerification","designation","department","employeeId","entityName","contactPerson","consent","defaultValues","setDefaultValues","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","_savedData$informantI2","fName","mName","lName","parts","trim","updatedDefaults","parentSpouse","handleUploadProof","file","files","size","UploadServices","Filestorage","res","_res$data","_res$data$files","_res$data$files$","onFormValueChange","setValue","_data$consumerType","_localFormData$consum","_data$occupantType","_localFormData$occupa","consumerTypeChanged","occupantTypeChanged","informantIsConsumerChanged","knoVal","consumerTypeVal","occupantTypeVal","categoryTypeVal","firstNameVal","mobileVal","residentsVal","consentVal","docId","ownerMobileVal","valid","test","_data$consumerType2","_data$occupantType2","_data$categoryType","_data$gender","_data$identityType","_data$informantIsCons","submitData","relation","landline","entityRelation","idProof","idNumber","updateType","Config","FormComposer","isDisabled","isCollapsible","isDefaultOpen","noCard","submitInForm","ekycConfig","route","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","showMapActualLocation","EKYCForm","passedPath","match","setParams","_location$state","rest","goNext","skipStep","isAddMultiple","currentPath","pop","routeObj","nextStep","currentIndex","findIndex","c","redirectWithHistory","base","handleSelect","silent","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","AssignEkycModal","surveyor","closeModal","refetchDashboard","selectedKnos","setSelectedKnos","isBulkSelection","setIsBulkSelection","setCurrentPage","pageSize","setPageSize","zoneCode","zoneName","mrkey","setFilters","debouncedFilters","setDebouncedFilters","_Digit$Hooks$ws$useWS","ws","useWSConfigMDMS","ZROLocation","zroLocationsData","isZroLoading","mappedZROLocation","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","_useMemo","assemblies","Map","wards","boundaries","traverse","node","localname","assemblyOptions","from","values","localeCompare","wardOptions","structuredLocalityData","localities","extractLocalities","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","p","sanitizedPin","toString","add","timer","clearTimeout","isFetching","handleAssignmentError","errMsg","variables","isAlreadyAssigned","isMrKeyType","assignmentType","assignmentMutation","useEkycAssignmentCreate","onSuccess","_response$data","skipped","_response$skipped$","reason","_error$data","getAssignmentPayload","filterMappings","appliedFilter","assignmentValue","handleAssign","_surveyor$owner","_getAssignmentPayload","mutate","uuid","handleSelectAll","pageKnos","allSelected","every","handleFilterChange","Close","pin","val","tableTitle","tableClass","isPaginationRequired","totalPages","downloadSurveyorPDF","rows","vendorName","supervisorName","initData","tenants","tenantInfo","tenant","capitalize","substr","ulbCamel","ulb","currentDate","formattedDate","toLocaleDateString","month","year","formattedTime","toLocaleTimeString","hour","minute","second","hour12","downloadDateTime","isValDefined","asSectionHeader","submittedCount","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","downloadSupervisorPDF","mappedRows","_row$owner","_row$owner2","submittedAt","originalToLocaleDateString","prototype","progressIndex","_len","arguments","args","_key","apply","customT","SurveyorDetailsDashboard","_Digit$SessionStorage4","_surveyor$owner2","_surveyor$owner3","_surveyor$owner4","_fullName$charAt","_dashboardData$dashbo","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner7","_surveyor$owner8","_surveyor$owner9","_surveyor$additionalD","_dashboardData$dashbo5","_dashboardData$dashbo6","ownerIds","ids","_Digit$Hooks$fsm$useS","fsm","useSurveyorSearch","staleTime","Infinity","surveyorSearchResponse","_surveyorSearchRespon","surveyors","_Digit$Hooks$fsm$useD","useDsoSearch","vendorData","_Digit$Hooks$fsm$useS2","useSupervisorSearch","supervisorSearchResponse","_mappedVendor$dsoDeta","mappedVendor","v","_v$dsoDetails","_v$dsoDetails2","dsoDetails","_mappedSupervisor$own","supervisorId","mappedSupervisor","_s$owner","isDashboardLoading","refetch","knoColumns","showReportMenu","setShowReportMenu","customDate","setCustomDate","showCustomPicker","setShowCustomPicker","reportLoading","setReportLoading","reportMenuRef","handler","contains","document","addEventListener","removeEventListener","getDateRange","start","setHours","setDate","getDate","getDay","handlePresetDownload","range","_surveyor$owner5","EkycService","dashboard","fromDate","getTime","toDate","_response$dashboardIn","_wasThrown","_result","handleCustomDownload","_surveyor$owner6","_response$dashboardIn2","_wasThrown2","_result2","StatCard","charAt","description","emailId","additionalDetails","serviceType","_dashboardData$dashbo7","_dashboardData$dashbo8","storageKey","_row$original5$owner","SupervisorInboxTableConfig","ceil","AssignEkyc","paginationParms","useEkycAssignmentProgress","isDataSearchLoading","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","createdTime","auditDetails","lastModifiedTime","cards","totalKnos","totalAssignments","completedKnos","overallProgressPercent","isCardLoading","EmployeeApp","getDynamicBreadcrumbs","crumbs","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","breadcrumbs","PrivateRoute","LayoutWrapper","layoutClass","businessService","isInbox","exact","SurveyorDetailsCard","PropertyInfoConfig","buildingImage","buildingImageId","setBuildingImage","setBuildingImageId","_formData$propertyTyp","propertyType","isHotel","isHospitalOrNursing","objectFit","PropertyInfo","subPropertyCategory","noOfFloors","floorNo","noOfRooms","noOfBeds","dwellingUnits","propType","subPropCat","matchingType","numberOfRooms","numberOfBeds","numberOfDwellingUnits","handleUpload","reader","FileReader","onloadend","readAsDataURL","_data$propertyType","_localFormData$proper","propertyTypeChanged","propTypeVal","subPropCatVal","noOfFloorsVal","buildingImgId","noOfRoomsVal","noOfBedsVal","_data$propertyType2","_data$subPropertyCate","MeterDetailsConfig","uploadPhoto","meterPhoto","meterPhotoId","setMeterPhoto","setMeterPhotoId","_formData$meterStatus","_formData3$lastBillRe","_formData5$sewerConne","_formData6","lastBillReceived","sewerConnection","isFrozen","monthYearOptions","yesNo","MeterDetails","saType","mrCode","areaCode","mrKey","meterMaker","meterCondition","billMonthYear","accessToMeter","septicTank","mStatus","mCondition","mLoc","billRec","billMonYr","accToMeter","sewerConn","sepTank","matchingStatus","o","matchingCond","matchingLoc","strVal","lastBillReceivedDate","formatted","parsedParts","mon","yr","mrcode","areacode","lastBillNotRaisedReason","_data$meterStatus","_localFormData$meterS","_data$lastBillReceive","_localFormData$lastBi","_data$sewerConnection","_localFormData$sewerC","meterStatusChanged","lastBillReceivedChanged","sewerConnectionChanged","connCatVal","mStatusVal","mLocVal","billRecVal","sewerConnVal","mPhotoId","reasonVal","billMonYrVal","sepTankVal","_data$meterStatus2","_data$meterCondition","_data$meterLocation","_data$lastBillReceive2","_data$billMonthYear","_data$accessToMeter","_data$sewerConnection2","_data$septicTank","Home","citizenInfo","formattedLinks","l","i18nKey","CitizenHomeCard","DocumentIcon","SurveyorStatsCell","SupervisorDetailsCard","_supervisor$owner","_supervisor$owner2","_supervisor$owner3","_supervisor$owner6","_supervisor$owner7","_supervisor$owner8","_supervisor$additiona","isSupervisorSearchLoading","supervisor","_supervisorSearchResp","supervisorIds","surveyorsResponse","isSurveyorsLoading","isProgressLoading","progressData","paginatedSurveyors","end","surveyorColumns","_row$original2$owner","href","textDecoration","totalEkycApplications","_row$original3$owner","ekycCompleted","_row$original4$owner","pendingApplications","overallProgress","_ref7","_row$original6$owner","surveyorsList","all","rowsWithStats","_supervisor$owner4","overallResponse","_supervisor$owner5","_ref8","borderLeft","_ref9","EkycStatus","setFormState","searchQuery","setSearchQuery","errorMsg","setErrorMsg","currentKNumber","targetKNumber","retry","isReviewLoading","connectionSearchData","isConnectionLoading","_data$kNumber","propsForInboxMobileCards","getStatusDetails","naText","connRaw","addrRaw","propRaw","meterRaw","rawStatus","reviewName","connName","reviewPhone","connPhone","reviewType","connType","knoCategory","timelineConfig","activeStepIndex","getStatusText","currentActiveIndex","CitizenApp","_Digit$Hooks$useStore","useStore","getInitData","_Digit$Hooks$useStore2","_Digit$Hooks$useStore3","stateInfo","statusLabel","isEkycHome","bannerUrl","BackButton","EkycModule","stateCode","url","language","StoreData","getCurrentLanguage","_Digit$Services$useSt","Services","LocalizationService","getLocale","modules","locale","page","EkycLinks","matchPath","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/EKYCCard.js","../src/components/StatusCards.js","../src/components/Dashboard.js","../src/components/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/components/mockData.js","../src/components/analytics/charts/ExecutiveLineChart.jsx","../src/components/analytics/charts/ExecutiveBarChart.jsx","../src/components/analytics/charts/ExecutivePieChart.jsx","../src/components/CeoDashboard.jsx","../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/utils/reportDownloader.js","../src/components/VendorDetailsCard.js","../src/hook/useInboxTableConfig.js","../src/components/SearchFormFieldsComponent.js","../src/pages/employee/Inbox.js","../src/pages/employee/Mapping.js","../src/components/ConnectionDetailsView.js","../src/pages/employee/Create.js","../src/components/Review.js","../src/config/AadhaarVerificationConfig.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../src/components/AssignEkycModal.js","../src/components/SurveyorDetailsCard.js","../../vendor/src/config/tableConfig.js","../src/hook/SupervisorInboxTableConfig.js","../src/components/AssignEkyc.js","../src/components/AdminDashboard.js","../src/pages/employee/index.js","../src/config/PropertyInfoConfig.js","../src/components/PropertyInfo.js","../src/config/MeterDetailsConfig.js","../src/components/MeterDetails.js","../src/pages/citizen/Home.js","../src/pages/citizen/Inbox.js","../src/components/SupervisorDetailsCard.js","../src/pages/citizen/EkycStatus.js","../src/pages/citizen/index.js","../src/Module.js"],"sourcesContent":["import { PersonIcon, EmployeeModuleCard } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst EKYCCard = () => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const { data: listData, isLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {},\n { tenantId, offset: 0, limit: 1 },\n { enabled: !!tenantId }\n );\n\n const totalCount = isLoading ? \"-\" : listData?.totalCount || 0;\n\n const propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: [\n {\n count: totalCount,\n label: t(\"TOTAL_EKYC\"),\n link: `/digit-ui/employee/ekyc/dashboard`,\n },\n ],\n links: [\n {\n label: t(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n link: `/digit-ui/employee/ekyc/ceo-dashboard`,\n },\n {\n label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\",\n link: `/digit-ui/employee/ekyc/admin-dashboard`,\n },\n // {\n // label: t(\"EKYC_DASHBOARD\"),\n // link: `/digit-ui/employee/ekyc/dashboard`,\n // },\n {\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/employee/ekyc/inbox`,\n },\n // {\n // label: t(\"EKYC_CREATE_KYC\"),\n // link: `/digit-ui/employee/ekyc/create-kyc`\n // },\n // {\n // label: t(\"EKYC_UPDATE_KYC\"),\n // link: `/digit-ui/employee/ekyc/update-kyc`\n // },\n // {\n // label: t(\"EKYC_MAPPING\"),\n // link: `/digit-ui/employee/ekyc/mapping`,\n // },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/employee/ekyc/assign`,\n },\n ],\n };\n\n return <EmployeeModuleCard {...propsForModuleCard} />;\n};\n\nexport default EKYCCard;\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Chartjs from \"chart.js/auto\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\n\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n\n const total = countData?.total || 0;\n const pending = countData?.pending || 0;\n const active = countData?.completed || 0;\n const completed = 0;\n\n const actualCompleted = countData?.completed || 0;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round((actualCompleted / total) * 100) : 0;\n const healthPct = total > 0 ? Math.round((approved / total) * 100) : 0;\n\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n\n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_ACTIVE\"), t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\")],\n datasets: [\n {\n data: [active, pending, completed],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n },\n ],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: false,\n responsive: true,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n };\n }, [pending, completed, active, t]);\n\n const legendItems = [\n { color: \"#0c2a52\", label: t(\"EKYC_ACTIVE\"), value: active },\n { color: \"#77B6EA\", label: t(\"EKYC_PENDING\"), value: pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_COMPLETED\"), value: completed },\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-cards-wrapper\">\n {/* Header */}\n <div className=\"status-cards-header\">\n <div>\n <div className=\"eyebrow\">\n <span className=\"eyebrow-dot\" />\n {t(\"EKYC_INSTITUTIONAL_OVERVIEW\") || \"Institutional Performance Overview\"}\n </div>\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n <p className=\"status-cards-subtitle\">\n {t(\"EKYC_DASHBOARD_SUBTITLE\") || \"Real-time monitoring of consumer verification workflows across all administrative zones.\"}\n </p>\n </div>\n <div className=\"total-applications-card\">\n <div className=\"total-label\">{t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Processed\"}</div>\n <div className=\"total-number\">{formatNumber(total)}</div>\n <div className=\"total-badge\">↗ +12.4% {t(\"EKYC_FROM_LAST_QUARTER\") || \"from last quarter\"}</div>\n </div>\n </div>\n\n {/* Panels */}\n <div className=\"status-panels-grid\">\n {/* Panel 1: Status Breakdown */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">{t(\"EKYC_STATUS_BREAKDOWN\") || \"Status Breakdown\"}</div>\n <div className=\"panel-subtitle\">{t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle distribution\"}</div>\n <div className=\"breakdown-body\">\n <div className=\"status-legend\">\n {legendItems.map((item) => (\n <div key={item.label} className=\"legend-row\">\n <span className=\"legend-label\">\n <span className=\"indicator-dot\" style={{ background: item.color }} />\n {item.label}\n </span>\n <span className=\"legend-value\">{formatNumber(item.value)}</span>\n </div>\n ))}\n </div>\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n <div className=\"chart-center\">\n <div className=\"chart-percentage\">{efficiency}%</div>\n <div className=\"chart-label\">{t(\"EKYC_COMPLETE\") || \"Complete\"}</div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Panel 2: Submission Health */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">\n {t(\"EKYC_SUBMISSION_HEALTH\") || \"Submission Health\"}\n <span className=\"optimal-badge\">{t(\"EKYC_OPTIMAL\") || \"Optimal\"}</span>\n </div>\n <div className=\"panel-subtitle\">{t(\"EKYC_PLATFORM_EFFICIENCY\") || \"Platform operational efficiency\"}</div>\n <div className=\"health-metrics-row\">\n <div className=\"health-percentage\">{healthPct}%</div>\n <div className=\"health-trend\">↗ +2.1%</div>\n </div>\n <div className=\"status-progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${healthPct}%` }} />\n </div>\n <div className=\"mini-metrics-grid\">\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_AVG_LATENCY\") || \"Avg Latency\"}</div>\n <div className=\"metric-value\">1.2s</div>\n </div>\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_ERROR_RATE\") || \"Error Rate\"}</div>\n <div className=\"metric-value\">0.04%</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;\n","import React, { useMemo } from \"react\";\nimport StatusCards from \"./StatusCards\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\n\n// Mock data removed in favor of API integration\n\nconst Dashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 2. API Data Fetching\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const countData = useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n };\n }, [dashboardData]);\n\n return isLoading ? (\n <Loader />\n ) : (\n <Card className=\"min-width-full\">\n <StatusCards countData={countData} />\n </Card>\n );\n};\n\nexport default Dashboard;\n","import React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, Card, Loader, InboxLinks } from \"@djb25/digit-ui-react-components\";\nimport { useHistory } from \"react-router-dom\";\nimport StatusCards from \"./StatusCards\";\n\nconst DesktopInbox = ({ tableConfig, filterComponent, ...props }) => {\n const {\n data,\n isLoading,\n onSort,\n onNextPage,\n onPrevPage,\n currentPage,\n pageSizeLimit,\n onPageSizeChange,\n parentRoute,\n searchParams,\n sortParams,\n totalRecords,\n countData,\n } = props;\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const FilterComponent = Digit.ComponentRegistryService?.getComponent(filterComponent);\n\n // State for Review Modal\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(\"/digit-ui/employee/ekyc/review\", { kNumber: selectedKno, aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const columns = useMemo(\n () => [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{row.original?.citizenName || \"NA\"}</span>,\n },\n // {\n // Header: t(\"EKYC_MOBILE_NO\"),\n // accessor: \"mobileNumber\",\n // Cell: ({ row }) => <span>{row.original?.mobileNumber || \"NA\"}</span>,\n // },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const ekycStatus = (row.original?.ekycStatus || row.original?.ekycstatus || \"NA\").toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>;\n },\n },\n {\n Header: t(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","export const ekycMockData = {\n topKpis: {\n totalWaterConnections: 2990996,\n totalEkycCompleted: 2460810,\n totalPending: 530186,\n totalRejected: 224324,\n agencyEkycCompleted: 2352069,\n citizenSelfEkycCompleted: 638927,\n todaysEkyc: 54684,\n successRate: 82,\n rejectionPercentage: 7,\n },\n\n executiveMetrics: {\n totalSurveyors: 186,\n totalSupervisors: 56,\n activeJurisdictions: 27,\n todaysGrowth: 2.8,\n selfEkycAdoption: 38,\n avgApprovalTime: \"2.3 Days\",\n riskZones: 7,\n escalationsOpen: 18,\n },\n\n alerts: [\n {\n title: \"North East District pending increased\",\n priority: \"high\",\n change: \"+22%\",\n district: \"North East District\",\n },\n {\n title: \"Agency 2 self eKYC adoption low\",\n priority: \"medium\",\n change: \"-12%\",\n district: \"West District\",\n },\n {\n title: \"Escalation raised in NWS Bhera Enclave\",\n priority: \"high\",\n change: \"+18\",\n district: \"Outer North\",\n },\n {\n title: \"Approval rate improved in East District\",\n priority: \"low\",\n change: \"+9%\",\n district: \"East District\",\n },\n ],\n\n heatmapData: [\n {\n district: \"Outer North\",\n intensity: 82,\n },\n {\n district: \"East District\",\n intensity: 48,\n },\n {\n district: \"South District\",\n intensity: 67,\n },\n {\n district: \"North East District\",\n intensity: 74,\n },\n ],\n\n dailyTrend: [\n {\n label: \"Mon\",\n completed: 270689,\n pending: 491305,\n rejected: 145810,\n },\n {\n label: \"Tue\",\n completed: 442945,\n pending: 466563,\n rejected: 157026,\n },\n {\n label: \"Wed\",\n completed: 615202,\n pending: 441821,\n rejected: 168243,\n },\n {\n label: \"Thu\",\n completed: 812067,\n pending: 413545,\n rejected: 179459,\n },\n {\n label: \"Fri\",\n completed: 1033540,\n pending: 381733,\n rejected: 190675,\n },\n {\n label: \"Sat\",\n completed: 1279621,\n pending: 346388,\n rejected: 201891,\n },\n {\n label: \"Sun\",\n completed: 1574918,\n pending: 303973,\n rejected: 213107,\n },\n ],\n\n selfVsAgency: [\n {\n label: \"Agency1\",\n agency: 201457,\n citizen: 758414,\n },\n {\n label: \"Agency 2\",\n agency: 164302,\n citizen: 919322,\n },\n {\n label: \"Agency 3\",\n agency: 328451,\n citizen: 541772,\n },\n ],\n\n pendingVsCompleted: [\n {\n label: \"Agency1\",\n completed: 201457,\n pending: 201457,\n },\n {\n label: \"Agency 2\",\n completed: 164302,\n pending: 164302,\n },\n {\n label: \"Agency 3\",\n completed: 328451,\n pending: 77278,\n },\n ],\n\n rejectionAnalysis: [\n {\n label: \"Agency1\",\n rejected: 71990,\n success: 72,\n },\n {\n label: \"Agency 2\",\n rejected: 81271,\n success: 77,\n },\n {\n label: \"Agency 3\",\n rejected: 71063,\n success: 86,\n },\n ],\n\n vendors: [\n {\n id: 1,\n name: \"Agency1\",\n\n assignedConnections: 959871,\n\n completedEkyc: 201457,\n\n selfEkyc: 758414,\n\n pending: 201457,\n\n rejected: 71990,\n\n inactiveDemand: 1161328,\n\n successRate: 72,\n\n progress: 21,\n\n supervisors: 23,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"Outer North\", \"North West District\", \"Model Town AC 18\", \"Cluster 2\", \"North District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 16116,\n pending: 196084,\n rejected: 53272,\n },\n {\n day: \"Tue\",\n completed: 26189,\n pending: 192727,\n rejected: 55072,\n },\n {\n day: \"Wed\",\n completed: 38276,\n pending: 188698,\n rejected: 57232,\n },\n {\n day: \"Thu\",\n completed: 52378,\n pending: 183997,\n rejected: 59751,\n },\n {\n day: \"Fri\",\n completed: 68495,\n pending: 178625,\n rejected: 62631,\n },\n {\n day: \"Sat\",\n completed: 84611,\n pending: 173253,\n rejected: 65510,\n },\n {\n day: \"Sun\",\n completed: 100728,\n pending: 167880,\n rejected: 68390,\n },\n ],\n\n zones: [\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n cluster: \"NWS Bhera Enclave\",\n\n assignedConnections: 102669,\n\n location: \"102669\",\n\n zroOffice: \"NWS Bhera Enclave\",\n\n assemblyConstituency: \"Part of Mundka AC 08\",\n\n gpsLocation: null,\n\n distanceFromFarthestPoint: null,\n\n activeDemand: 202197,\n\n pppZones: 15800,\n\n inactiveDemand: 35265,\n\n districtwiseInactiveTotal: 237462,\n },\n\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n\n cluster: \"Narela\",\n\n assignedConnections: 99528,\n\n location: \"99528\",\n\n zroOffice: \"Narela\",\n\n assemblyConstituency: \"Narela AC 01\",\n\n activeDemand: 99528,\n\n pppZones: 19465,\n\n inactiveDemand: 35265,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"North West District\",\n\n cluster: \"Rohini AC 13\",\n\n assignedConnections: 71041,\n\n location: \"71041\",\n\n zroOffice: \"Rohini\",\n\n assemblyConstituency: \"Rithala AC 06\",\n\n activeDemand: 247949,\n\n pppZones: 28975,\n\n inactiveDemand: 49494,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Mangol Puri AC 12\",\n\n cluster: \"Model Town AC 18\",\n\n assignedConnections: 68957,\n\n location: \"68957\",\n\n zroOffice: \"Central North District\",\n\n assemblyConstituency: \"Ashok Vihar\",\n\n activeDemand: 231216,\n\n pppZones: 16627,\n\n inactiveDemand: 36915,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Timarpur AC 03\",\n\n cluster: \"Cluster 2\",\n\n assignedConnections: 34862,\n\n location: \"34862\",\n\n zroOffice: \"Old Delhi District\",\n\n assemblyConstituency: \"Pratap Nagar\",\n\n activeDemand: 99694,\n\n pppZones: 20011,\n\n inactiveDemand: 48011,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Bali Maran AC 22\",\n\n cluster: \"North District\",\n\n assignedConnections: 110507,\n\n location: \"110507\",\n\n zroOffice: \"Burari\",\n\n assemblyConstituency: \"Burari AC 2\",\n\n activeDemand: 178815,\n\n pppZones: 14700,\n\n inactiveDemand: 31772,\n },\n ],\n },\n\n {\n id: 2,\n\n name: \"Agency 2\",\n\n assignedConnections: 1083624,\n\n completedEkyc: 164302,\n\n selfEkyc: 919322,\n\n pending: 164302,\n\n rejected: 81271,\n\n inactiveDemand: 1247926,\n\n successRate: 77,\n\n progress: 15,\n\n supervisors: 14,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"West District\", \"Janak Puri\", \"South District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 13144,\n pending: 159920,\n rejected: 60140,\n },\n {\n day: \"Tue\",\n completed: 21359,\n pending: 157182,\n rejected: 62172,\n },\n {\n day: \"Wed\",\n completed: 31217,\n pending: 153896,\n rejected: 64610,\n },\n {\n day: \"Thu\",\n completed: 42718,\n pending: 150062,\n rejected: 67454,\n },\n {\n day: \"Fri\",\n completed: 55862,\n pending: 145681,\n rejected: 70705,\n },\n {\n day: \"Sat\",\n completed: 69006,\n pending: 141299,\n rejected: 73956,\n },\n {\n day: \"Sun\",\n completed: 82151,\n pending: 136918,\n rejected: 77207,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Rajouri Garden AC 27\",\n\n assignedConnections: 84506,\n\n location: \"84506\",\n\n zroOffice: \"Rajouri Garden AC 27\",\n\n assemblyConstituency: \"Punjabi Bagh\",\n\n activeDemand: 470766,\n\n pppZones: 13269,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Tilak Nagar AC 29\",\n\n assignedConnections: 51428,\n\n location: \"51428\",\n\n zroOffice: \"Tilak Nagar AC 29\",\n\n assemblyConstituency: \"Paschim Vihar\",\n\n activeDemand: 470766,\n\n pppZones: 6298,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"Part of Uttam Nagar & Vikas puri\",\n\n cluster: \"Janak Puri\",\n\n assignedConnections: 163041,\n\n location: \"163041\",\n\n zroOffice: \"Janakpuri\",\n\n assemblyConstituency: \"Janakpuri AC 30\",\n\n activeDemand: 369772,\n\n pppZones: 25729,\n\n inactiveDemand: 60534,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"South District\",\n\n assignedConnections: 52803,\n\n location: \"52803\",\n\n zroOffice: \"R K Puram\",\n\n assemblyConstituency: \"Malviya Nagar AC 43\",\n\n activeDemand: 243086,\n\n pppZones: 9678,\n\n inactiveDemand: 39204,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"Vasant Kunz\",\n\n assignedConnections: 58997,\n\n location: \"58997\",\n\n zroOffice: \"Vasant Kunj\",\n\n assemblyConstituency: \"Vasant Kunj\",\n\n activeDemand: 243086,\n\n pppZones: 6691,\n\n inactiveDemand: 39204,\n },\n ],\n },\n\n {\n id: 3,\n\n name: \"Agency 3\",\n\n assignedConnections: 947501,\n\n completedEkyc: 328451,\n\n selfEkyc: 541772,\n\n pending: 77278,\n\n rejected: 71063,\n\n inactiveDemand: 1016841,\n\n successRate: 86,\n\n progress: 78,\n\n supervisors: 19,\n\n activeSurveyors: 58,\n\n jurisdictions: [\"East District\", \"North East District\", \"South East District\", \"MNWS\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 44120,\n pending: 130002,\n rejected: 5711,\n },\n {\n day: \"Tue\",\n completed: 58221,\n pending: 121998,\n rejected: 7104,\n },\n {\n day: \"Wed\",\n completed: 70218,\n pending: 113201,\n rejected: 8842,\n },\n {\n day: \"Thu\",\n completed: 85124,\n pending: 104006,\n rejected: 9911,\n },\n {\n day: \"Fri\",\n completed: 102315,\n pending: 94441,\n rejected: 11214,\n },\n {\n day: \"Sat\",\n completed: 121009,\n pending: 85218,\n rejected: 12902,\n },\n {\n day: \"Sun\",\n completed: 142118,\n pending: 77278,\n rejected: 14101,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Mayur Vihar\",\n\n assignedConnections: 72326,\n\n location: \"72326\",\n\n zroOffice: \"Mayur Vihar\",\n\n assemblyConstituency: \"Trilokpuri AC 55\",\n\n activeDemand: 328564,\n\n pppZones: 9691,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Yojna Vihar\",\n\n assignedConnections: 40651,\n\n location: \"40651\",\n\n zroOffice: \"Yojna Vihar\",\n\n assemblyConstituency: \"Vishwas Nagar AC 59\",\n\n activeDemand: 328564,\n\n pppZones: 10097,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"GTB Enclave\",\n\n assignedConnections: 80453,\n\n location: \"80453\",\n\n zroOffice: \"GTB Enclave\",\n\n assemblyConstituency: \"Seemapuri AC 63\",\n\n activeDemand: 323753,\n\n pppZones: 10671,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"Yamuna Vihar\",\n\n assignedConnections: 90599,\n\n location: \"90599\",\n\n zroOffice: \"Yamuna Vihar\",\n\n assemblyConstituency: \"Mustafabad AC 69\",\n\n activeDemand: 323753,\n\n pppZones: 18185,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Kalkaji AC 51\",\n\n assignedConnections: 29188,\n\n location: \"29188\",\n\n zroOffice: \"Kalkaji AC 51\",\n\n assemblyConstituency: \"Saket\",\n\n activeDemand: 136102,\n\n pppZones: 3675,\n\n inactiveDemand: 23977,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Okhla\",\n\n assignedConnections: 18473,\n\n location: \"18473\",\n\n zroOffice: \"Sarita Vihar/Okhla\",\n\n assemblyConstituency: \"Okhla AC 54\",\n\n activeDemand: 136102,\n\n pppZones: 3703,\n\n inactiveDemand: 23977,\n },\n ],\n },\n ],\n};\n","// import React from \"react\";\n// import { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\n// const ExecutiveLineChart = ({ data = [], dataKey = \"completed\", name = \"Value\" }) => {\n// return (\n// <div className=\"chart-card\" style={{ minHeight: 320 }}>\n// <ResponsiveContainer width=\"100%\" height={320}>\n// <LineChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n// <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n// <XAxis dataKey=\"label\" axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} itemStyle={{ color: \"#f8fafc\" }} />\n// <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n// <Line\n// type=\"monotone\"\n// dataKey={dataKey}\n// name={name}\n// stroke=\"#38bdf8\"\n// strokeWidth={3}\n// dot={{ r: 4 }}\n// activeDot={{ r: 6, strokeWidth: 2, fill: \"#60a5fa\" }}\n// />\n// </LineChart>\n// </ResponsiveContainer>\n// </div>\n// );\n// };\n\n// export default ExecutiveLineChart;\n\nimport React from \"react\";\nimport { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveLineChart = ({ data = [] }) => {\n const formattedData = data.map((item) => ({\n ...item,\n\n agencyKyc: item.completed || 0,\n\n selfKyc: Math.round((item.completed || 0) * 0.42),\n\n totalKyc: (item.completed || 0) + Math.round((item.completed || 0) * 0.42),\n }));\n\n return (\n <div className=\"chart-card executive-line-chart\">\n <ResponsiveContainer width=\"100%\" height={340}>\n <LineChart\n data={formattedData}\n margin={{\n top: 20,\n right: 12,\n left: 0,\n bottom: 0,\n }}\n >\n <CartesianGrid stroke=\"#e2e8f0\" strokeDasharray=\"3 3\" vertical={false} />\n\n <XAxis\n dataKey=\"label\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n fontWeight: 600,\n }}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n }}\n />\n\n <Tooltip\n cursor={{\n stroke: \"#cbd5e1\",\n strokeWidth: 1,\n }}\n contentStyle={{\n background: \"#ffffff\",\n border: \"1px solid #e2e8f0\",\n borderRadius: 18,\n boxShadow: \"0 10px 30px rgba(15,23,42,0.08)\",\n }}\n labelStyle={{\n color: \"#0f172a\",\n fontWeight: 700,\n marginBottom: 10,\n }}\n />\n\n <Legend\n verticalAlign=\"top\"\n align=\"right\"\n iconType=\"circle\"\n wrapperStyle={{\n paddingBottom: 18,\n color: \"#475569\",\n fontWeight: 600,\n }}\n />\n\n {/* TOTAL */}\n\n <Line\n type=\"monotone\"\n dataKey=\"totalKyc\"\n name=\"Total eKYC\"\n stroke=\"#0f172a\"\n strokeWidth={4}\n dot={false}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* AGENCY */}\n\n <Line\n type=\"monotone\"\n dataKey=\"agencyKyc\"\n name=\"Agency eKYC\"\n stroke=\"#3b82f6\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* SELF */}\n\n <Line\n type=\"monotone\"\n dataKey=\"selfKyc\"\n name=\"Self eKYC\"\n stroke=\"#10b981\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n </LineChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveLineChart;\n","import React from \"react\";\nimport { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveBarChart = ({ data = [], categories = [], xKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <BarChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n <XAxis dataKey={xKey} axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14 }} itemStyle={{ color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n {categories.map((series, index) => (\n <Bar\n key={series.key}\n dataKey={series.key}\n name={series.name}\n fill={index === 0 ? \"#34d399\" : \"#60a5fa\"}\n radius={[12, 12, 0, 0]}\n barSize={24}\n />\n ))}\n </BarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveBarChart;\n","import React from \"react\";\nimport { ResponsiveContainer, PieChart, Pie, Cell, Tooltip, Legend } from \"recharts\";\n\nconst colors = [\"#22c55e\", \"#38bdf8\", \"#f97316\", \"#facc15\", \"#f43f5e\"];\n\nconst ExecutivePieChart = ({ data = [], dataKey = \"value\", labelKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <PieChart>\n <Pie data={data} dataKey={dataKey} nameKey={labelKey} cx=\"50%\" cy=\"50%\" outerRadius={110} innerRadius={60} paddingAngle={3} label={{ fill: \"#f8fafc\", fontSize: 12 }}>\n {data.map((entry, index) => (\n <Cell key={`cell-${index}`} fill={colors[index % colors.length]} />\n ))}\n </Pie>\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"bottom\" align=\"center\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\", marginTop: 10 }} />\n </PieChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutivePieChart;\n","import React, { useMemo, useState } from \"react\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport {\n FaChartLine,\n FaUsers,\n FaCheckCircle,\n FaClock,\n FaExclamationTriangle,\n FaUserTie,\n FaMapMarkedAlt,\n FaSearch,\n FaArrowRight,\n} from \"react-icons/fa\";\nimport { ekycMockData } from \"./mockData\";\nimport ExecutiveLineChart from \"./analytics/charts/ExecutiveLineChart\";\nimport ExecutiveBarChart from \"./analytics/charts/ExecutiveBarChart\";\nimport ExecutivePieChart from \"./analytics/charts/ExecutivePieChart\";\n\nconst CeoDashboard = () => {\n const history = useHistory();\n const location = useLocation();\n const [query, setQuery] = useState(\"\");\n const [statusFilter, setStatusFilter] = useState(\"All\");\n\n const basePath = location.pathname.replace(/\\/ceo-dashboard$/, \"\");\n const filters = [\"All\", \"High Priority\", \"Stable\", \"Watchlist\"];\n\n const vendors = useMemo(() => ekycMockData.vendors || [], []);\n const topKpis = useMemo(() => ekycMockData.topKpis || {}, []);\n const dailyTrend = useMemo(() => ekycMockData.dailyTrend || [], []);\n const selfVsAgency = useMemo(() => ekycMockData.selfVsAgency || [], []);\n const pendingVsCompleted = useMemo(() => ekycMockData.pendingVsCompleted || [], []);\n // const rejectionAnalysis = ekycMockData.rejectionAnalysis || [];\n\n const filteredVendors = useMemo(() => {\n return vendors\n .filter((vendor) => {\n if (statusFilter === \"High Priority\") return vendor.successRate < 70;\n if (statusFilter === \"Watchlist\") return vendor.pending > 35000;\n if (statusFilter === \"Stable\") return vendor.successRate >= 70;\n return true;\n })\n .filter((vendor) => {\n if (!query) return true;\n const keyword = query.toLowerCase();\n return (\n vendor.name.toLowerCase().includes(keyword) ||\n vendor.jurisdictions.some((zone) => zone.toLowerCase().includes(keyword)) ||\n vendor.zones.some((zone) => zone.location?.toLowerCase().includes(keyword))\n );\n });\n }, [vendors, query, statusFilter]);\n\n const zoneRows = useMemo(() => {\n return vendors\n .flatMap((vendor) => vendor.zones.map((zone) => ({ ...zone, agency: vendor.name })))\n .filter((row) => row.location)\n .sort((a, b) => (b.activeDemand || 0) - (a.activeDemand || 0));\n }, [vendors]);\n\n const alerts = [\n \"North East District has 22% more pending accounts than last week\",\n \"Agency 2 has a 12% improvement opportunity in Self eKYC adoption\",\n \"Urgent: 18 supervisor escalations raised for NWS Bhera Enclave\",\n \"Risk alert: Rejection trends are rising in Outer North clusters\",\n ];\n\n const routeToVendor = (vendorId) => {\n history.push(`${basePath}/vendors/${vendorId}`);\n };\n\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell\">\n <section className=\"kpi-grid\">\n {[\n {\n title: \"Total Water Connections\",\n value: topKpis.totalWaterConnections,\n icon: <FaUsers />,\n variant: \"primary\",\n },\n {\n title: \"Total eKYC Completed\",\n value: topKpis.totalEkycCompleted,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Total Pending\",\n value: topKpis.totalPending,\n icon: <FaClock />,\n variant: \"warning\",\n },\n {\n title: \"Total Rejected\",\n value: topKpis.totalRejected,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n {\n title: \"Agency eKYC Completed\",\n value: topKpis.agencyEkycCompleted,\n icon: <FaUserTie />,\n variant: \"info\",\n },\n {\n title: \"Citizen Self eKYC Completed\",\n value: topKpis.citizenSelfEkycCompleted,\n icon: <FaUsers />,\n variant: \"secondary\",\n },\n {\n title: \"Today's eKYC\",\n value: topKpis.todaysEkyc,\n icon: <FaChartLine />,\n variant: \"muted\",\n },\n {\n title: \"Success Rate\",\n value: `${topKpis.successRate}%`,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Rejection Percentage\",\n value: `${topKpis.rejectionPercentage}%`,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n ].map((card) => (\n <article key={card.title} className={`kpi-card card-${card.variant}`}>\n <div className=\"kpi-icon\">{card.icon}</div>\n <div>\n <p className=\"kpi-title\">{card.title}</p>\n <h2>{card.value?.toLocaleString?.() ?? card.value}</h2>\n </div>\n </article>\n ))}\n </section>\n\n <section className=\"vendor-section\">\n <div className=\"section-top\">\n <div>\n <h2>Agency Performance Snapshot</h2>\n <p>Search, filter, and navigate into detailed analytics for every assigned vendor.</p>\n </div>\n <div className=\"vendor-filters\">\n <div className=\"search-box\">\n <FaSearch />\n <input type=\"text\" placeholder=\"Search agency, jurisdiction, location\" value={query} onChange={(e) => setQuery(e.target.value)} />\n </div>\n <div className=\"status-pill-group\">\n {filters.map((status) => (\n <button key={status} className={`status-pill ${statusFilter === status ? \"active\" : \"\"}`} onClick={() => setStatusFilter(status)}>\n {status}\n </button>\n ))}\n </div>\n </div>\n </div>\n\n <div className=\"vendor-grid\">\n {filteredVendors.map((vendor) => (\n <div key={vendor.id} className=\"vendor-card glass-card\" onClick={() => routeToVendor(vendor.id)}>\n <div className=\"vendor-card-top\">\n <div>\n <p className=\"vendor-chip\">{vendor.name}</p>\n <h3>{vendor.assignedConnections.toLocaleString()}</h3>\n <p className=\"vendor-subtitle\">Assigned connections across {vendor.jurisdictions.length} jurisdiction(s)</p>\n </div>\n <div className=\"vendor-progress-value\">{vendor.progress}%</div>\n </div>\n <div className=\"progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${vendor.progress}%` }} />\n </div>\n <div className=\"vendor-stats-grid\">\n <div>\n <strong>{vendor.completedEkyc.toLocaleString()}</strong>\n <span>Agency eKYC</span>\n </div>\n <div>\n <strong>{vendor.selfEkyc.toLocaleString()}</strong>\n <span>Self eKYC</span>\n </div>\n <div>\n <strong>{vendor.pending.toLocaleString()}</strong>\n <span>Pending</span>\n </div>\n <div>\n <strong>{vendor.rejected.toLocaleString()}</strong>\n <span>Rejected</span>\n </div>\n </div>\n <div className=\"vendor-card-footer\">\n <span>{vendor.activeSurveyors} Surveyors</span>\n <span>{vendor.supervisors} Supervisors</span>\n <span>{vendor.jurisdictions.join(\", \")}</span>\n </div>\n <div className=\"vendor-card-action\">\n <span>Explore analytics</span>\n <FaArrowRight />\n </div>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"analytics-grid\">\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Daily eKYC Trend</h2>\n <span className=\"badge success\">Live index</span>\n </div>\n <ExecutiveLineChart data={dailyTrend} dataKey=\"completed\" name=\"Completed\" />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Self vs Agency eKYC</h2>\n <span className=\"badge info\">Adoption</span>\n </div>\n <ExecutiveBarChart\n data={selfVsAgency}\n categories={[\n { key: \"agency\", name: \"Agency\" },\n { key: \"citizen\", name: \"Citizen\" },\n ]}\n />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Pending vs Completed</h2>\n <span className=\"badge warning\">Operational pulse</span>\n </div>\n <ExecutivePieChart data={pendingVsCompleted} dataKey=\"completed\" labelKey=\"label\" />\n </div>\n </section>\n\n <section className=\"zone-section\">\n <div className=\"section-header\">\n <div>\n <h2>\n <FaMapMarkedAlt /> Jurisdiction Performance\n </h2>\n <p>Top zones evaluated from the full agency dataset.</p>\n </div>\n <button className=\"secondary-button\">Export Zone Data</button>\n </div>\n\n <div className=\"table-wrapper glass-card\">\n <table>\n <thead>\n <tr>\n <th>Agency</th>\n <th>Location</th>\n <th>District</th>\n <th>Assigned</th>\n <th>Agency eKYC</th>\n <th>Pending</th>\n <th>Progress</th>\n </tr>\n </thead>\n <tbody>\n {zoneRows.slice(0, 10).map((zone, index) => (\n <tr key={`${zone.agency}-${zone.location}-${index}`}>\n <td>{zone.agency}</td>\n <td>{zone.location}</td>\n <td>{zone.district || zone.cluster}</td>\n <td>{zone.activeDemand?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.pppZones?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.inactiveDemand?.toLocaleString() ?? \"—\"}</td>\n <td>\n <span className=\"status-badge success\">\n {Math.min(100, Math.round(((zone.pppZones || 0) / Math.max(zone.activeDemand || 1, 1)) * 100))}%\n </span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <section className=\"bottom-grid\">\n <div className=\"alerts-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaExclamationTriangle /> Critical Alerts\n </h2>\n </div>\n <div className=\"alerts-list\">\n {alerts.map((alert) => (\n <div key={alert} className=\"alert-card\">\n <FaExclamationTriangle />\n <p>{alert}</p>\n </div>\n ))}\n </div>\n </div>\n\n <div className=\"efficiency-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaUserTie /> Workforce & Efficiency\n </h2>\n </div>\n <div className=\"efficiency-grid\">\n <div className=\"efficiency-box\">\n <h3>48</h3>\n <p>Supervisors Online</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>168</h3>\n <p>Surveyors Active</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.todayEkyc?.toLocaleString()}</h3>\n <p>eKYC Completed Today</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.successRate}%</h3>\n <p>Operational Efficiency</p>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n );\n};\n\nexport default CeoDashboard;\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","export const downloadSurveyorPDF = async ({\n rows,\n surveyorName,\n employeeId,\n mobileNumber,\n vendorName,\n supervisorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const initData = Digit.SessionStorage.get(\"initData\");\n const tenants = initData?.tenants || [];\n const tenantInfo = tenants.find((tenant) => tenant.code === tenantId);\n\n const capitalize = (text) =>\n text && text.substr(0, 1).toUpperCase() + text.substr(1);\n const ulbCamel = (ulb) =>\n ulb &&\n ulb\n .toLowerCase()\n .split(\" \")\n .map(capitalize)\n .join(\" \");\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SURVEYOR_DETAILS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"SURVEYOR_NAME\"), value: surveyorName },\n { title: t(\"MOBILE_NUMBER\"), value: mobileNumber },\n { title: t(\"VENDOR_NAME\"), value: vendorName },\n { title: t(\"SUPERVISOR_NAME\"), value: supervisorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\"), value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\"), value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\"), value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\"), value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SURVEYOR_REPORT\"),\n details,\n applicationNumber: employeeId,\n rows,\n t,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n};\n\n\nexport const downloadSupervisorPDF = async ({\n rows,\n supervisorName,\n mobileNumber,\n vendorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SUPERVISOR_DETAILS\") || \"Supervisor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\", value: supervisorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from surveyors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || row.owner?.name || \"N/A\",\n firstName: row.owner?.mobileNumber || row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SURVEYOR_NAME\") || \"Surveyor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SUPERVISOR_REPORT\") || \"eKYC Supervisor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\nexport const downloadVendorPDF = async ({\n rows,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const emailContact = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"VENDOR_DETAILS\") || \"Vendor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"EMAIL\") || \"Email\", value: email }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from supervisors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || \"N/A\",\n firstName: row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SUPERVISOR_NAME\") || \"Supervisor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email: emailContact,\n phoneNumber,\n heading: t(\"EKYC_VENDOR_REPORT\") || \"eKYC Vendor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\n\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport { downloadVendorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst VendorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { vendorId } = useParams();\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n // Fetch all supervisors to filter by vendor\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Match vendor details\n const vendor = useMemo(() => {\n const userUuid = loggedInUser?.uuid;\n const userMobile = loggedInUser?.mobileNumber;\n\n // Helper to check if a vendor matches the logged in user\n const matchesUser = (v) => {\n const ownerUuid = v.owner?.uuid || v.owner?.id;\n const ownerMobile = v.owner?.mobileNumber || v.mobileNumber;\n return (userUuid && ownerUuid === userUuid) || (userMobile && ownerMobile === userMobile);\n };\n\n // Find in real API search first\n if (vendorSearchResponse) {\n if (vendorId) {\n const matched = vendorSearchResponse.find(\n (v) => v.dsoDetails?.id === vendorId || v.dsoDetails?.vendorId === vendorId || v.id === vendorId || v.vendorId === vendorId\n );\n if (matched) return matched.dsoDetails || matched;\n } else {\n // Try matching logged in user\n const matched = vendorSearchResponse.find((v) => matchesUser(v.dsoDetails || v));\n if (matched) return matched.dsoDetails || matched;\n // Default to first vendor if no match found\n if (vendorSearchResponse.length > 0) return vendorSearchResponse[0].dsoDetails || vendorSearchResponse[0];\n }\n }\n\n // Fall back to ekycMockData vendors\n if (vendorId) {\n return ekycMockData.vendors.find((v) => v.id === Number(vendorId) || v.name === vendorId) || ekycMockData.vendors[0];\n } else {\n // Match mock vendor with user name or return first\n const matchedMock = ekycMockData.vendors.find((v) => v.name?.toLowerCase() === loggedInUser?.name?.toLowerCase());\n return matchedMock || ekycMockData.vendors[0];\n }\n }, [vendorSearchResponse, vendorId, loggedInUser]);\n\n // Supervisors belonging to this vendor\n const vendorSupervisors = useMemo(() => {\n if (!supervisorSearchResponse?.supervisors) {\n // Mock fallback if supervisors count is present\n if (vendor && Array.isArray(ekycMockData.vendors)) {\n // Return dummy supervisors based on vendor name or id\n const mockSupList = Array.from({ length: vendor.supervisors || 5 }, (_, i) => ({\n id: `SUP_V_${vendor.id || 1}_${i}`,\n name: `Supervisor ${i + 1} (${vendor.name})`,\n mobileNo: `99999120${i}`,\n status: \"ACTIVE\",\n totalKnos: Math.round(1000 + Math.random() * 4000),\n submittedKnos: Math.round(500 + Math.random() * 2000),\n pendingKnos: Math.round(200 + Math.random() * 1000),\n progressPercent: Math.round(40 + Math.random() * 50),\n }));\n return mockSupList;\n }\n return [];\n }\n\n // Filter real supervisors belonging to this vendor\n const currentVendorId = vendor?.id || vendor?.vendorId || vendorId;\n const matchedSups = supervisorSearchResponse.supervisors.filter(\n (s) => s.vendorId === currentVendorId\n );\n\n return matchedSups.map((sup) => {\n // Find progress report for this supervisor in progressData\n const report = progressData?.supervisorReport?.find(\n (r) => r.supervisorId === sup.id || r.supervisorId === sup.owner?.uuid\n );\n\n return {\n id: sup.id || sup.owner?.uuid,\n name: sup.name || sup.owner?.name || \"N/A\",\n mobileNo: sup.owner?.mobileNumber || sup.mobileNo || \"N/A\",\n status: sup.status || \"ACTIVE\",\n totalKnos: report?.totalKnos || 0,\n submittedKnos: report?.submittedKnos || 0,\n pendingKnos: report?.pendingKnos || 0,\n progressPercent: report?.progressPercent || 0,\n };\n });\n }, [supervisorSearchResponse, vendor, progressData, vendorId]);\n\n const vendorName = vendor?.name || \"N/A\";\n const mobileNumber = vendor?.mobileNumber || vendor?.owner?.mobileNumber || \"N/A\";\n const email = vendor?.owner?.emailId || \"N/A\";\n const status = vendor ? \"ACTIVE\" : \"N/A\";\n const jurisdictions = useMemo(() => {\n if (Array.isArray(vendor?.jurisdictions)) {\n return vendor.jurisdictions.join(\", \");\n }\n return \"N/A\";\n }, [vendor]);\n\n // KPI stats calculation\n const cards = useMemo(() => {\n const hasRealData = vendorSupervisors.some((s) => s.totalKnos > 0);\n\n const totalKnos = hasRealData \n ? vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0)\n : (progressData?.totalKnos || vendor?.assignedConnections || 0);\n\n const completedKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0)\n : (progressData?.completedKnos || vendor?.completedEkyc || 0);\n\n const pendingKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0)\n : (totalKnos - completedKnos);\n\n const progressPercent = totalKnos > 0 ? Math.round((completedKnos / totalKnos) * 100) : (vendor?.progress || 0);\n\n return [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: totalKnos,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: totalKnos,\n color: \"#3B82F6\",\n type: \"week\",\n icon: <FaMapMarkedAlt />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: completedKnos,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: pendingKnos,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${progressPercent}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n }, [vendorSupervisors, vendor, progressData]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true\n });\n\n const consumerList = response?.consumerList || [];\n \n if (!consumerList || consumerList.length === 0) {\n alert(t(\"NO_EKYC_DATA_FOUND\") || \"No eKYC data found to download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n \n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = fullName;\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n \n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n \n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n cleanObj[friendlyHeader] = val;\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${vendorName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Failed to download eKYC data:\", error);\n alert(t(\"EKYC_DOWNLOAD_FAILED\") || \"Failed to download eKYC data. Please try again.\");\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const paginatedSupervisors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return vendorSupervisors.slice(start, end);\n }, [vendorSupervisors, currentPage, pageSize]);\n\n const supervisorColumns = useMemo(\n () => [\n {\n Header: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\",\n accessor: (row) => row?.name || \"N/A\",\n Cell: ({ row }) => (\n <a\n href={`/digit-ui/employee/ekyc/assign/surveyor-details/${row.original.id}`}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n // If user is employee or citizen, route properly\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n e.preventDefault();\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${row.original.id}`);\n }}\n >\n {row.original?.name || \"N/A\"}\n </a>\n ),\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: (row) => row?.status || \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || row?.progressPercent === 0 ? row.progressPercent : row.progress}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = vendorSupervisors.map((s) => ({\n name: s.name,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0) || vendor?.assignedConnections || 0;\n const completedKnos = vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0) || vendor?.completedEkyc || 0;\n\n downloadVendorPDF({\n rows: rowsWithStats,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate report:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handlePresetDownload = (filter) => {\n handleDownload();\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n handleDownload();\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isVendorSearchLoading || isSupervisorSearchLoading;\n\n if (isPageLoading && !vendor) {\n return <Loader />;\n }\n\n if (!vendor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_VENDOR_FOUND\") || \"No Vendor Found\"}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{vendorName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{vendorName}</h2>\n <div className=\"designation\">{t(\"VENDOR_AGENCY\") || \"Agency / Vendor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {\n cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isPageLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"JURISDICTIONS\") || \"Jurisdictions\"}</span>\n <span className=\"value\">{jurisdictions}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") || \n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\"}\n tableClass=\"ekycTable\"\n data={paginatedSupervisors}\n columns={supervisorColumns}\n isLoading={isPageLoading}\n totalRecords={vendorSupervisors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(vendorSupervisors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(vendorSupervisors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default VendorDetailsCard;\n","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst useInboxTableConfig = ({\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n checkPathName,\n onSortingByData,\n tenantId,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const tableColumnConfig = [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n disableSortBy: true,\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{row.original?.citizenName || \"NA\"}</span>,\n },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const ekycStatus = (row.original?.ekycStatus || row.original?.ekycstatus || \"NA\").toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>;\n },\n },\n ];\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n initSortId: \"applicationDate\",\n onPageSizeChange: onPageSizeChange,\n currentPage: offset,\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) + limit },\n checkPathName,\n }),\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) - limit },\n checkPathName,\n }),\n pageSizeLimit: limit,\n onSort: onSortingByData,\n // sortParams: [{id: getValues(\"sortBy\"), desc: getValues(\"sortOrder\") === \"DESC\" ? true : false}],\n totalRecords: totalCount,\n onSearch: formState?.searchForm?.message,\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: Math.max(0, Math.floor((totalCount - 1) / limit) * limit) },\n checkPathName,\n }),\n onFirstPage: () => dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, offset: 0 }, checkPathName }),\n // globalSearch: {searchForItemsInTable},\n // searchQueryForTable,\n data: table,\n columns: tableColumnConfig,\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default useInboxTableConfig;\n","import React from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport { CardLabelError, TextInput, CustomTooltip, Label } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchFormFieldsComponents = ({ searchFormState, controlSearchForm, searchType }) => {\n const { t } = useTranslation();\n const { errors } = searchFormState;\n\n if (searchType === \"mobile\") {\n return (\n <React.Fragment>\n {/* MOBILE NUMBER */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"ES_COMMON_MOBILE_NUM\") || \"Mobile Number\"}\n <CustomTooltip message={t(\"EKYC_MOBILE_NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"mobileNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[6-9]\\d{9}$/,\n message: t(\"ERR_INVALID_MOBILE_NUMBER\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.mobileNumber && <CardLabelError>{errors.mobileNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment>\n {/* K NUMBER (KNO) */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"EKYC_K.NUMBER\") || \"K Number\"}\n <CustomTooltip message={t(\"EKYC_K.NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"kNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[0-9]{10}$/,\n message: t(\"ERR_INVALID_KNO\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.kNumber && <CardLabelError>{errors.kNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n};\n\nexport default SearchFormFieldsComponents;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit]);\n\n const { isLoading: isListLoading, data: listData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return listData?.consumerList || [];\n }, [isSearchActive, searchData, listData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (\n item.connectionDetails?.ekycStatus ||\n item.connectionDetails?.ekycstatus ||\n item.ekycStatus ||\n item.ekycstatus ||\n \"NA\"\n ).toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.kno || \"\",\n owner: fullName || item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName || item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = listData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n function formReducer(state, payload) {\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isListLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n // ...propsForMobileSortForm,\n propsForInboxTable,\n // propsForInboxMobileCards,\n formState,\n countData: listData,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useMemo } from \"react\";\nimport {\n Header,\n Card,\n CardHeader,\n CardText,\n CardLabel,\n Dropdown,\n SubmitBar,\n ActionBar,\n Table,\n Toast,\n LabelFieldPair,\n Modal,\n DeleteIcon,\n EditIcon,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\n// ─── Static Mock Data ─────────────────────────────────────────────────────────\n\nconst MOCK_SURVEYORS = [\n { name: \"Amit Kumar\", id: \"SVR001\", role: \"Surveyor\" },\n { name: \"Sanjay Singh\", id: \"SVR002\", role: \"Surveyor\" },\n { name: \"Rahul Sharma\", id: \"SVR003\", role: \"Surveyor\" },\n { name: \"Priya Verma\", id: \"SVR004\", role: \"Surveyor\" },\n];\n\nconst MOCK_MRDS = [\n { name: \"MRD - 01 (Central Zone)\", code: \"MRD01\", zone: \"Central\" },\n { name: \"MRD - 02 (North Zone)\", code: \"MRD02\", zone: \"North\" },\n { name: \"MRD - 03 (South Zone)\", code: \"MRD03\", zone: \"South\" },\n { name: \"MRD - 04 (West Zone)\", code: \"MRD04\", zone: \"West\" },\n { name: \"MRD - 05 (East Zone)\", code: \"MRD05\", zone: \"East\" },\n { name: \"MRD - 06 (Rohini)\", code: \"MRD06\", zone: \"Rohini\" },\n { name: \"MRD - 07 (Dwarka)\", code: \"MRD07\", zone: \"Dwarka\" },\n];\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst Mapping = () => {\n const { t } = useTranslation();\n\n // Form state\n const [selectedSurveyor, setSelectedSurveyor] = useState(null);\n const [selectedMRD, setSelectedMRD] = useState(null);\n\n // Mappings list\n const [mappings, setMappings] = useState([]);\n\n // Edit state: stores the id of the row being edited + its draft values\n const [editingId, setEditingId] = useState(null);\n const [editSurveyor, setEditSurveyor] = useState(null);\n const [editMRD, setEditMRD] = useState(null);\n\n // Delete confirm modal\n const [deleteTarget, setDeleteTarget] = useState(null);\n\n const [toast, setToast] = useState(null);\n\n // ── Handlers ──────────────────────────────────────────────────────────────\n\n const handleAddMapping = () => {\n if (!selectedSurveyor || !selectedMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD\" });\n return;\n }\n const exists = mappings.some(\n m => m.surveyorId === selectedSurveyor.id && m.mrdCode === selectedMRD.code\n );\n if (exists) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => [...prev, {\n id: Date.now(),\n surveyorName: selectedSurveyor.name,\n surveyorId: selectedSurveyor.id,\n mrdName: selectedMRD.name,\n mrdCode: selectedMRD.code,\n zone: selectedMRD.zone,\n }]);\n setSelectedMRD(null);\n setSelectedSurveyor(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_ADDED\") || \"Mapping added successfully\" });\n };\n\n const handleEditStart = (row) => {\n setEditingId(row.id);\n setEditSurveyor(MOCK_SURVEYORS.find(s => s.id === row.surveyorId) || null);\n setEditMRD(MOCK_MRDS.find(m => m.code === row.mrdCode) || null);\n };\n\n const handleEditSave = (id) => {\n if (!editSurveyor || !editMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD to save\" });\n return;\n }\n // Check duplicate (excluding self)\n const duplicate = mappings.some(\n m => m.id !== id && m.surveyorId === editSurveyor.id && m.mrdCode === editMRD.code\n );\n if (duplicate) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => prev.map(m => m.id !== id ? m : {\n ...m,\n surveyorName: editSurveyor.name,\n surveyorId: editSurveyor.id,\n mrdName: editMRD.name,\n mrdCode: editMRD.code,\n zone: editMRD.zone,\n }));\n setEditingId(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_UPDATED\") || \"Mapping updated successfully\" });\n };\n\n const handleEditCancel = () => {\n setEditingId(null);\n setEditSurveyor(null);\n setEditMRD(null);\n };\n\n const handleDeleteConfirm = () => {\n setMappings(prev => prev.filter(m => m.id !== deleteTarget.id));\n setDeleteTarget(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_REMOVED\") || \"Mapping removed\" });\n };\n\n const handleSaveMappings = () => {\n if (mappings.length === 0) {\n setToast({ type: \"error\", message: t(\"EKYC_NO_MAPPINGS_TO_SAVE\") || \"No mappings to save\" });\n return;\n }\n // TODO: replace with real API call\n setToast({ type: \"success\", message: t(\"EKYC_MAPPINGS_SAVED_SUCCESS\") || \"Surveyor mappings saved successfully!\" });\n };\n\n // ── Table columns ─────────────────────────────────────────────────────────\n\n const columns = useMemo(() => [\n {\n Header: t(\"EKYC_SURVEYOR_NAME\") || \"Surveyor\",\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editSurveyor}\n select={setEditSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose surveyor...\"}\n />\n );\n }\n return (\n <div>\n <span className=\"link\">{row.original.surveyorName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.surveyorId}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"EKYC_MRD_ASSIGNED\") || \"MRD Assigned\",\n accessor: \"mrdName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editMRD}\n select={setEditMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose MRD...\"}\n />\n );\n }\n return (\n <div>\n <span>{row.original.mrdName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.zone}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"ES_COMMON_ACTION\") || \"Actions\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <div style={{ display: \"flex\", gap: \"10px\" }}>\n <span\n style={{ cursor: \"pointer\", color: \"#f47738\", fontWeight: \"bold\" }}\n onClick={() => handleEditSave(row.original.id)}\n >\n {t(\"ES_COMMON_SAVE\")}\n </span>\n <span\n style={{ cursor: \"pointer\", color: \"#505A5F\", fontWeight: \"bold\" }}\n onClick={handleEditCancel}\n >\n {t(\"ES_COMMON_CANCEL\")}\n </span>\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", gap: \"16px\" }}>\n <span onClick={() => handleEditStart(row.original)} style={{ cursor: \"pointer\" }}>\n <EditIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n <span onClick={() => setDeleteTarget(row.original)} style={{ cursor: \"pointer\" }}>\n <DeleteIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n </div>\n );\n },\n },\n ], [editingId, editSurveyor, editMRD, mappings, t]);\n\n // ── Render ────────────────────────────────────────────────────────────────\n\n return (\n <React.Fragment>\n <div className=\"side-panel-item\">\n <Card className=\"employeeCard filter inboxLinks\" style={{ marginTop: \"16px\" }}>\n <div className=\"complaint-links-container\">\n <div className=\"header\" style={{ marginBottom: \"0px\" }}>\n <span className=\"logo\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M6.5 2H20V22H6.5A2.5 2.5 0 0 1 4 19.5V4.5A2.5 2.5 0 0 1 6.5 2Z\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n <span className=\"text\">{t(\"EKYC_SURVEYOR_MAPPING\") || \"Surveyor Mapping\"}</span>\n </div>\n </div>\n </Card>\n </div>\n\n <Card>\n <CardHeader>{t(\"EKYC_NEW_MAPPING\") || \"New Mapping\"}</CardHeader>\n <CardText>\n {t(\"EKYC_MAPPING_SUBHEADER\") || \"Assign Meter Reading Dairies to surveyors to manage their data access.\"}\n </CardText>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_SURVEYOR\") || \"Select Surveyor\"} *</CardLabel>\n <div className=\"\">\n <Dropdown\n selected={selectedSurveyor}\n select={setSelectedSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose a surveyor...\"}\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_MRD\") || \"Select MRD\"} *</CardLabel>\n <div className=\"field\">\n <Dropdown\n selected={selectedMRD}\n select={setSelectedMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose an MRD...\"}\n />\n </div>\n </LabelFieldPair>\n\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"EKYC_ADD_TO_LIST\") || \"Add to Mapping List\"}\n onSubmit={handleAddMapping}\n disabled={!selectedSurveyor || !selectedMRD}\n />\n </div>\n </Card>\n\n {mappings.length > 0 && (\n <Card>\n <CardHeader>\n {t(\"EKYC_MAPPING_SUMMARY\") || \"Mapping Summary\"} ({mappings.length})\n </CardHeader>\n <Table\n t={t}\n data={mappings}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n padding: \"10px\",\n fontSize: \"16px\",\n }\n };\n }}\n tableClassName=\"table digit-table\"\n />\n </Card>\n )}\n\n {mappings.length > 0 && (\n <ActionBar>\n <SubmitBar\n label={t(\"EKYC_SAVE_MAPPINGS\") || \"Save Mappings\"}\n onSubmit={handleSaveMappings}\n />\n </ActionBar>\n )}\n\n {deleteTarget && (\n <Modal\n headerBarMain={t(\"EKYC_REMOVE_MAPPING\") || \"Remove Mapping\"}\n headerBarEnd={\n <span onClick={() => setDeleteTarget(null)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_REMOVE\")}\n actionSaveOnSubmit={handleDeleteConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setDeleteTarget(null)}\n style={{ borderRadius: \"12px\" }}\n >\n <CardText style={{ marginTop: \"16px\", marginBottom: \"16px\" }}>\n {t(\"EKYC_REMOVE_MAPPING_CONFIRM_MSG\") || \"Are you sure you want to remove the mapping between \"}\n <strong>{deleteTarget?.surveyorName}</strong> and <strong>{deleteTarget?.mrdName}</strong>?\n </CardText>\n </Modal>\n )}\n\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n warning={toast.type === \"warning\"}\n info={toast.type === \"info\"}\n isDsc={true}\n onClose={() => setToast(null)}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport default Mapping;","import React, { useState } from \"react\";\nimport { Loader, Modal, RadioButtons } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\n\nconst ConnectionDetailsView = ({ kNumber, kName, connectionDetails, isLoading }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { path } = useRouteMatch();\n\n const [showModal, setShowModal] = useState(false);\n const [selectedOption, setSelectedOption] = useState({ code: \"SELF\", name: \"EKYC_SELF\" });\n\n const options = [\n { code: \"SELF\", name: \"EKYC_SELF\" },\n { code: \"OTHER\", name: \"EKYC_OTHER\" },\n ];\n\n const handleStartVerification = () => setShowModal(true);\n\n const onModalConfirm = () => {\n const parentPath = path.includes(\"/create-kyc\")\n ? path.replace(\"/create-kyc\", \"\")\n : path.replace(\"/k-details\", \"\");\n history.push(`${parentPath}/consumer-details`, { kNumber, selectedOption, connectionDetails });\n setShowModal(false);\n };\n\n if (isLoading) return <Loader />;\n if (!connectionDetails) return null;\n\n const details = connectionDetails?.connectionDetails || {};\n const statusFlag = details.statusflag || \"\";\n const isActive = statusFlag?.toLowerCase() === \"active\" || statusFlag === \"A\";\n\n return (\n <React.Fragment>\n <div className=\"ekyc-employee-container\">\n {/* Main Card */}\n <div className=\"connection-details-card\">\n {/* Card Header */}\n <div className=\"details-card-header\">\n <div className=\"header-title-wrapper\">\n <div className=\"header-icon-bg\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </div>\n <span className=\"header-title-text\">\n {t(\"EKYC_K_NUMBER_DETAILS\") || \"Consumer Identity Details\"}\n </span>\n </div>\n\n {/* Status Badge */}\n <span className={`status-badge ${isActive ? \"active\" : \"inactive\"}`}>\n {isActive ? (t(\"EKYC_ACTIVE_CONNECTION\") || \"Active Connection\") : (statusFlag || t(\"CS_NA\"))}\n </span>\n </div>\n\n {/* Card Body */}\n <div className=\"details-card-body\">\n <div className=\"body-content-row\">\n {/* Left: Verification Parameters */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_VERIFICATION_PARAMETERS\") || \"Verification Parameters\"}\n </div>\n\n <div className=\"data-grid\">\n {/* Consumer Name */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONSUMER_NAME\") || \"Consumer Name\"}\n </div>\n <div className=\"data-value\">\n {details.consumerName || kName || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* K Number */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n </div>\n <div className=\"data-value blue\">\n {kNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Meter Serial No */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_METER_NO\") || \"Meter Serial No.\"}\n </div>\n <div className=\"data-value\">\n {details.meterNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Connection Type */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONNECTION_TYPE\") || \"Connection Type\"}\n </div>\n <div className=\"data-value\">\n {details.connectionType || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n\n {/* Divider */}\n <div className=\"vertical-divider\" />\n\n {/* Right: Address & Contact */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_ADDRESS_AND_CONTACT\") || \"Address & Contact\"}\n </div>\n\n {/* Service Address */}\n <div className=\"address-block\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0z\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_ADDRESS\") || \"Service Address\"}\n </div>\n <div className=\"address-text\">\n {details.address || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Contact + Email row */}\n <div className=\"contact-row\">\n {/* Contact */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\" />\n <line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_PHONE_NO\") || \"Contact\"}\n </div>\n <div className=\"address-text\">\n {details.phoneNumber || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Email */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_EMAIL\") || \"Email Address\"}\n </div>\n <div className=\"address-text\">\n {details.email || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Card Footer */}\n <div className=\"details-card-footer\">\n {/* Last Verified */}\n <div className=\"footer-meta-text\">\n {connectionDetails?.lastVerified\n ? `${t(\"EKYC_LAST_VERIFIED\") || \"Last verified:\"} ${connectionDetails.lastVerified}`\n : \"\"}\n </div>\n\n {/* Action Buttons */}\n <div className=\"action-btns-container\" style={{ fontSize: \"12px\" }}>\n <button\n onClick={handleStartVerification}\n className=\"primary-action-btn\"\n style={{ fontSize: \"12px\" }}\n >\n {t(\"EKYC_START_REVIEW\") || \"Start Review\"}\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n <polyline points=\"12 5 19 12 12 19\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n {/* Modal */}\n {showModal && (\n <Modal\n headerBarMain={t(\"EKYC_SELECT_VERIFICATION_TYPE\")}\n headerBarEnd={\n <span onClick={() => setShowModal(false)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_CONFIRM\")}\n actionSaveOnSubmit={onModalConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setShowModal(false)}\n style={{ borderRadius: \"12px\" }}\n >\n <div style={{ padding: \"24px\" }}>\n <RadioButtons\n name=\"verificationType\"\n options={options}\n optionsKey=\"name\"\n selectedOption={selectedOption}\n onSelect={setSelectedOption}\n style={{ display: \"flex\", flexDirection: \"column\", gap: \"12px\", buttonStyle: { borderRadius: \"5px\" } }}\n t={t}\n />\n </div>\n </Modal>\n )}\n </React.Fragment>\n );\n};\n\nexport default ConnectionDetailsView;","import React, { useState, useEffect } from \"react\";\nimport { Card, HomeIcon, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport SearchConsumer from \"../../components/SearchConsumer\";\nimport ConnectionDetailsView from \"../../components/ConnectionDetailsView\";\n\nconst Create = () => {\n const { t } = useTranslation();\n const [searchParams, setSearchParams] = useState(() => {\n const saved = sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n return saved ? JSON.parse(saved) : { kNumber: \"\", kName: \"\" };\n });\n const [searchPerformed, setSearchPerformed] = useState(() => {\n return sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PERFORMED\") === \"true\";\n });\n const [showToast, setShowToast] = useState(null);\n const [formParams, setFormParams, clearParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const { isLoading: isSearching, data: connectionDetails, error, revalidate } = Digit.Hooks.ekyc.useSearchConnection({\n tenantId,\n details: { kno: searchParams.kNumber, name: searchParams.kName }\n }, {\n enabled: searchPerformed && !!searchParams.kNumber && !!searchParams.kName,\n onError: (error) => {\n setShowToast({ error: true, label: error?.response?.data?.Errors?.[0]?.message || t(\"EKYC_SEARCH_ERROR_PLEASE_ENTER_THE_CORRECT_CREDENTIALS\") });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n }\n });\n\n const handleSearch = (params) => {\n if (!params.kNumber && !params.kName) {\n // This is the \"Clear\" case\n setSearchParams({ kNumber: \"\", kName: \"\" });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n clearParams(); // Clear consolidated EKYC data\n return;\n }\n\n if (!params.kNumber || !params.kName) {\n setShowToast({ error: true, label: t(\"EKYC_FILL_ALL_FIELDS\") });\n return;\n }\n setSearchParams(params);\n setSearchPerformed(true);\n\n // Clear previous EKYC session data if K-number changes\n const currentKno = sessionStorage.getItem(\"EKYC_K_NUMBER\");\n if (currentKno !== params.kNumber) {\n clearParams();\n // Clear any other EKYC keys if they exist\n Object.keys(sessionStorage).forEach(key => {\n if (key.startsWith(\"EKYC_\") && key !== \"EKYC_CREATE\") sessionStorage.removeItem(key);\n });\n }\n\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PARAMS\", JSON.stringify(params));\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PERFORMED\", \"true\");\n sessionStorage.setItem(\"EKYC_K_NUMBER\", params.kNumber);\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n return (\n <SearchConsumer\n onSearch={handleSearch}\n searchParams={searchParams}\n >\n {searchPerformed && (\n <ConnectionDetailsView\n kNumber={searchParams.kNumber}\n kName={searchParams.kName}\n connectionDetails={connectionDetails}\n isLoading={isSearching}\n />\n )}\n\n {!searchPerformed && !isSearching && (\n <Card style={{ textAlign: \"center\", padding: \"40px\" }}>\n <div style={{ color: \"#667085\" }}>{t(\"EKYC_SEARCH_TO_VIEW_DETAILS\")}</div>\n </Card>\n )}\n {showToast && <Toast error={showToast.error} label={showToast.label} onClose={closeToast} isDsc={true} />}\n </SearchConsumer>\n );\n};\n\nexport default Create;\n","import React, { Fragment, useState } from \"react\";\nimport {\n Card,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n Menu,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\n\n// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />} style={{ margin: 0, padding: 0 }} onClick={routeTo} />\n );\n};\n\nconst checkForNA = (value) => (value !== null && value !== undefined && value !== \"\" ? value : \"N/A\");\n\nconst boolToYesNo = (value, t) => {\n if (value === true || value === \"true\" || String(value).toLowerCase() === \"yes\") return t(\"CORE_COMMON_YES\");\n if (value === false || value === \"false\" || String(value).toLowerCase() === \"no\") return t(\"CORE_COMMON_NO\");\n if (value === \"true\") return t(\"CORE_COMMON_YES\");\n if (value === \"false\") return t(\"CORE_COMMON_NO\");\n};\n/**\n * Robust data extraction for comparison.\n * The API returns { applicationReviewInfo: { newData: { ... }, oldData: { ... } } }\n */\nconst extractReviewData = (searchData, flowState) => {\n const rawData = searchData && Object.keys(searchData).length > 0 ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReviewInfo -> newData/oldData\n const reviewWrapper = rawData?.applicationReviewInfo || rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n\n return {\n newData: applicationData?.newData || applicationData,\n oldData: applicationData?.oldData || null,\n };\n};\n\nconst ReviewSection = ({ title, fields, newData, oldData, t, jumpTo, state, hideEditButton }) => {\n return (\n <div\n className=\"review-section-wrapper\"\n style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}\n >\n <div\n style={{\n padding: \"20px 24px\",\n background: \"#F9FAFB\",\n borderBottom: \"1px solid #EAECF0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && !hideEditButton && <ActionButton jumpTo={jumpTo} state={state} />}\n </div>\n\n <div style={{ padding: \"0 24px\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", tableLayout: \"fixed\" }}>\n <thead>\n <tr>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"30%\",\n }}\n >\n {t(\"EKYC_FIELD_NAME\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_EXISTING_INFORMATION\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_PROPOSED_UPDATES\")}\n </th>\n </tr>\n </thead>\n <tbody>\n {fields.map((field, idx) => {\n const valNew = newData?.[field.key];\n const valOld = oldData?.[field.key];\n const isChanged = oldData && String(valNew) !== String(valOld) && valOld !== undefined && valOld !== null;\n\n return (\n <tr key={idx} style={{ borderTop: \"1px solid #F2F4F7\" }}>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#344054\", fontWeight: \"500\" }}>{t(field.label)}</td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#667085\" }}>\n {field.isBool ? boolToYesNo(valOld, t) : checkForNA(valOld)}\n </td>\n <td\n style={{ padding: \"16px 0\", fontSize: \"14px\", color: isChanged ? \"#1B8B32\" : \"#101828\", fontWeight: isChanged ? \"700\" : \"400\" }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {field.isBool ? boolToYesNo(valNew, t) : checkForNA(valNew)}\n {isChanged && (\n <span\n style={{\n background: \"#ECFDF3\",\n color: \"#067647\",\n padding: \"2px 8px\",\n borderRadius: \"12px\",\n fontSize: \"10px\",\n fontWeight: \"600\",\n }}\n >\n {t(\"EKYC_CHANGED\")}\n </span>\n )}\n </div>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nconst Review = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n let { kno, applicationId } = useParams();\n\n const [agree, setAgree] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [showPreview, setShowPreview] = useState(false);\n const [previewUrl, setPreviewUrl] = useState(\"\");\n const [showOptions, setShowOptions] = useState(false);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({ error: false, label: \"\" });\n\n const options = [\n { action: t(\"APPROVE\") },\n { action: t(\"REJECT\") }\n ];\n\n const flowState = location.state || {};\n const { edits = {} } = flowState;\n const activeKno = kno || applicationId;\n\n const { aadhaarData = {}, addressDetails: editedAddress = {}, propertyDetails: editedProperty = {}, meterDetails: editedMeter = {} } = edits;\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const workflowMutation = Digit.Hooks.ekyc.useEkycWorkflow(tenantId);\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const { data: searchData, isLoading: isSearchLoading } = Digit.Hooks.ekyc.useEkycSearchReview({ kno: activeKno, fetchType: \"REVIEW\" }, tenantId, {\n enabled: !!activeKno,\n });\n\n const userRoles = Digit.SessionStorage.get(\"User\")?.info?.roles?.map((ele) => ele.code) || [];\n const isZRO = userRoles.includes(\"EKYC_ZRO\") || userRoles.includes(\"ZRO\");\n const isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SUPERVISOR\") || userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n const isStatusView = location.pathname.includes(\"/status/\");\n const hideEditButton = (isSupervisorOrSurveyorOrVendor && !isZRO) || isStatusView;\n\n // ── Data Consolidation ──────────────────────────────────────────────────\n const { newData: apiNewData, oldData: apiOldData } = extractReviewData(searchData, flowState);\n\n const prepareConsolidatedData = (data) => {\n if (!data) return null;\n const apiConn = data?.connectionDetails || data || {};\n const apiAddr = data?.addressDetails || data || {};\n const apiProp = data?.propertyInfo || data || {};\n const apiMeter = data?.meterDetails || data || {};\n\n return {\n connection: {\n consumerName:\n apiConn?.consumerName || (apiConn?.firstName ? [apiConn.firstName, apiConn.middleName, apiConn.lastName].filter(Boolean).join(\" \") : null),\n address: apiConn?.address || apiConn?.addressRaw,\n connectionType: apiConn?.connectionType || apiConn?.connectionCategory,\n meterNumber: apiConn?.meterNumber || apiConn?.meterNo,\n phoneNumber: apiConn?.phoneNumber || apiConn?.mobileNo || apiConn?.mobileNumber,\n email: apiConn?.email,\n statusflag: apiConn?.statusflag || apiConn?.statusFlag,\n ekycStatus: apiConn?.ekycStatus,\n knumber: apiConn?.knumber || apiConn?.kno,\n },\n address: {\n fullAddress: apiAddr?.fullAddress || apiAddr?.addressRaw,\n flatHouseNumber: apiAddr?.flatHouseNumber || apiAddr?.flatNo,\n buildingTower: apiAddr?.buildingTower || apiAddr?.building,\n landmark: apiAddr?.landmark,\n pinCode: apiAddr?.pinCode || apiAddr?.pincode,\n ward: apiAddr?.ward || apiAddr?.locality,\n assembly: apiAddr?.assembly,\n gpsValid: apiAddr?.gpsValid,\n latitude: apiAddr?.latitude,\n longitude: apiAddr?.longitude,\n mobileNo: apiAddr?.mobileNo || apiAddr?.mobileNumber,\n whatsappNo: apiAddr?.whatsappNo,\n email: apiAddr?.email,\n noOfPerson: apiAddr?.noOfPerson || apiAddr?.noOfPersons,\n knumber: apiAddr?.knumber || apiAddr?.kno,\n doorPhotoFilestoreId: apiAddr?.doorPhotoFilestoreId,\n },\n property: {\n kno: apiProp?.kno,\n pidNumber: apiProp?.pidNumber,\n typeOfConnection: apiProp?.typeOfConnection,\n connectionCategory: apiProp?.connectionCategory,\n userType: apiProp?.userType,\n numberOfFloors: apiProp?.numberOfFloors || apiProp?.noOfFloor,\n tenantName: apiProp?.tenantName,\n tenantMobile: apiProp?.tenantMobile,\n ekycStatus: apiProp?.ekycStatus,\n propertyDocumentFileStoreId: apiProp?.propertyDocumentFileStoreId,\n buildingImageFileStoreId: apiProp?.buildingImageFileStoreId,\n },\n meter: {\n kno: apiMeter?.kno,\n metered: apiMeter?.meterStatus === \"METERED\" || apiMeter?.metered,\n meterNumber: apiMeter?.meterNumber || apiMeter?.meterNo,\n meterMake: apiMeter?.meterMake,\n meterLocationAddress: apiMeter?.meterLocationAddress,\n meterLatitude: apiMeter?.meterLatitude,\n meterLongitude: apiMeter?.meterLongitude,\n workingStatus: apiMeter?.workingStatus,\n lastBillRaised: apiMeter?.lastBillRaised,\n systemMeterId: apiMeter?.systemMeterId,\n meterPhotoFileStoreId: apiMeter?.meterPhotoFileStoreId,\n },\n };\n };\n\n const newDataRaw = prepareConsolidatedData(apiNewData);\n const oldDataRaw = prepareConsolidatedData(apiOldData);\n\n // Apply edits to newData if present\n const connectionData = {\n ...newDataRaw?.connection,\n consumerName: aadhaarData?.name || newDataRaw?.connection?.consumerName,\n phoneNumber: aadhaarData?.mobileNumber || newDataRaw?.connection?.phoneNumber,\n knumber: newDataRaw?.connection?.knumber || activeKno,\n };\n\n const addressData = {\n ...newDataRaw?.address,\n fullAddress: editedAddress?.fullAddress || newDataRaw?.address?.fullAddress,\n flatHouseNumber: editedAddress?.flatHouseNumber || editedAddress?.flatNo || newDataRaw?.address?.flatHouseNumber,\n buildingTower: editedAddress?.buildingTower || editedAddress?.building || newDataRaw?.address?.buildingTower,\n landmark: editedAddress?.landmark || newDataRaw?.address?.landmark,\n pinCode: editedAddress?.pinCode || editedAddress?.pincode || newDataRaw?.address?.pinCode,\n ward: editedAddress?.ward || newDataRaw?.address?.ward,\n assembly: editedAddress?.assembly || newDataRaw?.address?.assembly,\n gpsValid: editedAddress?.gpsValid !== undefined ? editedAddress.gpsValid : newDataRaw?.address?.gpsValid,\n latitude: editedAddress?.latitude || newDataRaw?.address?.latitude,\n longitude: editedAddress?.longitude || newDataRaw?.address?.longitude,\n mobileNo: editedAddress?.mobileNo || aadhaarData?.mobileNumber || newDataRaw?.address?.mobileNo,\n whatsappNo: editedAddress?.whatsappNo || aadhaarData?.whatsappNumber || newDataRaw?.address?.whatsappNo,\n email: editedAddress?.email || newDataRaw?.address?.email,\n noOfPerson: editedAddress?.noOfPerson || aadhaarData?.noOfPersons || newDataRaw?.address?.noOfPerson,\n knumber: editedAddress?.knumber || newDataRaw?.address?.knumber || activeKno,\n doorPhotoFilestoreId: editedAddress?.doorPhotoFileStoreId || newDataRaw?.address?.doorPhotoFilestoreId,\n };\n\n const propertyData = {\n ...newDataRaw?.property,\n kno: newDataRaw?.property?.kno || activeKno,\n pidNumber: editedProperty?.pidNumber || newDataRaw?.property?.pidNumber,\n typeOfConnection: editedProperty?.connectionTypeData?.label || newDataRaw?.property?.typeOfConnection,\n connectionCategory: editedProperty?.connectionCategoryData?.label || newDataRaw?.property?.connectionCategory,\n userType: editedProperty?.userTypeData?.label || newDataRaw?.property?.userType,\n numberOfFloors: editedProperty?.noOfFloorsData?.label || newDataRaw?.property?.numberOfFloors,\n propertyDocumentFileStoreId: editedProperty?.propertyDocumentFileStoreId || newDataRaw?.property?.propertyDocumentFileStoreId,\n };\n\n const meterData = {\n ...newDataRaw?.meter,\n kno: editedMeter?.kno || newDataRaw?.meter?.kno || activeKno,\n metered: editedMeter?.meterStatusData?.value === \"Metered\" || newDataRaw?.meter?.metered,\n meterNumber: newDataRaw?.meter?.meterNumber,\n meterMake: editedMeter?.meterMake || newDataRaw?.meter?.meterMake,\n meterLocationAddress: editedMeter?.meterLocation || newDataRaw?.meter?.meterLocationAddress,\n workingStatus: editedMeter?.workingStatusData?.value === \"Working\" || newDataRaw?.meter?.workingStatus,\n lastBillRaised: editedMeter?.lastBillRaisedData?.value === \"Yes\" || newDataRaw?.meter?.lastBillRaised,\n meterPhotoFileStoreId: editedMeter?.meterPhotoFileStoreId || newDataRaw?.meter?.meterPhotoFileStoreId,\n };\n\n // ── Section Fields Configuration ─────────────────────────────────────\n const connectionFields = [\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n { label: \"EKYC_CONSUMER_NAME\", key: \"consumerName\" },\n { label: \"EKYC_ADDRESS\", key: \"address\" },\n { label: \"EKYC_CONNECTION_TYPE\", key: \"connectionType\" },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_MOBILE_NO\", key: \"phoneNumber\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_STATUS_FLAG\", key: \"statusflag\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const addressFields = [\n { label: \"EKYC_FULL_ADDRESS\", key: \"fullAddress\" },\n { label: \"EKYC_FLAT_HOUSE_NO\", key: \"flatHouseNumber\" },\n { label: \"EKYC_BUILDING_TOWER\", key: \"buildingTower\" },\n { label: \"EKYC_LANDMARK\", key: \"landmark\" },\n { label: \"EKYC_PINCODE\", key: \"pinCode\" },\n { label: \"EKYC_LOCALITY\", key: \"ward\" },\n { label: \"EKYC_ASSEMBLY\", key: \"assembly\" },\n { label: \"EKYC_GPS_VALID\", key: \"gpsValid\", isBool: true },\n { label: \"EKYC_LATITUDE\", key: \"latitude\" },\n { label: \"EKYC_LONGITUDE\", key: \"longitude\" },\n { label: \"EKYC_MOBILE_NO\", key: \"mobileNo\" },\n { label: \"EKYC_WHATSAPP_NO\", key: \"whatsappNo\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_NO_OF_PERSONS\", key: \"noOfPerson\" },\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n ];\n\n const propertyFields = [\n { label: \"EKYC_CONNECTION_CATEGORY\", key: \"connectionCategory\" },\n { label: \"EKYC_PID_NUMBER\", key: \"pidNumber\" },\n { label: \"EKYC_TYPE_OF_CONNECTION\", key: \"typeOfConnection\" },\n { label: \"EKYC_USER_TYPE\", key: \"userType\" },\n { label: \"EKYC_FLOOR_COUNT\", key: \"numberOfFloors\" },\n { label: \"EKYC_TENANT_NAME\", key: \"tenantName\" },\n { label: \"EKYC_TENANT_MOBILE\", key: \"tenantMobile\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const meterFields = [\n { label: \"EKYC_METERED\", key: \"metered\", isBool: true },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_METER_MAKE\", key: \"meterMake\" },\n { label: \"EKYC_METER_LOCATION_ADDRESS\", key: \"meterLocationAddress\" },\n { label: \"EKYC_METER_LATITUDE\", key: \"meterLatitude\" },\n { label: \"EKYC_METER_LONGITUDE\", key: \"meterLongitude\" },\n { label: \"EKYC_WORKING_STATUS\", key: \"workingStatus\", isBool: true },\n { label: \"EKYC_LAST_BILL_RAISED\", key: \"lastBillRaised\", isBool: true },\n { label: \"EKYC_SYSTEM_METER_ID\", key: \"systemMeterId\" },\n ];\n\n const handleDeclaration = () => setAgree(!agree);\n\n const handleReject = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"REJECTED\",\n remarks: \"Application rejected by reviewer\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Reject Error:\", err);\n }\n };\n\n const handleApprove = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"APPROVED\",\n remarks: \"All documents verified\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: false,\n label: t(\"EKYC_APPLICATION_APPROVE_SUCCESSFUL\") || \"Application Approved Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Approve Error:\", err);\n setToastData({\n error: true,\n label: err?.message || err?.response?.data?.message || \"Approve Error\",\n });\n setShowToast(true);\n }\n };\n\n const handleFinalSubmit = async () => {\n setIsSubmitting(true);\n try {\n const payload = {\n kno: activeKno,\n tenantId: tenantId,\n newData: {\n connectionDetails: connectionData,\n addressDetails: addressData,\n propertyInfo: propertyData,\n meterDetails: meterData,\n },\n };\n\n const result = await updateMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Submit Error:\", err);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleViewDocument = (fileStoreId) => {\n if (!fileStoreId) return;\n const documentUrl = `https://dev-djberp.nitcon.in/filestore/v1/files/id?tenantId=dl.djb&fileStoreId=${fileStoreId}`;\n setPreviewUrl(documentUrl);\n setShowPreview(true);\n };\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n if (option.action === t(\"Approve\")) {\n handleApprove();\n } else if (option.action === t(\"Reject\")) {\n handleReject();\n }\n };\n\n if (isSearchLoading || isSubmitting) return <Loader />;\n\n const baseUrl = \"/digit-ui/employee/ekyc\";\n\n return (\n <Fragment>\n <Card className=\"overflow-y-scroll\">\n {/* ── 1. Connection Details ────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_CONNECTION_DETAILS\")}\n fields={connectionFields}\n newData={connectionData}\n oldData={oldDataRaw?.connection}\n t={t}\n jumpTo={`${baseUrl}/consumer-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 2. Address Details ──────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_ADDRESS_DETAILS\")}\n fields={addressFields}\n newData={addressData}\n oldData={oldDataRaw?.address}\n t={t}\n jumpTo={`${baseUrl}/address-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 3. Property Info ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_PROPERTY_INFO\")}\n fields={propertyFields}\n newData={propertyData}\n oldData={oldDataRaw?.property}\n t={t}\n jumpTo={`${baseUrl}/property-info?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 4. Meter Details ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_METER_DETAILS\")}\n fields={meterFields}\n newData={meterData}\n oldData={oldDataRaw?.meter}\n t={t}\n jumpTo={`${baseUrl}/meter-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 5. Documents ────────────────────────────────────────────── */}\n <div style={{ marginTop: \"40px\" }}>\n <CardSubHeader style={{ marginBottom: \"20px\" }}>{t(\"EKYC_DOCUMENTS\")}</CardSubHeader>\n <StatusTable style={{ maxWidth: \"600px\" }}>\n <Row\n label={t(\"EKYC_DOOR_PHOTO\")}\n text={addressData.doorPhotoFilestoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n addressData.doorPhotoFilestoreId && (\n <div onClick={() => handleViewDocument(addressData.doorPhotoFilestoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n meterData.meterPhotoFileStoreId && (\n <div onClick={() => handleViewDocument(meterData.meterPhotoFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.buildingImageFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.buildingImageFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.propertyDocumentFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.propertyDocumentFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n </StatusTable>\n </div>\n\n {!hideEditButton && (\n <div style={{ marginTop: \"40px\", paddingTop: \"30px\", borderTop: \"1px solid #EAECF0\" }}>\n <CheckBox\n id=\"agreeDeclaration\"\n name=\"agreeDeclaration\"\n label={<span style={{ fontSize: \"16px\", color: \"#344054\" }}>{t(\"EKYC_FINAL_DECLARATION\")}</span>}\n onChange={handleDeclaration}\n checked={agree}\n />\n </div>\n )}\n\n {/* <ActionBar>\n <SubmitBar label={t(\"EKYC_REJECT\")} onSubmit={handleReject} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_APPROVE\")} onSubmit={handleApprove} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_SUBMIT_APPLICATION\")} onSubmit={handleFinalSubmit} disabled={!agree} />\n </ActionBar> */}\n {!hideEditButton && (\n <ActionBar>\n <SubmitBar\n label={t(\"TAKE_ACTION_FOR_APPROVE_REJECT\")}\n onSubmit={() => setShowOptions((prev) => !prev)}\n disabled={!agree}\n />\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n </Card>\n\n {/* ── Document Preview Modal ────────────────────────────────────── */}\n {showPreview && (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0,0,0,0.7)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 10000,\n }}\n >\n <div\n style={{\n position: \"relative\",\n backgroundColor: \"#fff\",\n padding: \"30px\",\n borderRadius: \"12px\",\n maxWidth: \"600px\",\n width: \"100%\",\n maxHeight: \"70vh\",\n overflow: \"auto\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n }}\n >\n <div\n onClick={() => setShowPreview(false)}\n style={{\n position: \"absolute\",\n top: \"10px\",\n right: \"10px\",\n cursor: \"pointer\",\n fontWeight: \"bold\",\n fontSize: \"20px\",\n color: \"#333\",\n background: \"#eee\",\n width: \"30px\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: \"50%\",\n }}\n >\n ×\n </div>\n <img\n src={previewUrl}\n alt=\"Document Preview\"\n style={{ maxWidth: \"100%\", height: \"auto\", display: \"block\" }}\n onError={(e) => {\n e.target.style.display = \"none\";\n e.target.nextSibling.style.display = \"block\";\n }}\n />\n <div style={{ display: \"none\", padding: \"40px\", textAlign: \"center\" }}>\n <p>{t(\"EKYC_DOCUMENT_PREVIEW_NOT_AVAILABLE\")}</p>\n <LinkButton label={t(\"EKYC_OPEN_IN_NEW_TAB\")} onClick={() => window.open(previewUrl, \"_blank\")} />\n </div>\n </div>\n </div>\n )}\n {showToast && (\n <Toast\n error={toastData.error}\n label={toastData.label}\n onClose={() => setShowToast(false)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { UploadFile, CheckBox, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst AadhaarVerificationConfig = (t, formData = {}, uploadFile, setDocumentId, documentId) => {\n const consumerType = formData?.consumerType?.name || formData?.consumerType;\n const occupantType = formData?.occupantType?.name || formData?.occupantType;\n const informantIsConsumer = formData?.informantIsConsumer ?? true;\n\n const fields = [\n {\n label: t(\"Consumer Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consumerType\",\n populators: {\n name: \"consumerType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Individual\" }, { name: \"Govt\" }, { name: \"Company_Society_Org\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Occupant Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"occupantType\",\n populators: {\n name: \"occupantType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Self\" }, { name: \"Tenanted\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Category Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"categoryType\",\n populators: {\n name: \"categoryType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Bulk\" }, { name: \"Non-Bulk\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"First Name\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"firstName\",\n validation: { required: true },\n },\n },\n {\n label: t(\"Middle Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"middleName\",\n },\n },\n {\n label: t(\"Last Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"lastName\",\n },\n },\n {\n label: t(\"Gender\"),\n isMandatory: false,\n type: \"custom\",\n key: \"gender\",\n populators: {\n name: \"gender\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Male\" }, { name: \"Female\" }, { name: \"Others\" }, { name: \"Not prefer to say\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Parent/Spouse Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"parentSpouseName\",\n },\n },\n {\n label: t(\"Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"mobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n error: t(\"Invalid mobile number\"),\n },\n },\n {\n label: t(\"WhatsApp\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"whatsapp\",\n },\n },\n {\n label: t(\"Email\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"email\",\n validation: {\n pattern: /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9.-]+$/,\n },\n error: t(\"Invalid email address\"),\n },\n },\n {\n label: t(\"No. of Residents\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"residents\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Type of Identity\"),\n isMandatory: true,\n type: \"custom\",\n key: \"identityType\",\n populators: {\n name: \"identityType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Aadhaar Card\" }, { name: \"Driving License\" }, { name: \"Passport\" }, { name: \"Voter ID\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Proof of Identity\"),\n isMandatory: false,\n type: \"custom\",\n key: \"idFile\",\n populators: {\n name: \"idFile\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n },\n {\n label: t(\"Document Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"documentNumber\",\n },\n },\n {\n label: t(\"Informant Is Consumer\"),\n isMandatory: false,\n type: \"custom\",\n key: \"informantIsConsumer\",\n populators: {\n name: \"informantIsConsumer\",\n component: (props) => (\n <CheckBox\n label={t(\"Yes, the informant is the consumer\")}\n checked={props.value ?? true}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n },\n ];\n\n // Informant conditional fields\n if (!informantIsConsumer) {\n fields.push(\n {\n label: t(\"Informant Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantName\",\n },\n },\n {\n label: t(\"Informant Relation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantRelation\",\n },\n }\n );\n }\n\n // Tenant conditional fields\n if (occupantType === \"Tenanted\") {\n fields.push({\n label: t(\"Document Proof\"),\n isMandatory: false,\n type: \"custom\",\n key: \"documentProof\",\n populators: {\n name: \"documentProof\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n });\n\n if (!documentId) {\n fields.push(\n {\n label: t(\"Owner Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"ownerMobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n },\n },\n {\n label: t(\"Tenant Verification\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"tenantVerification\",\n },\n }\n );\n }\n }\n\n // Govt conditional fields\n if (consumerType === \"Govt\") {\n fields.push(\n {\n label: t(\"Designation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"designation\",\n },\n },\n {\n label: t(\"Department\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"department\",\n },\n },\n {\n label: t(\"Employee ID\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"employeeId\",\n },\n }\n );\n }\n\n // Company / Society / Org conditional fields\n if (consumerType === \"Company_Society_Org\") {\n fields.push(\n {\n label: t(\"Entity Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"entityName\",\n },\n },\n {\n label: t(\"Contact Person\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"contactPerson\",\n },\n }\n );\n }\n\n // Consent checkbox field\n fields.push({\n label: t(\"Consent\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consent\",\n populators: {\n name: \"consent\",\n validation: { required: true },\n component: (props) => (\n <CheckBox\n label={t(\"I hereby consent to verify my Aadhaar details.\")}\n checked={props.value ?? false}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n });\n\n return [\n {\n head: t(\"EKYC_CONSUMER_CONNECTION\"),\n body: fields,\n },\n ];\n};\n\nexport default AadhaarVerificationConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport AadhaarVerificationConfig from \"../config/AadhaarVerificationConfig\";\n\nconst AadhaarVerification = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\") ||\n \"\";\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"CONNECTION\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.aadhaarVerification || {};\n\n // 🔹 STATES\n const [documentId, setDocumentId] = useState(savedData.documentId || null);\n const [documentProof, setDocumentProof] = useState(savedData.documentProof || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType ? { name: savedData.consumerType } : null,\n occupantType: savedData.occupantType ? { name: savedData.occupantType } : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || \"\",\n middleName: savedData.middleName || \"\",\n lastName: savedData.lastName || \"\",\n gender: savedData.gender ? { name: savedData.gender } : null,\n parentSpouseName: savedData.parentSpouseName || \"\",\n mobile: savedData.mobile || \"\",\n whatsapp: savedData.whatsapp || \"\",\n email: savedData.email || \"\",\n residents: savedData.residents || \"\",\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || \"\",\n informantRelation: savedData.informantRelation || \"\",\n documentId: savedData.documentId || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const details = rawData?.connectionDetails || rawData || {};\n const addrDetails = rawData?.addressDetails || {};\n\n if (details && Object.keys(details).length > 0 && !isDataLoaded) {\n let fName = \"\";\n let mName = \"\";\n let lName = \"\";\n\n if (details.firstName) {\n fName = details.firstName;\n mName = details.middleName || \"\";\n lName = details.lastName || \"\";\n } else if (details.consumerName) {\n const parts = details.consumerName.trim().split(/\\s+/);\n fName = parts[0] || \"\";\n if (parts.length === 2) lName = parts[1];\n if (parts.length > 2) {\n mName = parts.slice(1, -1).join(\" \");\n lName = parts[parts.length - 1];\n }\n }\n\n const updatedDefaults = {\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType\n ? { name: savedData.consumerType }\n : details.consumerType\n ? { name: details.consumerType }\n : null,\n occupantType: savedData.occupantType\n ? { name: savedData.occupantType }\n : details.occupantType\n ? { name: details.occupantType }\n : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || fName,\n middleName: savedData.middleName || mName,\n lastName: savedData.lastName || lName,\n gender: savedData.gender\n ? { name: savedData.gender }\n : details.gender\n ? { name: details.gender }\n : null,\n parentSpouseName: savedData.parentSpouseName || details.parentSpouse || \"\",\n mobile: savedData.mobile || details.phoneNumber || addrDetails.mobileNo || \"\",\n whatsapp: savedData.whatsapp || addrDetails.whatsappNo || \"\",\n email: savedData.email || details.email || addrDetails.email || \"\",\n residents: savedData.residents || (addrDetails.noOfPerson ? String(addrDetails.noOfPerson) : \"\"),\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || details.informantName || \"\",\n informantRelation: savedData.informantRelation || details.informantRelation || \"\",\n documentId: savedData.documentId || details.documentNumber || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.documentId) {\n setDocumentId(updatedDefaults.documentId);\n }\n if (updatedDefaults.documentProof) {\n setDocumentProof(updatedDefaults.documentProof);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUploadProof = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n if (fileStoreId) {\n onChange(file.name);\n setDocumentProof(file.name);\n setDocumentId(fileStoreId);\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Avoid updating states on every keypress unless they affect conditional visibility\n const consumerTypeChanged =\n (data?.consumerType?.name || data?.consumerType) !==\n (localFormData?.consumerType?.name || localFormData?.consumerType);\n const occupantTypeChanged =\n (data?.occupantType?.name || data?.occupantType) !==\n (localFormData?.occupantType?.name || localFormData?.occupantType);\n const informantIsConsumerChanged = data?.informantIsConsumer !== localFormData?.informantIsConsumer;\n\n if (consumerTypeChanged || occupantTypeChanged || informantIsConsumerChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const knoVal = data?.kno || searchKno;\n const consumerTypeVal = data?.consumerType;\n const occupantTypeVal = data?.occupantType;\n const categoryTypeVal = data?.categoryType;\n const firstNameVal = data?.firstName;\n const mobileVal = data?.mobile;\n const residentsVal = data?.residents;\n const consentVal = data?.consent;\n const docId = data?.documentId || documentId;\n const ownerMobileVal = data?.ownerMobile;\n\n let valid = true;\n if (!knoVal) valid = false;\n if (!consumerTypeVal) valid = false;\n if (!occupantTypeVal) valid = false;\n if (!categoryTypeVal) valid = false;\n if (!firstNameVal) valid = false;\n if (!mobileVal || !/^[6-9]\\d{9}$/.test(mobileVal)) valid = false;\n if (!residentsVal || Number(residentsVal) <= 0) valid = false;\n if (occupantTypeVal?.name === \"Tenanted\" && !docId && !ownerMobileVal) valid = false;\n if (!consentVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n kno: data.kno || searchKno,\n consumerType: data.consumerType?.name || data.consumerType,\n occupantType: data.occupantType?.name || data.occupantType,\n categoryType: data.categoryType?.name || data.categoryType,\n consumerName: data.consumerName || `${data.firstName || \"\"} ${data.middleName || \"\"} ${data.lastName || \"\"}`.trim(),\n firstName: data.firstName,\n middleName: data.middleName,\n lastName: data.lastName,\n gender: data.gender?.name || data.gender,\n parentSpouseName: data.parentSpouseName,\n relation: data.relation || savedData.relation || \"\",\n mobile: data.mobile,\n whatsapp: data.whatsapp,\n email: data.email,\n residents: data.residents,\n documentId: documentId,\n documentProof: documentProof,\n ownerMobile: data.ownerMobile,\n tenantVerification: data.tenantVerification,\n designation: data.designation,\n department: data.department,\n employeeId: data.employeeId,\n landline: data.landline || savedData.landline || \"\",\n entityRelation: data.entityRelation || savedData.entityRelation || \"\",\n contactPerson: data.contactPerson,\n entityName: data.entityName,\n idProof: data.identityType?.name || data.identityType,\n idNumber: data.documentNumber,\n consent: data.consent,\n informantIsConsumer: data.informantIsConsumer ?? true,\n informantName: data.informantName,\n informantRelation: data.informantRelation,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"CONSUMER\",\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Data updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update consumer details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = AadhaarVerificationConfig(t, localFormData, handleUploadProof, setDocumentId, documentId);\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default AadhaarVerification;\n","import AadhaarVerification from \"../components/AadhaarVerification\";\n\nexport const ekycConfig = [\n {\n body: [\n {\n route: \"consumer-details\",\n component: AadhaarVerification,\n key: \"aadhaarVerification\",\n texts: {\n header: \"EKYC_CONSUMER_CONNECTION\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 1,\n actions: \"EKYC_CONSUMER_CONNECTION\",\n },\n ],\n },\n {\n route: \"address-details\",\n component: \"AddressDetails\",\n key: \"addressDetails\",\n doorImage: true,\n showMapActualLocation: false,\n texts: {\n header: \"EKYC_ADDRESS_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 2,\n actions: \"EKYC_ADDRESS_DETAILS\",\n },\n ],\n },\n {\n route: \"property-info\",\n component: \"PropertyInfo\",\n key: \"propertyDetails\",\n texts: {\n header: \"EKYC_PROPERTY_INFO\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 3,\n actions: \"EKYC_PROPERTY_INFO\",\n },\n ],\n },\n {\n route: \"meter-details\",\n component: \"MeterDetails\",\n key: \"meterDetails\",\n texts: {\n header: \"EKYC_METER_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 4,\n actions: \"EKYC_METER_DETAILS\",\n },\n ],\n },\n ],\n },\n];\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n// import { useQueryClient } from \"react-query\";\nimport { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from \"react-router-dom\";\nimport { VerticalTimeline } from \"@djb25/digit-ui-react-components\";\nimport { ekycConfig } from \"../../config/config\";\n\nconst EKYCForm = ({ path: passedPath }) => {\n // const queryClient = useQueryClient();\n const match = useRouteMatch();\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const history = useHistory();\n\n let config = [];\n const [params, setParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n useEffect(() => {\n if (location.state && Object.keys(location.state).length > 0) {\n const { edits, ...rest } = location.state;\n setParams({ ...params, ...rest, ...edits });\n }\n }, [location.state]);\n\n const goNext = (skipStep, index, isAddMultiple, key) => {\n let currentPath = pathname.split(\"/\").pop();\n let routeObj = config.find((routeObj) => (key ? routeObj.key === key : routeObj.route === currentPath));\n if (!routeObj) routeObj = config.find((routeObj) => routeObj.route === currentPath);\n\n let nextStep = null;\n const currentIndex = config.findIndex((c) => c.route === routeObj.route);\n if (currentIndex > -1 && currentIndex < config.length - 1) {\n nextStep = config[currentIndex + 1].route;\n }\n\n let redirectWithHistory = history.push;\n if (skipStep) {\n redirectWithHistory = history.replace;\n }\n\n const base = passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\");\n if (nextStep === null) {\n return redirectWithHistory(`${base}/review`, { ...params, edits: params });\n }\n\n redirectWithHistory(`${base}/${nextStep}`, { ...params });\n };\n\n function handleSelect(key, data, skipStep, index, isAddMultiple = false, silent = false) {\n setParams((prev) => ({ ...prev, [key]: { ...params[key], ...data } }));\n if (!silent) {\n goNext(skipStep, index, isAddMultiple, key);\n }\n }\n\n // const onSuccess = () => {\n // clearParams();\n // queryClient.invalidateQueries(\"EKYC_CREATE\");\n // };\n\n ekycConfig.forEach((obj) => {\n config = config.concat(obj.body);\n });\n\n config.indexRoute = \"consumer-details\";\n\n const formStepRoutes = config.map((c) => c.route);\n const isFormStep = formStepRoutes.some((route) => pathname.includes(route));\n\n const sectionRefs = useRef({});\n\n useEffect(() => {\n if (isFormStep) {\n const currentRoute = pathname.split(\"/\").pop();\n if (sectionRefs.current[currentRoute]) {\n sectionRefs.current[currentRoute].scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }\n }\n }, [pathname, isFormStep]);\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={config} showFinalStep={true} />\n <div className=\"employee-form-section\">\n <Switch>\n <Route path={formStepRoutes.map((route) => `${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${route}`)}>\n <div className=\"single-page-form-container\">\n {config.map((routeObj, index) => {\n const { component } = routeObj;\n const Component = typeof component === \"string\" ? Digit.ComponentRegistryService.getComponent(component) : component;\n\n return (\n <div key={index} ref={(el) => (sectionRefs.current[routeObj.route] = el)} className=\"form-section-unit\">\n <Component\n config={{ ...routeObj, isCollapsible: true, defaultOpen: true }}\n onSelect={handleSelect}\n t={t}\n formData={params}\n // formData={{ ...params, address: params.addressDetails }}\n />\n </div>\n );\n })}\n </div>\n </Route>\n <Route>\n <Redirect to={`${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${config.indexRoute}`} />\n </Route>\n </Switch>\n </div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default EKYCForm;\n","import React, { useMemo, useState, useEffect } from \"react\";\nimport { Modal, Close, Table, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nconst AssignEkycModal = ({ surveyor, closeModal, refetchDashboard }) => {\n const { t } = useTranslation();\n const [selectedKnos, setSelectedKnos] = useState([]);\n const [isBulkSelection, setIsBulkSelection] = useState(false);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(10);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({\n error: false,\n label: \"\",\n });\n const [filters, setFilters] = useState({\n kno: \"\", // search value\n pincode: \"\",\n zoneCode: \"\",\n zoneName: \"\",\n ward: \"\",\n assembly: \"\",\n mrkey: \"\",\n ekycStatus: \"\",\n });\n\n const [debouncedFilters, setDebouncedFilters] = useState(filters);\n\n const { data: zroLocationsData, isLoading: isZroLoading } = Digit.Hooks.ws.useWSConfigMDMS.ZROLocation(\"dl.djb\");\n const mappedZROLocation = useMemo(() => {\n return (zroLocationsData || []).map((item) => ({\n code: item.code,\n name: item.name,\n }));\n }, [zroLocationsData]);\n\n const { data: egovLocationData } = Digit.Hooks.useCommonMDMS(\"dl.djb\", \"egov-location\", [\"TenantBoundary\"]);\n\n const boundaryData = useMemo(() => {\n const tenantBoundary = egovLocationData?.[\"egov-location\"]?.TenantBoundary || [];\n const revenueData = tenantBoundary.find((item) => item?.hierarchyType?.code === \"REVENUE\");\n const boundary = revenueData?.boundary || [];\n return Array.isArray(boundary) ? boundary : [boundary];\n }, [egovLocationData]);\n\n const { assemblyOptions, wardOptions } = useMemo(() => {\n const assemblies = new Map();\n const wards = new Map();\n\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const traverse = (node) => {\n if (!node) return;\n if (node.label === \"Ward\" || node.label === \"WARD\" || node.label === \"Block\" || node.label === \"BLOCK\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) wards.set(code, { code, name: name });\n }\n if (node.label === \"Assembly Constituency\" || node.label === \"ASSEMBLY_CONSTITUENCY\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) assemblies.set(code, { code, name: name });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach(traverse);\n }\n };\n\n boundaries.forEach(traverse);\n\n return {\n assemblyOptions: Array.from(assemblies.values()).sort((a, b) => a.name.localeCompare(b.name)),\n wardOptions: Array.from(wards.values()).sort((a, b) => a.name.localeCompare(b.name)),\n };\n }, [boundaryData]);\n\n const structuredLocalityData = useMemo(() => {\n let localities = [];\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const extractLocalities = (node) => {\n if (!node) return;\n\n if (node.label === \"Locality\" || node.label === \"LOCALITY\") {\n localities.push({\n ...node,\n name: node.localname || node.name || node.code,\n });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach((child) => extractLocalities(child));\n }\n };\n\n boundaries.forEach((rootNode) => extractLocalities(rootNode));\n\n return localities;\n }, [boundaryData]);\n\n const fetchedPincodes = useMemo(() => {\n const pinSet = new Set();\n\n structuredLocalityData.forEach((loc) => {\n if (loc.pincode) {\n const pins = Array.isArray(loc.pincode) ? loc.pincode : [loc.pincode];\n pins.forEach((p) => {\n if (p) {\n const sanitizedPin = p.toString().split(\".\")[0];\n pinSet.add(sanitizedPin);\n }\n });\n }\n });\n\n return Array.from(pinSet).sort();\n }, [structuredLocalityData]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedFilters(filters);\n }, 500);\n\n return () => clearTimeout(timer);\n }, [filters]);\n\n useEffect(() => {\n setCurrentPage(0);\n }, [debouncedFilters, filters.kno]);\n\n const { data: applicationData, isFetching: isLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: true,\n /*\n ...(debouncedFilters.kno && {\n kno: debouncedFilters.kno,\n }),\n */\n ...(filters.kno && {\n kno: filters.kno,\n }),\n\n ...(debouncedFilters.ekycStatus && {\n ekycStatus: debouncedFilters.ekycStatus,\n }),\n\n ...(debouncedFilters.zoneName && {\n zoneName: debouncedFilters.zoneName,\n }),\n\n ...(debouncedFilters.assembly && {\n assembly: debouncedFilters.assembly,\n }),\n\n ...(debouncedFilters.ward && {\n ward: debouncedFilters.ward,\n }),\n\n ...(debouncedFilters.mrkey && {\n mrkey: debouncedFilters.mrkey,\n }),\n\n ...(debouncedFilters.pincode && {\n pincode: debouncedFilters.pincode,\n }),\n },\n {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const handleAssignmentError = (errMsg, variables) => {\n const isAlreadyAssigned =\n errMsg.toLowerCase().includes(\"already assigned\") ||\n errMsg.toLowerCase().includes(\"already assign\") ||\n errMsg.toLowerCase().includes(\"active assignment\") ||\n errMsg.toLowerCase().includes(\"mrkey\") ||\n errMsg.toLowerCase().includes(\"mr key\") ||\n errMsg.toLowerCase().includes(\"kno\") ||\n errMsg.toLowerCase().includes(\"already exists\");\n\n if (isAlreadyAssigned) {\n const isMrKeyType = variables?.assignmentType === \"MRKEY\";\n\n if (isMrKeyType) {\n setToastData({\n error: true,\n label: t(\"EKYC_MR_KEY_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"mr key is already assign with another surveyor\",\n });\n } else {\n setToastData({\n error: true,\n label: t(\"EKYC_KNO_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"kno is already assign with another surveyor\",\n });\n }\n } else {\n setToastData({\n error: true,\n label: t(errMsg) || errMsg || t(\"EKYC_SOMETHING_WENT_WRONG\") || \"Something went wrong\",\n });\n }\n setShowToast(true);\n };\n\n const assignmentMutation = Digit.Hooks.ekyc.useEkycAssignmentCreate({\n onSuccess: (response, variables) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n return;\n }\n\n // Check for skipped assignments (e.g. 200 OK but skipped)\n if (response?.skipped && response.skipped.length > 0) {\n const reason = response.skipped[0]?.reason || \"\";\n handleAssignmentError(reason, variables);\n return;\n }\n\n setToastData({\n error: false,\n label: t(\"EKYC_ASSIGNMENT_SUCCESSFUL\") || \"Assignment successful\",\n });\n\n setShowToast(true);\n\n // optional delay so user can see the success toast\n setTimeout(async () => {\n await refetchDashboard();\n closeModal();\n }, 1000);\n },\n\n onError: (error, variables) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n },\n });\n\n const tableData = applicationData?.consumerList || [];\n\n const getAssignmentPayload = () => {\n if (isBulkSelection) {\n const filterMappings = [\n { key: \"ekycStatus\", type: \"EKYCSTATUS\" },\n { key: \"zoneName\", type: \"ZONENAME\" },\n { key: \"assembly\", type: \"ASSEMBLY\" },\n { key: \"ward\", type: \"WARD\" },\n { key: \"mrkey\", type: \"MRKEY\" },\n { key: \"pincode\", type: \"PINCODE\" },\n ];\n\n const appliedFilter = filterMappings.find(({ key }) => debouncedFilters[key]);\n\n if (appliedFilter) {\n return {\n assignmentType: appliedFilter.type,\n assignmentValue: debouncedFilters[appliedFilter.key],\n };\n }\n }\n\n return {\n assignmentType: \"KNO\",\n assignmentValue: selectedKnos,\n };\n };\n\n const handleAssign = () => {\n const { assignmentType, assignmentValue } = getAssignmentPayload();\n\n assignmentMutation.mutate({\n tenantId: \"dl.djb\",\n surveyorId: surveyor?.owner?.uuid,\n assignmentType,\n assignmentValue,\n });\n };\n\n const handleSelectAll = () => {\n setIsBulkSelection(true);\n\n const pageKnos = tableData.map((item) => item.kno);\n\n const allSelected = pageKnos.length > 0 && pageKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos((prev) => (allSelected ? prev.filter((kno) => !pageKnos.includes(kno)) : [...new Set([...prev, ...pageKnos])]));\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => (\n <input\n type=\"checkbox\"\n checked={tableData.length > 0 && tableData.every((item) => selectedKnos.includes(item.kno))}\n onChange={handleSelectAll}\n />\n ),\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return <input type=\"checkbox\" checked={selectedKnos.includes(kno)} onChange={() => handleSelect(kno)} />;\n },\n },\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n {\n Header: \"Pincode\",\n accessor: \"pincode\",\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => value || \"-\",\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedKnos, tableData]\n );\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n return (\n <Modal\n headerBarMain={`Assign KNOs to ${surveyor?.name}`}\n headerBarEnd={<Close onClick={closeModal} />}\n actionCancelLabel=\"Cancel\"\n actionCancelOnSubmit={closeModal}\n actionSaveLabel={`Assign ${selectedKnos.length} KNOs`}\n actionSaveOnSubmit={handleAssign}\n isDisabled={!selectedKnos?.length}\n >\n <div className=\"assign-knos-modal\">\n {/* Filters */}\n <div className=\"filters-grid\">\n <input className=\"form-control\" placeholder=\"KNO\" value={filters.kno} onChange={(e) => handleFilterChange(\"kno\", e.target.value)} />\n\n <select className=\"form-control\" value={filters.pincode} onChange={(e) => handleFilterChange(\"pincode\", e.target.value)}>\n <option value=\"\">Select Pincode</option>\n {fetchedPincodes.map((pin) => (\n <option key={pin} value={pin}>\n {pin}\n </option>\n ))}\n </select>\n\n <select\n className=\"form-control\"\n value={filters.zoneName}\n onChange={(e) => {\n const val = e.target.value;\n setFilters((prev) => ({\n ...prev,\n zoneCode: val,\n zoneName: val,\n }));\n }}\n disabled={isZroLoading}\n >\n <option value=\"\">{isZroLoading ? \"Loading ZRO Locations...\" : \"Select ZRO Location\"}</option>\n {mappedZROLocation.map((loc) => (\n <option key={loc.code} value={loc.name}>\n {loc.name}\n </option>\n ))}\n </select>\n\n <select className=\"form-control\" value={filters.ward} onChange={(e) => handleFilterChange(\"ward\", e.target.value)}>\n <option value=\"\">Select Ward</option>\n {wardOptions.map((ward) => (\n <option key={ward.code} value={ward.name}>\n {ward.name}\n </option>\n ))}\n </select>\n\n <select className=\"form-control\" value={filters.assembly} onChange={(e) => handleFilterChange(\"assembly\", e.target.value)}>\n <option value=\"\">Select Assembly</option>\n {assemblyOptions.map((assembly) => (\n <option key={assembly.code} value={assembly.name}>\n {assembly.name}\n </option>\n ))}\n </select>\n\n <input className=\"form-control\" placeholder=\"MR Key\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)} />\n\n {selectedKnos.length > 0 && (\n <button className=\"clear-selected-btn\" type=\"button\" onClick={() => setSelectedKnos([])}>\n {t(\"EKYC_CLEAR_SELECTION\") || `Clear Selected (${selectedKnos.length})`}\n </button>\n )}\n\n {/* <select className=\"form-control\" value={filters.ekycStatus} onChange={(e) => handleFilterChange(\"ekycStatus\", e.target.value)}>\n <option value=\"\">All eKYC Status</option>\n <option value=\"PENDING\">Pending</option>\n <option value=\"APPROVED\">Approved</option>\n <option value=\"REJECTED\">Rejected</option>\n </select> */}\n </div>\n\n {/* Table */}\n <Table\n tableTitle=\"eKYC Applications\"\n tableClass=\"ekycTable\"\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n totalRecords={applicationData?.totalCount || 0}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n manualPagination={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (applicationData?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((applicationData?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n {showToast && <Toast error={toastData.error} label={toastData.label} onClose={() => setShowToast(false)} />}\n </Modal>\n );\n};\n\nexport default AssignEkycModal;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\n// import { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, PieChart, Pie, Cell, Legend } from \"recharts\";\n\nimport { Card, SubmitBar, ActionBar, Menu, Loader, Table } from \"@djb25/digit-ui-react-components\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\n\nimport AssignEkycModal from \"./AssignEkycModal\";\nimport { downloadSurveyorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\n\nconst SurveyorDetailsDashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const [showModal, setShowModal] = useState(false);\n const [showOptions, setShowOptions] = useState(false);\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const { id: surveyorId } = useParams();\n const ownerIds = Digit.SessionStorage.get(\"User\")?.info?.uuid;\n\n const { t } = useTranslation();\n\n const searchParams = surveyorId ? { ids: surveyorId } : { ownerIds };\n\n const { data: surveyorSearchResponse, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, searchParams, { staleTime: Infinity });\n\n const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n\n const surveyor = useMemo(() => {\n return surveyorSearchResponse?.surveyors?.[0] || null;\n }, [surveyorSearchResponse]);\n\n const { data: vendorData } = Digit.Hooks.fsm.useDsoSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n const { data: supervisorSearchResponse } = Digit.Hooks.fsm.useSupervisorSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n const vendorName = useMemo(() => {\n if (surveyor?.vendorName) return surveyor.vendorName;\n if (!vendorData || !surveyor?.vendorId) return \"N/A\";\n const mappedVendor = vendorData.find((v) => v.dsoDetails?.id === surveyor.vendorId || v.dsoDetails?.vendorId === surveyor.vendorId);\n return mappedVendor?.dsoDetails?.name || surveyor.vendorId || \"N/A\";\n }, [vendorData, surveyor?.vendorId, surveyor?.vendorName]);\n\n const supervisorName = useMemo(() => {\n if (surveyor?.supervisorName) return surveyor.supervisorName;\n if (!supervisorSearchResponse?.supervisors || !surveyor?.supervisorId) return \"N/A\";\n const mappedSupervisor = supervisorSearchResponse.supervisors.find(\n (s) => s.id === surveyor.supervisorId || s.owner?.uuid === surveyor.supervisorId\n );\n return mappedSupervisor?.name || mappedSupervisor?.owner?.name || surveyor.supervisorId || \"N/A\";\n }, [supervisorSearchResponse, surveyor?.supervisorId, surveyor?.supervisorName]);\n const fullName = surveyor?.owner?.name || surveyor?.name || \"N/A\";\n const employeeId = surveyor?.employeeId || surveyor?.owner?.uuid || surveyor?.id;\n const mobileNumber = surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\";\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const queryParams = {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n surveyorId: surveyor?.owner?.uuid,\n };\n\n const { isFetching: isDashboardLoading, data: dashboardData = {}, refetch: refetchDashboard } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n queryParams,\n {\n enabled: !!queryParams.tenantId && !!queryParams.surveyorId,\n keepPreviousData: true,\n }\n );\n\n const knoColumns = useMemo(\n () => [\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n // {\n // Header: \"Pincode\",\n // accessor: \"pincode\",\n // },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => value || \"-\",\n },\n ],\n []\n );\n\n // ─── Download Report hooks (must be before any early returns) ───────\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n if (isLoading) {\n return <Loader />;\n }\n\n if (!surveyor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SURVEYOR_FOUND\")}</div>\n </Card>\n );\n }\n\n // const weeklyData = [\n // { day: \"Mon\", completed: 4 },\n // { day: \"Tue\", completed: 6 },\n // { day: \"Wed\", completed: 3 },\n // { day: \"Thu\", completed: 8 },\n // { day: \"Fri\", completed: 5 },\n // { day: \"Sat\", completed: 7 },\n // { day: \"Sun\", completed: 2 },\n // ];\n\n // const statusData = [\n // {\n // name: \"Completed\",\n // value: surveyor?.completedCases || 0,\n // color: \"#10B981\",\n // },\n // {\n // name: \"Pending\",\n // value: surveyor?.pendingCases || 0,\n // color: \"#F59E0B\",\n // },\n // {\n // name: \"Rejected\",\n // value: surveyor?.rejectedCases || 0,\n // color: \"#EF4444\",\n // },\n // ];\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: range.from.getTime(),\n toDate: range.to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: from.getTime(),\n toDate: to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch custom dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const options = [{ action: \"Assign\" }];\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n setShowModal(true);\n };\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n surveyorId: surveyor?.owner?.uuid,\n reportDownload: true,\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n \n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = fullName;\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n \n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n \n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n cleanObj[friendlyHeader] = val;\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const closeModal = async () => {\n setShowModal(false);\n };\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n\n <div className=\"designation\">{surveyor?.description || t(\"FIELD_SURVEYOR\")}</div>\n\n {/* <div className=\"employee-id\">\n {t(\"EMPLOYEE_ID\")}: {employeeId}\n </div> */}\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"FROM_DATE\") || \"From\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) => setCustomDate((d) => ({ ...d, from: e.target.value }))}\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"TO_DATE\") || \"To\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) => setCustomDate((d) => ({ ...d, to: e.target.value }))}\n />\n </div>\n\n <button className=\"download-action-btn\" onClick={handleCustomDownload}>\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n <StatCard title={t(\"TOTAL_ASSIGNED\")} value={dashboardData?.dashboardInfo?.total || 0} type=\"today\" isLoading={isDashboardLoading} icon={<FaUsers />} />\n <StatCard title={t(\"COMPLETED\")} value={dashboardData?.dashboardInfo?.completed || 0} type=\"week\" isLoading={isDashboardLoading} icon={<FaCheckCircle />} />\n <StatCard title={t(\"PENDING\")} value={dashboardData?.dashboardInfo?.pending || 0} type=\"pending\" isLoading={isDashboardLoading} icon={<FaClock />} />\n <StatCard title={t(\"SUBMITTED\")} value={dashboardData?.dashboardInfo?.submittedCount || 0} type=\"month\" isLoading={isDashboardLoading} icon={<FaChartLine />} />\n </div>\n\n {/* Charts */}\n <div className=\"charts-wrapper\">\n {/* Weekly Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"WEEKLY_SURVEY_PROGRESS\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart data={weeklyData}>\n <CartesianGrid strokeDasharray=\"3 3\" />\n\n <XAxis dataKey=\"day\" />\n\n <YAxis />\n\n <Tooltip />\n\n <Bar dataKey=\"completed\" fill=\"#0B2559\" radius={[6, 6, 0, 0]} />\n </BarChart>\n </ResponsiveContainer>\n </div> */}\n\n {/* Pie Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"CASE_DISTRIBUTION\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <PieChart>\n <Pie data={statusData} dataKey=\"value\" nameKey=\"name\" outerRadius={90} label>\n {statusData.map((entry, index) => (\n <Cell key={index} fill={entry.color} />\n ))}\n </Pie>\n\n <Tooltip />\n\n <Legend />\n </PieChart>\n </ResponsiveContainer>\n </div> */}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{surveyor?.owner?.emailId || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{surveyor?.owner?.gender || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{surveyor?.status || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SERVICE_TYPE\")}</span>\n <span className=\"value\">{surveyor?.additionalDetails?.serviceType || \"N/A\"}</span>\n </div>\n \n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SUPERVISOR_NAME\") || \"Supervisor Name\"}</span>\n <span className=\"value\">{supervisorName}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") || \n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"ASSIGNED_KNOS\")}\n tableClass=\"ekycTable\"\n data={dashboardData?.dashboardInfo?.consumerList || []}\n columns={knoColumns}\n isLoading={isDashboardLoading}\n totalRecords={dashboardData?.dashboardInfo?.total}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n showAutoSerialNo={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (dashboardData?.dashboardInfo?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((dashboardData?.dashboardInfo?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n {/* Actions */}\n {(!roles.includes(\"EKYC_SURVEYOR\") || roles.includes(\"EMPLOYEE\")) && (\n <ActionBar>\n <SubmitBar label={t(\"EKYC_ASSIGN_KNOS\")} onSubmit={() => setShowOptions((prev) => !prev)} />\n\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n\n {showModal && <AssignEkycModal surveyor={surveyor} closeModal={closeModal} refetchDashboard={refetchDashboard} />}\n </Card>\n );\n};\n\nexport default SurveyorDetailsDashboard;\n","import React from \"react\";\nexport function formReducer(state, payload) {\n const storageKey = \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n}\n\nexport const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n};\n\nexport const tableColumnConfig = (t, handleReview) => [\n {\n Header: t(\"SURVEYOR_NAME\"),\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const id = row.original?.id;\n return (\n <span className=\"link\" onClick={() => handleReview(id)}>\n {row.original?.surveyorName || row.original?.name || \"NA\"}\n </span>\n );\n },\n },\n // {\n // Header: t(\"SURVEYOR_NAME\"),\n // accessor: \"surveyorName\",\n // Cell: ({ row }) => <span>{row.original?.surveyorName || row.original?.name || \"NA\"}</span>,\n // },\n {\n Header: t(\"MOBILE_NUMBER\"),\n accessor: \"mobileNo\",\n Cell: ({ row }) => <span>{row.original?.mobileNo || row.original?.owner?.mobileNumber || \"NA\"}</span>,\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>;\n },\n },\n {\n Header: t(\"SERVICE_TYPE\"),\n accessor: \"serviceType\",\n Cell: ({ row }) => <span>{row.original?.serviceType || \"NA\"}</span>,\n },\n];\n","import { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { tableColumnConfig } from \"../../../vendor/src/config/tableConfig\";\n\nconst SupervisorInboxTableConfig = ({\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n onSortingByData,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n const handleReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n\n currentPage: Math.floor(offset / limit),\n\n onPageSizeChange,\n\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) + Number(limit),\n },\n }),\n\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) - Number(limit),\n },\n }),\n\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Math.ceil(totalCount / limit) * limit - Number(limit),\n },\n }),\n\n onFirstPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: 0 },\n }),\n\n totalRecords: totalCount,\n onSort: onSortingByData,\n\n data: table,\n columns: tableColumnConfig(t, handleReview),\n\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default SupervisorInboxTableConfig;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport SupervisorInboxTableConfig from \"../hook/SupervisorInboxTableConfig\";\nimport SearchFormFieldsComponents from \"./SearchFormFieldsComponent\";\nimport { formInitValue, formReducer } from \"../../../vendor/src/config/tableConfig\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\n// Mock data removed in favor of API integration\n\nconst AssignEkyc = () => {\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\"; // Force tenantId to dl.djb for EKYC APIs in citizen portal\n }\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n let paginationParms = {\n limit: formState?.tableForm?.limit || 10,\n offset: formState?.tableForm?.offset || 0,\n sortBy: formState?.tableForm?.sortBy || \"createdTime\",\n sortOrder: formState?.tableForm?.sortOrder || \"DESC\",\n };\n\n const mobileNumber = formState?.searchForm?.mobileNumber || \"\";\n const isSearchActive = !!mobileNumber;\n\n const filters = {\n ...paginationParms,\n status: \"ACTIVE,DISABLED\",\n };\n\n if (isSearchActive) {\n filters.mobileNumber = mobileNumber;\n }\n\n const { data: dashboardData, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, filters, { enabled: !!tenantId, keepPreviousData: true });\n\n const { isLoading: isDataSearchLoading, data } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const sourceData = useMemo(() => {\n return dashboardData?.surveyors || [];\n }, [dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n const owner = item?.owner || {};\n const roleCodes = owner?.roles?.map((role) => role.code)?.join(\", \") || \"\";\n\n return {\n ...item,\n id: item?.id || \"\",\n surveyorName: item?.name || owner?.name || \"\",\n mobileNo: item?.mobileNo || owner?.mobileNumber || \"\",\n email: owner?.emailId || \"\",\n vendorId: item?.vendorId || \"\",\n tenantId: item?.tenantId || \"\",\n supervisorId: item?.supervisorId || \"\",\n status: item?.status || \"\",\n roleCodes,\n userName: owner?.userName || \"\",\n gender: owner?.gender || \"\",\n serviceType: item?.additionalDetails?.serviceType || \"\",\n createdTime: item?.auditDetails?.createdTime || 0,\n lastModifiedTime: item?.auditDetails?.lastModifiedTime || 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"mobile\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues } });\n dispatch({ action: \"mutateSearchForm\", data });\n };\n\n const searchFormDefaultValues = {\n mobileNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"mobileNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n });\n }\n }\n };\n\n const propsForInboxTable = SupervisorInboxTableConfig({\n ...{\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading;\n\n const cards = [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: data?.totalKnos || 0,\n color: \"#0B2559\",\n filter: null,\n active: true,\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: data?.totalAssignments || 0,\n color: \"#3B82F6\",\n filter: [\"ASSIGNED\"],\n type: \"week\",\n icon: <FaMapMarkedAlt />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: data?.completedKnos || 0,\n color: \"#10B981\",\n filter: [\"COMPLETED\"],\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: (data?.totalKnos || 0) - (data?.completedKnos || 0),\n color: \"#F59E0B\",\n filter: [\"PENDING\"],\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${data?.overallProgressPercent || 0}%`,\n color: \"#A855F7\",\n filter: [\"IN_PROGRESS\"],\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n // ...propsForMobileSortForm,\n propsForInboxTable,\n // propsForInboxMobileCards,\n formState,\n countData: dashboardData?.dashboardInfo,\n // cards,\n isCardLoading: isDataSearchLoading,\n }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\n","import React, { useMemo, useState } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\n\nconst AdminDashboard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const vendorsList = useMemo(() => {\n if (vendorSearchResponse && vendorSearchResponse.length > 0) {\n return vendorSearchResponse.map((v) => {\n const dso = v.dsoDetails || v;\n const supervisorsList = dso.supervisors || [];\n const surveyorsList = dso.surveyors || [];\n\n // Extract supervisor IDs for this vendor\n const supervisorIds = supervisorsList.map((s) => s.id || s.owner?.uuid).filter(Boolean);\n\n // Find supervisor reports in progressData matching these IDs\n const matchedReports = progressData?.supervisorReport?.filter(\n (r) => supervisorIds.includes(r.supervisorId)\n ) || [];\n\n const completed = matchedReports.reduce((acc, r) => acc + (r.submittedKnos || 0), 0);\n const pending = matchedReports.reduce((acc, r) => acc + (r.pendingKnos || 0), 0);\n const total = matchedReports.reduce((acc, r) => acc + (r.totalKnos || 0), 0);\n const progress = total > 0 ? Math.round((completed / total) * 100) : 0;\n const rejected = 0; // Default to 0 or calculate if data exists\n\n return {\n id: dso.id || dso.vendorId || v.id || v.vendorId,\n name: dso.name || dso.displayName || v.name || \"N/A\",\n ownerName: dso.owner?.name || v.owner?.name || \"N/A\",\n mobileNumber: dso.mobileNumber || dso.owner?.mobileNumber || v.mobileNumber || \"N/A\",\n supervisors: supervisorsList.length,\n surveyors: surveyorsList.length,\n completed: completed,\n progress: progress,\n pending: pending,\n rejected: rejected,\n };\n });\n }\n return [];\n }, [vendorSearchResponse, progressData]);\n\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n\n // Fetch all eKYC applications for the table\n const { data: applicationData, isFetching: isApplicationLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {},\n {\n tenantId,\n offset: currentPage * pageSize,\n limit: pageSize,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const fullName = loggedInUser?.name || \"Admin\";\n const mobileNumber = loggedInUser?.mobileNumber || \"N/A\";\n const email = loggedInUser?.emailId || \"N/A\";\n const roleText = loggedInUser?.roles?.map((r) => r.name).join(\", \") || \"EKYC Admin\";\n\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true,\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const name = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (name) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = name;\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n cleanObj[friendlyHeader] = val;\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_All_Data_Admin_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n return (\n <Card className=\"surveyor-dashboard\">\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n <div className=\"designation\">{t(\"EKYC_ADMIN\") || \"eKYC Admin / Manager\"}</div>\n <div className=\"mobile-number\">{mobileNumber}</div>\n\n </div>\n </div>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n style={{ margin: 0, padding: \"8px 16px\", height: \"auto\", minHeight: \"36px\", width: \"auto\" }}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" style={{ marginRight: \"8px\" }}>\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n\n {/* Vendor Cards Section */}\n <div style={{ marginTop: \"32px\" }}>\n <h3 style={{ fontSize: \"20px\", fontWeight: \"700\", color: \"#101828\", marginBottom: \"20px\" }}>\n {t(\"EKYC_VENDORS_PERFORMANCE\") || \"eKYC Vendors Performance\"}\n </h3>\n\n {isVendorSearchLoading || isProgressLoading ? (\n <Loader />\n ) : (\n <div style={{\n display: \"grid\",\n gridTemplateColumns: \"repeat(3, 1fr)\",\n gap: \"24px\",\n width: \"100%\"\n }}>\n {vendorsList.length === 0 ? (\n <div style={{ gridColumn: \"span 3\", textAlign: \"center\", padding: \"40px\", color: \"#64748B\", fontSize: \"16px\" }}>\n {t(\"NO_VENDORS_FOUND\") || \"No vendors found.\"}\n </div>\n ) : (\n vendorsList.map((vendor) => (\n <div\n key={vendor.id}\n onClick={() => history.push(`/digit-ui/employee/ekyc/vendors/${vendor.id}`)}\n style={{\n background: \"#ffffff\",\n border: \"1px solid #E2E8F0\",\n borderRadius: \"16px\",\n padding: \"24px\",\n boxShadow: \"0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03)\",\n cursor: \"pointer\",\n transition: \"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"space-between\",\n gap: \"16px\"\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.transform = \"translateY(-4px)\";\n e.currentTarget.style.boxShadow = \"0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04)\";\n e.currentTarget.style.borderColor = \"#CBD5E1\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.transform = \"translateY(0)\";\n e.currentTarget.style.boxShadow = \"0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03)\";\n e.currentTarget.style.borderColor = \"#E2E8F0\";\n }}\n >\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"flex-start\" }}>\n <div>\n <h4 style={{ fontSize: \"18px\", fontWeight: \"700\", color: \"#0B2559\", margin: 0 }}>\n {vendor.name}\n </h4>\n {/* <p style={{ fontSize: \"13px\", color: \"#64748B\", marginTop: \"4px\", marginBottom: 0 }}>\n {t(\"OWNER\") || \"Owner\"}: <span style={{ fontWeight: \"600\", color: \"#334155\" }}>{vendor.ownerName}</span>\n </p> */}\n <p style={{ fontSize: \"12px\", color: \"#64748B\", marginTop: \"2px\", marginBottom: 0 }}>\n {t(\"MOBILE\") || \"Mobile\"}: {vendor.mobileNumber}\n </p>\n </div>\n <span style={{\n background: \"#E0F2FE\",\n color: \"#0369A1\",\n padding: \"6px 12px\",\n borderRadius: \"999px\",\n fontSize: \"13px\",\n fontWeight: \"700\"\n }}>\n {vendor.progress}%\n </span>\n </div>\n\n <div style={{ width: \"100%\", height: \"8px\", background: \"#F1F5F9\", borderRadius: \"999px\", overflow: \"hidden\" }}>\n <div style={{ width: `${vendor.progress}%`, height: \"100%\", background: \"linear-gradient(90deg, #3B82F6 0%, #10B981 100%)\", borderRadius: \"999px\" }}></div>\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"repeat(3, 1fr)\", gap: \"12px\" }}>\n <div style={{ background: \"#F8FAFC\", padding: \"12px 8px\", borderRadius: \"10px\", textAlign: \"center\" }}>\n <div style={{ fontSize: \"16px\", fontWeight: \"700\", color: \"#1E293B\" }}>{vendor.supervisors}</div>\n <div style={{ fontSize: \"10px\", fontWeight: \"600\", color: \"#64748B\", textTransform: \"uppercase\", marginTop: \"4px\" }}>{t(\"SUPERVISORS\") || \"Supervisors\"}</div>\n </div>\n <div style={{ background: \"#F8FAFC\", padding: \"12px 8px\", borderRadius: \"10px\", textAlign: \"center\" }}>\n <div style={{ fontSize: \"16px\", fontWeight: \"700\", color: \"#1E293B\" }}>{vendor.surveyors}</div>\n <div style={{ fontSize: \"10px\", fontWeight: \"600\", color: \"#64748B\", textTransform: \"uppercase\", marginTop: \"4px\" }}>{t(\"SURVEYORS\") || \"Surveyors\"}</div>\n </div>\n <div style={{ background: \"#F8FAFC\", padding: \"12px 8px\", borderRadius: \"10px\", textAlign: \"center\" }}>\n <div style={{ fontSize: \"16px\", fontWeight: \"700\", color: \"#10B981\" }}>{vendor.completed}</div>\n <div style={{ fontSize: \"10px\", fontWeight: \"600\", color: \"#64748B\", textTransform: \"uppercase\", marginTop: \"4px\" }}>{t(\"COMPLETED\") || \"Completed\"}</div>\n </div>\n </div>\n\n <div style={{ display: \"flex\", justifyContent: \"space-between\", fontSize: \"12px\", color: \"#64748B\", borderTop: \"1px solid #F1F5F9\", paddingTop: \"12px\" }}>\n <span>{t(\"PENDING\") || \"Pending\"}: <span style={{ fontWeight: \"700\", color: \"#F59E0B\" }}>{vendor.pending}</span></span>\n <span>{t(\"REJECTED\") || \"Rejected\"}: <span style={{ fontWeight: \"700\", color: \"#EF4444\" }}>{vendor.rejected}</span></span>\n </div>\n </div>\n ))\n )}\n </div>\n )}\n </div>\n\n </Card>\n );\n};\n\nexport default AdminDashboard;\n","import { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation } from \"react-router-dom\";\nimport Dashboard from \"../../components/Dashboard\";\nimport CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard.js\";\nimport Inbox from \"./Inbox\";\nimport Mapping from \"./Mapping\";\nimport Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\";\nimport AssignEkyc from \"../../components/AssignEkyc.js\";\nimport AdminDashboard from \"../../components/AdminDashboard.js\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC inbox\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(\"ACTION_TEST_EKYC\"), path: `/digit-ui/employee/module/details` },\n ];\n\n // Child crumb — only appended when on a sub-page (not inbox/dashboard itself)\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/consumer-details\")) {\n crumbs.push({ label: t(\"EKYC_CONSUMER_DETAILS\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/employee/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/employee/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/ceo-dashboard\")) {\n crumbs.push({ label: t(\"CEO_M.F_DOR_FINANCE_VIEW\") });\n } else if (pathname.includes(\"/admin-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\" });\n } else if (pathname.includes(\"/vendors/\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DETAILS\") });\n } else if (pathname.includes(\"/mapping\")) {\n crumbs.push({ label: t(\"EKYC_MAPPING\") });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n }\n // dashboard & inbox → no child crumb (only \"eKYC Admin\" shown)\n\n return crumbs;\n };\n\n const formStepRoutes = [\"consumer-details\", \"address-details\", \"property-info\", \"meter-details\"];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n Back\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <div className=\"employee-form\">\n <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Create />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/mapping`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Mapping />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={formStepRoutes.map((route) => `${path}/${route}`)}\n component={(props) => (\n <LayoutWrapper layoutClass=\"normal\">\n <EKYCForm {...props} path={path} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review/:kno`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/ceo-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <CeoDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/admin-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AdminDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/vendors/:vendorId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n /> */}\n </Switch>\n </div>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst PropertyInfoConfig = (t, formData = {}, uploadFile, buildingImage, buildingImageId, setBuildingImage, setBuildingImageId) => {\n const propertyType = formData?.propertyType?.name || formData?.propertyType;\n const isHotel = propertyType === \"Hotel\";\n const isHospitalOrNursing = propertyType === \"Hospital\" || propertyType === \"Nursing Home\";\n\n const fields = [\n {\n label: t(\"PID Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"pidNumber\",\n },\n },\n {\n label: t(\"Property Type\"),\n isMandatory: false,\n type: \"custom\",\n key: \"propertyType\",\n populators: {\n name: \"propertyType\",\n component: (props) => (\n <Dropdown\n option={[\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sub Property Category\"),\n isMandatory: false,\n type: \"custom\",\n key: \"subPropertyCategory\",\n populators: {\n name: \"subPropertyCategory\",\n component: (props) => (\n <Dropdown\n option={[]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"No. of Floors\"),\n isMandatory: true,\n type: \"number\",\n populators: {\n name: \"noOfFloors\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Floor No. of this KNO\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"floorNo\",\n },\n },\n {\n label: isHospitalOrNursing ? t(\"No of Beds\") : t(\"No of Beds\"),\n isMandatory: isHospitalOrNursing,\n type: \"number\",\n populators: {\n name: \"noOfBeds\",\n validation: isHospitalOrNursing ? { required: true, min: 1 } : {},\n },\n },\n {\n label: isHotel ? t(\"No. of Rooms\") : t(\"No. of Rooms\"),\n isMandatory: isHotel,\n type: \"number\",\n populators: {\n name: \"noOfRooms\",\n validation: isHotel ? { required: true, min: 1 } : {},\n },\n },\n {\n label: t(\"Number of Dwelling Units\"),\n isMandatory: false,\n type: \"number\",\n populators: {\n name: \"dwellingUnits\",\n },\n },\n {\n label: t(\"Building Image\"),\n isMandatory: true,\n type: \"custom\",\n key: \"buildingImage\",\n populators: {\n name: \"buildingImage\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {buildingImage && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n },\n ];\n\n return [\n {\n head: t(\"EKYC_PROPERTY_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default PropertyInfoConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport PropertyInfoConfig from \"../config/PropertyInfoConfig\";\n\nconst PropertyInfo = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"PROPERTY\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.propertyDetails || {};\n\n // 🔹 STATES\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n pidNumber: savedData.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : null,\n subPropertyCategory: savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null,\n noOfFloors: savedData.noOfFloors || \"\",\n floorNo: savedData.floorNo || \"\",\n noOfRooms: savedData.noOfRooms || \"\",\n noOfBeds: savedData.noOfBeds || \"\",\n dwellingUnits: savedData.dwellingUnits || \"\",\n buildingImage: savedData.buildingImageId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || rawData || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !isDataLoaded) {\n let propType = null;\n let subPropCat = null;\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ].find((type) => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) propType = matchingType;\n else propType = { name: propertyInfo.subPropertyCategory };\n subPropCat = { name: propertyInfo.subPropertyCategory };\n }\n\n if (propertyInfo.propertyType) {\n subPropCat = { name: propertyInfo.propertyType };\n if (!propertyInfo.subPropertyCategory) propType = { name: propertyInfo.propertyType };\n }\n\n const updatedDefaults = {\n pidNumber: savedData.pidNumber || propertyInfo.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : propType,\n subPropertyCategory: savedData.subPropertyCategory\n ? { name: savedData.subPropertyCategory }\n : subPropCat,\n noOfFloors:\n savedData.noOfFloors ||\n (propertyInfo.numberOfFloors || propertyInfo.noOfFloor\n ? String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor)\n : \"\"),\n floorNo: savedData.floorNo || propertyInfo.floorNo || \"\",\n noOfRooms:\n savedData.noOfRooms ||\n (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined\n ? String(propertyInfo.numberOfRooms)\n : \"\"),\n noOfBeds:\n savedData.noOfBeds ||\n (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined\n ? String(propertyInfo.numberOfBeds)\n : \"\"),\n dwellingUnits:\n savedData.dwellingUnits ||\n (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined\n ? String(propertyInfo.numberOfDwellingUnits)\n : \"\"),\n buildingImage: savedData.buildingImageId || propertyInfo.buildingImageFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.buildingImage) {\n setBuildingImageId(updatedDefaults.buildingImage);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setBuildingImageId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setBuildingImage(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Check if propertyType changed to re-evaluate mandatory validation or conditional visibility\n const propertyTypeChanged =\n (data?.propertyType?.name || data?.propertyType) !==\n (localFormData?.propertyType?.name || localFormData?.propertyType);\n\n if (propertyTypeChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const propTypeVal = data?.propertyType;\n const subPropCatVal = data?.subPropertyCategory;\n const noOfFloorsVal = data?.noOfFloors;\n const buildingImgId = buildingImageId || data?.buildingImage;\n const noOfRoomsVal = data?.noOfRooms;\n const noOfBedsVal = data?.noOfBeds;\n\n let valid = true;\n if (!propTypeVal) valid = false;\n if (!subPropCatVal) valid = false;\n if (!noOfFloorsVal || Number(noOfFloorsVal) < 1) valid = false;\n if (!buildingImgId) valid = false;\n\n if (propTypeVal?.name === \"Hotel\" && !noOfRoomsVal) valid = false;\n if (\n (propTypeVal?.name === \"Hospital\" || propTypeVal?.name === \"Nursing Home\") &&\n !noOfBedsVal\n )\n valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n pidNumber: data.pidNumber,\n propertyType: data.propertyType?.name || data.propertyType,\n subPropertyCategory: data.subPropertyCategory?.name || data.subPropertyCategory,\n noOfFloors: data.noOfFloors,\n floorNo: data.floorNo,\n noOfRooms: data.noOfRooms,\n noOfBeds: data.noOfBeds,\n dwellingUnits: data.dwellingUnits,\n buildingImageId: buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Property details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update property details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = PropertyInfoConfig(\n t,\n localFormData,\n handleUpload,\n buildingImage,\n buildingImageId,\n setBuildingImage,\n setBuildingImageId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetailsConfig = (t, formData = {}, uploadPhoto, meterPhoto, meterPhotoId, setMeterPhoto, setMeterPhotoId) => {\n const meterStatus = formData?.meterStatus?.name || formData?.meterStatus;\n const lastBillReceived = formData?.lastBillReceived?.name || formData?.lastBillReceived;\n const sewerConnection = formData?.sewerConnection?.name || formData?.sewerConnection;\n\n const isFrozen = meterStatus === \"Can not be identified\";\n\n // Generate Month-Year Options (1998–2026)\n const monthYearOptions = [];\n for (let y = 1998; y <= 2026; y++) {\n for (let m = 1; m <= 12; m++) {\n monthYearOptions.push({ name: `${m}/${y}` });\n }\n }\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const fields = [\n {\n label: t(\"Connection Category\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"connectionCategory\",\n validation: { required: true },\n },\n },\n {\n label: t(\"SA Type\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"saType\",\n },\n },\n {\n label: t(\"Status\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"status\",\n },\n },\n {\n label: t(\"MR Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrCode\",\n },\n },\n {\n label: t(\"Area Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"areaCode\",\n },\n },\n {\n label: t(\"MR Key\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrKey\",\n },\n },\n ];\n\n // 🔹 Non-frozen fields\n if (!isFrozen) {\n fields.push(\n {\n label: t(\"Meter Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterNumber\",\n },\n },\n {\n label: t(\"Meter Maker\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterMaker\",\n },\n },\n {\n label: t(\"Meter Condition\"),\n isMandatory: false,\n type: \"custom\",\n key: \"meterCondition\",\n populators: {\n name: \"meterCondition\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Damaged\" }, { name: \"Not-Damaged\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (meterStatus === \"Metered\") {\n fields.push({\n label: t(\"Meter Photo\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterPhoto\",\n populators: {\n name: \"meterPhoto\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadPhoto(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setMeterPhoto(null);\n setMeterPhotoId(null);\n }}\n message={meterPhotoId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {meterPhoto && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={meterPhoto}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n });\n }\n }\n\n // 🔹 Standard fields after the conditional section\n fields.push(\n {\n label: t(\"Meter Status\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterStatus\",\n populators: {\n name: \"meterStatus\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Metered\" }, { name: \"Unmetered\" }, { name: \"Can not be identified\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Meter Location\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterLocation\",\n populators: {\n name: \"meterLocation\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Inside\" }, { name: \"Outside\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Last Bill Received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"lastBillReceived\",\n populators: {\n name: \"lastBillReceived\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n // 🔹 Bill-received fields\n if (lastBillReceived === \"Yes\") {\n fields.push({\n label: t(\"When was the last bill received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"billMonthYear\",\n populators: {\n name: \"billMonthYear\",\n component: (props) => (\n <Dropdown\n option={monthYearOptions}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n } else if (lastBillReceived === \"No\") {\n fields.push({\n label: t(\"Reason *\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"reason\",\n validation: { required: true },\n },\n });\n }\n\n fields.push(\n {\n label: t(\"Access to Meter\"),\n isMandatory: false,\n type: \"custom\",\n key: \"accessToMeter\",\n populators: {\n name: \"accessToMeter\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sewer Connection\"),\n isMandatory: true,\n type: \"custom\",\n key: \"sewerConnection\",\n populators: {\n name: \"sewerConnection\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (sewerConnection === \"No\") {\n fields.push({\n label: t(\"Septic Tank\"),\n isMandatory: true,\n type: \"custom\",\n key: \"septicTank\",\n populators: {\n name: \"septicTank\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n }\n\n return [\n {\n head: t(\"EKYC_METER_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default MeterDetailsConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport MeterDetailsConfig from \"../config/MeterDetailsConfig\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"METER\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.meterDetails || {};\n\n // 🔹 STATES\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n connectionCategory: savedData.connectionCategory || \"\",\n saType: savedData.saType || \"\",\n status: savedData.status || \"\",\n mrCode: savedData.mrCode || \"\",\n areaCode: savedData.areaCode || \"\",\n mrKey: savedData.mrKey || \"\",\n meterNumber: savedData.meterNumber || \"\",\n meterMaker: savedData.meterMaker || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : null,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : null,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : null,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : null,\n reason: savedData.reason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : null,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : null,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : null,\n meterPhoto: savedData.meterPhotoId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !isDataLoaded) {\n let mStatus = null;\n let mCondition = null;\n let mLoc = null;\n let billRec = null;\n let billMonYr = null;\n let accToMeter = null;\n let sewerConn = null;\n let sepTank = null;\n\n if (apiMeter.meterStatus) {\n const matchingStatus = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ].find((o) => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) mStatus = matchingStatus;\n else mStatus = { name: apiMeter.meterStatus };\n } else if (apiMeter.metered !== undefined) {\n mStatus = { name: apiMeter.metered ? \"Metered\" : \"Unmetered\" };\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = [{ name: \"Damaged\" }, { name: \"Not-Damaged\" }].find(\n (o) => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase()\n );\n if (matchingCond) mCondition = matchingCond;\n else mCondition = { name: apiMeter.meterCondition };\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = [{ name: \"Inside\" }, { name: \"Outside\" }].find(\n (o) =>\n o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() ||\n apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase())\n );\n if (matchingLoc) mLoc = matchingLoc;\n else mLoc = { name: apiMeter.meterLocation };\n }\n\n if (apiMeter.lastBillRaised !== undefined && apiMeter.lastBillRaised !== null) {\n const strVal = String(apiMeter.lastBillRaised).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") billRec = { name: \"Yes\" };\n else billRec = { name: \"No\" };\n }\n\n if (apiMeter.lastBillReceivedDate) {\n const formatted = apiMeter.lastBillReceivedDate.replace(\"-\", \"/\");\n const parsedParts = formatted.split(\"/\");\n if (parsedParts.length === 2) {\n const mon = parseInt(parsedParts[0], 10);\n const yr = parseInt(parsedParts[1], 10);\n billMonYr = { name: `${mon}/${yr}` };\n } else {\n billMonYr = { name: apiMeter.lastBillReceivedDate };\n }\n }\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") accToMeter = { name: \"Yes\" };\n else accToMeter = { name: \"No\" };\n }\n\n if (apiMeter.sewerConnection !== undefined && apiMeter.sewerConnection !== null) {\n const strVal = String(apiMeter.sewerConnection).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sewerConn = { name: \"Yes\" };\n else sewerConn = { name: \"No\" };\n }\n\n if (apiMeter.septicTank !== undefined && apiMeter.septicTank !== null) {\n const strVal = String(apiMeter.septicTank).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sepTank = { name: \"Yes\" };\n else sepTank = { name: \"No\" };\n }\n\n const updatedDefaults = {\n connectionCategory: savedData.connectionCategory || apiMeter.connectionCategory || \"\",\n saType: savedData.saType || apiMeter.saType || \"\",\n status: savedData.status || apiMeter.statusFlag || \"\",\n mrCode: savedData.mrCode || (apiMeter.mrcode ? String(apiMeter.mrcode) : \"\"),\n areaCode: savedData.areaCode || (apiMeter.areacode ? String(apiMeter.areacode) : \"\"),\n mrKey: savedData.mrKey || (apiMeter.mrkey ? String(apiMeter.mrkey) : \"\"),\n meterNumber: savedData.meterNumber || apiMeter.meterNumber || \"\",\n meterMaker: savedData.meterMaker || apiMeter.meterMake || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : mStatus,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : mCondition,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : mLoc,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : billRec,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : billMonYr,\n reason: savedData.reason || apiMeter.lastBillNotRaisedReason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : accToMeter,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : sewerConn,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : sepTank,\n meterPhoto: savedData.meterPhotoId || apiMeter.meterPhotoFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.meterPhoto) {\n setMeterPhotoId(updatedDefaults.meterPhoto);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setMeterPhotoId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n const meterStatusChanged =\n (data?.meterStatus?.name || data?.meterStatus) !==\n (localFormData?.meterStatus?.name || localFormData?.meterStatus);\n\n const lastBillReceivedChanged =\n (data?.lastBillReceived?.name || data?.lastBillReceived) !==\n (localFormData?.lastBillReceived?.name || localFormData?.lastBillReceived);\n\n const sewerConnectionChanged =\n (data?.sewerConnection?.name || data?.sewerConnection) !==\n (localFormData?.sewerConnection?.name || localFormData?.sewerConnection);\n\n if (meterStatusChanged || lastBillReceivedChanged || sewerConnectionChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const connCatVal = data?.connectionCategory;\n const mStatusVal = data?.meterStatus;\n const mLocVal = data?.meterLocation;\n const billRecVal = data?.lastBillReceived;\n const sewerConnVal = data?.sewerConnection;\n const mPhotoId = meterPhotoId || data?.meterPhoto;\n const reasonVal = data?.reason;\n const billMonYrVal = data?.billMonthYear;\n const sepTankVal = data?.septicTank;\n\n let valid = true;\n if (!connCatVal) valid = false;\n if (!mStatusVal) valid = false;\n if (!mLocVal) valid = false;\n if (!billRecVal) valid = false;\n if (!sewerConnVal) valid = false;\n\n if (mStatusVal?.name === \"Metered\" && !mPhotoId) valid = false;\n if (billRecVal?.name === \"No\" && !reasonVal) valid = false;\n if (billRecVal?.name === \"Yes\" && !billMonYrVal) valid = false;\n if (sewerConnVal?.name === \"No\" && !sepTankVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n connectionCategory: data.connectionCategory,\n saType: data.saType,\n status: data.status,\n mrCode: data.mrCode,\n areaCode: data.areaCode,\n mrKey: data.mrKey,\n meterNumber: data.meterNumber,\n meterMaker: data.meterMaker,\n meterStatus: data.meterStatus?.name || data.meterStatus,\n meterCondition: data.meterCondition?.name || data.meterCondition,\n meterLocation: data.meterLocation?.name || data.meterLocation,\n lastBillReceived: data.lastBillReceived?.name || data.lastBillReceived,\n billMonthYear: data.billMonthYear?.name || data.billMonthYear,\n reason: data.reason,\n accessToMeter: data.accessToMeter?.name || data.accessToMeter,\n sewerConnection: data.sewerConnection?.name || data.sewerConnection,\n septicTank: data.septicTank?.name || data.septicTank,\n meterPhotoId: meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Meter details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update meter details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = MeterDetailsConfig(\n t,\n localFormData,\n handleUpload,\n meterPhoto,\n meterPhotoId,\n setMeterPhoto,\n setMeterPhotoId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CitizenHomeCard, DocumentIcon } from \"@djb25/digit-ui-react-components\";\n\nconst Home = () => {\n const { t } = useTranslation();\n const propsForModuleCard = {\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: [\n {\n count: \"-\",\n label: t(\"TOTAL_EKYC\"),\n link: `/digit-ui/citizen/ekyc/dashboard`,\n },\n ],\n links: [],\n };\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code) : [];\n\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n propsForModuleCard.links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/surveyor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push(\n {\n label: t(\"EKYC_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/dashboard`,\n },\n {\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/citizen/ekyc/inbox`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/citizen/ekyc/assign`,\n }\n );\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/supervisor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/vendor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n\n if (roles.length === 1 && roles.includes(\"CITIZEN\")) {\n propsForModuleCard.links.push(\n // {\n // label: t(\"EKYC_CREATE_KYC\"),\n // link: `/digit-ui/citizen/ekyc/create-kyc`,\n // },\n // {\n // label: t(\"EKYC_UPDATE_KYC\"),\n // link: `/digit-ui/citizen/ekyc/update-kyc`,\n // },\n {\n label: t(\"EKYC_STATUS\"),\n link: `/digit-ui/citizen/ekyc/:id`,\n }\n );\n }\n\n const formattedLinks = propsForModuleCard.links.map((l) => ({\n i18nKey: l.label,\n link: l.link,\n count: l.count,\n }));\n\n return (\n <CitizenHomeCard\n header={t(\"EKYC_MODULE_NAME\")}\n links={formattedLinks}\n Icon={() => <DocumentIcon className=\"fill-path-primary-main\" />}\n />\n );\n};\n\nexport default Home;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 20,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 20,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return dashboardData?.consumerList || [];\n }, [isSearchActive, searchData, dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n const searchDetails = item.connectionDetails || {};\n const fullName = (searchDetails.firstName || searchDetails.middleName || searchDetails.lastName)\n ? `${searchDetails.firstName || \"\"} ${searchDetails.middleName || \"\"} ${searchDetails.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : searchDetails.consumerName || \"\";\n\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: fullName,\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: fullName,\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = (item.firstName || item.middleName || item.lastName)\n ? `${item.firstName || \"\"} ${item.middleName || \"\"} ${item.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : item.consumerName || item.citizenName || \"\";\n\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: fullName,\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName,\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 20,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n // ...propsForMobileSortForm,\n propsForInboxTable,\n // propsForInboxMobileCards,\n formState,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\nimport { downloadSupervisorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst SupervisorDetailsCard = () => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { id: supervisorId } = useParams();\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const supervisor = useMemo(() => {\n if (!progressData?.supervisorReport) return null;\n if (supervisorId) {\n return progressData.supervisorReport.find((s) => s.supervisorId === supervisorId) || progressData.supervisorReport[0];\n }\n const userUuid = loggedInUser?.uuid;\n if (userUuid) {\n return progressData.supervisorReport.find((s) => s.supervisorId === userUuid) || progressData.supervisorReport[0];\n }\n return progressData.supervisorReport[0];\n }, [progressData, supervisorId, loggedInUser?.uuid]);\n\n const fullName = supervisor?.supervisorName || loggedInUser?.name || \"N/A\";\n const mobileNumber = supervisor?.mobileNo || loggedInUser?.mobileNumber || \"N/A\";\n const email = loggedInUser?.emailId || \"N/A\";\n const gender = loggedInUser?.gender || \"N/A\";\n const status = supervisor ? \"ACTIVE\" : \"N/A\";\n const assignedZone = supervisor?.assignedZoneId || \"N/A\";\n const vendorName = \"N/A\";\n\n const surveyors = useMemo(() => {\n return supervisor?.surveyors || [];\n }, [supervisor]);\n\n // const cards = useMemo(() => [\n // {\n // label: \"TOTAL_EKYC_APPLICATIONS\",\n // count: progressData?.totalKnos || supervisor?.totalKnos || 0,\n // color: \"#0B2559\",\n // type: \"today\",\n // icon: <FaUsers />,\n // },\n // {\n // label: \"TOTAL_ASSIGNMENTS\",\n // count: progressData?.totalAssignments || supervisor?.totalKnos || 0,\n // color: \"#3B82F6\",\n // type: \"week\",\n // icon: <FaMapMarkedAlt />,\n // },\n // {\n // label: \"EKYC_COMPLETED\",\n // count: progressData?.completedKnos || supervisor?.submittedKnos || 0,\n // color: \"#10B981\",\n // type: \"month\",\n // icon: <FaCheckCircle />,\n // },\n // {\n // label: \"PENDING_APPLICATIONS\",\n // count: (progressData?.totalKnos || supervisor?.totalKnos || 0) - (progressData?.completedKnos || supervisor?.submittedKnos || 0),\n // color: \"#F59E0B\",\n // type: \"pending\",\n // icon: <FaClock />,\n // },\n // {\n // label: \"OVERALL_PROGRESS\",\n // count: `${progressData?.overallProgressPercent || supervisor?.progressPercent || 0}%`,\n // color: \"#A855F7\",\n // type: \"progress\",\n // icon: <FaChartLine />,\n // },\n // ], [progressData, supervisor]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const paginatedSurveyors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return surveyors.slice(start, end);\n }, [surveyors, currentPage, pageSize]);\n\n const surveyorColumns = useMemo(\n () => [\n {\n Header: t(\"SURVEYOR_NAME\") || \"Surveyor Name\",\n accessor: (row) => row?.surveyorName || \"N/A\",\n Cell: ({ row }) => (\n <a\n href={`/digit-ui/citizen/ekyc/surveyor-dashboard/${row.original.surveyorId}`}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n >\n {row.original?.surveyorName || \"N/A\"}\n </a>\n ),\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: () => \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || 0}%`,\n id: \"overallProgress\",\n }\n ],\n [t]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n // const handleDownload = () => {\n // setReportLoading(true);\n // try {\n // const rowsWithStats = surveyors.map((s) => ({\n // name: s.surveyorName,\n // mobileNo: s.mobileNo,\n // status: \"ACTIVE\",\n // total: s.totalKnos,\n // completed: s.submittedKnos,\n // pending: s.pendingKnos,\n // progress: `${s.progressPercent}%`\n // }));\n\n // downloadSupervisorPDF({\n // rows: rowsWithStats,\n // supervisorName: fullName,\n // mobileNumber,\n // vendorName,\n // dashboardInfo: {\n // total: supervisor?.totalKnos || 0,\n // completed: supervisor?.submittedKnos || 0,\n // pending: supervisor?.pendingKnos || 0,\n // submittedCount: supervisor?.submittedKnos || 0,\n // },\n // t,\n // });\n // } catch (err) {\n // console.error(\"Failed to generate report:\", err);\n // } finally {\n // setReportLoading(false);\n // setShowReportMenu(false);\n // setShowCustomPicker(false);\n // }\n // };\n\n const handlePresetDownload = (filter) => {\n handleDownload();\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n handleDownload();\n };\n\n const handleDownloadEkycData = async () => {\n if (!surveyors || surveyors.length === 0) {\n alert(t(\"NO_SURVEYORS_ASSIGNED\") || \"No surveyors assigned to this supervisor.\");\n return;\n }\n\n setEkycDownloadLoading(true);\n try {\n // Fetch for each surveyor under this supervisor in parallel\n const fetchPromises = surveyors.map(s =>\n Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 5000,\n surveyorId: s.surveyorId || s.id,\n reportDownload: true\n }).catch(err => {\n console.error(`Error fetching applications for surveyor ${s.surveyorName}:`, err);\n return { consumerList: [] };\n })\n );\n\n const results = await Promise.all(fetchPromises);\n const consumerList = results.flatMap(res => res?.consumerList || []);\n\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = fullName;\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n cleanObj[friendlyHeader] = val;\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_Supervisor_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n // const StatCard = ({ title, value, type, isLoading, icon }) => (\n // <div className={`stat-card ${type}`}>\n // {isLoading ? (\n // <React.Fragment>\n // <div className=\"stat-title skeleton skeleton-text\"></div>\n // <div className=\"stat-value skeleton skeleton-number\"></div>\n // </React.Fragment>\n // ) : (\n // <React.Fragment>\n // <div className=\"stat-title\">{title}</div>\n // <div className=\"stat-value\">{value}</div>\n // {icon && <div className=\"stat-icon\">{icon}</div>}\n // </React.Fragment>\n // )}\n // </div>\n // );\n\n if (isProgressLoading) {\n return <Loader />;\n }\n\n if (!supervisor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SUPERVISOR_FOUND\")}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n <div className=\"designation\">{t(\"FIELD_SUPERVISOR\") || \"Field Supervisor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n {/* <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isProgressLoading}\n icon={card.icon}\n />\n ))}\n </div> */}\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{gender}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONE\") || \"Assigned Zone\"}</span>\n <span className=\"value\">{assignedZone}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\"}\n tableClass=\"ekycTable\"\n data={paginatedSurveyors}\n columns={surveyorColumns}\n isLoading={isProgressLoading}\n totalRecords={surveyors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(surveyors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(surveyors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default SupervisorDetailsCard;","import React, { useState, useEffect, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport {\n Card,\n CardHeader,\n CardText,\n Loader,\n StatusTable,\n Row,\n InboxComposer,\n VerticalTimeline,\n SubmitBar,\n} from \"@djb25/digit-ui-react-components\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\nconst EkycStatus = () => {\n const { t } = useTranslation();\n const { id } = useParams();\n const history = useHistory();\n\n // Separate states for the input form state and the triggered search query\n const [formState, setFormState] = useState({\n searchForm: {\n kNumber: id && id !== \":id\" ? id : \"\",\n },\n filterForm: {},\n });\n const [searchQuery, setSearchQuery] = useState(id && id !== \":id\" ? id : \"\");\n const [errorMsg, setErrorMsg] = useState(\"\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // Sync states with URL id parameter change (e.g. back navigation or page load)\n // Added strict equality check to prevent infinite re-render loop\n useEffect(() => {\n const currentKNumber = formState?.searchForm?.kNumber || \"\";\n const targetKNumber = id && id !== \":id\" ? id : \"\";\n if (currentKNumber !== targetKNumber) {\n setFormState({\n searchForm: { kNumber: targetKNumber },\n filterForm: {},\n });\n setSearchQuery(targetKNumber);\n }\n }, [id]);\n\n // Fetch eKYC review/status data - only triggers on 'searchQuery' state\n const { data: searchData, isLoading: isReviewLoading } = Digit.Hooks.ekyc.useEkycSearchReview(\n { kno: searchQuery, fetchType: \"REVIEW\" },\n tenantId,\n {\n enabled: !!searchQuery,\n retry: false,\n onError: (err) => {\n setErrorMsg(err?.message || t(\"EKYC_STATUS_NOT_FOUND\", \"eKYC Application not found.\"));\n },\n }\n );\n\n // Fetch connection/application details via useSearchConnection\n const { data: connectionSearchData, isLoading: isConnectionLoading } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchQuery } },\n { enabled: !!searchQuery, retry: false }\n );\n\n const isLoading = isReviewLoading || isConnectionLoading;\n\n const onSearchFormSubmit = (data) => {\n const val = data?.kNumber?.trim();\n if (!val) {\n setErrorMsg(t(\"EKYC_PLEASE_ENTER_KNO\", \"Please enter a valid K-Number.\"));\n return;\n }\n setErrorMsg(\"\");\n setFormState({\n searchForm: data,\n filterForm: {},\n });\n setSearchQuery(val);\n history.push(`/digit-ui/citizen/ekyc/${val}`);\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", \"\");\n setErrorMsg(\"\");\n setFormState({\n searchForm: { kNumber: \"\" },\n filterForm: {},\n });\n setSearchQuery(\"\");\n history.push(\"/digit-ui/citizen/ekyc/:id\");\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n const propsForInboxTable = {\n columns: [],\n data: [],\n limit: 10,\n offset: 0,\n };\n\n const propsForInboxMobileCards = {\n data: [],\n };\n\n const getStatusDetails = () => {\n if (!searchData) return null;\n const reviewWrapper = searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const appData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n const newData = appData?.newData || appData;\n const connection = newData?.connectionDetails || newData || {};\n\n const naText = t(\"CS_NA\", \"N/A\");\n const connRaw = connectionSearchData?.connectionDetails || connectionSearchData || {};\n const addrRaw = connectionSearchData?.addressDetails || {};\n const propRaw = connectionSearchData?.propertyInfo || {};\n const meterRaw = connectionSearchData?.meterDetails || {};\n\n const rawStatus = (connection?.ekycStatus || connection?.ekycstatus || connRaw?.ekycStatus || propRaw?.ekycStatus || meterRaw?.ekycStatus || \"NA\").toUpperCase();\n\n const reviewName = connection?.consumerName || [newData?.firstName, newData?.middleName, newData?.lastName].filter(Boolean).join(\" \");\n const connName = connRaw?.consumerName || [connRaw?.firstName, connRaw?.middleName, connRaw?.lastName].filter(Boolean).join(\" \");\n\n const reviewPhone = connection?.phoneNumber || connection?.mobileNo || connection?.mobileNumber;\n const connPhone = connRaw?.phoneNumber || connRaw?.mobileNo || connRaw?.mobileNumber || addrRaw?.mobileNo || addrRaw?.phoneNumber || addrRaw?.mobileNumber;\n\n const reviewType = connection?.connectionType || connection?.connectionCategory;\n const connType = connRaw?.connectionType || connRaw?.connectionCategory || connRaw?.knoCategory || propRaw?.connectionType || propRaw?.connectionCategory || meterRaw?.connectionCategory;\n\n return {\n kno: connection?.knumber || connection?.kno || connRaw?.knumber || connRaw?.kno || searchQuery,\n consumerName: (reviewName && reviewName !== naText && reviewName !== \"\") ? reviewName : (connName || naText),\n phoneNumber: (reviewPhone && reviewPhone !== naText && reviewPhone !== \"\") ? reviewPhone : (connPhone || naText),\n connectionType: (reviewType && reviewType !== naText && reviewType !== \"\") ? reviewType : (connType || naText),\n status: rawStatus,\n };\n };\n\n const details = getStatusDetails();\n\n // Visual Stepper configuration for VerticalTimeline\n const timelineConfig = [\n {\n route: \"submitted\",\n timeLine: [\n {\n currentStep: 1,\n actions: t(\"EKYC_STEP_SUBMITTED\", \"eKYC Survey Submitted\"),\n },\n ],\n },\n {\n route: \"verification\",\n timeLine: [\n {\n currentStep: 2,\n actions: t(\"EKYC_STEP_UNDER_VERIFICATION\", \"Under Verification\"),\n },\n ],\n },\n {\n route: \"zro-decision\",\n timeLine: [\n {\n currentStep: 3,\n actions: t(\"EKYC_STEP_ZRO_DECISION\", \"ZRO Decision\"),\n },\n ],\n },\n ];\n\n let activeStepIndex = 0;\n if (details) {\n if (details.status === \"APPROVED\") {\n activeStepIndex = 3;\n } else if (details.status === \"REJECTED\") {\n activeStepIndex = 2;\n } else if (details.status === \"PENDING_FOR_VERIFICATION\") {\n activeStepIndex = 1;\n } else {\n activeStepIndex = 1;\n }\n }\n\n const getStatusText = (status) => {\n const key = `EKYC_STATUS_${status}`;\n const val = t(key);\n if (val === key) {\n if (status === \"APPROVED\") return \"Approved\";\n if (status === \"REJECTED\") return \"Rejected\";\n if (status === \"PENDING_FOR_VERIFICATION\") return \"Pending For Verification\";\n return status;\n }\n return val;\n };\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n {!isLoading && details && (\n <VerticalTimeline config={timelineConfig} currentActiveIndex={activeStepIndex} />\n )}\n <div className=\"employee-form-section\">\n <div className=\"single-page-form-container\">\n {/* 1. Search Form Card rendered with InboxComposer */}\n <Card className=\"ekyc-status-search-card\">\n <CardHeader className=\"ekyc-status-card-header\">\n {t(\"EKYC_APPLICATION_STATUS_TRACKER\", \"eKYC Application Status\")}\n </CardHeader>\n <CardText className=\"ekyc-status-card-text\">\n {t(\"EKYC_STATUS_TRACKER_SUBHEADER\", \"Enter your K-Number below to track the real-time status of your eKYC application.\")}\n </CardText>\n\n <div className=\"status-search-composer-wrapper\">\n <InboxComposer\n {...{\n isInboxLoading: false,\n ...propsForSearchForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n }}\n />\n </div>\n </Card>\n\n {errorMsg && (\n <div className=\"ekyc-status-error-msg\">\n {errorMsg}\n </div>\n )}\n\n {/* 2. Results Card */}\n {isLoading && <Loader />}\n\n {!isLoading && details && (\n <Card className=\"ekyc-status-results-card\">\n {/* Status overview and badge */}\n <div className=\"ekyc-status-overview-header\">\n <div>\n <span className=\"ekyc-status-label-title\">\n {t(\"EKYC_CURRENT_STATUS\", \"Current Status\")}\n </span>\n <div className=\"ekyc-status-value-text\">\n {getStatusText(details.status)}\n </div>\n </div>\n <span className={`ekyc-status-badge ${details.status.toLowerCase()}`}>\n {details.status}\n </span>\n </div>\n\n {/* Details Table */}\n <div className=\"ekyc-status-details-section\">\n <h3 className=\"ekyc-status-details-title\">\n {t(\"EKYC_CONNECTION_SUMMARY\", \"Connection Summary\")}\n </h3>\n <StatusTable>\n <Row label={t(\"EKYC_K_NUMBER\", \"K-Number\")} text={details.kno} />\n <Row label={t(\"EKYC_CONSUMER_NAME\", \"Consumer Name\")} text={details.consumerName} />\n <Row label={t(\"EKYC_MOBILE_NO\", \"Mobile Number\")} text={details.phoneNumber} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\", \"Connection Type\")} text={details.connectionType} />\n </StatusTable>\n </div>\n\n {/* View Application button */}\n <div className=\"ekyc-status-action-section\" style={{ marginTop: \"24px\", display: \"flex\", justifyContent: \"flex-end\" }}>\n <SubmitBar\n label={t(\"EKYC_VIEW_APPLICATION\", \"View Application\")}\n onSubmit={() => history.push(`/digit-ui/citizen/ekyc/status/${details.kno}`)}\n />\n </div>\n </Card>\n )}\n </div>\n </div>\n </div>\n </React.Fragment>\n );\n\n \n};\n\nexport default EkycStatus;\n","import React from \"react\";\nimport { PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper, BackButton } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch } from \"react-router-dom\";\nimport AadhaarVerification from \"../../components/AadhaarVerification\";\nimport PropertyInfo from \"../../components/PropertyInfo\";\nimport MeterDetails from \"../../components/MeterDetails\";\nimport Review from \"../../components/Review\";\nimport Home from \"./Home\";\nimport Inbox from \"./Inbox\";\nimport AssignEkyc from \"../../components/AssignEkyc\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard\";\nimport EkycStatus from \"./EkycStatus\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n const { data: { stateInfo } = {} } = Digit.Hooks.useStore.getInitData();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC citizen home\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(\"EKYC_MODULE_NAME\"), path: `/digit-ui/citizen/ekyc` },\n ];\n\n // Child crumb — only appended when on a sub-page\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/aadhaar-verification\")) {\n crumbs.push({ label: t(\"EKYC_AADHAAR_VERIFICATION\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/citizen/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/citizen/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n } else if (pathname.includes(\"/supervisor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") });\n } else if (pathname.includes(\"/surveyor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n } else if (pathname.includes(\"/vendor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DASHBOARD\") || \"Vendor Dashboard\" });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/status/\") || /^\\/digit-ui\\/citizen\\/ekyc\\/[^/]+$/.test(pathname)) {\n const statusLabel = t(\"EKYC_STATUS\");\n crumbs.push({ label: statusLabel === \"EKYC_STATUS\" || statusLabel === \"STATUS\" ? \"eKYC Status\" : statusLabel });\n }\n // home (exact path) → no child crumb\n\n return crumbs;\n };\n\n // const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n // const isEkyAction = (!roles?.includes(\"EKYC_SURVEYOR\") || roles?.includes(\"EMPLOYEE\"))\n const isEkycHome = location.pathname === \"/digit-ui/citizen/ekyc\" || location.pathname === \"/digit-ui/citizen/ekyc/\";\n\n if (isEkycHome) {\n const isMobile = window.Digit.Utils.browser.isMobile();\n return (\n // <div className=\"moduleLinkHomePage\">\n // <img src={stateInfo?.bannerUrl} alt=\"noimagefound\" />\n // <BackButton className=\"moduleLinkHomePageBackButton\" />\n // {isMobile ? (\n // <h4\n // style={{\n // top: \"calc(16vw + 40px)\",\n // left: \"1.5rem\",\n // position: \"absolute\",\n // color: \"white\",\n // width: \"50px\",\n // fontSize: \"15px\",\n // marginTop: \"6px\",\n // }}\n // >\n // {t(\"MODULE_EKYC\")}\n // </h4>\n // ) : (\n // <h1 style={{ width: \"230px\", marginTop: \"15px\" }}>{t(\"MODULE_EKYC\")}</h1>\n // )}\n // <div className=\"moduleLinkHomePageModuleLinks\">\n // <Home />\n // </div>\n // </div>\n <div className=\"moduleLinkHomePage\">\n <div style={{ position: \"relative\" }}>\n <img src={stateInfo?.bannerUrl} alt=\"noimagefound\" />\n <BackButton className=\"moduleLinkHomePageBackButton\" />\n <div className=\"moduleTitle\">\n {isMobile ? <h4>{t(\"MODULE_EKYC\")}</h4> : <h1>{t(\"MODULE_EKYC\")}</h1>}\n </div>\n </div>\n\n <div className=\"moduleLinkHomePageModuleLinks\">\n <Home />\n </div>\n </div>\n );\n }\n\n return (\n <React.Fragment>\n <div className=\"ground-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <Switch>\n <PrivateRoute\n exact\n path={`${path}`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Home />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={[`${path}/vendor-dashboard/:vendorId`, `${path}/vendor-dashboard`, `${path}/dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AadhaarVerification />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/address-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AddressDetails />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <PropertyInfo />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <MeterDetails />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/status/:applicationId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/supervisor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <EkycStatus />\n </LayoutWrapper>\n )}\n />\n </Switch>\n </div>\n </React.Fragment>\n );\n};\n\nexport default CitizenApp;\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CitizenHomeCard, DocumentIcon, Loader } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"./components/EKYCCard\";\nimport Inbox from \"./components/Dashboard\";\nimport DesktopInbox from \"./components/DesktopInbox\";\nimport MobileInbox from \"./components/MobileInbox\";\nimport Filter from \"./components/Filter\";\nimport EmployeeApp from \"./pages/employee\";\nimport CitizenApp from \"./pages/citizen\";\nimport PropertyInfo from \"./components/PropertyInfo\";\nimport MeterDetails from \"./components/MeterDetails\";\nimport AadhaarVerification from \"./components/AadhaarVerification\";\n\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading } = Digit.Services.useStore({ stateCode, moduleCode, language });\n\n Digit.SessionStorage.set(\"EKYC_TENANTS\", tenants);\n\n useEffect(\n () =>\n Digit.LocalizationService.getLocale({\n modules: [`rainmaker-ekyc`, `rainmaker-${Digit.ULBService.getCurrentTenantId()}`],\n locale: Digit.StoreData.getCurrentLanguage(),\n tenantId: Digit.ULBService.getCurrentTenantId(),\n }),\n []\n );\n\n if (isLoading) {\n return <Loader page={true} />;\n }\n\n if (userType === \"employee\") {\n return <EmployeeApp path={path} url={url} userType={userType} tenants={tenants} />;\n } else return <CitizenApp />;\n};\n\nexport const EkycLinks = ({ matchPath, userType }) => {\n const { t } = useTranslation();\n const links = [\n {\n link: `${matchPath}/create-kyc`,\n i18nKey: t(\"EKYC_CREATE_KYC\"),\n },\n {\n link: `${matchPath}/update-kyc`,\n i18nKey: t(\"EKYC_UPDATE_KYC\"),\n },\n ];\n\n return <CitizenHomeCard header={t(\"EKYC_MODULE_NAME\")} links={links} Icon={() => <DocumentIcon className=\"fill-path-primary-main\" />} />;\n};\n\nconst componentsToRegister = {\n EKYCModule: EkycModule,\n EKYCCard,\n EKYCInbox: Inbox,\n EKYCDesktopInbox: DesktopInbox,\n EKYCMobileInbox: MobileInbox,\n EKYC_INBOX_FILTER: (props) => <Filter {...props} />,\n EkycLinks,\n AadhaarVerification,\n PropertyInfo,\n MeterDetails,\n};\n\nexport const initEkycComponents = () => {\n Object.entries(componentsToRegister).forEach(([key, value]) => {\n Digit.ComponentRegistryService.setComponent(key, value);\n });\n};\n\nexport default EkycModule;\n"],"names":["EKYCCard","_useTranslation","useTranslation","t","tenantId","Digit","ULBService","getCurrentTenantId","_Digit$Hooks$ekyc$use","Hooks","ekyc","useEkycApplicationList","offset","limit","enabled","listData","data","isLoading","totalCount","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","count","label","link","links","EmployeeModuleCard","getChartConstructor","C","Chartjs","StatusCards","_ref","countData","chartRef1","useRef","chartInstance1","total","pending","active","completed","actualCompleted","approved","efficiency","Math","round","healthPct","formatNumber","num","Intl","NumberFormat","format","useEffect","current","destroy","ctx1","getContext","ChartConstructor","type","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","className","map","item","key","style","background","ref","width","height","Dashboard","useEkycSurveyorDashboard","dashboardData","useMemo","info","dashboardInfo","rejected","Loader","Card","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","_useState","useState","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kno","push","kNumber","aadhaarData","columns","Header","accessor","Cell","_ref2","_row$original","_row$original2","row","original","applicationNumber","onClick","_ref3","_row$original3","citizenName","_ref4","_row$original4","status","_ref5","_row$original5","_row$original6","ekycStatus","ekycstatus","toUpperCase","_ref6","_row$original7","_row$original8","tableData","items","Array","isArray","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_extends","_searchParams","setSearchParams","onChange","prev","onSubmit","e","preventDefault","onClear","cleared","kName","HomeIcon","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","x1","y1","x2","y2","TextInput","target","placeholder","d","todaysAudits","auditChange","pendingCount","i","String","fromCharCode","MobileInbox","_data$items","mobileData","mobileNumber","Link","to","SubmitBar","length","DetailsCard","serviceRequestIdKey","linkPrefix","split","text","index","textAlign","Filter","statusMap","applyLocalFilters","clearAll","onStatusChange","newParams","FilterForm","handleSubmit","fn","onResetFilterForm","id","onMobileExclusiveFilterPopupFormClose","onClose","FilterFormField","fontWeight","Dropdown","option","optionKey","select","selected","ekycMockData","topKpis","totalWaterConnections","totalEkycCompleted","totalPending","totalRejected","agencyEkycCompleted","citizenSelfEkycCompleted","todaysEkyc","successRate","rejectionPercentage","executiveMetrics","totalSurveyors","totalSupervisors","activeJurisdictions","todaysGrowth","selfEkycAdoption","avgApprovalTime","riskZones","escalationsOpen","alerts","title","priority","change","district","heatmapData","intensity","dailyTrend","selfVsAgency","agency","citizen","pendingVsCompleted","rejectionAnalysis","success","vendors","name","assignedConnections","completedEkyc","selfEkyc","inactiveDemand","progress","supervisors","activeSurveyors","jurisdictions","dailyPerformance","day","zones","cluster","location","zroOffice","assemblyConstituency","gpsLocation","distanceFromFarthestPoint","activeDemand","pppZones","districtwiseInactiveTotal","ExecutiveLineChart","_ref$data","formattedData","agencyKyc","selfKyc","totalKyc","ResponsiveContainer","LineChart","margin","top","right","left","bottom","CartesianGrid","strokeDasharray","vertical","XAxis","dataKey","axisLine","tickLine","tick","fontSize","YAxis","Tooltip","cursor","contentStyle","border","borderRadius","boxShadow","labelStyle","marginBottom","Legend","verticalAlign","align","iconType","wrapperStyle","paddingBottom","Line","dot","activeDot","ExecutiveBarChart","_ref$categories","categories","_ref$xKey","xKey","minHeight","BarChart","itemStyle","series","Bar","radius","barSize","colors","ExecutivePieChart","_ref$dataKey","_ref$labelKey","labelKey","PieChart","Pie","nameKey","outerRadius","innerRadius","paddingAngle","entry","marginTop","CeoDashboard","_topKpis$todayEkyc","useLocation","query","setQuery","_useState2","statusFilter","setStatusFilter","basePath","pathname","replace","filters","filteredVendors","filter","vendor","keyword","toLowerCase","includes","some","zone","_zone$location","zoneRows","flatMap","sort","a","b","routeToVendor","vendorId","icon","FaUsers","variant","FaCheckCircle","FaClock","FaExclamationTriangle","FaUserTie","FaChartLine","card","_card$value$toLocaleS","_card$value","_card$value$toLocaleS2","toLocaleString","call","FaSearch","join","FaArrowRight","FaMapMarkedAlt","slice","_zone$activeDemand$to","_zone$activeDemand","_zone$pppZones$toLoca","_zone$pppZones","_zone$inactiveDemand$","_zone$inactiveDemand","min","max","alert","todayEkyc","_iteratorSymbol","Symbol","iterator","_asyncIteratorSymbol","asyncIterator","_catch","body","recover","result","then","_finallyRethrows","finalizer","bind","downloadSurveyorPDF","rows","surveyorName","employeeId","vendorName","supervisorName","initData","SessionStorage","get","tenants","tenantInfo","find","tenant","code","capitalize","substr","ulbCamel","ulb","email","phoneNumber","currentDate","Date","formattedDate","toLocaleDateString","month","year","formattedTime","toLocaleTimeString","hour","minute","second","hour12","downloadDateTime","isValDefined","val","undefined","details","asSectionHeader","values","submittedCount","window","Utils","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","console","error","Promise","resolve","reject","downloadVendorPDF","emailContact","mappedRows","firstName","mobileNo","lastName","zoneName","submittedAt","originalToLocaleDateString","prototype","progressIndex","_len2","arguments","args","_key2","apply","customT","VendorDetailsCard","_Digit$SessionStorage","_vendor$owner","_vendor$owner2","_vendorName$charAt","_useParams","useParams","useEkycAssignmentProgress","keepPreviousData","isProgressLoading","progressData","_Digit$Hooks$fsm$useD","fsm","useDsoSearch","vendorSearchResponse","isVendorSearchLoading","_Digit$Hooks$fsm$useS","useSupervisorSearch","supervisorSearchResponse","isSupervisorSearchLoading","loggedInUser","userUuid","uuid","userMobile","matchesUser","v","_v$owner","_v$owner2","_v$owner3","ownerUuid","owner","ownerMobile","matched","_v$dsoDetails","_v$dsoDetails2","dsoDetails","Number","matchedMock","_v$name","_loggedInUser$name","vendorSupervisors","mockSupList","from","_","totalKnos","random","submittedKnos","pendingKnos","progressPercent","currentVendorId","matchedSups","s","sup","_progressData$supervi","_sup$owner2","_sup$owner3","_sup$owner4","report","supervisorReport","_sup$owner","supervisorId","emailId","cards","hasRealData","reduce","acc","completedKnos","setCurrentPage","pageSize","setPageSize","_useState3","ekycDownloadLoading","setEkycDownloadLoading","handleDownloadEkycData","EkycService","application_list","reportDownload","response","consumerList","excludedKeys","headerMapping","middleName","gender","fatherOrHusbandName","relationship","dob","assembly","ward","pincode","mrkey","createdTime","lastModifiedTime","excelData","cleanObj","fullName","Boolean","Object","keys","forEach","friendlyHeader","cleanFileName","Download","Excel","_wasThrown","_result","paginatedSupervisors","start","end","supervisorColumns","href","textDecoration","_Digit$SessionStorage2","_Digit$SessionStorage3","_Digit$SessionStorage4","userType","_useState4","showReportMenu","setShowReportMenu","_useState5","customDate","setCustomDate","_useState6","showCustomPicker","setShowCustomPicker","_useState7","reportLoading","setReportLoading","reportMenuRef","handler","contains","document","addEventListener","removeEventListener","handleDownload","rowsWithStats","err","handlePresetDownload","handleCustomDownload","StatCard","Fragment","isPageLoading","charAt","disabled","p","idx","points","tableTitle","tableClass","isPaginationRequired","ceil","onFirstPage","onLastPage","useInboxTableConfig","_formState$tableForm","_formState$tableForm2","_formState$searchForm","formState","table","dispatch","checkPathName","onSortingByData","_ref$inboxStyles","inboxStyles","_ref$tableStyle","tableStyle","tableForm","tableColumnConfig","disableSortBy","disableSort","autoSort","manualPagination","initSortId","_formState$tableForm3","action","parseInt","_formState$tableForm4","searchForm","message","floor","SearchFormFieldsComponents","searchFormState","controlSearchForm","searchType","errors","Label","CustomTooltip","Controller","control","defaultValue","rules","pattern","render","CardLabelError","Inbox","_formState$searchForm3","_formState$searchForm4","formInitValue","filterForm","sortBy","sortOrder","_useReducer","useReducer","formReducer","queryParams","isListLoading","_Digit$Hooks$ekyc$use2","searchDetails","_formState$searchForm2","isSearchActive","_Digit$Hooks$ekyc$use3","useSearchConnection","isSearchLoading","searchData","sourceData","filteredData","_item$sla","isSearchItem","connectionDetails","_item$propertyInfo","_item$propertyInfo2","_item$connectionDetai","_item$propertyInfo3","_item$connectionDetai2","_item$connectionDetai3","_item$connectionDetai4","_item$connectionDetai5","applicationNo","propertyInfo","connectionNo","consumerName","statusflag","sla","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","state","payload","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","isInboxLoading","InboxComposer","MOCK_SURVEYORS","role","MOCK_MRDS","Mapping","selectedSurveyor","setSelectedSurveyor","selectedMRD","setSelectedMRD","mappings","setMappings","editingId","setEditingId","editSurveyor","setEditSurveyor","editMRD","setEditMRD","deleteTarget","setDeleteTarget","_useState8","toast","setToast","handleAddMapping","exists","m","surveyorId","mrdCode","now","mrdName","handleEditStart","handleEditSave","duplicate","handleEditCancel","handleDeleteConfirm","handleSaveMappings","isEditing","gap","EditIcon","DeleteIcon","xmlns","CardHeader","CardText","LabelFieldPair","CardLabel","justifyContent","tableClassName","ActionBar","Modal","headerBarMain","headerBarEnd","actionSaveLabel","actionSaveOnSubmit","actionCancelLabel","actionCancelOnSubmit","Toast","warning","isDsc","ConnectionDetailsView","_useRouteMatch","useRouteMatch","path","showModal","setShowModal","selectedOption","setSelectedOption","handleStartVerification","onModalConfirm","parentPath","statusFlag","isActive","meterNumber","connectionType","address","x","y","rx","ry","lastVerified","RadioButtons","optionsKey","onSelect","flexDirection","buttonStyle","Create","saved","sessionStorage","getItem","JSON","parse","searchPerformed","setSearchPerformed","showToast","setShowToast","_Digit$Hooks$useSessi","useSessionStorage","formParams","clearParams","onError","_error$response","_error$response$data","_error$response$data$","_error$response$data$2","Errors","removeItem","isSearching","handleSearch","params","currentKno","startsWith","setItem","stringify","closeToast","ActionButton","jumpTo","routeTo","LinkButton","checkForNA","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","overflow","borderBottom","alignItems","CardSubHeader","borderCollapse","tableLayout","textTransform","field","valNew","valOld","isChanged","borderTop","isBool","Review","_newDataRaw$connectio","_newDataRaw$connectio2","_newDataRaw$connectio3","_newDataRaw$address","_newDataRaw$address2","_newDataRaw$address3","_newDataRaw$address4","_newDataRaw$address5","_newDataRaw$address6","_newDataRaw$address7","_newDataRaw$address8","_newDataRaw$address9","_newDataRaw$address0","_newDataRaw$address1","_newDataRaw$address10","_newDataRaw$address11","_newDataRaw$address12","_newDataRaw$address13","_newDataRaw$address14","_newDataRaw$property","_newDataRaw$property2","_editedProperty$conne","_newDataRaw$property3","_editedProperty$conne2","_newDataRaw$property4","_editedProperty$userT","_newDataRaw$property5","_editedProperty$noOfF","_newDataRaw$property6","_newDataRaw$property7","_newDataRaw$meter","_editedMeter$meterSta","_newDataRaw$meter2","_newDataRaw$meter3","_newDataRaw$meter4","_newDataRaw$meter5","_editedMeter$workingS","_newDataRaw$meter6","_editedMeter$lastBill","_newDataRaw$meter7","_newDataRaw$meter8","applicationId","agree","setAgree","isSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","showOptions","setShowOptions","toastData","setToastData","_flowState$edits","edits","activeKno","_edits$aadhaarData","_edits$addressDetails","addressDetails","editedAddress","_edits$propertyDetail","propertyDetails","editedProperty","_edits$meterDetails","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","userRoles","roles","ele","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","_extractReviewData","apiNewData","apiOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","addressRaw","connectionCategory","meterNo","knumber","fullAddress","flatHouseNumber","flatNo","buildingTower","building","landmark","pinCode","locality","gpsValid","latitude","longitude","whatsappNo","noOfPerson","noOfPersons","doorPhotoFilestoreId","property","pidNumber","typeOfConnection","numberOfFloors","noOfFloor","tenantName","tenantMobile","propertyDocumentFileStoreId","buildingImageFileStoreId","meter","metered","meterStatus","meterMake","meterLocationAddress","meterLatitude","meterLongitude","workingStatus","lastBillRaised","systemMeterId","meterPhotoFileStoreId","newDataRaw","oldDataRaw","connectionData","addressData","whatsappNumber","doorPhotoFileStoreId","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","meterLocation","workingStatusData","lastBillRaisedData","connectionFields","addressFields","propertyFields","meterFields","handleDeclaration","handleReject","_Digit$UserService$ge","_Digit$UserService$ge2","_Digit$UserService$ge3","RequestInfo","apiId","ver","msgId","authToken","UserService","getUser","access_token","remarks","reviewedBy","userName","_temp","mutateAsync","handleApprove","_Digit$UserService$ge4","_Digit$UserService$ge5","_Digit$UserService$ge6","_temp2","setTimeout","_err$response","_err$response$data","handleViewDocument","fileStoreId","documentUrl","handleMenuSelect","baseUrl","StatusTable","maxWidth","Row","actionButton","GenericFileIcon","paddingTop","CheckBox","checked","Menu","position","zIndex","maxHeight","src","alt","nextSibling","open","AadhaarVerificationConfig","formData","uploadFile","setDocumentId","documentId","_formData","_formData$consumerTyp","_formData2","_formData3","_formData3$occupantTy","_formData4","_formData$informantIs","_formData5","consumerType","occupantType","informantIsConsumer","isMandatory","populators","component","validation","required","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","AadhaarVerification","config","URLSearchParams","search","urlKno","searchKno","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","isDataLoaded","setIsDataLoaded","canSubmit","setCanSubmit","_savedData$informantI","categoryType","parentSpouseName","mobile","whatsapp","residents","identityType","documentNumber","informantName","informantRelation","idFile","tenantVerification","designation","department","entityName","contactPerson","consent","defaultValues","setDefaultValues","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","_savedData$informantI2","fName","mName","lName","parts","trim","updatedDefaults","parentSpouse","handleUploadProof","file","files","size","UploadServices","Filestorage","res","_res$data","_res$data$files","_res$data$files$","onFormValueChange","setValue","_data$consumerType","_localFormData$consum","_data$occupantType","_localFormData$occupa","consumerTypeChanged","occupantTypeChanged","informantIsConsumerChanged","knoVal","consumerTypeVal","occupantTypeVal","categoryTypeVal","firstNameVal","mobileVal","residentsVal","consentVal","docId","ownerMobileVal","valid","test","_data$consumerType2","_data$occupantType2","_data$categoryType","_data$gender","_data$identityType","_data$informantIsCons","submitData","relation","landline","entityRelation","idProof","idNumber","updateType","Config","FormComposer","isDisabled","isCollapsible","isDefaultOpen","noCard","submitInForm","ekycConfig","route","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","showMapActualLocation","EKYCForm","passedPath","match","setParams","_location$state","rest","goNext","skipStep","isAddMultiple","currentPath","pop","routeObj","nextStep","currentIndex","findIndex","c","redirectWithHistory","base","handleSelect","silent","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","AssignEkycModal","surveyor","closeModal","refetchDashboard","selectedKnos","setSelectedKnos","isBulkSelection","setIsBulkSelection","zoneCode","setFilters","debouncedFilters","setDebouncedFilters","_Digit$Hooks$ws$useWS","ws","useWSConfigMDMS","ZROLocation","zroLocationsData","isZroLoading","mappedZROLocation","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","_useMemo","assemblies","Map","wards","boundaries","traverse","node","localname","assemblyOptions","localeCompare","wardOptions","structuredLocalityData","localities","extractLocalities","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","sanitizedPin","toString","add","timer","clearTimeout","unassignedOnly","isFetching","handleAssignmentError","errMsg","variables","isAlreadyAssigned","isMrKeyType","assignmentType","assignmentMutation","useEkycAssignmentCreate","onSuccess","_response$data","skipped","_response$skipped$","reason","_error$data","getAssignmentPayload","filterMappings","appliedFilter","assignmentValue","handleAssign","_surveyor$owner","_getAssignmentPayload","mutate","handleSelectAll","pageKnos","allSelected","every","handleFilterChange","Close","pin","totalPages","SurveyorDetailsDashboard","_surveyor$owner2","_surveyor$owner3","_surveyor$owner4","_fullName$charAt","_dashboardData$dashbo","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner8","_surveyor$owner9","_surveyor$owner0","_surveyor$additionalD","_dashboardData$dashbo5","_dashboardData$dashbo6","ownerIds","ids","useSurveyorSearch","staleTime","Infinity","surveyorSearchResponse","_surveyorSearchRespon","surveyors","vendorData","_Digit$Hooks$fsm$useS2","_mappedVendor$dsoDeta","mappedVendor","_mappedSupervisor$own","mappedSupervisor","_s$owner","isDashboardLoading","refetch","knoColumns","_useState9","getDateRange","setHours","setDate","getDate","getDay","range","_surveyor$owner5","dashboard","fromDate","getTime","toDate","_response$dashboardIn","_surveyor$owner6","_response$dashboardIn2","_wasThrown2","_result2","_surveyor$owner7","_wasThrown3","_result3","description","additionalDetails","serviceType","showAutoSerialNo","_dashboardData$dashbo7","_dashboardData$dashbo8","storageKey","_row$original5$owner","SupervisorInboxTableConfig","AssignEkyc","paginationParms","isDataSearchLoading","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","auditDetails","isCardLoading","AdminDashboard","_loggedInUser$roles","vendorsList","_dso$owner","_dso$owner2","dso","supervisorsList","surveyorsList","supervisorIds","matchedReports","displayName","ownerName","roleText","marginRight","gridTemplateColumns","gridColumn","transition","onMouseEnter","currentTarget","transform","onMouseLeave","EmployeeApp","getDynamicBreadcrumbs","crumbs","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","breadcrumbs","PrivateRoute","LayoutWrapper","layoutClass","businessService","isInbox","exact","SurveyorDetailsCard","PropertyInfoConfig","buildingImage","buildingImageId","setBuildingImage","setBuildingImageId","_formData$propertyTyp","propertyType","isHotel","isHospitalOrNursing","objectFit","PropertyInfo","subPropertyCategory","noOfFloors","floorNo","noOfRooms","noOfBeds","dwellingUnits","propType","subPropCat","matchingType","numberOfRooms","numberOfBeds","numberOfDwellingUnits","handleUpload","reader","FileReader","onloadend","readAsDataURL","_data$propertyType","_localFormData$proper","propertyTypeChanged","propTypeVal","subPropCatVal","noOfFloorsVal","buildingImgId","noOfRoomsVal","noOfBedsVal","_data$propertyType2","_data$subPropertyCate","MeterDetailsConfig","uploadPhoto","meterPhoto","meterPhotoId","setMeterPhoto","setMeterPhotoId","_formData$meterStatus","_formData3$lastBillRe","_formData5$sewerConne","_formData6","lastBillReceived","sewerConnection","isFrozen","monthYearOptions","yesNo","MeterDetails","saType","mrCode","areaCode","mrKey","meterMaker","meterCondition","billMonthYear","accessToMeter","septicTank","mStatus","mCondition","mLoc","billRec","billMonYr","accToMeter","sewerConn","sepTank","matchingStatus","o","matchingCond","matchingLoc","strVal","lastBillReceivedDate","formatted","parsedParts","mon","yr","mrcode","areacode","lastBillNotRaisedReason","_data$meterStatus","_localFormData$meterS","_data$lastBillReceive","_localFormData$lastBi","_data$sewerConnection","_localFormData$sewerC","meterStatusChanged","lastBillReceivedChanged","sewerConnectionChanged","connCatVal","mStatusVal","mLocVal","billRecVal","sewerConnVal","mPhotoId","reasonVal","billMonYrVal","sepTankVal","_data$meterStatus2","_data$meterCondition","_data$meterLocation","_data$lastBillReceive2","_data$billMonthYear","_data$accessToMeter","_data$sewerConnection2","_data$septicTank","Home","citizenInfo","formattedLinks","l","i18nKey","CitizenHomeCard","DocumentIcon","SupervisorDetailsCard","supervisor","assignedZone","assignedZoneId","paginatedSurveyors","surveyorColumns","fetchPromises","catch","all","results","EkycStatus","setFormState","searchQuery","setSearchQuery","errorMsg","setErrorMsg","currentKNumber","targetKNumber","retry","isReviewLoading","connectionSearchData","isConnectionLoading","_data$kNumber","propsForInboxMobileCards","getStatusDetails","naText","connRaw","addrRaw","propRaw","meterRaw","rawStatus","reviewName","connName","reviewPhone","connPhone","reviewType","connType","knoCategory","timelineConfig","activeStepIndex","getStatusText","currentActiveIndex","CitizenApp","_Digit$Hooks$useStore","useStore","getInitData","_Digit$Hooks$useStore2","_Digit$Hooks$useStore3","stateInfo","statusLabel","isEkycHome","bannerUrl","BackButton","EkycModule","stateCode","url","language","StoreData","getCurrentLanguage","_Digit$Services$useSt","Services","LocalizationService","getLocale","modules","locale","page","EkycLinks","matchPath","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":";;;;;;;;;;;;AAIA,MAAMA,QAAQ,GAAGA,MAAM;EACrB,MAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAMC,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EAEtD,MAAAC,qBAAA,GAAsCH,KAAK,CAACI,KAAK,CAACC,IAAI,CAACC,sBAAsB,CAC3E,EAAE,EACF;MAAEP,QAAQ;MAAEQ,MAAM,EAAE,CAAC;MAAEC,KAAK,EAAE;KAAG,EACjC;MAAEC,OAAO,EAAE,CAAC,CAACV;KACf,CAAC;IAJaW,QAAQ,GAAAP,qBAAA,CAAdQ,IAAI;IAAYC,SAAS,GAAAT,qBAAA,CAATS,SAAS;EAMjC,MAAMC,UAAU,GAAGD,SAAS,GAAG,GAAG,GAAG,CAAAF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEG,UAAU,KAAI,CAAC;EAE9D,MAAMC,kBAAkB,GAAG;IACzBC,IAAI,eAAEC,cAAA,CAAAC,aAAA,CAACC,iCAAU,MAAE,CAAC;IACpBC,UAAU,EAAErB,CAAC,CAAC,kBAAkB,CAAC;IACjCsB,IAAI,EAAE,CACJ;MACEC,KAAK,EAAER,UAAU;MACjBS,KAAK,EAAExB,CAAC,CAAC,YAAY,CAAC;MACtByB,IAAI;KACL,CACF;IACDC,KAAK,EAAE,CACL;MACEF,KAAK,EAAExB,CAAC,CAAC,0BAA0B,CAAC;MACpCyB,IAAI;KACL,EACD;MACED,KAAK,EAAExB,CAAC,CAAC,sBAAsB,CAAC,IAAI,iBAAiB;MACrDyB,IAAI;KACL,EAKD;MACEF,KAAK,EAAER,UAAU;MACjBS,KAAK,EAAExB,CAAC,CAAC,YAAY,CAAC;MACtByB,IAAI;KACL,EAaD;MACED,KAAK,EAAExB,CAAC,CAAC,aAAa,CAAC;MACvByB,IAAI;KACL;GAEJ;EAED,oBAAOP,cAAA,CAAAC,aAAA,CAACQ,yCAAkB,EAAKX,kBAAqB,CAAC;AACvD,CAAC;;AC5DD,MAAMY,mBAAmB,GAAGA,MAAM;EAChC,MAAMC,CAAC,GAAGC,aAAa,IAAIA,gBAAe,IAAIA,OAAO;EACrD,OAAOD,CAAC;AACV,CAAC;AAED,MAAME,WAAW,GAAGC,IAAA,IAAmB;EAAA,IAAhBC,SAAS,GAAAD,IAAA,CAATC,SAAS;EAC9B,MAAAnC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAMkC,SAAS,GAAGC,YAAM,CAAC,IAAI,CAAC;EAC9B,MAAMC,cAAc,GAAGD,YAAM,CAAC,IAAI,CAAC;EAEnC,MAAME,KAAK,GAAG,CAAAJ,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEI,KAAK,KAAI,CAAC;EACnC,MAAMC,OAAO,GAAG,CAAAL,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEK,OAAO,KAAI,CAAC;EACvC,MAAMC,MAAM,GAAG,CAAAN,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEO,SAAS,KAAI,CAAC;EACxC,MAAMA,SAAS,GAAG,CAAC;EAEnB,MAAMC,eAAe,GAAG,CAAAR,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEO,SAAS,KAAI,CAAC;EACjD,MAAME,QAAQ,GAAGD,eAAe;EAEhC,MAAME,UAAU,GAAGN,KAAK,GAAG,CAAC,GAAGO,IAAI,CAACC,KAAK,CAAEJ,eAAe,GAAGJ,KAAK,GAAI,GAAG,CAAC,GAAG,CAAC;EAC9E,MAAMS,SAAS,GAAGT,KAAK,GAAG,CAAC,GAAGO,IAAI,CAACC,KAAK,CAAEH,QAAQ,GAAGL,KAAK,GAAI,GAAG,CAAC,GAAG,CAAC;EAEtE,MAAMU,YAAY,GAAIC,GAAG,IAAK,IAAIC,IAAI,CAACC,YAAY,CAAC,OAAO,CAAC,CAACC,MAAM,CAACH,GAAG,IAAI,CAAC,CAAC;EAE7EI,eAAS,CAAC,MAAM;IACd,IAAIlB,SAAS,CAACmB,OAAO,EAAE;MACrB,IAAIjB,cAAc,CAACiB,OAAO,EAAEjB,cAAc,CAACiB,OAAO,CAACC,OAAO,EAAE;MAC5D,MAAMC,IAAI,GAAGrB,SAAS,CAACmB,OAAO,CAACG,UAAU,CAAC,IAAI,CAAC;MAC/C,MAAMC,gBAAgB,GAAG7B,mBAAmB,EAAE;MAC9CQ,cAAc,CAACiB,OAAO,GAAG,IAAII,gBAAgB,CAACF,IAAI,EAAE;QAClDG,IAAI,EAAE,UAAU;QAChB7C,IAAI,EAAE;UACJ8C,MAAM,EAAE,CAAC3D,CAAC,CAAC,aAAa,CAAC,EAAEA,CAAC,CAAC,cAAc,CAAC,EAAEA,CAAC,CAAC,gBAAgB,CAAC,CAAC;UAClE4D,QAAQ,EAAE,CACR;YACE/C,IAAI,EAAE,CAAC0B,MAAM,EAAED,OAAO,EAAEE,SAAS,CAAC;YAClCqB,eAAe,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;YAClDC,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;YAC9CC,WAAW,EAAE,CAAC;YACdC,WAAW,EAAE;WACd;SAEJ;QACDC,OAAO,EAAE;UACPC,MAAM,EAAE,KAAK;UACbC,OAAO,EAAE;YAAEC,MAAM,EAAE;cAAEC,OAAO,EAAE;;WAAS;UACvCC,mBAAmB,EAAE,KAAK;UAC1BC,UAAU,EAAE;;OAEf,CAAC;;IAGJ,OAAO,MAAM;MACX,IAAInC,cAAc,CAACiB,OAAO,EAAEjB,cAAc,CAACiB,OAAO,CAACC,OAAO,EAAE;KAC7D;GACF,EAAE,CAAChB,OAAO,EAAEE,SAAS,EAAED,MAAM,EAAEvC,CAAC,CAAC,CAAC;EAEnC,MAAMwE,WAAW,GAAG,CAClB;IAAEC,KAAK,EAAE,SAAS;IAAEjD,KAAK,EAAExB,CAAC,CAAC,aAAa,CAAC;IAAE0E,KAAK,EAAEnC;GAAQ,EAC5D;IAAEkC,KAAK,EAAE,SAAS;IAAEjD,KAAK,EAAExB,CAAC,CAAC,cAAc,CAAC;IAAE0E,KAAK,EAAEpC;GAAS,EAC9D;IAAEmC,KAAK,EAAE,SAAS;IAAEjD,KAAK,EAAExB,CAAC,CAAC,gBAAgB,CAAC;IAAE0E,KAAK,EAAElC;GAAW,CACnE;EAED,oBACEtB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;GAAe,CAAC,EAC/B3E,CAAC,CAAC,6BAA6B,CAAC,IAAI,oCAClC,CAAC,eACNkB,cAAA,CAAAC,aAAA;IAAIwD,SAAS,EAAC;KAAmB3E,CAAC,CAAC,sBAAsB,CAAC,IAAI,6BAAkC,CAAC,eACjGkB,cAAA,CAAAC,aAAA;IAAGwD,SAAS,EAAC;KACV3E,CAAC,CAAC,yBAAyB,CAAC,IAAI,0FAChC,CACA,CAAC,eACNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAe3E,CAAC,CAAC,yBAAyB,CAAC,IAAI,8BAAoC,CAAC,eACnGkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAgB5B,YAAY,CAACV,KAAK,CAAO,CAAC,eACzDnB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAc,gBAAS,EAAC3E,CAAC,CAAC,wBAAwB,CAAC,IAAI,mBAAyB,CAC5F,CACF,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAe3E,CAAC,CAAC,uBAAuB,CAAC,IAAI,kBAAwB,CAAC,eACrFkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAkB3E,CAAC,CAAC,6BAA6B,CAAC,IAAI,qCAA2C,CAAC,eACjHkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZH,WAAW,CAACI,GAAG,CAAEC,IAAI,iBACpB3D,cAAA,CAAAC,aAAA;IAAK2D,GAAG,EAAED,IAAI,CAACrD,KAAM;IAACmD,SAAS,EAAC;kBAC9BzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;kBACdzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC,eAAe;IAACI,KAAK,EAAE;MAAEC,UAAU,EAAEH,IAAI,CAACJ;;GAAU,CAAC,EACpEI,IAAI,CAACrD,KACF,CAAC,eACPN,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAgB5B,YAAY,CAAC8B,IAAI,CAACH,KAAK,CAAQ,CAC5D,CACN,CACE,CAAC,eACNxD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAQ8D,GAAG,EAAE/C,SAAU;IAAC6C,KAAK,EAAE;MAAEG,KAAK,EAAE,MAAM;MAAEC,MAAM,EAAE;;GAAW,CAAC,eACpEjE,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAoBhC,UAAU,EAAC,GAAM,CAAC,eACrDzB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAe3E,CAAC,CAAC,eAAe,CAAC,IAAI,UAAgB,CACjE,CACF,CACF,CACF,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,wBAAwB,CAAC,IAAI,mBAAmB,eACnDkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAiB3E,CAAC,CAAC,cAAc,CAAC,IAAI,SAAgB,CACnE,CAAC,eACNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAkB3E,CAAC,CAAC,0BAA0B,CAAC,IAAI,iCAAuC,CAAC,eAC1GkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAqB7B,SAAS,EAAC,GAAM,CAAC,eACrD5B,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAe,cAAY,CACvC,CAAC,eACNzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC,eAAe;IAACI,KAAK,EAAE;MAAEG,KAAK,EAAKpC,SAAS;;GAAQ,CAChE,CAAC,eACN5B,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAgB3E,CAAC,CAAC,kBAAkB,CAAC,IAAI,aAAmB,CAAC,eAC5EkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAe,MAAS,CACpC,CAAC,eACNzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAgB3E,CAAC,CAAC,iBAAiB,CAAC,IAAI,YAAkB,CAAC,eAC1EkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAe,OAAU,CACrC,CACF,CACF,CACF,CACF,CACF,CAAC;AAEV,CAAC;;AC3ID,MAAMS,SAAS,GAAGA,MAAM;EACtB,MAAMnF,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EAGtD,MAAAC,qBAAA,GAA2CH,KAAK,CAACI,KAAK,CAACC,IAAI,CAAC8E,wBAAwB,CAClF,EAAE,EACF;MACEpF,QAAQ;MACRQ,MAAM,EAAE,CAAC;MACTC,KAAK,EAAE;KACR,EACD;MACEC,OAAO,EAAE,CAAC,CAACV;KAEf,CAAC;IAVOa,SAAS,GAAAT,qBAAA,CAATS,SAAS;IAAQwE,aAAa,GAAAjF,qBAAA,CAAnBQ,IAAI;EAYvB,MAAMoB,SAAS,GAAGsD,aAAO,CAAC,MAAM;IAC9B,MAAMC,IAAI,GAAG,CAAAF,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEG,aAAa,KAAI,EAAE;IAC/C,OAAO;MACLpD,KAAK,EAAEmD,IAAI,CAACnD,KAAK,IAAI,CAAC;MACtBG,SAAS,EAAEgD,IAAI,CAAChD,SAAS,IAAI,CAAC;MAC9BF,OAAO,EAAEkD,IAAI,CAAClD,OAAO,IAAI,CAAC;MAC1BoD,QAAQ,EAAEF,IAAI,CAACE,QAAQ,IAAI,CAAC;MAC5BnD,MAAM,EAAEiD,IAAI,CAACjD,MAAM,IAAI;KACxB;GACF,EAAE,CAAC+C,aAAa,CAAC,CAAC;EAEnB,OAAOxE,SAAS,gBACdI,cAAA,CAAAC,aAAA,CAACwE,6BAAM,MAAE,CAAC,gBAEVzE,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC;kBACdzD,cAAA,CAAAC,aAAA,CAACY,WAAW;IAACE,SAAS,EAAEA;GAAY,CAChC,CACP;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;ACxCD,AAMA,MAAM4D,YAAY,GAAG7D,IAAA,IAAgD;EAAA,IAAA8D,qBAAA;EAAA,IAAhCC,eAAe,GAAA/D,IAAA,CAAf+D,eAAe;IAAKC,KAAK,GAAAC,6BAAA,CAAAjE,IAAA,EAAAkE,SAAA;EAC5D,MACErF,IAAI,GAaFmF,KAAK,CAbPnF,IAAI;IACJC,SAAS,GAYPkF,KAAK,CAZPlF,SAAS;IACTqF,MAAM,GAWJH,KAAK,CAXPG,MAAM;IACNC,UAAU,GAURJ,KAAK,CAVPI,UAAU;IACVC,UAAU,GASRL,KAAK,CATPK,UAAU;IACVC,WAAW,GAQTN,KAAK,CARPM,WAAW;IACXC,aAAa,GAOXP,KAAK,CAPPO,aAAa;IACbC,gBAAgB,GAMdR,KAAK,CANPQ,gBAAgB;IAChBC,WAAW,GAKTT,KAAK,CALPS,WAAW;IACXC,YAAY,GAIVV,KAAK,CAJPU,YAAY;IACZC,UAAU,GAGRX,KAAK,CAHPW,UAAU;IACVC,YAAY,GAEVZ,KAAK,CAFPY,YAAY;IACZ3E,SAAS,GACP+D,KAAK,CADP/D,SAAS;EAEX,MAAAnC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM6G,OAAO,GAAGC,yBAAU,EAAE;EAC5B,MAAM7G,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACtD,MAAM2G,eAAe,IAAAjB,qBAAA,GAAG5F,KAAK,CAAC8G,wBAAwB,cAAAlB,qBAAA,uBAA9BA,qBAAA,CAAgCmB,YAAY,CAAClB,eAAe,CAAC;EAGrF,MAAAmB,SAAA,GAAsCC,cAAQ,CAAC,EAAE,CAAC;IAA3CC,WAAW,GAAAF,SAAA;IAAEG,cAAc,GAAAH,SAAA;EAClC,MAAA7G,qBAAA,GAAwCH,KAAK,CAACI,KAAK,CAACC,IAAI,CAAC+G,UAAU,CAAC,QAAQ,EAAErH,QAAQ,CAAC;IAAzEsH,UAAU,GAAAlH,qBAAA,CAAhBQ,IAAI;IAAc2G,SAAS,GAAAnH,qBAAA,CAATmH,SAAS;EACnC,MAAMC,YAAY,GAAIC,GAAG,IAAK;IAC5BL,cAAc,CAACK,GAAG,CAAC;IACnBF,SAAS,CAAC;MAAEE;KAAK,CAAC;GACnB;EAEDxG,cAAK,CAACkC,SAAS,CAAC,MAAM;IACpB,IAAImE,UAAU,EAAE;MACdV,OAAO,CAACc,IAAI,CAAC,gCAAgC,EAAE;QAAEC,OAAO,EAAER,WAAW;QAAES,WAAW,EAAEN,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,WAAW;QAAEN;OAAY,CAAC;;GAG7H,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,MAAMO,OAAO,GAAGvC,aAAO,CACrB,MAAM,CACJ;IACEwC,MAAM,EAAE/H,CAAC,CAAC,qBAAqB,CAAC;IAChCgI,QAAQ,EAAE,mBAAmB;IAC7BC,IAAI,EAAEC,KAAA,IAAa;MAAA,IAAAC,aAAA,EAAAC,cAAA;MAAA,IAAVC,GAAG,GAAAH,KAAA,CAAHG,GAAG;MACV,MAAMX,GAAG,GAAG,EAAAS,aAAA,GAAAE,GAAG,CAACC,QAAQ,cAAAH,aAAA,uBAAZA,aAAA,CAAcT,GAAG,OAAAU,cAAA,GAAIC,GAAG,CAACC,QAAQ,cAAAF,cAAA,uBAAZA,cAAA,CAAcG,iBAAiB,KAAI,IAAI;MACxE,oBACErH,cAAA,CAAAC,aAAA;QAAMwD,SAAS,EAAC,MAAM;QAAC6D,OAAO,EAAEA,MAAMf,YAAY,CAACC,GAAG;SACnDA,GACG,CAAC;;GAGZ,EACD;IACEK,MAAM,EAAE/H,CAAC,CAAC,mBAAmB,CAAC;IAC9BgI,QAAQ,EAAE,aAAa;IACvBC,IAAI,EAAEQ,KAAA;MAAA,IAAAC,cAAA;MAAA,IAAGL,GAAG,GAAAI,KAAA,CAAHJ,GAAG;MAAA,oBAAOnH,cAAA,CAAAC,aAAA,eAAO,EAAAuH,cAAA,GAAAL,GAAG,CAACC,QAAQ,cAAAI,cAAA,uBAAZA,cAAA,CAAcC,WAAW,KAAI,IAAW,CAAC;;GACpE,EAMD;IACEZ,MAAM,EAAE/H,CAAC,CAAC,aAAa,CAAC;IACxBgI,QAAQ,EAAE,cAAc;IACxBC,IAAI,EAAEW,KAAA,IAAa;MAAA,IAAAC,cAAA;MAAA,IAAVR,GAAG,GAAAO,KAAA,CAAHP,GAAG;MACV,MAAMS,MAAM,GAAG,EAAAD,cAAA,GAAAR,GAAG,CAACC,QAAQ,cAAAO,cAAA,uBAAZA,cAAA,CAAcC,MAAM,KAAI,SAAS;MAChD,oBAAO5H,cAAA,CAAAC,aAAA;QAAMwD,SAAS,uBAAqBmE;SAAW9I,CAAC,MAAI8I,MAAQ,CAAQ,CAAC;;GAE/E,EACD;IACEf,MAAM,EAAE/H,CAAC,CAAC,kBAAkB,CAAC;IAC7BgI,QAAQ,EAAE,YAAY;IACtBC,IAAI,EAAEc,KAAA,IAAa;MAAA,IAAAC,cAAA,EAAAC,cAAA;MAAA,IAAVZ,GAAG,GAAAU,KAAA,CAAHV,GAAG;MACV,MAAMa,UAAU,GAAG,CAAC,EAAAF,cAAA,GAAAX,GAAG,CAACC,QAAQ,cAAAU,cAAA,uBAAZA,cAAA,CAAcE,UAAU,OAAAD,cAAA,GAAIZ,GAAG,CAACC,QAAQ,cAAAW,cAAA,uBAAZA,cAAA,CAAcE,UAAU,KAAI,IAAI,EAAEC,WAAW,EAAE;MAC/F,oBAAOlI,cAAA,CAAAC,aAAA;QAAMwD,SAAS,uBAAqBuE;SAAelJ,CAAC,MAAIkJ,UAAY,CAAQ,CAAC;;GAEvF,EACD;IACEnB,MAAM,EAAE/H,CAAC,CAAC,aAAa,CAAC;IACxBgI,QAAQ,EAAE,QAAQ;IAClBC,IAAI,EAAEoB,KAAA,IAAa;MAAA,IAAAC,cAAA,EAAAC,cAAA;MAAA,IAAVlB,GAAG,GAAAgB,KAAA,CAAHhB,GAAG;MACV,MAAMX,GAAG,GAAG,EAAA4B,cAAA,GAAAjB,GAAG,CAACC,QAAQ,cAAAgB,cAAA,uBAAZA,cAAA,CAAc5B,GAAG,OAAA6B,cAAA,GAAIlB,GAAG,CAACC,QAAQ,cAAAiB,cAAA,uBAAZA,cAAA,CAAchB,iBAAiB,KAAI,IAAI;MACxE,oBACErH,cAAA,CAAAC,aAAA;QAAMwD,SAAS,EAAC,MAAM;QAAC6D,OAAO,EAAEA,MAAMf,YAAY,CAACC,GAAG;SACnD1H,CAAC,CAAC,aAAa,CACZ,CAAC;;GAGZ,CACF,EAED,CAACA,CAAC,EAAEyG,WAAW,CACjB,CAAC;EAED,MAAM+C,SAAS,GAAGjE,aAAO,CAAC,MAAM;IAC9B,OAAO,CAAA1E,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE4I,KAAK,MAAKC,KAAK,CAACC,OAAO,CAAC9I,IAAI,CAAC,GAAGA,IAAI,GAAG,EAAE,CAAC;GACxD,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,oBACEK,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ7D,SAAS,iBAAII,cAAA,CAAAC,aAAA,CAACwE,6BAAM,MAAE,CAAC,eACxBzE,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAGbzD,cAAA,CAAAC,aAAA,CAACyI,iCAAU;IAACC,UAAU,EAAE7D,KAAK,CAAC8D;GAAa,CAAC,EAE3C/C,eAAe,iBACd7F,cAAA,CAAAC,aAAA,CAAC4F,eAAe;IACdgD,mBAAmB,EAAE/D,KAAK,CAAC+D,mBAAoB;IAC/CC,cAAc,EAAEhE,KAAK,CAACiE,QAAS;IAC/BvD,YAAY,EAAEA,YAAa;IAC3BhD,IAAI,EAAC,SAAS;IACdoG,UAAU,EAAC;GACZ,CAEA,CAAC,eAEN5I,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC,uBAAuB;IAACI,KAAK,EAAE;MAAEmF,IAAI,EAAE;;kBAUpDhJ,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC;kBACdzD,cAAA,CAAAC,aAAA,CAACY,WAAW;IAACE,SAAS,EAAEA;GAAY,CAChC,CAAC,eAGPf,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC,QAAQ;IAACI,KAAK,EAAE;MAAEmF,IAAI,EAAE;;kBACrChJ,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC,iBAAiB;IAACI,KAAK,EAAE;MAAEoF,OAAO,EAAE;;kBAClDjJ,cAAA,CAAAC,aAAA,CAACiJ,4BAAK;IACJpK,CAAC,EAAEA,CAAE;IACLa,IAAI,EAAE2I,SAAU;IAChB1B,OAAO,EAAEA,OAAQ;IACjBhH,SAAS,EAAEA,SAAU;IACrBqF,MAAM,EAAEA,MAAO;IACfQ,UAAU,EAAEA,UAAW;IACvBC,YAAY,EAAEA,YAAa;IAC3BR,UAAU,EAAEA,UAAW;IACvBC,UAAU,EAAEA,UAAW;IACvBC,WAAW,EAAEA,WAAY;IACzBC,aAAa,EAAEA,aAAc;IAC7BC,gBAAgB,EAAEA,gBAAiB;IACnC6D,YAAY,EAAGC,QAAQ,IAAK;MAC1B,OAAO;QACL3F,SAAS,EAAE;OACZ;;GAEJ,CACG,CACH,CACF,CACF,CACF,CAAC;AAEV,CAAC;;;ACrKD,AAIA,MAAM4F,cAAc,GAAGvI,IAAA,IAAqE;EAAA,IAAAwI,gBAAA,EAAAC,iBAAA,EAAAC,iBAAA;EAAA,IAAlET,QAAQ,GAAAjI,IAAA,CAARiI,QAAQ;IAAEvD,YAAY,GAAA1E,IAAA,CAAZ0E,YAAY;IAAEK,AAAiB4D,QAAQ,GAAA3I,IAAA,CAAR2I,QAAQ;IAAK3E,KAAK,GAAAC,6BAAA,CAAAjE,IAAA,EAAAkE,WAAA;EACnF,MAAApG,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAAkH,SAAA,GAAyCC,cAAQ,CAAC,MAAAyD,QAAA,KAAYlE,YAAY,CAAG,CAAC;IAAvEmE,aAAa,GAAA3D,SAAA;IAAE4D,eAAe,GAAA5D,SAAA;EAErC,MAAM6D,QAAQ,GAAGA,CAACjG,GAAG,EAAEJ,KAAK,KAAK;IAC/BoG,eAAe,CAAEE,IAAI,IAAAJ,QAAA,KAAWI,IAAI;MAAE,CAAClG,GAAG,GAAGJ;MAAQ,CAAC;GACvD;EAED,MAAMuG,QAAQ,GAAIC,CAAC,IAAK;IACtB,IAAIA,CAAC,IAAIA,CAAC,CAACC,cAAc,EAAED,CAAC,CAACC,cAAc,EAAE;IAC7ClB,QAAQ,CAACY,aAAa,CAAC;GACxB;EAED,MAAMO,OAAO,GAAGA,MAAM;IACpB,MAAMC,OAAO,GAAG;MAAEzD,OAAO,EAAE,EAAE;MAAE0D,KAAK,EAAE;KAAI;IAC1CR,eAAe,CAACO,OAAO,CAAC;IACxBpB,QAAQ,CAACoB,OAAO,CAAC;GAClB;EAED,oBACEnK,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC;kBACdzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,CAACoK,+BAAQ,MAAE,CACR,CAAC,eACNrK,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,6BAA6B,CAC7B,CACD,CACH,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAK+D,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACqG,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,SAAS;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBAChI3K,cAAA,CAAAC,aAAA;IAAQ2K,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,CAAC,EAAC;GAAK,CAAC,eAChC9K,cAAA,CAAAC,aAAA;IAAM8K,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,OAAO;IAACC,EAAE,EAAC;GAAS,CAC1C,CACF,CAAC,eACNlL,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KACb3E,CAAC,CAAC,sBAAsB,CAAC,IAAI,iBAC1B,CACH,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAM8J,QAAQ,EAAEA;kBACd/J,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,gBACGnB,CAAC,CAAC,eAAe,CAAC,IAAI,UAAU,eACjCkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAa,GAAO,CAC/B,CAAC,eACRzD,cAAA,CAAAC,aAAA,CAACkL,gCAAS;IACR3H,KAAK,EAAEmG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEjD,OAAQ;IAC9BmD,QAAQ,EAAGG,CAAC,IAAKH,QAAQ,CAAC,SAAS,EAAEG,CAAC,CAACoB,MAAM,CAAC5H,KAAK,CAAE;IACrD6H,WAAW,EAAEvM,CAAC,CAAC,2BAA2B,CAAC,IAAI;GAChD,CACE,CAAC,eAENkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,gBACGnB,CAAC,CAAC,aAAa,CAAC,IAAI,QAAQ,eAC7BkB,cAAA,CAAAC,aAAA;IAAK+D,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACqG,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,SAAS;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBAChI3K,cAAA,CAAAC,aAAA;IAAMqL,CAAC,EAAC;GAA6C,CAAC,eACtDtL,cAAA,CAAAC,aAAA;IAAQ2K,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,GAAG;IAACC,CAAC,EAAC;GAAK,CAC3B,CACA,CAAC,eACR9K,cAAA,CAAAC,aAAA,CAACkL,gCAAS;IACR3H,KAAK,EAAEmG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAES,KAAM;IAC5BP,QAAQ,EAAGG,CAAC,IAAKH,QAAQ,CAAC,OAAO,EAAEG,CAAC,CAACoB,MAAM,CAAC5H,KAAK,CAAE;IACnD6H,WAAW,EAAEvM,CAAC,CAAC,yBAAyB,CAAC,IAAI;GAC9C,CACE,CACF,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAQuC,IAAI,EAAC,QAAQ;IAAC8E,OAAO,EAAE4C,OAAQ;IAACzG,SAAS,EAAC;KAC/C3E,CAAC,CAAC,iBAAiB,CAAC,IAAI,OACnB,CAAC,eACTkB,cAAA,CAAAC,aAAA;IAAQuC,IAAI,EAAC,QAAQ;IAACiB,SAAS,EAAC;KAC7B3E,CAAC,CAAC,kBAAkB,CAAC,IAAI,gBACpB,CACL,CACD,CACH,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAgB3E,CAAC,CAAC,oBAAoB,CAAC,IAAI,gBAAsB,CAAC,eACjFkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAgB,EAAA6F,gBAAA,GAAAxE,KAAK,CAAC/D,SAAS,cAAAuI,gBAAA,uBAAfA,gBAAA,CAAiBiC,YAAY,KAAI,EAAQ,CAAC,eACzEvL,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,eAAM,QAAO,CAAC,EACb,EAAAsJ,iBAAA,GAAAzE,KAAK,CAAC/D,SAAS,cAAAwI,iBAAA,uBAAfA,iBAAA,CAAiBiC,WAAW,KAAI,6BAC9B,CAAC,eACNxL,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAmB,GAAM,CACrC,CAAC,eAGNzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAe3E,CAAC,CAAC,mBAAmB,CAAC,IAAI,cAAoB,CAAC,eAC7EkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ,EAAA+F,iBAAA,GAAA1E,KAAK,CAAC/D,SAAS,cAAAyI,iBAAA,uBAAfA,iBAAA,CAAiBiC,YAAY,KAAI,CAAC,EAAC,UACjC,CAAC,eACNzL,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,GAAG,CAAEgI,CAAC,iBACZ1L,cAAA,CAAAC,aAAA;IAAK2D,GAAG,EAAE8H,CAAE;IAACjI,SAAS,EAAC;KACpBkI,MAAM,CAACC,YAAY,CAAC,EAAE,GAAGF,CAAC,CACxB,CACN,CAAC,eACF1L,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAc,IAAO,CACjC,CACF,CACF,CACF,CACF,CAAC,EAGLgG,QACE,CACF,CACF,CAAC;AAEV,CAAC;;ACpID,MAAMoC,WAAW,GAAG/K,IAAA,IAOd;EAAA,IAAAgL,WAAA;EAAA,IANFnM,IAAI,GAAAmB,IAAA,CAAJnB,IAAI;IACJC,SAAS,GAAAkB,IAAA,CAATlB,SAAS;IACTmJ,QAAQ,GAAAjI,IAAA,CAARiI,QAAQ;IACRvD,YAAY,GAAA1E,IAAA,CAAZ0E,YAAY;IACZD,WAAW,GAAAzE,IAAA,CAAXyE,WAAW;IACXxE,SAAS,GAAAD,IAAA,CAATC,SAAS;EAET,MAAAnC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,MAAMiN,UAAU,GAAG,CAAApM,IAAI,aAAJA,IAAI,wBAAAmM,WAAA,GAAJnM,IAAI,CAAE4I,KAAK,cAAAuD,WAAA,uBAAXA,WAAA,CAAapI,GAAG,CAAEC,IAAI,KAAM;IAC3C,CAAC7E,CAAC,CAAC,qBAAqB,CAAC,GAAG6E,IAAI,CAAC0D,iBAAiB;IAClD,CAACvI,CAAC,CAAC,mBAAmB,CAAC,GAAG6E,IAAI,CAAC8D,WAAW;IAC1C,CAAC3I,CAAC,CAAC,gBAAgB,CAAC,GAAG6E,IAAI,CAACqI,YAAY;IACxC,CAAClN,CAAC,CAAC,aAAa,CAAC,gBACbkB,cAAA,CAAAC,aAAA;MAAMwD,SAAS,uBAAqBE,IAAI,CAACiE;OACpC9I,CAAC,kBAAgB6E,IAAI,CAACiE,MAAQ,CAC7B;GAEb,CAAC,CAAC,KAAI,EAAE;EAET,oBACI5H,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA,CAAC4G,6BAAM;IAACpD,SAAS,EAAC;KAAS3E,CAAC,CAAC,mBAAmB,CAAU,CAAC,eAC3DkB,cAAA,CAAAC,aAAA,CAACgM,mBAAI;IAACC,EAAE,EAAK3G,WAAW;kBACpBvF,cAAA,CAAAC,aAAA,CAACkM,gCAAS;IAAC7L,KAAK,EAAExB,CAAC,CAAC,iBAAiB;GAAI,CACvC,CACL,CAAC,eAENkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA,CAACY,WAAW;IAACE,SAAS,EAAEA;GAAY,CACnC,CAAC,eAENf,cAAA,CAAAC,aAAA,CAACoJ,cAAc;IACXN,QAAQ,EAAEA,QAAS;IACnBvD,YAAY,EAAEA;GACjB,CAAC,eAEFxF,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACV7D,SAAS,gBACNI,cAAA,CAAAC,aAAA,CAACwE,6BAAM,MAAE,CAAC,GACV,CAAAsH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEK,MAAM,IAAG,CAAC,gBACtBpM,cAAA,CAAAC,aAAA,CAACoM,kCAAW;IACR1M,IAAI,EAAEoM,UAAW;IACjBjN,CAAC,EAAEA,CAAE;IACLwN,mBAAmB,EAAExN,CAAC,CAAC,qBAAqB,CAAE;IAC9CyN,UAAU,EAAKhH,WAAW;GAC7B,CAAC,gBAEFvF,cAAA,CAAAC,aAAA,CAACyE,2BAAI,QACA5F,CAAC,CAAC,mBAAmB,CAAC,CAClB0N,KAAK,CAAC,KAAK,CAAC,CACZ9I,GAAG,CAAC,CAAC+I,IAAI,EAAEC,KAAK,kBACb1M,cAAA,CAAAC,aAAA;IAAG2D,GAAG,EAAE8I,KAAM;IAAC7I,KAAK,EAAE;MAAE8I,SAAS,EAAE;;KAC9BF,IACF,CACN,CACH,CAET,CACJ,CAAC;AAEd,CAAC;;;ACtED,AAIA,MAAMG,MAAM,GAAG9L,IAAA,IAA4F;EAAA,IAAzF0E,YAAY,GAAA1E,IAAA,CAAZ0E,YAAY;IAAEsD,cAAc,GAAAhI,IAAA,CAAdgI,cAAc;IAAED,mBAAmB,GAAA/H,IAAA,CAAnB+H,mBAAmB;IAAEgE,AAA0B/H,KAAK,GAAAC,6BAAA,CAAAjE,IAAA,EAAAkE,WAAA;EAClG,MAAApG,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,MAAAkH,SAAA,GAAyCC,cAAQ,CAAC,MAAAyD,QAAA,KAAYlE,YAAY,CAAG,CAAC;IAAvEmE,aAAa,GAAA3D,SAAA;IAAE4D,eAAe,GAAA5D,SAAA;EAErC,MAAM8G,iBAAiB,GAAGA,MAAM;IAC9BhE,cAAc,CAACa,aAAa,CAAC;GAC9B;EAED,MAAMoD,QAAQ,GAAGA,MAAM;IACrBnD,eAAe,CAAAF,QAAA,KAAMb,mBAAmB,CAAE,CAAC;IAC3CC,cAAc,CAAAY,QAAA,KAAMb,mBAAmB,CAAE,CAAC;GAC3C;EAED,MAAMmE,cAAc,GAAIxJ,KAAK,IAAK;IAChC,MAAMyJ,SAAS,GAAAvD,QAAA,KAAQC,aAAa;MAAE/B,MAAM,EAAEpE;MAAO;IACrDoG,eAAe,CAACqD,SAAS,CAAC;IAC1BnE,cAAc,CAACmE,SAAS,CAAC;GAC1B;EAED,oBACEjN,cAAA,CAAAC,aAAA,CAACiN,iCAAU;IACTnD,QAAQ,EAAE+C,iBAAkB;IAC5BK,YAAY,EAAGC,EAAE,IAAMpD,CAAC,IAAK;MAC3BA,CAAC,IAAIA,CAAC,CAACC,cAAc,EAAE;MACvBmD,EAAE,EAAE;KACJ;IACFC,iBAAiB,EAAEN,QAAS;IAC5BO,EAAE,EAAC,kBAAkB;IACrBC,qCAAqC,EAAEzI,KAAK,CAAC0I;kBAE7CxN,cAAA,CAAAC,aAAA,CAACwN,sCAAe,qBACdzN,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC,cAAc;IAACI,KAAK,EAAE;MAAE6J,UAAU,EAAE;;KAChD5O,CAAC,CAAC,aAAa,CAAC,EAAC,GACf,CAAC,eACNkB,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;IACPC,MAAM,EAAE,CACN;MAAEtN,KAAK,EAAExB,CAAC,CAAC,iBAAiB,CAAC;MAAE0E,KAAK,EAAE;KAAI,EAC1C;MAAElD,KAAK,EAAExB,CAAC,CAAC,oBAAoB,CAAC;MAAE0E,KAAK,EAAE;KAAU,EACnD;MAAElD,KAAK,EAAExB,CAAC,CAAC,qBAAqB,CAAC;MAAE0E,KAAK,EAAE;KAAiB,CAC3D;IACFqK,SAAS,EAAC,OAAO;IACjBC,MAAM,EAAEd,cAAe;IACvBe,QAAQ,EAAE,CAAApE,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE/B,MAAM,KAAI;MAAEtH,KAAK,EAAExB,CAAC,CAAC,iBAAiB,CAAC;MAAE0E,KAAK,EAAE;;GAC1E,CACc,CACP,CAAC;AAEjB,CAAC;;ACpDM,MAAMwK,YAAY,GAAG;EAC1BC,OAAO,EAAE;IACPC,qBAAqB,EAAE,OAAO;IAC9BC,kBAAkB,EAAE,OAAO;IAC3BC,YAAY,EAAE,MAAM;IACpBC,aAAa,EAAE,MAAM;IACrBC,mBAAmB,EAAE,OAAO;IAC5BC,wBAAwB,EAAE,MAAM;IAChCC,UAAU,EAAE,KAAK;IACjBC,WAAW,EAAE,EAAE;IACfC,mBAAmB,EAAE;GACtB;EAEDC,gBAAgB,EAAE;IAChBC,cAAc,EAAE,GAAG;IACnBC,gBAAgB,EAAE,EAAE;IACpBC,mBAAmB,EAAE,EAAE;IACvBC,YAAY,EAAE,GAAG;IACjBC,gBAAgB,EAAE,EAAE;IACpBC,eAAe,EAAE,UAAU;IAC3BC,SAAS,EAAE,CAAC;IACZC,eAAe,EAAE;GAClB;EAEDC,MAAM,EAAE,CACN;IACEC,KAAK,EAAE,uCAAuC;IAC9CC,QAAQ,EAAE,MAAM;IAChBC,MAAM,EAAE,MAAM;IACdC,QAAQ,EAAE;GACX,EACD;IACEH,KAAK,EAAE,iCAAiC;IACxCC,QAAQ,EAAE,QAAQ;IAClBC,MAAM,EAAE,MAAM;IACdC,QAAQ,EAAE;GACX,EACD;IACEH,KAAK,EAAE,wCAAwC;IAC/CC,QAAQ,EAAE,MAAM;IAChBC,MAAM,EAAE,KAAK;IACbC,QAAQ,EAAE;GACX,EACD;IACEH,KAAK,EAAE,yCAAyC;IAChDC,QAAQ,EAAE,KAAK;IACfC,MAAM,EAAE,KAAK;IACbC,QAAQ,EAAE;GACX,CACF;EAEDC,WAAW,EAAE,CACX;IACED,QAAQ,EAAE,aAAa;IACvBE,SAAS,EAAE;GACZ,EACD;IACEF,QAAQ,EAAE,eAAe;IACzBE,SAAS,EAAE;GACZ,EACD;IACEF,QAAQ,EAAE,gBAAgB;IAC1BE,SAAS,EAAE;GACZ,EACD;IACEF,QAAQ,EAAE,qBAAqB;IAC/BE,SAAS,EAAE;GACZ,CACF;EAEDC,UAAU,EAAE,CACV;IACErP,KAAK,EAAE,KAAK;IACZgB,SAAS,EAAE,MAAM;IACjBF,OAAO,EAAE,MAAM;IACfoD,QAAQ,EAAE;GACX,EACD;IACElE,KAAK,EAAE,KAAK;IACZgB,SAAS,EAAE,MAAM;IACjBF,OAAO,EAAE,MAAM;IACfoD,QAAQ,EAAE;GACX,EACD;IACElE,KAAK,EAAE,KAAK;IACZgB,SAAS,EAAE,MAAM;IACjBF,OAAO,EAAE,MAAM;IACfoD,QAAQ,EAAE;GACX,EACD;IACElE,KAAK,EAAE,KAAK;IACZgB,SAAS,EAAE,MAAM;IACjBF,OAAO,EAAE,MAAM;IACfoD,QAAQ,EAAE;GACX,EACD;IACElE,KAAK,EAAE,KAAK;IACZgB,SAAS,EAAE,OAAO;IAClBF,OAAO,EAAE,MAAM;IACfoD,QAAQ,EAAE;GACX,EACD;IACElE,KAAK,EAAE,KAAK;IACZgB,SAAS,EAAE,OAAO;IAClBF,OAAO,EAAE,MAAM;IACfoD,QAAQ,EAAE;GACX,EACD;IACElE,KAAK,EAAE,KAAK;IACZgB,SAAS,EAAE,OAAO;IAClBF,OAAO,EAAE,MAAM;IACfoD,QAAQ,EAAE;GACX,CACF;EAEDoL,YAAY,EAAE,CACZ;IACEtP,KAAK,EAAE,SAAS;IAChBuP,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;GACV,EACD;IACExP,KAAK,EAAE,UAAU;IACjBuP,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;GACV,EACD;IACExP,KAAK,EAAE,UAAU;IACjBuP,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;GACV,CACF;EAEDC,kBAAkB,EAAE,CAClB;IACEzP,KAAK,EAAE,SAAS;IAChBgB,SAAS,EAAE,MAAM;IACjBF,OAAO,EAAE;GACV,EACD;IACEd,KAAK,EAAE,UAAU;IACjBgB,SAAS,EAAE,MAAM;IACjBF,OAAO,EAAE;GACV,EACD;IACEd,KAAK,EAAE,UAAU;IACjBgB,SAAS,EAAE,MAAM;IACjBF,OAAO,EAAE;GACV,CACF;EAED4O,iBAAiB,EAAE,CACjB;IACE1P,KAAK,EAAE,SAAS;IAChBkE,QAAQ,EAAE,KAAK;IACfyL,OAAO,EAAE;GACV,EACD;IACE3P,KAAK,EAAE,UAAU;IACjBkE,QAAQ,EAAE,KAAK;IACfyL,OAAO,EAAE;GACV,EACD;IACE3P,KAAK,EAAE,UAAU;IACjBkE,QAAQ,EAAE,KAAK;IACfyL,OAAO,EAAE;GACV,CACF;EAEDC,OAAO,EAAE,CACP;IACE5C,EAAE,EAAE,CAAC;IACL6C,IAAI,EAAE,SAAS;IAEfC,mBAAmB,EAAE,MAAM;IAE3BC,aAAa,EAAE,MAAM;IAErBC,QAAQ,EAAE,MAAM;IAEhBlP,OAAO,EAAE,MAAM;IAEfoD,QAAQ,EAAE,KAAK;IAEf+L,cAAc,EAAE,OAAO;IAEvB9B,WAAW,EAAE,EAAE;IAEf+B,QAAQ,EAAE,EAAE;IAEZC,WAAW,EAAE,EAAE;IAEfC,eAAe,EAAE,EAAE;IAEnBC,aAAa,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,CAAC;IAExGC,gBAAgB,EAAE,CAChB;MACEC,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,MAAM;MACjBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,CACF;IAEDsM,KAAK,EAAE,CACL;MACEjB,MAAM,EAAE,SAAS;MACjBL,QAAQ,EAAE,aAAa;MACvBuB,OAAO,EAAE,mBAAmB;MAE5BX,mBAAmB,EAAE,MAAM;MAE3BY,QAAQ,EAAE,QAAQ;MAElBC,SAAS,EAAE,mBAAmB;MAE9BC,oBAAoB,EAAE,sBAAsB;MAE5CC,WAAW,EAAE,IAAI;MAEjBC,yBAAyB,EAAE,IAAI;MAE/BC,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEff,cAAc,EAAE,KAAK;MAErBgB,yBAAyB,EAAE;KAC5B,EAED;MACE1B,MAAM,EAAE,SAAS;MACjBL,QAAQ,EAAE,aAAa;MAEvBuB,OAAO,EAAE,QAAQ;MAEjBX,mBAAmB,EAAE,KAAK;MAE1BY,QAAQ,EAAE,OAAO;MAEjBC,SAAS,EAAE,QAAQ;MAEnBC,oBAAoB,EAAE,cAAc;MAEpCG,YAAY,EAAE,KAAK;MAEnBC,QAAQ,EAAE,KAAK;MAEff,cAAc,EAAE;KACjB,EAED;MACEV,MAAM,EAAE,SAAS;MAEjBL,QAAQ,EAAE,qBAAqB;MAE/BuB,OAAO,EAAE,cAAc;MAEvBX,mBAAmB,EAAE,KAAK;MAE1BY,QAAQ,EAAE,OAAO;MAEjBC,SAAS,EAAE,QAAQ;MAEnBC,oBAAoB,EAAE,eAAe;MAErCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEff,cAAc,EAAE;KACjB,EAED;MACEV,MAAM,EAAE,SAAS;MAEjBL,QAAQ,EAAE,mBAAmB;MAE7BuB,OAAO,EAAE,kBAAkB;MAE3BX,mBAAmB,EAAE,KAAK;MAE1BY,QAAQ,EAAE,OAAO;MAEjBC,SAAS,EAAE,wBAAwB;MAEnCC,oBAAoB,EAAE,aAAa;MAEnCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEff,cAAc,EAAE;KACjB,EAED;MACEV,MAAM,EAAE,SAAS;MAEjBL,QAAQ,EAAE,gBAAgB;MAE1BuB,OAAO,EAAE,WAAW;MAEpBX,mBAAmB,EAAE,KAAK;MAE1BY,QAAQ,EAAE,OAAO;MAEjBC,SAAS,EAAE,oBAAoB;MAE/BC,oBAAoB,EAAE,cAAc;MAEpCG,YAAY,EAAE,KAAK;MAEnBC,QAAQ,EAAE,KAAK;MAEff,cAAc,EAAE;KACjB,EAED;MACEV,MAAM,EAAE,SAAS;MAEjBL,QAAQ,EAAE,kBAAkB;MAE5BuB,OAAO,EAAE,gBAAgB;MAEzBX,mBAAmB,EAAE,MAAM;MAE3BY,QAAQ,EAAE,QAAQ;MAElBC,SAAS,EAAE,QAAQ;MAEnBC,oBAAoB,EAAE,aAAa;MAEnCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEff,cAAc,EAAE;KACjB;GAEJ,EAED;IACEjD,EAAE,EAAE,CAAC;IAEL6C,IAAI,EAAE,UAAU;IAEhBC,mBAAmB,EAAE,OAAO;IAE5BC,aAAa,EAAE,MAAM;IAErBC,QAAQ,EAAE,MAAM;IAEhBlP,OAAO,EAAE,MAAM;IAEfoD,QAAQ,EAAE,KAAK;IAEf+L,cAAc,EAAE,OAAO;IAEvB9B,WAAW,EAAE,EAAE;IAEf+B,QAAQ,EAAE,EAAE;IAEZC,WAAW,EAAE,EAAE;IAEfC,eAAe,EAAE,EAAE;IAEnBC,aAAa,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,gBAAgB,CAAC;IAEhEC,gBAAgB,EAAE,CAChB;MACEC,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,CACF;IAEDsM,KAAK,EAAE,CACL;MACEjB,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,eAAe;MAEzBuB,OAAO,EAAE,sBAAsB;MAE/BX,mBAAmB,EAAE,KAAK;MAE1BY,QAAQ,EAAE,OAAO;MAEjBC,SAAS,EAAE,sBAAsB;MAEjCC,oBAAoB,EAAE,cAAc;MAEpCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEff,cAAc,EAAE;KACjB,EAED;MACEV,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,eAAe;MAEzBuB,OAAO,EAAE,mBAAmB;MAE5BX,mBAAmB,EAAE,KAAK;MAE1BY,QAAQ,EAAE,OAAO;MAEjBC,SAAS,EAAE,mBAAmB;MAE9BC,oBAAoB,EAAE,eAAe;MAErCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,IAAI;MAEdf,cAAc,EAAE;KACjB,EAED;MACEV,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,kCAAkC;MAE5CuB,OAAO,EAAE,YAAY;MAErBX,mBAAmB,EAAE,MAAM;MAE3BY,QAAQ,EAAE,QAAQ;MAElBC,SAAS,EAAE,WAAW;MAEtBC,oBAAoB,EAAE,iBAAiB;MAEvCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEff,cAAc,EAAE;KACjB,EAED;MACEV,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,gBAAgB;MAE1BuB,OAAO,EAAE,gBAAgB;MAEzBX,mBAAmB,EAAE,KAAK;MAE1BY,QAAQ,EAAE,OAAO;MAEjBC,SAAS,EAAE,WAAW;MAEtBC,oBAAoB,EAAE,qBAAqB;MAE3CG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,IAAI;MAEdf,cAAc,EAAE;KACjB,EAED;MACEV,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,gBAAgB;MAE1BuB,OAAO,EAAE,aAAa;MAEtBX,mBAAmB,EAAE,KAAK;MAE1BY,QAAQ,EAAE,OAAO;MAEjBC,SAAS,EAAE,aAAa;MAExBC,oBAAoB,EAAE,aAAa;MAEnCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,IAAI;MAEdf,cAAc,EAAE;KACjB;GAEJ,EAED;IACEjD,EAAE,EAAE,CAAC;IAEL6C,IAAI,EAAE,UAAU;IAEhBC,mBAAmB,EAAE,MAAM;IAE3BC,aAAa,EAAE,MAAM;IAErBC,QAAQ,EAAE,MAAM;IAEhBlP,OAAO,EAAE,KAAK;IAEdoD,QAAQ,EAAE,KAAK;IAEf+L,cAAc,EAAE,OAAO;IAEvB9B,WAAW,EAAE,EAAE;IAEf+B,QAAQ,EAAE,EAAE;IAEZC,WAAW,EAAE,EAAE;IAEfC,eAAe,EAAE,EAAE;IAEnBC,aAAa,EAAE,CAAC,eAAe,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,CAAC;IAEtFC,gBAAgB,EAAE,CAChB;MACEC,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,KAAK;MAChBF,OAAO,EAAE,MAAM;MACfoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,MAAM;MACjBF,OAAO,EAAE,KAAK;MACdoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,MAAM;MACjBF,OAAO,EAAE,KAAK;MACdoD,QAAQ,EAAE;KACX,EACD;MACEqM,GAAG,EAAE,KAAK;MACVvP,SAAS,EAAE,MAAM;MACjBF,OAAO,EAAE,KAAK;MACdoD,QAAQ,EAAE;KACX,CACF;IAEDsM,KAAK,EAAE,CACL;MACEjB,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,eAAe;MAEzBuB,OAAO,EAAE,aAAa;MAEtBX,mBAAmB,EAAE,KAAK;MAE1BY,QAAQ,EAAE,OAAO;MAEjBC,SAAS,EAAE,aAAa;MAExBC,oBAAoB,EAAE,kBAAkB;MAExCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,IAAI;MAEdf,cAAc,EAAE;KACjB,EAED;MACEV,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,eAAe;MAEzBuB,OAAO,EAAE,aAAa;MAEtBX,mBAAmB,EAAE,KAAK;MAE1BY,QAAQ,EAAE,OAAO;MAEjBC,SAAS,EAAE,aAAa;MAExBC,oBAAoB,EAAE,qBAAqB;MAE3CG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEff,cAAc,EAAE;KACjB,EAED;MACEV,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,qBAAqB;MAE/BuB,OAAO,EAAE,aAAa;MAEtBX,mBAAmB,EAAE,KAAK;MAE1BY,QAAQ,EAAE,OAAO;MAEjBC,SAAS,EAAE,aAAa;MAExBC,oBAAoB,EAAE,iBAAiB;MAEvCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEff,cAAc,EAAE;KACjB,EAED;MACEV,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,qBAAqB;MAE/BuB,OAAO,EAAE,cAAc;MAEvBX,mBAAmB,EAAE,KAAK;MAE1BY,QAAQ,EAAE,OAAO;MAEjBC,SAAS,EAAE,cAAc;MAEzBC,oBAAoB,EAAE,kBAAkB;MAExCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,KAAK;MAEff,cAAc,EAAE;KACjB,EAED;MACEV,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,qBAAqB;MAE/BuB,OAAO,EAAE,eAAe;MAExBX,mBAAmB,EAAE,KAAK;MAE1BY,QAAQ,EAAE,OAAO;MAEjBC,SAAS,EAAE,eAAe;MAE1BC,oBAAoB,EAAE,OAAO;MAE7BG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,IAAI;MAEdf,cAAc,EAAE;KACjB,EAED;MACEV,MAAM,EAAE,UAAU;MAElBL,QAAQ,EAAE,qBAAqB;MAE/BuB,OAAO,EAAE,OAAO;MAEhBX,mBAAmB,EAAE,KAAK;MAE1BY,QAAQ,EAAE,OAAO;MAEjBC,SAAS,EAAE,oBAAoB;MAE/BC,oBAAoB,EAAE,aAAa;MAEnCG,YAAY,EAAE,MAAM;MAEpBC,QAAQ,EAAE,IAAI;MAEdf,cAAc,EAAE;KACjB;GAEJ;AAEL,CAAC;;ACluBD,MAAMiB,kBAAkB,GAAG1Q,IAAA,IAAmB;EAAA,IAAA2Q,SAAA,GAAA3Q,IAAA,CAAhBnB,IAAI;IAAJA,IAAI,GAAA8R,SAAA,cAAG,EAAE,GAAAA,SAAA;EACrC,MAAMC,aAAa,GAAG/R,IAAI,CAAC+D,GAAG,CAAEC,IAAI,IAAA+F,QAAA,KAC/B/F,IAAI;IAEPgO,SAAS,EAAEhO,IAAI,CAACrC,SAAS,IAAI,CAAC;IAE9BsQ,OAAO,EAAElQ,IAAI,CAACC,KAAK,CAAC,CAACgC,IAAI,CAACrC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC;IAEjDuQ,QAAQ,EAAE,CAAClO,IAAI,CAACrC,SAAS,IAAI,CAAC,IAAII,IAAI,CAACC,KAAK,CAAC,CAACgC,IAAI,CAACrC,SAAS,IAAI,CAAC,IAAI,IAAI;IACzE,CAAC;EAEH,oBACEtB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,CAAC6R,4BAAmB;IAAC9N,KAAK,EAAC,MAAM;IAACC,MAAM,EAAE;kBACxCjE,cAAA,CAAAC,aAAA,CAAC8R,kBAAS;IACRpS,IAAI,EAAE+R,aAAc;IACpBM,MAAM,EAAE;MACNC,GAAG,EAAE,EAAE;MACPC,KAAK,EAAE,EAAE;MACTC,IAAI,EAAE,CAAC;MACPC,MAAM,EAAE;;kBAGVpS,cAAA,CAAAC,aAAA,CAACoS,sBAAa;IAAC7H,MAAM,EAAC,SAAS;IAAC8H,eAAe,EAAC,KAAK;IAACC,QAAQ,EAAE;GAAQ,CAAC,eAEzEvS,cAAA,CAAAC,aAAA,CAACuS,cAAK;IACJC,OAAO,EAAC,OAAO;IACfC,QAAQ,EAAE,KAAM;IAChBC,QAAQ,EAAE,KAAM;IAChBC,IAAI,EAAE;MACJrI,IAAI,EAAE,SAAS;MACfsI,QAAQ,EAAE,EAAE;MACZnF,UAAU,EAAE;;GAEf,CAAC,eAEF1N,cAAA,CAAAC,aAAA,CAAC6S,cAAK;IACJJ,QAAQ,EAAE,KAAM;IAChBC,QAAQ,EAAE,KAAM;IAChBC,IAAI,EAAE;MACJrI,IAAI,EAAE,SAAS;MACfsI,QAAQ,EAAE;;GAEb,CAAC,eAEF7S,cAAA,CAAAC,aAAA,CAAC8S,gBAAO;IACNC,MAAM,EAAE;MACNxI,MAAM,EAAE,SAAS;MACjBC,WAAW,EAAE;KACb;IACFwI,YAAY,EAAE;MACZnP,UAAU,EAAE,SAAS;MACrBoP,MAAM,EAAE,mBAAmB;MAC3BC,YAAY,EAAE,EAAE;MAChBC,SAAS,EAAE;KACX;IACFC,UAAU,EAAE;MACV9P,KAAK,EAAE,SAAS;MAChBmK,UAAU,EAAE,GAAG;MACf4F,YAAY,EAAE;;GAEjB,CAAC,eAEFtT,cAAA,CAAAC,aAAA,CAACsT,eAAM;IACLC,aAAa,EAAC,KAAK;IACnBC,KAAK,EAAC,OAAO;IACbC,QAAQ,EAAC,QAAQ;IACjBC,YAAY,EAAE;MACZC,aAAa,EAAE,EAAE;MACjBrQ,KAAK,EAAE,SAAS;MAChBmK,UAAU,EAAE;;GAEf,CAAC,eAIF1N,cAAA,CAAAC,aAAA,CAAC4T,aAAI;IACHrR,IAAI,EAAC,UAAU;IACfiQ,OAAO,EAAC,UAAU;IAClBtC,IAAI,EAAC,YAAY;IACjB3F,MAAM,EAAC,SAAS;IAChBC,WAAW,EAAE,CAAE;IACfqJ,GAAG,EAAE,KAAM;IACXC,SAAS,EAAE;MACTjJ,CAAC,EAAE;;GAEN,CAAC,eAIF9K,cAAA,CAAAC,aAAA,CAAC4T,aAAI;IACHrR,IAAI,EAAC,UAAU;IACfiQ,OAAO,EAAC,WAAW;IACnBtC,IAAI,EAAC,aAAa;IAClB3F,MAAM,EAAC,SAAS;IAChBC,WAAW,EAAE,CAAE;IACfqJ,GAAG,EAAE;MACHhJ,CAAC,EAAE;KACH;IACFiJ,SAAS,EAAE;MACTjJ,CAAC,EAAE;;GAEN,CAAC,eAIF9K,cAAA,CAAAC,aAAA,CAAC4T,aAAI;IACHrR,IAAI,EAAC,UAAU;IACfiQ,OAAO,EAAC,SAAS;IACjBtC,IAAI,EAAC,WAAW;IAChB3F,MAAM,EAAC,SAAS;IAChBC,WAAW,EAAE,CAAE;IACfqJ,GAAG,EAAE;MACHhJ,CAAC,EAAE;KACH;IACFiJ,SAAS,EAAE;MACTjJ,CAAC,EAAE;;GAEN,CACQ,CACQ,CAClB,CAAC;AAEV,CAAC;;ACzJD,MAAMkJ,iBAAiB,GAAGlT,IAAA,IAAoD;EAAA,IAAA2Q,SAAA,GAAA3Q,IAAA,CAAjDnB,IAAI;IAAJA,IAAI,GAAA8R,SAAA,cAAG,EAAE,GAAAA,SAAA;IAAAwC,eAAA,GAAAnT,IAAA,CAAEoT,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;IAAAE,SAAA,GAAArT,IAAA,CAAEsT,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,OAAO,GAAAA,SAAA;EACrE,oBACEnU,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC,YAAY;IAACI,KAAK,EAAE;MAAEwQ,SAAS,EAAE;;kBAC9CrU,cAAA,CAAAC,aAAA,CAAC6R,4BAAmB;IAAC9N,KAAK,EAAC,MAAM;IAACC,MAAM,EAAE;kBACxCjE,cAAA,CAAAC,aAAA,CAACqU,iBAAQ;IAAC3U,IAAI,EAAEA,IAAK;IAACqS,MAAM,EAAE;MAAEC,GAAG,EAAE,EAAE;MAAEC,KAAK,EAAE,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAEC,MAAM,EAAE;;kBACnEpS,cAAA,CAAAC,aAAA,CAACoS,sBAAa;IAAC7H,MAAM,EAAC,2BAA2B;IAAC8H,eAAe,EAAC;GAAO,CAAC,eAC1EtS,cAAA,CAAAC,aAAA,CAACuS,cAAK;IAACC,OAAO,EAAE2B,IAAK;IAAC1B,QAAQ,EAAE,KAAM;IAACC,QAAQ,EAAE,KAAM;IAACC,IAAI,EAAE;MAAErI,IAAI,EAAE;;GAAc,CAAC,eACrFvK,cAAA,CAAAC,aAAA,CAAC6S,cAAK;IAACJ,QAAQ,EAAE,KAAM;IAACC,QAAQ,EAAE,KAAM;IAACC,IAAI,EAAE;MAAErI,IAAI,EAAE;;GAAc,CAAC,eACtEvK,cAAA,CAAAC,aAAA,CAAC8S,gBAAO;IAACE,YAAY,EAAE;MAAEnP,UAAU,EAAE,SAAS;MAAEoP,MAAM,EAAE,MAAM;MAAEC,YAAY,EAAE;KAAK;IAACoB,SAAS,EAAE;MAAEhR,KAAK,EAAE;;GAAc,CAAC,eACvHvD,cAAA,CAAAC,aAAA,CAACsT,eAAM;IAACC,aAAa,EAAC,KAAK;IAACC,KAAK,EAAC,OAAO;IAACC,QAAQ,EAAC,QAAQ;IAACC,YAAY,EAAE;MAAEpQ,KAAK,EAAE;;GAAc,CAAC,EACjG2Q,UAAU,CAACxQ,GAAG,CAAC,CAAC8Q,MAAM,EAAE9H,KAAK,kBAC5B1M,cAAA,CAAAC,aAAA,CAACwU,YAAG;IACF7Q,GAAG,EAAE4Q,MAAM,CAAC5Q,GAAI;IAChB6O,OAAO,EAAE+B,MAAM,CAAC5Q,GAAI;IACpBuM,IAAI,EAAEqE,MAAM,CAACrE,IAAK;IAClB5F,IAAI,EAAEmC,KAAK,KAAK,CAAC,GAAG,SAAS,GAAG,SAAU;IAC1CgI,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAE;IACvBC,OAAO,EAAE;GACV,CACF,CACO,CACS,CAClB,CAAC;AAEV,CAAC;;ACxBD,MAAMC,MAAM,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAEtE,MAAMC,iBAAiB,GAAG/T,IAAA,IAA0D;EAAA,IAAA2Q,SAAA,GAAA3Q,IAAA,CAAvDnB,IAAI;IAAJA,IAAI,GAAA8R,SAAA,cAAG,EAAE,GAAAA,SAAA;IAAAqD,YAAA,GAAAhU,IAAA,CAAE2R,OAAO;IAAPA,OAAO,GAAAqC,YAAA,cAAG,OAAO,GAAAA,YAAA;IAAAC,aAAA,GAAAjU,IAAA,CAAEkU,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,OAAO,GAAAA,aAAA;EAC3E,oBACE/U,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC,YAAY;IAACI,KAAK,EAAE;MAAEwQ,SAAS,EAAE;;kBAC9CrU,cAAA,CAAAC,aAAA,CAAC6R,4BAAmB;IAAC9N,KAAK,EAAC,MAAM;IAACC,MAAM,EAAE;kBACxCjE,cAAA,CAAAC,aAAA,CAACgV,iBAAQ,qBACPjV,cAAA,CAAAC,aAAA,CAACiV,YAAG;IAACvV,IAAI,EAAEA,IAAK;IAAC8S,OAAO,EAAEA,OAAQ;IAAC0C,OAAO,EAAEH,QAAS;IAACpK,EAAE,EAAC,KAAK;IAACC,EAAE,EAAC,KAAK;IAACuK,WAAW,EAAE,GAAI;IAACC,WAAW,EAAE,EAAG;IAACC,YAAY,EAAE,CAAE;IAAChV,KAAK,EAAE;MAAEiK,IAAI,EAAE,SAAS;MAAEsI,QAAQ,EAAE;;KAC7JlT,IAAI,CAAC+D,GAAG,CAAC,CAAC6R,KAAK,EAAE7I,KAAK,kBACrB1M,cAAA,CAAAC,aAAA,CAAC8G,aAAI;IAACnD,GAAG,YAAU8I,KAAQ;IAACnC,IAAI,EAAEqK,MAAM,CAAClI,KAAK,GAAGkI,MAAM,CAACxI,MAAM;GAAI,CACnE,CACE,CAAC,eACNpM,cAAA,CAAAC,aAAA,CAAC8S,gBAAO;IAACE,YAAY,EAAE;MAAEnP,UAAU,EAAE,SAAS;MAAEoP,MAAM,EAAE,MAAM;MAAEC,YAAY,EAAE,EAAE;MAAE5P,KAAK,EAAE;;GAAc,CAAC,eACxGvD,cAAA,CAAAC,aAAA,CAACsT,eAAM;IAACC,aAAa,EAAC,QAAQ;IAACC,KAAK,EAAC,QAAQ;IAACC,QAAQ,EAAC,QAAQ;IAACC,YAAY,EAAE;MAAEpQ,KAAK,EAAE,SAAS;MAAEiS,SAAS,EAAE;;GAAO,CAC5G,CACS,CAClB,CAAC;AAEV,CAAC;;ACHD,MAAMC,YAAY,GAAGA,MAAM;EAAA,IAAAC,kBAAA;EACzB,MAAM/P,OAAO,GAAGC,yBAAU,EAAE;EAC5B,MAAMoL,QAAQ,GAAG2E,0BAAW,EAAE;EAC9B,MAAA3P,SAAA,GAA0BC,cAAQ,CAAC,EAAE,CAAC;IAA/B2P,KAAK,GAAA5P,SAAA;IAAE6P,QAAQ,GAAA7P,SAAA;EACtB,MAAA8P,UAAA,GAAwC7P,cAAQ,CAAC,KAAK,CAAC;IAAhD8P,YAAY,GAAAD,UAAA;IAAEE,eAAe,GAAAF,UAAA;EAEpC,MAAMG,QAAQ,GAAGjF,QAAQ,CAACkF,QAAQ,CAACC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;EAClE,MAAMC,OAAO,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,CAAC;EAE/D,MAAMlG,OAAO,GAAG7L,aAAO,CAAC,MAAM2J,YAAY,CAACkC,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC;EAC7D,MAAMjC,OAAO,GAAG5J,aAAO,CAAC,MAAM2J,YAAY,CAACC,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC;EAC7D,MAAM0B,UAAU,GAAGtL,aAAO,CAAC,MAAM2J,YAAY,CAAC2B,UAAU,IAAI,EAAE,EAAE,EAAE,CAAC;EACnE,MAAMC,YAAY,GAAGvL,aAAO,CAAC,MAAM2J,YAAY,CAAC4B,YAAY,IAAI,EAAE,EAAE,EAAE,CAAC;EACvE,MAAMG,kBAAkB,GAAG1L,aAAO,CAAC,MAAM2J,YAAY,CAAC+B,kBAAkB,IAAI,EAAE,EAAE,EAAE,CAAC;EAGnF,MAAMsG,eAAe,GAAGhS,aAAO,CAAC,MAAM;IACpC,OAAO6L,OAAO,CACXoG,MAAM,CAAEC,MAAM,IAAK;MAClB,IAAIR,YAAY,KAAK,eAAe,EAAE,OAAOQ,MAAM,CAAC9H,WAAW,GAAG,EAAE;MACpE,IAAIsH,YAAY,KAAK,WAAW,EAAE,OAAOQ,MAAM,CAACnV,OAAO,GAAG,KAAK;MAC/D,IAAI2U,YAAY,KAAK,QAAQ,EAAE,OAAOQ,MAAM,CAAC9H,WAAW,IAAI,EAAE;MAC9D,OAAO,IAAI;KACZ,CAAC,CACD6H,MAAM,CAAEC,MAAM,IAAK;MAClB,IAAI,CAACX,KAAK,EAAE,OAAO,IAAI;MACvB,MAAMY,OAAO,GAAGZ,KAAK,CAACa,WAAW,EAAE;MACnC,OACEF,MAAM,CAACpG,IAAI,CAACsG,WAAW,EAAE,CAACC,QAAQ,CAACF,OAAO,CAAC,IAC3CD,MAAM,CAAC5F,aAAa,CAACgG,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACH,WAAW,EAAE,CAACC,QAAQ,CAACF,OAAO,CAAC,CAAC,IACzED,MAAM,CAACzF,KAAK,CAAC6F,IAAI,CAAEC,IAAI;QAAA,IAAAC,cAAA;QAAA,QAAAA,cAAA,GAAKD,IAAI,CAAC5F,QAAQ,cAAA6F,cAAA,uBAAbA,cAAA,CAAeJ,WAAW,EAAE,CAACC,QAAQ,CAACF,OAAO,CAAC;QAAC;KAE9E,CAAC;GACL,EAAE,CAACtG,OAAO,EAAE0F,KAAK,EAAEG,YAAY,CAAC,CAAC;EAElC,MAAMe,QAAQ,GAAGzS,aAAO,CAAC,MAAM;IAC7B,OAAO6L,OAAO,CACX6G,OAAO,CAAER,MAAM,IAAKA,MAAM,CAACzF,KAAK,CAACpN,GAAG,CAAEkT,IAAI,IAAAlN,QAAA,KAAWkN,IAAI;MAAE/G,MAAM,EAAE0G,MAAM,CAACpG;MAAO,CAAC,CAAC,CACnFmG,MAAM,CAAEnP,GAAG,IAAKA,GAAG,CAAC6J,QAAQ,CAAC,CAC7BgG,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK,CAACA,CAAC,CAAC7F,YAAY,IAAI,CAAC,KAAK4F,CAAC,CAAC5F,YAAY,IAAI,CAAC,CAAC,CAAC;GACjE,EAAE,CAACnB,OAAO,CAAC,CAAC;EAEb,MAAMd,MAAM,GAAG,CACb,kEAAkE,EAClE,kEAAkE,EAClE,gEAAgE,EAChE,iEAAiE,CAClE;EAED,MAAM+H,aAAa,GAAIC,QAAQ,IAAK;IAClCzR,OAAO,CAACc,IAAI,CAAIwP,QAAQ,iBAAYmB,QAAU,CAAC;GAChD;EAED,oBACEpX,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAASwD,SAAS,EAAC;KAChB,CACC;IACE4L,KAAK,EAAE,yBAAyB;IAChC7L,KAAK,EAAEyK,OAAO,CAACC,qBAAqB;IACpCmJ,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAACqX,UAAO,MAAE,CAAC;IACjBC,OAAO,EAAE;GACV,EACD;IACElI,KAAK,EAAE,sBAAsB;IAC7B7L,KAAK,EAAEyK,OAAO,CAACE,kBAAkB;IACjCkJ,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAACuX,gBAAa,MAAE,CAAC;IACvBD,OAAO,EAAE;GACV,EACD;IACElI,KAAK,EAAE,eAAe;IACtB7L,KAAK,EAAEyK,OAAO,CAACG,YAAY;IAC3BiJ,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAACwX,UAAO,MAAE,CAAC;IACjBF,OAAO,EAAE;GACV,EACD;IACElI,KAAK,EAAE,gBAAgB;IACvB7L,KAAK,EAAEyK,OAAO,CAACI,aAAa;IAC5BgJ,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAACyX,wBAAqB,MAAE,CAAC;IAC/BH,OAAO,EAAE;GACV,EACD;IACElI,KAAK,EAAE,uBAAuB;IAC9B7L,KAAK,EAAEyK,OAAO,CAACK,mBAAmB;IAClC+I,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAAC0X,YAAS,MAAE,CAAC;IACnBJ,OAAO,EAAE;GACV,EACD;IACElI,KAAK,EAAE,6BAA6B;IACpC7L,KAAK,EAAEyK,OAAO,CAACM,wBAAwB;IACvC8I,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAACqX,UAAO,MAAE,CAAC;IACjBC,OAAO,EAAE;GACV,EACD;IACElI,KAAK,EAAE,cAAc;IACrB7L,KAAK,EAAEyK,OAAO,CAACO,UAAU;IACzB6I,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAAC2X,cAAW,MAAE,CAAC;IACrBL,OAAO,EAAE;GACV,EACD;IACElI,KAAK,EAAE,cAAc;IACrB7L,KAAK,EAAKyK,OAAO,CAACQ,WAAW,MAAG;IAChC4I,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAACuX,gBAAa,MAAE,CAAC;IACvBD,OAAO,EAAE;GACV,EACD;IACElI,KAAK,EAAE,sBAAsB;IAC7B7L,KAAK,EAAKyK,OAAO,CAACS,mBAAmB,MAAG;IACxC2I,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAACyX,wBAAqB,MAAE,CAAC;IAC/BH,OAAO,EAAE;GACV,CACF,CAAC7T,GAAG,CAAEmU,IAAI;IAAA,IAAAC,qBAAA,EAAAC,WAAA,EAAAC,sBAAA;IAAA,oBACThY,cAAA,CAAAC,aAAA;MAAS2D,GAAG,EAAEiU,IAAI,CAACxI,KAAM;MAAC5L,SAAS,qBAAmBoU,IAAI,CAACN;oBACzDvX,cAAA,CAAAC,aAAA;MAAKwD,SAAS,EAAC;OAAYoU,IAAI,CAACR,IAAU,CAAC,eAC3CrX,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA;MAAGwD,SAAS,EAAC;OAAaoU,IAAI,CAACxI,KAAS,CAAC,eACzCrP,cAAA,CAAAC,aAAA,cAAA6X,qBAAA,IAAAC,WAAA,GAAKF,IAAI,CAACrU,KAAK,cAAAuU,WAAA,wBAAAC,sBAAA,GAAVD,WAAA,CAAYE,cAAc,cAAAD,sBAAA,uBAA1BA,sBAAA,CAAAE,IAAA,CAAAH,WAA6B,CAAC,YAAAD,qBAAA,GAAID,IAAI,CAACrU,KAAU,CACnD,CACE,CAAC;GACX,CACM,CAAC,eAEVxD,cAAA,CAAAC,aAAA;IAASwD,SAAS,EAAC;kBACjBzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,aAAI,6BAA+B,CAAC,eACpCD,cAAA,CAAAC,aAAA,YAAG,iFAAkF,CAClF,CAAC,eACND,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,CAACkY,WAAQ,MAAE,CAAC,eACZnY,cAAA,CAAAC,aAAA;IAAOuC,IAAI,EAAC,MAAM;IAAC6I,WAAW,EAAC,uCAAuC;IAAC7H,KAAK,EAAEoS,KAAM;IAAC/L,QAAQ,EAAGG,CAAC,IAAK6L,QAAQ,CAAC7L,CAAC,CAACoB,MAAM,CAAC5H,KAAK;GAAI,CAC9H,CAAC,eACNxD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ2S,OAAO,CAAC1S,GAAG,CAAEkE,MAAM,iBAClB5H,cAAA,CAAAC,aAAA;IAAQ2D,GAAG,EAAEgE,MAAO;IAACnE,SAAS,oBAAiBsS,YAAY,KAAKnO,MAAM,GAAG,QAAQ,GAAG,EAAE,CAAG;IAACN,OAAO,EAAEA,MAAM0O,eAAe,CAACpO,MAAM;KAC5HA,MACK,CACT,CACE,CACF,CACF,CAAC,eAEN5H,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ4S,eAAe,CAAC3S,GAAG,CAAE6S,MAAM,iBAC1BvW,cAAA,CAAAC,aAAA;IAAK2D,GAAG,EAAE2S,MAAM,CAACjJ,EAAG;IAAC7J,SAAS,EAAC,wBAAwB;IAAC6D,OAAO,EAAEA,MAAM6P,aAAa,CAACZ,MAAM,CAACjJ,EAAE;kBAC5FtN,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA;IAAGwD,SAAS,EAAC;KAAe8S,MAAM,CAACpG,IAAQ,CAAC,eAC5CnQ,cAAA,CAAAC,aAAA,aAAKsW,MAAM,CAACnG,mBAAmB,CAAC6H,cAAc,EAAO,CAAC,eACtDjY,cAAA,CAAAC,aAAA;IAAGwD,SAAS,EAAC;KAAkB,8BAA4B,EAAC8S,MAAM,CAAC5F,aAAa,CAACvE,MAAM,EAAC,kBAAmB,CACxG,CAAC,eACNpM,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAyB8S,MAAM,CAAC/F,QAAQ,EAAC,GAAM,CAC3D,CAAC,eACNxQ,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC,eAAe;IAACI,KAAK,EAAE;MAAEG,KAAK,EAAKuS,MAAM,CAAC/F,QAAQ;;GAAQ,CACtE,CAAC,eACNxQ,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,iBAASsW,MAAM,CAAClG,aAAa,CAAC4H,cAAc,EAAW,CAAC,eACxDjY,cAAA,CAAAC,aAAA,eAAM,aAAiB,CACpB,CAAC,eACND,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,iBAASsW,MAAM,CAACjG,QAAQ,CAAC2H,cAAc,EAAW,CAAC,eACnDjY,cAAA,CAAAC,aAAA,eAAM,WAAe,CAClB,CAAC,eACND,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,iBAASsW,MAAM,CAACnV,OAAO,CAAC6W,cAAc,EAAW,CAAC,eAClDjY,cAAA,CAAAC,aAAA,eAAM,SAAa,CAChB,CAAC,eACND,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,iBAASsW,MAAM,CAAC/R,QAAQ,CAACyT,cAAc,EAAW,CAAC,eACnDjY,cAAA,CAAAC,aAAA,eAAM,UAAc,CACjB,CACF,CAAC,eACND,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,eAAOsW,MAAM,CAAC7F,eAAe,EAAC,YAAgB,CAAC,eAC/C1Q,cAAA,CAAAC,aAAA,eAAOsW,MAAM,CAAC9F,WAAW,EAAC,cAAkB,CAAC,eAC7CzQ,cAAA,CAAAC,aAAA,eAAOsW,MAAM,CAAC5F,aAAa,CAACyH,IAAI,CAAC,IAAI,CAAQ,CAC1C,CAAC,eACNpY,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,eAAM,mBAAuB,CAAC,eAC9BD,cAAA,CAAAC,aAAA,CAACoY,eAAY,MAAE,CACZ,CACF,CACN,CACE,CACE,CAAC,eAEVrY,cAAA,CAAAC,aAAA;IAASwD,SAAS,EAAC;kBACjBzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,aAAI,kBAAoB,CAAC,eACzBD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAgB,YAAgB,CAC7C,CAAC,eACNzD,cAAA,CAAAC,aAAA,CAACuR,kBAAkB;IAAC7R,IAAI,EAAEgQ,UAAW;IAAC8C,OAAO,EAAC,WAAW;IAACtC,IAAI,EAAC;GAAa,CACzE,CAAC,eAENnQ,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,aAAI,qBAAuB,CAAC,eAC5BD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAa,UAAc,CACxC,CAAC,eACNzD,cAAA,CAAAC,aAAA,CAAC+T,iBAAiB;IAChBrU,IAAI,EAAEiQ,YAAa;IACnBsE,UAAU,EAAE,CACV;MAAEtQ,GAAG,EAAE,QAAQ;MAAEuM,IAAI,EAAE;KAAU,EACjC;MAAEvM,GAAG,EAAE,SAAS;MAAEuM,IAAI,EAAE;KAAW;GAEtC,CACE,CAAC,eAENnQ,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,aAAI,sBAAwB,CAAC,eAC7BD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAgB,mBAAuB,CACpD,CAAC,eACNzD,cAAA,CAAAC,aAAA,CAAC4U,iBAAiB;IAAClV,IAAI,EAAEoQ,kBAAmB;IAAC0C,OAAO,EAAC,WAAW;IAACuC,QAAQ,EAAC;GAAS,CAChF,CACE,CAAC,eAEVhV,cAAA,CAAAC,aAAA;IAASwD,SAAS,EAAC;kBACjBzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA,CAACqY,iBAAc,MAAE,CAAC,6BAChB,CAAC,eACLtY,cAAA,CAAAC,aAAA,YAAG,mDAAoD,CACpD,CAAC,eACND,cAAA,CAAAC,aAAA;IAAQwD,SAAS,EAAC;KAAmB,kBAAwB,CAC1D,CAAC,eAENzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,6BACED,cAAA,CAAAC,aAAA,6BACED,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA,aAAI,QAAU,CAAC,eACfD,cAAA,CAAAC,aAAA,aAAI,UAAY,CAAC,eACjBD,cAAA,CAAAC,aAAA,aAAI,UAAY,CAAC,eACjBD,cAAA,CAAAC,aAAA,aAAI,UAAY,CAAC,eACjBD,cAAA,CAAAC,aAAA,aAAI,aAAe,CAAC,eACpBD,cAAA,CAAAC,aAAA,aAAI,SAAW,CAAC,eAChBD,cAAA,CAAAC,aAAA,aAAI,UAAY,CACd,CACC,CAAC,eACRD,cAAA,CAAAC,aAAA,gBACG6W,QAAQ,CAACyB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC7U,GAAG,CAAC,CAACkT,IAAI,EAAElK,KAAK;IAAA,IAAA8L,qBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,cAAA,EAAAC,qBAAA,EAAAC,oBAAA;IAAA,oBACrC7Y,cAAA,CAAAC,aAAA;MAAI2D,GAAG,EAAKgT,IAAI,CAAC/G,MAAM,SAAI+G,IAAI,CAAC5F,QAAQ,SAAItE;oBAC1C1M,cAAA,CAAAC,aAAA,aAAK2W,IAAI,CAAC/G,MAAW,CAAC,eACtB7P,cAAA,CAAAC,aAAA,aAAK2W,IAAI,CAAC5F,QAAa,CAAC,eACxBhR,cAAA,CAAAC,aAAA,aAAK2W,IAAI,CAACpH,QAAQ,IAAIoH,IAAI,CAAC7F,OAAY,CAAC,eACxC/Q,cAAA,CAAAC,aAAA,cAAAuY,qBAAA,IAAAC,kBAAA,GAAK7B,IAAI,CAACvF,YAAY,cAAAoH,kBAAA,uBAAjBA,kBAAA,CAAmBR,cAAc,EAAE,YAAAO,qBAAA,GAAI,GAAQ,CAAC,eACrDxY,cAAA,CAAAC,aAAA,cAAAyY,qBAAA,IAAAC,cAAA,GAAK/B,IAAI,CAACtF,QAAQ,cAAAqH,cAAA,uBAAbA,cAAA,CAAeV,cAAc,EAAE,YAAAS,qBAAA,GAAI,GAAQ,CAAC,eACjD1Y,cAAA,CAAAC,aAAA,cAAA2Y,qBAAA,IAAAC,oBAAA,GAAKjC,IAAI,CAACrG,cAAc,cAAAsI,oBAAA,uBAAnBA,oBAAA,CAAqBZ,cAAc,EAAE,YAAAW,qBAAA,GAAI,GAAQ,CAAC,eACvD5Y,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA;MAAMwD,SAAS,EAAC;OACb/B,IAAI,CAACoX,GAAG,CAAC,GAAG,EAAEpX,IAAI,CAACC,KAAK,CAAE,CAACiV,IAAI,CAACtF,QAAQ,IAAI,CAAC,IAAI5P,IAAI,CAACqX,GAAG,CAACnC,IAAI,CAACvF,YAAY,IAAI,CAAC,EAAE,CAAC,CAAC,GAAI,GAAG,CAAC,CAAC,EAAC,GAC3F,CACJ,CACF,CAAC;GACN,CACI,CACF,CACJ,CACE,CAAC,eAEVrR,cAAA,CAAAC,aAAA;IAASwD,SAAS,EAAC;kBACjBzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA,CAACyX,wBAAqB,MAAE,CAAC,oBACvB,CACD,CAAC,eACN1X,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ2L,MAAM,CAAC1L,GAAG,CAAEsV,KAAK,iBAChBhZ,cAAA,CAAAC,aAAA;IAAK2D,GAAG,EAAEoV,KAAM;IAACvV,SAAS,EAAC;kBACzBzD,cAAA,CAAAC,aAAA,CAACyX,wBAAqB,MAAE,CAAC,eACzB1X,cAAA,CAAAC,aAAA,YAAI+Y,KAAS,CACV,CACN,CACE,CACF,CAAC,eAENhZ,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA,CAAC0X,YAAS,MAAE,CAAC,2BACX,CACD,CAAC,eACN3X,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,aAAI,IAAM,CAAC,eACXD,cAAA,CAAAC,aAAA,YAAG,oBAAqB,CACrB,CAAC,eACND,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,aAAI,KAAO,CAAC,eACZD,cAAA,CAAAC,aAAA,YAAG,kBAAmB,CACnB,CAAC,eACND,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,cAAAyV,kBAAA,GAAKzH,OAAO,CAACgL,SAAS,cAAAvD,kBAAA,uBAAjBA,kBAAA,CAAmBuC,cAAc,EAAO,CAAC,eAC9CjY,cAAA,CAAAC,aAAA,YAAG,sBAAuB,CACvB,CAAC,eACND,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,aAAKgO,OAAO,CAACQ,WAAW,EAAC,GAAK,CAAC,eAC/BzO,cAAA,CAAAC,aAAA,YAAG,wBAAyB,CACzB,CACF,CACF,CACE,CACN,CACF,CAAC;AAEV,CAAC;;ACvKM,MAAMiZ,eAAe,gBAAiB,OAAOC,MAAM,KAAK,WAAW,GAAIA,MAAM,CAACC,QAAQ,KAAKD,MAAM,CAACC,QAAQ,GAAGD,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAI,YAAY;AAI9J,AAyDO,MAAME,oBAAoB,gBAAiB,OAAOF,MAAM,KAAK,WAAW,GAAIA,MAAM,CAACG,aAAa,KAAKH,MAAM,CAACG,aAAa,GAAGH,MAAM,CAAC,sBAAsB,CAAC,CAAC,GAAI,iBAAiB;AAGvL,AA8UO,SAASI,MAAMA,CAACC,IAAI,EAAEC,OAAO,EAAE;EACrC,IAAI;IACH,IAAIC,MAAM,GAAGF,IAAI,EAAE;GACnB,CAAC,OAAMxP,CAAC,EAAE;IACV,OAAOyP,OAAO,CAACzP,CAAC,CAAC;;EAElB,IAAI0P,MAAM,IAAIA,MAAM,CAACC,IAAI,EAAE;IAC1B,OAAOD,MAAM,CAACC,IAAI,CAAC,KAAK,CAAC,EAAEF,OAAO,CAAC;;EAEpC,OAAOC,MAAM;AACd;AAGA,AAAO,SAASE,gBAAgBA,CAACJ,IAAI,EAAEK,SAAS,EAAE;EACjD,IAAI;IACH,IAAIH,MAAM,GAAGF,IAAI,EAAE;GACnB,CAAC,OAAOxP,CAAC,EAAE;IACX,OAAO6P,SAAS,CAAC,IAAI,EAAE7P,CAAC,CAAC;;EAE1B,IAAI0P,MAAM,IAAIA,MAAM,CAACC,IAAI,EAAE;IAC1B,OAAOD,MAAM,CAACC,IAAI,CAACE,SAAS,CAACC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAED,SAAS,CAACC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;EAE5E,OAAOD,SAAS,CAAC,KAAK,EAAEH,MAAM,CAAC;AAChC;;ACzkBO,MAAMK,mBAAmB,aAAAjZ,IAAA;EAAA,IAC5BkZ,IAAI,GAAAlZ,IAAA,CAAJkZ,IAAI;IACJC,YAAY,GAAAnZ,IAAA,CAAZmZ,YAAY;IACZC,UAAU,GAAApZ,IAAA,CAAVoZ,UAAU;IACVlO,YAAY,GAAAlL,IAAA,CAAZkL,YAAY;IACZmO,UAAU,GAAArZ,IAAA,CAAVqZ,UAAU;IACVC,cAAc,GAAAtZ,IAAA,CAAdsZ,cAAc;IACd7V,aAAa,GAAAzD,IAAA,CAAbyD,aAAa;IACbzF,CAAC,GAAAgC,IAAA,CAADhC,CAAC;EAAA,IACC;IACF,MAAMC,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;IACtD,MAAMmb,QAAQ,GAAGrb,KAAK,CAACsb,cAAc,CAACC,GAAG,CAAC,UAAU,CAAC;IACrD,MAAMC,OAAO,GAAG,CAAAH,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEG,OAAO,KAAI,EAAE;IACvC,MAAMC,UAAU,GAAGD,OAAO,CAACE,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,IAAI,KAAK7b,QAAQ,CAAC;IAErE,MAAM8b,UAAU,GAAIpO,IAAI,IACpBA,IAAI,IAAIA,IAAI,CAACqO,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC5S,WAAW,EAAE,GAAGuE,IAAI,CAACqO,MAAM,CAAC,CAAC,CAAC;IAC5D,MAAMC,QAAQ,GAAIC,GAAG,IACjBA,GAAG,IACHA,GAAG,CACEvE,WAAW,EAAE,CACbjK,KAAK,CAAC,GAAG,CAAC,CACV9I,GAAG,CAACmX,UAAU,CAAC,CACfzC,IAAI,CAAC,GAAG,CAAC;IAElB,MAAMjI,IAAI,GAAG,iBAAiB;IAC9B,MAAM8K,KAAK,GAAG,8BAA8B;IAC5C,MAAMC,WAAW,GAAG,iBAAiB;IAErC,MAAMC,WAAW,GAAG,IAAIC,IAAI,EAAE;IAC9B,MAAMC,aAAa,GAAGF,WAAW,CAACG,kBAAkB,CAAC,OAAO,EAAE;MAC1DzK,GAAG,EAAE,SAAS;MACd0K,KAAK,EAAE,SAAS;MAChBC,IAAI,EAAE;KACT,CAAC;IACF,MAAMC,aAAa,GAAGN,WAAW,CAACO,kBAAkB,CAAC,OAAO,EAAE;MAC1DC,IAAI,EAAE,SAAS;MACfC,MAAM,EAAE,SAAS;MACjBC,MAAM,EAAE,SAAS;MACjBC,MAAM,EAAE;KACX,CAAC;IACF,MAAMC,gBAAgB,GAAMV,aAAa,SAAII,aAAe;IAE5D,MAAMO,YAAY,GAAIC,GAAG,IAAKA,GAAG,KAAKC,SAAS,IAAID,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,EAAE;IAE7E,MAAME,OAAO,GAAG,CACZ;MACI9M,KAAK,EAAEvQ,CAAC,CAAC,kBAAkB,CAAC;MAC5Bsd,eAAe,EAAE,IAAI;MACrBC,MAAM,EAAE,CACJ;QAAEhN,KAAK,EAAEvQ,CAAC,CAAC,eAAe,CAAC;QAAE0E,KAAK,EAAEyW;OAAc,EAClD;QAAE5K,KAAK,EAAEvQ,CAAC,CAAC,eAAe,CAAC;QAAE0E,KAAK,EAAEwI;OAAc,EAClD;QAAEqD,KAAK,EAAEvQ,CAAC,CAAC,aAAa,CAAC;QAAE0E,KAAK,EAAE2W;OAAY,EAC9C;QAAE9K,KAAK,EAAEvQ,CAAC,CAAC,iBAAiB,CAAC;QAAE0E,KAAK,EAAE4W;OAAgB,CACzD,CAAC9D,MAAM,CAAE3S,IAAI,IAAKqY,YAAY,CAACrY,IAAI,CAACH,KAAK,CAAC;KAC9C,EACD;MACI6L,KAAK,EAAEvQ,CAAC,CAAC,oBAAoB,CAAC;MAC9Bsd,eAAe,EAAE,IAAI;MACrBC,MAAM,EAAE,CACJ;QAAEhN,KAAK,EAAEvQ,CAAC,CAAC,gBAAgB,CAAC;QAAE0E,KAAK,EAAE,CAAAe,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEpD,KAAK,KAAI;OAAG,EAChE;QAAEkO,KAAK,EAAEvQ,CAAC,CAAC,WAAW,CAAC;QAAE0E,KAAK,EAAE,CAAAe,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEjD,SAAS,KAAI;OAAG,EAC/D;QAAE+N,KAAK,EAAEvQ,CAAC,CAAC,SAAS,CAAC;QAAE0E,KAAK,EAAE,CAAAe,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEnD,OAAO,KAAI;OAAG,EAC3D;QAAEiO,KAAK,EAAEvQ,CAAC,CAAC,WAAW,CAAC;QAAE0E,KAAK,EAAE,CAAAe,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE+X,cAAc,KAAI;OAAG,CACvE,CAAChG,MAAM,CAAE3S,IAAI,IAAKqY,YAAY,CAACrY,IAAI,CAACH,KAAK,CAAC;KAC9C,CACJ;IAED,IACI+Y,MAAM,CAACvd,KAAK,IACZud,MAAM,CAACvd,KAAK,CAACwd,KAAK,IAClBD,MAAM,CAACvd,KAAK,CAACwd,KAAK,CAACC,GAAG,IACtBF,MAAM,CAACvd,KAAK,CAACwd,KAAK,CAACC,GAAG,CAACC,sBAAsB,EAC/C;MACEH,MAAM,CAACvd,KAAK,CAACwd,KAAK,CAACC,GAAG,CAACC,sBAAsB,CAAC;QAC1C3d,QAAQ;QACR4d,IAAI,EAAE,IAAI;QACVxM,IAAI;QACJ8K,KAAK;QACLC,WAAW;QACX0B,OAAO,EAAE9d,CAAC,CAAC,sBAAsB,CAAC;QAClCqd,OAAO;QACP9U,iBAAiB,EAAE6S,UAAU;QAC7BF,IAAI;QACJlb,CAAC;QACD+d,qBAAqB,EAAE,IAAI;QAC3BC,YAAY,EAAEf;OACjB,CAAC;KACL,MAAM;MACHgB,OAAO,CAACC,KAAK,CAAC,yDAAyD,CAAC;;IAC3E,OAAAC,OAAA,CAAAC,OAAA;GACJ,QAAAlT,CAAA;IAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;AAAA;AAGD,AAmHO,MAAMoT,iBAAiB,aAAA7V,KAAA;EAAA,IAC1ByS,IAAI,GAAAzS,KAAA,CAAJyS,IAAI;IACJG,UAAU,GAAA5S,KAAA,CAAV4S,UAAU;IACVnO,YAAY,GAAAzE,KAAA,CAAZyE,YAAY;IACZiP,KAAK,GAAA1T,KAAA,CAAL0T,KAAK;IACL1W,aAAa,GAAAgD,KAAA,CAAbhD,aAAa;IACbzF,CAAC,GAAAyI,KAAA,CAADzI,CAAC;EAAA,IACC;IACF,MAAMC,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;IAEtD,MAAMiR,IAAI,GAAG,iBAAiB;IAC9B,MAAMkN,YAAY,GAAG,8BAA8B;IACnD,MAAMnC,WAAW,GAAG,iBAAiB;IAErC,MAAMC,WAAW,GAAG,IAAIC,IAAI,EAAE;IAC9B,MAAMC,aAAa,GAAGF,WAAW,CAACG,kBAAkB,CAAC,OAAO,EAAE;MAC1DzK,GAAG,EAAE,SAAS;MACd0K,KAAK,EAAE,SAAS;MAChBC,IAAI,EAAE;KACT,CAAC;IACF,MAAMC,aAAa,GAAGN,WAAW,CAACO,kBAAkB,CAAC,OAAO,EAAE;MAC1DC,IAAI,EAAE,SAAS;MACfC,MAAM,EAAE,SAAS;MACjBC,MAAM,EAAE,SAAS;MACjBC,MAAM,EAAE;KACX,CAAC;IACF,MAAMC,gBAAgB,GAAMV,aAAa,SAAII,aAAe;IAE5D,MAAMO,YAAY,GAAIC,GAAG,IAAKA,GAAG,KAAKC,SAAS,IAAID,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,EAAE;IAE7E,MAAME,OAAO,GAAG,CACZ;MACI9M,KAAK,EAAEvQ,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBAAgB;MAC9Csd,eAAe,EAAE,IAAI;MACrBC,MAAM,EAAE,CACJ;QAAEhN,KAAK,EAAEvQ,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;QAAE0E,KAAK,EAAE2W;OAAY,EAC/D;QAAE9K,KAAK,EAAEvQ,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;QAAE0E,KAAK,EAAEwI;OAAc,EACrE;QAAEqD,KAAK,EAAEvQ,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO;QAAE0E,KAAK,EAAEyX;OAAO,CACjD,CAAC3E,MAAM,CAAE3S,IAAI,IAAKqY,YAAY,CAACrY,IAAI,CAACH,KAAK,CAAC;KAC9C,EACD;MACI6L,KAAK,EAAEvQ,CAAC,CAAC,oBAAoB,CAAC,IAAI,oBAAoB;MACtDsd,eAAe,EAAE,IAAI;MACrBC,MAAM,EAAE,CACJ;QAAEhN,KAAK,EAAEvQ,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBAAgB;QAAE0E,KAAK,EAAE,CAAAe,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEpD,KAAK,KAAI;OAAG,EACpF;QAAEkO,KAAK,EAAEvQ,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;QAAE0E,KAAK,EAAE,CAAAe,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEjD,SAAS,KAAI;OAAG,EAC9E;QAAE+N,KAAK,EAAEvQ,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS;QAAE0E,KAAK,EAAE,CAAAe,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEnD,OAAO,KAAI;OAAG,EACxE;QAAEiO,KAAK,EAAEvQ,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;QAAE0E,KAAK,EAAE,CAAAe,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE+X,cAAc,KAAI;OAAG,CACtF,CAAChG,MAAM,CAAE3S,IAAI,IAAKqY,YAAY,CAACrY,IAAI,CAACH,KAAK,CAAC;KAC9C,CACJ;IAGD,MAAM8Z,UAAU,GAAGtD,IAAI,CAACtW,GAAG,CAAEyD,GAAG,KAAM;MAClCX,GAAG,EAAEW,GAAG,CAACgJ,IAAI,IAAI,KAAK;MACtBoN,SAAS,EAAEpW,GAAG,CAACqW,QAAQ,IAAI,KAAK;MAChCC,QAAQ,EAAE,EAAE;MACZD,QAAQ,EAAErW,GAAG,CAACS,MAAM,IAAI,KAAK;MAC7B8V,QAAQ,EAAE/R,MAAM,CAACxE,GAAG,CAAChG,KAAK,IAAI,CAAC,CAAC;MAChC6G,UAAU,GAAKb,GAAG,CAAC7F,SAAS,IAAI,CAAC,aAAM6F,GAAG,CAAC/F,OAAO,IAAI,CAAC,CAAE;MACzDuc,WAAW,EAAE,aAAa;MAC1BnN,QAAQ,EAAErJ,GAAG,CAACqJ,QAAQ,IAAI;KAC7B,CAAC,CAAC;IAGH,MAAMoN,0BAA0B,GAAGxC,IAAI,CAACyC,SAAS,CAACvC,kBAAkB;IACpE,IAAIwC,aAAa,GAAG,CAAC;IACrB1C,IAAI,CAACyC,SAAS,CAACvC,kBAAkB,GAAG,YAAmB;MACnD,IAAIwC,aAAa,GAAGR,UAAU,CAAClR,MAAM,EAAE;QACnC,OAAOkR,UAAU,CAACQ,aAAa,EAAE,CAAC,CAACtN,QAAQ,IAAI,IAAI;;MACtD,SAAAuN,KAAA,GAAAC,SAAA,CAAA5R,MAAA,EAH4C6R,IAAI,OAAAzV,KAAA,CAAAuV,KAAA,GAAAG,KAAA,MAAAA,KAAA,GAAAH,KAAA,EAAAG,KAAA;QAAJD,IAAI,CAAAC,KAAA,IAAAF,SAAA,CAAAE,KAAA;;MAIjD,OAAON,0BAA0B,CAACO,KAAK,CAAC,IAAI,EAAEF,IAAI,CAAC;KACtD;IAGD,MAAMG,OAAO,GAAIxa,GAAG,IAAK;MACrB,IAAIA,GAAG,KAAK,KAAK,EAAE,OAAO9E,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAAiB;MACnE,IAAI8E,GAAG,KAAK,UAAU,EAAE,OAAO9E,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;MACpE,IAAI8E,GAAG,KAAK,QAAQ,EAAE,OAAO9E,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;MACpD,IAAI8E,GAAG,KAAK,MAAM,EAAE,OAAO9E,CAAC,CAAC,yBAAyB,CAAC,IAAI,yBAAyB;MACpF,IAAI8E,GAAG,KAAK,aAAa,EAAE,OAAO9E,CAAC,CAAC,mBAAmB,CAAC,IAAI,qBAAqB;MACjF,IAAI8E,GAAG,KAAK,gBAAgB,EAAE,OAAO9E,CAAC,CAAC,kBAAkB,CAAC,IAAI,kBAAkB;MAChF,IAAI8E,GAAG,KAAK,eAAe,EAAE,OAAO9E,CAAC,CAAC,uBAAuB,CAAC,IAAI,uBAAuB;MACzF,OAAOA,CAAC,CAAC8E,GAAG,CAAC;KAChB;IAED,IAAI;MACA,IACI2Y,MAAM,CAACvd,KAAK,IACZud,MAAM,CAACvd,KAAK,CAACwd,KAAK,IAClBD,MAAM,CAACvd,KAAK,CAACwd,KAAK,CAACC,GAAG,IACtBF,MAAM,CAACvd,KAAK,CAACwd,KAAK,CAACC,GAAG,CAACC,sBAAsB,EAC/C;QACEH,MAAM,CAACvd,KAAK,CAACwd,KAAK,CAACC,GAAG,CAACC,sBAAsB,CAAC;UAC1C3d,QAAQ;UACR4d,IAAI,EAAE,IAAI;UACVxM,IAAI;UACJ8K,KAAK,EAAEoC,YAAY;UACnBnC,WAAW;UACX0B,OAAO,EAAE9d,CAAC,CAAC,oBAAoB,CAAC,IAAI,oBAAoB;UACxDqd,OAAO;UACP9U,iBAAiB,EAAE2E,YAAY;UAC/BgO,IAAI,EAAEsD,UAAU;UAChBxe,CAAC,EAAEsf,OAAO;UACVvB,qBAAqB,EAAE,IAAI;UAC3BC,YAAY,EAAEf;SACjB,CAAC;OACL,MAAM;QACHgB,OAAO,CAACC,KAAK,CAAC,yDAAyD,CAAC;;KAE/E,SAAS;MACN5B,IAAI,CAACyC,SAAS,CAACvC,kBAAkB,GAAGsC,0BAA0B;;IACjE,OAAAX,OAAA,CAAAC,OAAA;GACJ,QAAAlT,CAAA;IAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;AAAA;;AC1TD,MAAMqU,iBAAiB,GAAGA,MAAM;EAAA,IAAAC,qBAAA,EAAAC,aAAA,EAAAC,cAAA,EAAAC,kBAAA;EAC5B,MAAA7f,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM6G,OAAO,GAAGC,yBAAU,EAAE;EAC5B,MAAM7G,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE,IAAI,QAAQ;EAClE,MAAAwf,UAAA,GAAqBC,wBAAS,EAAE;IAAxBvH,QAAQ,GAAAsH,UAAA,CAARtH,QAAQ;EAGhB,MAAAjY,qBAAA,GAA6DH,KAAK,CAACI,KAAK,CAACC,IAAI,CAACuf,yBAAyB,CAAC;MACpGnf,OAAO,EAAE,CAAC,CAACV,QAAQ;MACnB8f,gBAAgB,EAAE;KACrB,CAAC;IAHiBC,iBAAiB,GAAA3f,qBAAA,CAA5BS,SAAS;IAA2Bmf,YAAY,GAAA5f,qBAAA,CAAlBQ,IAAI;EAM1C,MAAAqf,qBAAA,GAAyEhgB,KAAK,CAACI,KAAK,CAAC6f,GAAG,CAACC,YAAY,CACjGngB,QAAQ,EACR;MAAE6I,MAAM,EAAE;KAAU,EACpB;MAAEnI,OAAO,EAAE,CAAC,CAACV;KACjB,CAAC;IAJaogB,oBAAoB,GAAAH,qBAAA,CAA1Brf,IAAI;IAAmCyf,qBAAqB,GAAAJ,qBAAA,CAAhCpf,SAAS;EAO7C,MAAAyf,qBAAA,GAAiFrgB,KAAK,CAACI,KAAK,CAAC6f,GAAG,CAACK,mBAAmB,CAChHvgB,QAAQ,EACR;MAAE6I,MAAM,EAAE;KAAU,EACpB;MAAEnI,OAAO,EAAE,CAAC,CAACV;KACjB,CAAC;IAJawgB,wBAAwB,GAAAF,qBAAA,CAA9B1f,IAAI;IAAuC6f,yBAAyB,GAAAH,qBAAA,CAApCzf,SAAS;EAMjD,MAAM6f,YAAY,IAAAnB,qBAAA,GAAGtf,KAAK,CAACsb,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAA+D,qBAAA,uBAAhCA,qBAAA,CAAkCha,IAAI;EAG3D,MAAMiS,MAAM,GAAGlS,aAAO,CAAC,MAAM;IACzB,MAAMqb,QAAQ,GAAGD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEE,IAAI;IACnC,MAAMC,UAAU,GAAGH,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEzT,YAAY;IAG7C,MAAM6T,WAAW,GAAIC,CAAC,IAAK;MAAA,IAAAC,QAAA,EAAAC,SAAA,EAAAC,SAAA;MACvB,MAAMC,SAAS,GAAG,EAAAH,QAAA,GAAAD,CAAC,CAACK,KAAK,cAAAJ,QAAA,uBAAPA,QAAA,CAASJ,IAAI,OAAAK,SAAA,GAAIF,CAAC,CAACK,KAAK,cAAAH,SAAA,uBAAPA,SAAA,CAAS1S,EAAE;MAC9C,MAAM8S,WAAW,GAAG,EAAAH,SAAA,GAAAH,CAAC,CAACK,KAAK,cAAAF,SAAA,uBAAPA,SAAA,CAASjU,YAAY,KAAI8T,CAAC,CAAC9T,YAAY;MAC3D,OAAQ0T,QAAQ,IAAIQ,SAAS,KAAKR,QAAQ,IAAME,UAAU,IAAIQ,WAAW,KAAKR,UAAW;KAC5F;IAGD,IAAIT,oBAAoB,EAAE;MACtB,IAAI/H,QAAQ,EAAE;QACV,MAAMiJ,OAAO,GAAGlB,oBAAoB,CAACzE,IAAI,CACpCoF,CAAC;UAAA,IAAAQ,aAAA,EAAAC,cAAA;UAAA,OAAK,EAAAD,aAAA,GAAAR,CAAC,CAACU,UAAU,cAAAF,aAAA,uBAAZA,aAAA,CAAchT,EAAE,MAAK8J,QAAQ,IAAI,EAAAmJ,cAAA,GAAAT,CAAC,CAACU,UAAU,cAAAD,cAAA,uBAAZA,cAAA,CAAcnJ,QAAQ,MAAKA,QAAQ,IAAI0I,CAAC,CAACxS,EAAE,KAAK8J,QAAQ,IAAI0I,CAAC,CAAC1I,QAAQ,KAAKA,QAAQ;SAC/H,CAAC;QACD,IAAIiJ,OAAO,EAAE,OAAOA,OAAO,CAACG,UAAU,IAAIH,OAAO;OACpD,MAAM;QAEH,MAAMA,OAAO,GAAGlB,oBAAoB,CAACzE,IAAI,CAAEoF,CAAC,IAAKD,WAAW,CAACC,CAAC,CAACU,UAAU,IAAIV,CAAC,CAAC,CAAC;QAChF,IAAIO,OAAO,EAAE,OAAOA,OAAO,CAACG,UAAU,IAAIH,OAAO;QAEjD,IAAIlB,oBAAoB,CAAC/S,MAAM,GAAG,CAAC,EAAE,OAAO+S,oBAAoB,CAAC,CAAC,CAAC,CAACqB,UAAU,IAAIrB,oBAAoB,CAAC,CAAC,CAAC;;;IAKjH,IAAI/H,QAAQ,EAAE;MACV,OAAOpJ,YAAY,CAACkC,OAAO,CAACwK,IAAI,CAAEoF,CAAC,IAAKA,CAAC,CAACxS,EAAE,KAAKmT,MAAM,CAACrJ,QAAQ,CAAC,IAAI0I,CAAC,CAAC3P,IAAI,KAAKiH,QAAQ,CAAC,IAAIpJ,YAAY,CAACkC,OAAO,CAAC,CAAC,CAAC;KACvH,MAAM;MAEH,MAAMwQ,WAAW,GAAG1S,YAAY,CAACkC,OAAO,CAACwK,IAAI,CAAEoF,CAAC;QAAA,IAAAa,OAAA,EAAAC,kBAAA;QAAA,OAAK,EAAAD,OAAA,GAAAb,CAAC,CAAC3P,IAAI,cAAAwQ,OAAA,uBAANA,OAAA,CAAQlK,WAAW,EAAE,OAAKgJ,YAAY,aAAZA,YAAY,wBAAAmB,kBAAA,GAAZnB,YAAY,CAAEtP,IAAI,cAAAyQ,kBAAA,uBAAlBA,kBAAA,CAAoBnK,WAAW,EAAE;QAAC;MACjH,OAAOiK,WAAW,IAAI1S,YAAY,CAACkC,OAAO,CAAC,CAAC,CAAC;;GAEpD,EAAE,CAACiP,oBAAoB,EAAE/H,QAAQ,EAAEqI,YAAY,CAAC,CAAC;EAGlD,MAAMoB,iBAAiB,GAAGxc,aAAO,CAAC,MAAM;IACpC,IAAI,EAACkb,wBAAwB,aAAxBA,wBAAwB,eAAxBA,wBAAwB,CAAE9O,WAAW,GAAE;MAExC,IAAI8F,MAAM,IAAI/N,KAAK,CAACC,OAAO,CAACuF,YAAY,CAACkC,OAAO,CAAC,EAAE;QAE/C,MAAM4Q,WAAW,GAAGtY,KAAK,CAACuY,IAAI,CAAC;UAAE3U,MAAM,EAAEmK,MAAM,CAAC9F,WAAW,IAAI;SAAG,EAAE,CAACuQ,CAAC,EAAEtV,CAAC,MAAM;UAC3E4B,EAAE,cAAWiJ,MAAM,CAACjJ,EAAE,IAAI,CAAC,UAAI5B,CAAG;UAClCyE,IAAI,mBAAgBzE,CAAC,GAAG,CAAC,WAAK6K,MAAM,CAACpG,IAAI,MAAG;UAC5CqN,QAAQ,eAAa9R,CAAG;UACxB9D,MAAM,EAAE,QAAQ;UAChBqZ,SAAS,EAAEvf,IAAI,CAACC,KAAK,CAAC,IAAI,GAAGD,IAAI,CAACwf,MAAM,EAAE,GAAG,IAAI,CAAC;UAClDC,aAAa,EAAEzf,IAAI,CAACC,KAAK,CAAC,GAAG,GAAGD,IAAI,CAACwf,MAAM,EAAE,GAAG,IAAI,CAAC;UACrDE,WAAW,EAAE1f,IAAI,CAACC,KAAK,CAAC,GAAG,GAAGD,IAAI,CAACwf,MAAM,EAAE,GAAG,IAAI,CAAC;UACnDG,eAAe,EAAE3f,IAAI,CAACC,KAAK,CAAC,EAAE,GAAGD,IAAI,CAACwf,MAAM,EAAE,GAAG,EAAE;SACtD,CAAC,CAAC;QACH,OAAOJ,WAAW;;MAEtB,OAAO,EAAE;;IAIb,MAAMQ,eAAe,GAAG,CAAA/K,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEjJ,EAAE,MAAIiJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEa,QAAQ,KAAIA,QAAQ;IAClE,MAAMmK,WAAW,GAAGhC,wBAAwB,CAAC9O,WAAW,CAAC6F,MAAM,CAC1DkL,CAAC,IAAKA,CAAC,CAACpK,QAAQ,KAAKkK,eAC1B,CAAC;IAED,OAAOC,WAAW,CAAC7d,GAAG,CAAE+d,GAAG,IAAK;MAAA,IAAAC,qBAAA,EAAAC,WAAA,EAAAC,WAAA,EAAAC,WAAA;MAE5B,MAAMC,MAAM,GAAG/C,YAAY,aAAZA,YAAY,wBAAA2C,qBAAA,GAAZ3C,YAAY,CAAEgD,gBAAgB,cAAAL,qBAAA,uBAA9BA,qBAAA,CAAgChH,IAAI,CAC9C5P,CAAC;QAAA,IAAAkX,UAAA;QAAA,OAAKlX,CAAC,CAACmX,YAAY,KAAKR,GAAG,CAACnU,EAAE,IAAIxC,CAAC,CAACmX,YAAY,OAAAD,UAAA,GAAKP,GAAG,CAACtB,KAAK,cAAA6B,UAAA,uBAATA,UAAA,CAAWrC,IAAI;OAC1E,CAAC;MAED,OAAO;QACHrS,EAAE,EAAEmU,GAAG,CAACnU,EAAE,MAAAqU,WAAA,GAAIF,GAAG,CAACtB,KAAK,cAAAwB,WAAA,uBAATA,WAAA,CAAWhC,IAAI;QAC7BxP,IAAI,EAAEsR,GAAG,CAACtR,IAAI,MAAAyR,WAAA,GAAIH,GAAG,CAACtB,KAAK,cAAAyB,WAAA,uBAATA,WAAA,CAAWzR,IAAI,KAAI,KAAK;QAC1CqN,QAAQ,EAAE,EAAAqE,WAAA,GAAAJ,GAAG,CAACtB,KAAK,cAAA0B,WAAA,uBAATA,WAAA,CAAW7V,YAAY,KAAIyV,GAAG,CAACjE,QAAQ,IAAI,KAAK;QAC1D5V,MAAM,EAAE6Z,GAAG,CAAC7Z,MAAM,IAAI,QAAQ;QAC9BqZ,SAAS,EAAE,CAAAa,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEb,SAAS,KAAI,CAAC;QACjCE,aAAa,EAAE,CAAAW,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEX,aAAa,KAAI,CAAC;QACzCC,WAAW,EAAE,CAAAU,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEV,WAAW,KAAI,CAAC;QACrCC,eAAe,EAAE,CAAAS,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAET,eAAe,KAAI;OAC/C;KACJ,CAAC;GACL,EAAE,CAAC9B,wBAAwB,EAAEhJ,MAAM,EAAEwI,YAAY,EAAE3H,QAAQ,CAAC,CAAC;EAE9D,MAAM+C,UAAU,GAAG,CAAA5D,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEpG,IAAI,KAAI,KAAK;EACxC,MAAMnE,YAAY,GAAG,CAAAuK,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEvK,YAAY,MAAIuK,MAAM,aAANA,MAAM,wBAAAgI,aAAA,GAANhI,MAAM,CAAE4J,KAAK,cAAA5B,aAAA,uBAAbA,aAAA,CAAevS,YAAY,KAAI,KAAK;EACjF,MAAMiP,KAAK,GAAG,CAAA1E,MAAM,aAANA,MAAM,wBAAAiI,cAAA,GAANjI,MAAM,CAAE4J,KAAK,cAAA3B,cAAA,uBAAbA,cAAA,CAAe0D,OAAO,KAAI,KAAK;EAC7C,MAAMta,MAAM,GAAG2O,MAAM,GAAG,QAAQ,GAAG,KAAK;EACxC,MAAM5F,aAAa,GAAGtM,aAAO,CAAC,MAAM;IAChC,IAAImE,KAAK,CAACC,OAAO,CAAC8N,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE5F,aAAa,CAAC,EAAE;MACtC,OAAO4F,MAAM,CAAC5F,aAAa,CAACyH,IAAI,CAAC,IAAI,CAAC;;IAE1C,OAAO,KAAK;GACf,EAAE,CAAC7B,MAAM,CAAC,CAAC;EAGZ,MAAM4L,KAAK,GAAG9d,aAAO,CAAC,MAAM;IACxB,MAAM+d,WAAW,GAAGvB,iBAAiB,CAAClK,IAAI,CAAE6K,CAAC,IAAKA,CAAC,CAACP,SAAS,GAAG,CAAC,CAAC;IAElE,MAAMA,SAAS,GAAGmB,WAAW,GACvBvB,iBAAiB,CAACwB,MAAM,CAAC,CAACC,GAAG,EAAEd,CAAC,KAAKc,GAAG,IAAId,CAAC,CAACP,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAChE,CAAAlC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEkC,SAAS,MAAI1K,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEnG,mBAAmB,KAAI,CAAE;IAEnE,MAAMmS,aAAa,GAAGH,WAAW,GAC3BvB,iBAAiB,CAACwB,MAAM,CAAC,CAACC,GAAG,EAAEd,CAAC,KAAKc,GAAG,IAAId,CAAC,CAACL,aAAa,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpE,CAAApC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEwD,aAAa,MAAIhM,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAElG,aAAa,KAAI,CAAE;IAEjE,MAAM+Q,WAAW,GAAGgB,WAAW,GACzBvB,iBAAiB,CAACwB,MAAM,CAAC,CAACC,GAAG,EAAEd,CAAC,KAAKc,GAAG,IAAId,CAAC,CAACJ,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAClEH,SAAS,GAAGsB,aAAc;IAEjC,MAAMlB,eAAe,GAAGJ,SAAS,GAAG,CAAC,GAAGvf,IAAI,CAACC,KAAK,CAAE4gB,aAAa,GAAGtB,SAAS,GAAI,GAAG,CAAC,GAAI,CAAA1K,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE/F,QAAQ,KAAI,CAAE;IAE/G,OAAO,CACH;MACIlQ,KAAK,EAAE,yBAAyB;MAChCD,KAAK,EAAE4gB,SAAS;MAChB1d,KAAK,EAAE,SAAS;MAChBf,IAAI,EAAE,OAAO;MACb6U,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAACqX,UAAO,MAAE;KACnB,EACD;MACIhX,KAAK,EAAE,mBAAmB;MAC1BD,KAAK,EAAE4gB,SAAS;MAChB1d,KAAK,EAAE,SAAS;MAChBf,IAAI,EAAE,MAAM;MACZ6U,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAACqY,iBAAc,MAAE;KAC1B,EACD;MACIhY,KAAK,EAAE,gBAAgB;MACvBD,KAAK,EAAEkiB,aAAa;MACpBhf,KAAK,EAAE,SAAS;MAChBf,IAAI,EAAE,OAAO;MACb6U,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAACuX,gBAAa,MAAE;KACzB,EACD;MACIlX,KAAK,EAAE,sBAAsB;MAC7BD,KAAK,EAAE+gB,WAAW;MAClB7d,KAAK,EAAE,SAAS;MAChBf,IAAI,EAAE,SAAS;MACf6U,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAACwX,UAAO,MAAE;KACnB,EACD;MACInX,KAAK,EAAE,kBAAkB;MACzBD,KAAK,EAAKghB,eAAe,MAAG;MAC5B9d,KAAK,EAAE,SAAS;MAChBf,IAAI,EAAE,UAAU;MAChB6U,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAAC2X,cAAW,MAAE;KACvB,CACJ;GACJ,EAAE,CAACiJ,iBAAiB,EAAEtK,MAAM,EAAEwI,YAAY,CAAC,CAAC;EAE7C,MAAA/Y,SAAA,GAAsCC,cAAQ,CAAC,CAAC,CAAC;IAA1Cb,WAAW,GAAAY,SAAA;IAAEwc,cAAc,GAAAxc,SAAA;EAClC,MAAA8P,UAAA,GAAgC7P,cAAQ,CAAC,EAAE,CAAC;IAArCwc,QAAQ,GAAA3M,UAAA;IAAE4M,WAAW,GAAA5M,UAAA;EAE5B,MAAA6M,UAAA,GAAsD1c,cAAQ,CAAC,KAAK,CAAC;IAA9D2c,mBAAmB,GAAAD,UAAA;IAAEE,sBAAsB,GAAAF,UAAA;EAElD,MAAMG,sBAAsB;IAAA,IAAe;MACvCD,sBAAsB,CAAC,IAAI,CAAC;MAAC,OAAA5F,OAAA,CAAAC,OAAA,CAAAtD,gBAAA;QAAA,OAAAL,MAAA,aACzB;UAAA,OAAA0D,OAAA,CAAAC,OAAA,CACuBle,KAAK,CAAC+jB,WAAW,CAACC,gBAAgB,CAAC;YACtDjkB,QAAQ,EAAEA,QAAQ;YAClBQ,MAAM,EAAE,CAAC;YACTC,KAAK,EAAE,KAAK;YACZyjB,cAAc,EAAE;WACnB,CAAC,EAAAtJ,IAAA,WALIuJ,QAAQ;YAOd,MAAMC,YAAY,GAAG,CAAAD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEC,YAAY,KAAI,EAAE;YAEjD,IAAI,CAACA,YAAY,IAAIA,YAAY,CAAC/W,MAAM,KAAK,CAAC,EAAE;cAC5C4M,KAAK,CAACla,CAAC,CAAC,oBAAoB,CAAC,IAAI,iCAAiC,CAAC;cACnE;;YAGJ,MAAMskB,YAAY,GAAG,CACjB,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAC/E,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EACjF,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAC1E,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EACjF,YAAY,EAAE,cAAc,CAC/B;YAED,MAAMC,aAAa,GAAG;cAClB7c,GAAG,EAAE1H,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK;cACtBye,SAAS,EAAEze,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY;cAC1CwkB,UAAU,EAAExkB,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7C2e,QAAQ,EAAE3e,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;cACvCykB,MAAM,EAAEzkB,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC/BkN,YAAY,EAAElN,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;cACnDojB,OAAO,EAAEpjB,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACpC0kB,mBAAmB,EAAE1kB,CAAC,CAAC,qBAAqB,CAAC,IAAI,qBAAqB;cACtE2kB,YAAY,EAAE3kB,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cACjD4kB,GAAG,EAAE5kB,CAAC,CAAC,KAAK,CAAC,IAAI,eAAe;cAChCkJ,UAAU,EAAElJ,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7C4e,QAAQ,EAAE5e,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cAC7B6kB,QAAQ,EAAE7kB,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACrC8kB,IAAI,EAAE9kB,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cACzB+kB,OAAO,EAAE/kB,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS;cAClCglB,KAAK,EAAEhlB,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC9BilB,WAAW,EAAEjlB,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cAChDklB,gBAAgB,EAAEllB,CAAC,CAAC,oBAAoB,CAAC,IAAI;aAChD;YAED,MAAMmlB,SAAS,GAAGd,YAAY,CAACzf,GAAG,CAAEC,IAAI,IAAK;cACzC,MAAMugB,QAAQ,GAAG,EAAE;cAEnB,MAAMC,QAAQ,GAAG,CAACxgB,IAAI,CAAC4Z,SAAS,EAAE5Z,IAAI,CAAC2f,UAAU,EAAE3f,IAAI,CAAC8Z,QAAQ,CAAC,CAACnH,MAAM,CAAC8N,OAAO,CAAC,CAAChM,IAAI,CAAC,GAAG,CAAC;cAC3F,IAAI+L,QAAQ,EAAE;gBACVD,QAAQ,CAACplB,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,GAAGqlB,QAAQ;;cAG9DE,MAAM,CAACC,IAAI,CAAC3gB,IAAI,CAAC,CAAC4gB,OAAO,CAAC3gB,GAAG,IAAI;gBAC7B,IAAIwf,YAAY,CAAC1M,QAAQ,CAAC9S,GAAG,CAAC,EAAE;gBAEhC,MAAMqY,GAAG,GAAGtY,IAAI,CAACC,GAAG,CAAC;gBACrB,IAAI,OAAOqY,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,EAAE;kBACzC;;gBAGJ,MAAMuI,cAAc,GAAGnB,aAAa,CAACzf,GAAG,CAAC,IAAI9E,CAAC,CAAC8E,GAAG,CAACsE,WAAW,EAAE,CAAC,IAAItE,GAAG;gBACxEsgB,QAAQ,CAACM,cAAc,CAAC,GAAGvI,GAAG;eACjC,CAAC;cAEF,OAAOiI,QAAQ;aAClB,CAAC;YAEF,MAAMO,aAAa,kBAAgBtK,UAAU,CAAChE,OAAO,CAAC,eAAe,EAAE,GAAG,CAAG;YAC7EnX,KAAK,CAAC0lB,QAAQ,CAACC,KAAK,CAACV,SAAS,EAAEQ,aAAa,CAAC;;SACjD,YAAQzH,KAAK,EAAE;UACZD,OAAO,CAACC,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;UACrDhE,KAAK,CAACla,CAAC,CAAC,sBAAsB,CAAC,IAAI,iDAAiD,CAAC;SACxF;mBAAA8lB,UAAA,EAAAC,OAAA;QACGhC,sBAAsB,CAAC,KAAK,CAAC;QAAC,IAAA+B,UAAA,QAAAC,OAAA;QAAA,OAAAA,OAAA;;KAErC,QAAA7a,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EAED,MAAM8a,oBAAoB,GAAGzgB,aAAO,CAAC,MAAM;IACvC,MAAM0gB,KAAK,GAAG3f,WAAW,GAAGqd,QAAQ;IACpC,MAAMuC,GAAG,GAAGD,KAAK,GAAGtC,QAAQ;IAC5B,OAAO5B,iBAAiB,CAACtI,KAAK,CAACwM,KAAK,EAAEC,GAAG,CAAC;GAC7C,EAAE,CAACnE,iBAAiB,EAAEzb,WAAW,EAAEqd,QAAQ,CAAC,CAAC;EAE9C,MAAMwC,iBAAiB,GAAG5gB,aAAO,CAC7B,MAAM,CACF;IACIwC,MAAM,EAAE/H,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAAiB;IACjDgI,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEgJ,IAAI,KAAI,KAAK;IACrCpJ,IAAI,EAAEjG,IAAA;MAAA,IAAAmG,aAAA;MAAA,IAAGE,GAAG,GAAArG,IAAA,CAAHqG,GAAG;MAAA,oBACRnH,cAAA,CAAAC,aAAA;QACIilB,IAAI,uDAAqD/d,GAAG,CAACC,QAAQ,CAACkG,EAAK;QAC3EzJ,KAAK,EAAE;UAAEN,KAAK,EAAE,SAAS;UAAEmK,UAAU,EAAE,KAAK;UAAEyX,cAAc,EAAE;SAAS;QACvE7d,OAAO,EAAG0C,CAAC,IAAK;UAAA,IAAAob,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;UAEZ,MAAMC,QAAQ,GAAG,EAAAH,sBAAA,GAAApmB,KAAK,CAACsb,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAA6K,sBAAA,wBAAAC,sBAAA,GAAhCD,sBAAA,CAAkC9gB,IAAI,cAAA+gB,sBAAA,wBAAAC,sBAAA,GAAtCD,sBAAA,CAAwC7iB,IAAI,cAAA8iB,sBAAA,uBAA5CA,sBAAA,CAA8C7O,WAAW,EAAE,KAAI,SAAS;UACzFzM,CAAC,CAACC,cAAc,EAAE;UAClBtE,OAAO,CAACc,IAAI,gBAAc8e,QAAQ,sCAAiCpe,GAAG,CAACC,QAAQ,CAACkG,EAAI,CAAC;;SAGxF,EAAArG,aAAA,GAAAE,GAAG,CAACC,QAAQ,cAAAH,aAAA,uBAAZA,aAAA,CAAckJ,IAAI,KAAI,KACxB,CAAC;;GAEX,EACD;IACItJ,MAAM,EAAE/H,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;IAC7CgI,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEqW,QAAQ,KAAI,KAAK;IACzClQ,EAAE,EAAE;GACP,EACD;IACIzG,MAAM,EAAE/H,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;IAC/BgI,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAES,MAAM,KAAI,QAAQ;IAC1C0F,EAAE,EAAE,QAAQ;IACZvG,IAAI,EAAEC,KAAA;MAAA,IAAGxD,KAAK,GAAAwD,KAAA,CAALxD,KAAK;MAAA,oBACVxD,cAAA,CAAAC,aAAA;QAAMwD,SAAS;SACV3E,CAAC,CAAC0E,KAAK,CAAC,IAAIA,KACX,CAAC;;GAEd,EACD;IACIqD,MAAM,EAAE/H,CAAC,CAAC,yBAAyB,CAAC,IAAI,yBAAyB;IACjEgI,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE8Z,SAAS,KAAI,CAAC;IACtC3T,EAAE,EAAE;GACP,EACD;IACIzG,MAAM,EAAE/H,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBAAgB;IAC/CgI,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEga,aAAa,KAAI,CAAC;IAC1C7T,EAAE,EAAE;GACP,EACD;IACIzG,MAAM,EAAE/H,CAAC,CAAC,sBAAsB,CAAC,IAAI,sBAAsB;IAC3DgI,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEia,WAAW,KAAI,CAAC;IACxC9T,EAAE,EAAE;GACP,EACD;IACIzG,MAAM,EAAE/H,CAAC,CAAC,kBAAkB,CAAC,IAAI,kBAAkB;IACnDgI,QAAQ,EAAGK,GAAG,KAAQA,GAAG,aAAHA,GAAG,eAAHA,GAAG,CAAEka,eAAe,IAAI,CAAAla,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEka,eAAe,MAAK,CAAC,GAAGla,GAAG,CAACka,eAAe,GAAGla,GAAG,CAACqJ,QAAQ,OAAG;IAChHlD,EAAE,EAAE;GACP,CACJ,EACD,CAACxO,CAAC,EAAE6G,OAAO,CACf,CAAC;EAGD,MAAA6f,UAAA,GAA4Cvf,cAAQ,CAAC,KAAK,CAAC;IAApDwf,cAAc,GAAAD,UAAA;IAAEE,iBAAiB,GAAAF,UAAA;EACxC,MAAAG,UAAA,GAAoC1f,cAAQ,CAAC;MAAE8a,IAAI,EAAE,EAAE;MAAE7U,EAAE,EAAE;KAAI,CAAC;IAA3D0Z,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAChC,MAAAG,UAAA,GAAgD7f,cAAQ,CAAC,KAAK,CAAC;IAAxD8f,gBAAgB,GAAAD,UAAA;IAAEE,mBAAmB,GAAAF,UAAA;EAC5C,MAAAG,UAAA,GAA0ChgB,cAAQ,CAAC,KAAK,CAAC;IAAlDigB,aAAa,GAAAD,UAAA;IAAEE,gBAAgB,GAAAF,UAAA;EACtC,MAAMG,aAAa,GAAGnlB,YAAM,CAAC,IAAI,CAAC;EAElCiB,eAAS,CAAC,MAAM;IACZ,MAAMmkB,OAAO,GAAIrc,CAAC,IAAK;MACnB,IAAIoc,aAAa,CAACjkB,OAAO,IAAI,CAACikB,aAAa,CAACjkB,OAAO,CAACmkB,QAAQ,CAACtc,CAAC,CAACoB,MAAM,CAAC,EAAE;QACpEsa,iBAAiB,CAAC,KAAK,CAAC;QACxBM,mBAAmB,CAAC,KAAK,CAAC;;KAEjC;IACDO,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEH,OAAO,CAAC;IAC/C,OAAO,MAAME,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEJ,OAAO,CAAC;GAClE,EAAE,EAAE,CAAC;EAEN,MAAMK,cAAc,GAAGA,MAAM;IACzBP,gBAAgB,CAAC,IAAI,CAAC;IACtB,IAAI;MACA,MAAMQ,aAAa,GAAG9F,iBAAiB,CAACnd,GAAG,CAAE8d,CAAC,KAAM;QAChDrR,IAAI,EAAEqR,CAAC,CAACrR,IAAI;QACZqN,QAAQ,EAAEgE,CAAC,CAAChE,QAAQ;QACpB5V,MAAM,EAAE4Z,CAAC,CAAC5Z,MAAM;QAChBzG,KAAK,EAAEqgB,CAAC,CAACP,SAAS;QAClB3f,SAAS,EAAEkgB,CAAC,CAACL,aAAa;QAC1B/f,OAAO,EAAEogB,CAAC,CAACJ,WAAW;QACtB5Q,QAAQ,EAAKgR,CAAC,CAACH,eAAe;OACjC,CAAC,CAAC;MAEH,MAAMJ,SAAS,GAAGJ,iBAAiB,CAACwB,MAAM,CAAC,CAACC,GAAG,EAAEd,CAAC,KAAKc,GAAG,IAAId,CAAC,CAACP,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAI1K,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEnG,mBAAmB,KAAI,CAAC;MACvH,MAAMmS,aAAa,GAAG1B,iBAAiB,CAACwB,MAAM,CAAC,CAACC,GAAG,EAAEd,CAAC,KAAKc,GAAG,IAAId,CAAC,CAACL,aAAa,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAI5K,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAElG,aAAa,KAAI,CAAC;MAEzH+M,iBAAiB,CAAC;QACdpD,IAAI,EAAE2M,aAAa;QACnBxM,UAAU;QACVnO,YAAY;QACZiP,KAAK;QACL1W,aAAa,EAAE;UACXpD,KAAK,EAAE8f,SAAS;UAChB3f,SAAS,EAAEihB,aAAa;UACxBnhB,OAAO,EAAE6f,SAAS,GAAGsB,aAAa;UAClCjG,cAAc,EAAEiG;SACnB;QACDzjB;OACH,CAAC;KACL,CAAC,OAAO8nB,GAAG,EAAE;MACV7J,OAAO,CAACC,KAAK,CAAC,4BAA4B,EAAE4J,GAAG,CAAC;KACnD,SAAS;MACNT,gBAAgB,CAAC,KAAK,CAAC;MACvBT,iBAAiB,CAAC,KAAK,CAAC;MACxBM,mBAAmB,CAAC,KAAK,CAAC;;GAEjC;EAED,MAAMa,oBAAoB,GAAIvQ,MAAM,IAAK;IACrCoQ,cAAc,EAAE;GACnB;EAED,MAAMI,oBAAoB,GAAGA,MAAM;IAC/B,IAAI,CAAClB,UAAU,CAAC7E,IAAI,IAAI,CAAC6E,UAAU,CAAC1Z,EAAE,EAAE;MACpC8M,KAAK,CAACla,CAAC,CAAC,mBAAmB,CAAC,IAAI,uCAAuC,CAAC;MACxE;;IAEJ4nB,cAAc,EAAE;GACnB;EAED,MAAMK,QAAQ,GAAGxf,KAAA;IAAA,IAAG8H,KAAK,GAAA9H,KAAA,CAAL8H,KAAK;MAAE7L,KAAK,GAAA+D,KAAA,CAAL/D,KAAK;MAAEhB,IAAI,GAAA+E,KAAA,CAAJ/E,IAAI;MAAE5C,SAAS,GAAA2H,KAAA,CAAT3H,SAAS;MAAEyX,IAAI,GAAA9P,KAAA,CAAJ8P,IAAI;IAAA,oBACnDrX,cAAA,CAAAC,aAAA;MAAKwD,SAAS,iBAAejB;OACxB5C,SAAS,gBACNI,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACgnB,QAAQ,qBACXhnB,cAAA,CAAAC,aAAA;MAAKwD,SAAS,EAAC;KAAyC,CAAC,eACzDzD,cAAA,CAAAC,aAAA;MAAKwD,SAAS,EAAC;KAA2C,CAC9C,CAAC,gBAEjBzD,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACgnB,QAAQ,qBACXhnB,cAAA,CAAAC,aAAA;MAAKwD,SAAS,EAAC;OAAc4L,KAAW,CAAC,eACzCrP,cAAA,CAAAC,aAAA;MAAKwD,SAAS,EAAC;OAAcD,KAAW,CAAC,EACxC6T,IAAI,iBAAIrX,cAAA,CAAAC,aAAA;MAAKwD,SAAS,EAAC;OAAa4T,IAAU,CACnC,CAEnB,CAAC;GACT;EAED,MAAM4P,aAAa,GAAGnI,iBAAiB,IAAIM,qBAAqB,IAAII,yBAAyB;EAE7F,IAAIyH,aAAa,IAAI,CAAC1Q,MAAM,EAAE;IAC1B,oBAAOvW,cAAA,CAAAC,aAAA,CAACwE,6BAAM,MAAE,CAAC;;EAGrB,IAAI,CAAC8R,MAAM,EAAE;IACT,oBACIvW,cAAA,CAAAC,aAAA,CAACyE,2BAAI,qBACD1E,cAAA,CAAAC,aAAA;MAAK4D,KAAK,EAAE;QAAEoF,OAAO,EAAE;;OAAWnK,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAAuB,CAC/E,CAAC;;EAIf,oBACIkB,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC;kBAEZzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAU0W,UAAU,aAAVA,UAAU,wBAAAsE,kBAAA,GAAVtE,UAAU,CAAE+M,MAAM,CAAC,CAAC,CAAC,cAAAzI,kBAAA,uBAArBA,kBAAA,CAAuBvW,WAAW,EAAQ,CAAC,eAEpElI,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAIwD,SAAS,EAAC;KAAQ0W,UAAe,CAAC,eACtCna,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAe3E,CAAC,CAAC,eAAe,CAAC,IAAI,iBAAuB,CAC1E,CACJ,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC,iBAAiB;IAACM,GAAG,EAAEqiB;kBAClCpmB,cAAA,CAAAC,aAAA;IACIwD,SAAS,EAAC,cAAc;IACxB0jB,QAAQ,EAAEjB,aAAc;IACxB5e,OAAO,EAAEA,MAAM;MACXoe,iBAAiB,CAAE0B,CAAC,IAAK,CAACA,CAAC,CAAC;MAC5BpB,mBAAmB,CAAC,KAAK,CAAC;;KAG7BE,aAAa,GAAGpnB,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,GAAGA,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAC5E,CAAC,EAER2mB,cAAc,iBACXzlB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACV,CACG;IAAEnD,KAAK,EAAExB,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO;IAAE8E,GAAG,EAAE;GAAS,EAC9C;IAAEtD,KAAK,EAAExB,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;IAAE8E,GAAG,EAAE;GAAQ,EACrD;IAAEtD,KAAK,EAAExB,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY;IAAE8E,GAAG,EAAE;GAAS,CAC3D,CAACF,GAAG,CAACgE,KAAA;IAAA,IAAGpH,KAAK,GAAAoH,KAAA,CAALpH,KAAK;MAAEsD,GAAG,GAAA8D,KAAA,CAAH9D,GAAG;IAAA,oBACf5D,cAAA,CAAAC,aAAA;MACI2D,GAAG,EAAEA,GAAI;MACTH,SAAS,EAAC,WAAW;MACrB6D,OAAO,EAAEA,MAAMuf,oBAAoB,CAACjjB,AAAG;OAEtCtD,KACA,CAAC;GACT,CAAC,eAEFN,cAAA,CAAAC,aAAA;IACIwD,SAAS,EAAC,qBAAqB;IAC/B6D,OAAO,EAAEA,MAAM0e,mBAAmB,CAAEoB,CAAC,IAAK,CAACA,CAAC;KAE3CtoB,CAAC,CAAC,aAAa,CAAC,IAAI,aACpB,CAAC,EAELinB,gBAAgB,iBACb/lB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAOwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,WAAW,CAAC,IAAI,MAChB,CAAC,eACRkB,cAAA,CAAAC,aAAA;IACIuC,IAAI,EAAC,MAAM;IACXiB,SAAS,EAAC,YAAY;IACtBD,KAAK,EAAEoiB,UAAU,CAAC7E,IAAK;IACvBlX,QAAQ,EAAGG,CAAC,IACR6b,aAAa,CAAEva,CAAC,IAAA5B,QAAA,KAAW4B,CAAC;MAAEyV,IAAI,EAAE/W,CAAC,CAACoB,MAAM,CAAC5H;MAAQ;GAE5D,CACA,CAAC,eAENxD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAOwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,SAAS,CAAC,IAAI,IACd,CAAC,eACRkB,cAAA,CAAAC,aAAA;IACIuC,IAAI,EAAC,MAAM;IACXiB,SAAS,EAAC,YAAY;IACtBD,KAAK,EAAEoiB,UAAU,CAAC1Z,EAAG;IACrBrC,QAAQ,EAAGG,CAAC,IACR6b,aAAa,CAAEva,CAAC,IAAA5B,QAAA,KAAW4B,CAAC;MAAEY,EAAE,EAAElC,CAAC,CAACoB,MAAM,CAAC5H;MAAQ;GAE1D,CACA,CAAC,eAENxD,cAAA,CAAAC,aAAA;IACIwD,SAAS,EAAC,qBAAqB;IAC/B6D,OAAO,EAAEwf;KAERhoB,CAAC,CAAC,UAAU,CAAC,IAAI,UACd,CACP,CAER,CAER,CACJ,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAEX0e,KAAK,CAACze,GAAG,CAAC,CAACmU,IAAI,EAAEwP,GAAG,kBAChBrnB,cAAA,CAAAC,aAAA,CAAC8mB,QAAQ;IACLnjB,GAAG,EAAEyjB,GAAI;IACThY,KAAK,EAAEvQ,CAAC,CAAC+Y,IAAI,CAACvX,KAAK,CAAE;IACrBkD,KAAK,EAAEqU,IAAI,CAACxX,KAAM;IAClBmC,IAAI,EAAEqV,IAAI,CAACrV,IAAK;IAChB5C,SAAS,EAAEqnB,aAAc;IACzB5P,IAAI,EAAEQ,IAAI,CAACR;GACd,CACJ,CACA,CAAC,eAGNrX,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAASuI,YAAmB,CAC3C,CAAC,eAENhM,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,OAAO,CAAQ,CAAC,eAC3CkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAASwX,KAAY,CACpC,CAAC,eAENjb,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAASmE,MAAa,CACrC,CAAC,eAEN5H,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,eAAe,CAAC,IAAI,eAAsB,CAAC,eACtEkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAASkN,aAAoB,CAC5C,CACJ,CACJ,CAAC,eAGN3Q,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA,aAAKnB,CAAC,CAAC,oBAAoB,CAAC,IAAI,oBAAyB,CAAC,eAC1DkB,cAAA,CAAAC,aAAA,YACKnB,CAAC,CAAC,yBAAyB,CAAC,IAC5B,iGACF,CAAC,eACJkB,cAAA,CAAAC,aAAA;IACIwD,SAAS,EAAC,oBAAoB;IAC9B0jB,QAAQ,EAAEvE,mBAAoB;IAC9Btb,OAAO,EAAEwb;kBAET9iB,cAAA,CAAAC,aAAA;IAAK+D,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACqG,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,cAAc;IAACC,WAAW,EAAC,KAAK;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBACrI3K,cAAA,CAAAC,aAAA;IAAMqL,CAAC,EAAC;GAA6C,CAAC,eACtDtL,cAAA,CAAAC,aAAA;IAAUqnB,MAAM,EAAC;GAAoB,CAAC,eACtCtnB,cAAA,CAAAC,aAAA;IAAM8K,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC;GAAK,CACrC,CAAC,EACL0X,mBAAmB,GAAG9jB,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,GAAGA,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBACjF,CACP,CACJ,CACJ,CACJ,CAAC,eAENkB,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC;kBACZzD,cAAA,CAAAC,aAAA,CAACiJ,4BAAK;IACFpK,CAAC,EAAEA,CAAE;IACLyoB,UAAU,EAAEzoB,CAAC,CAAC,uBAAuB,CAAC,IAAI,uBAAwB;IAClE0oB,UAAU,EAAC,WAAW;IACtB7nB,IAAI,EAAEmlB,oBAAqB;IAC3Ble,OAAO,EAAEqe,iBAAkB;IAC3BrlB,SAAS,EAAEqnB,aAAc;IACzBvhB,YAAY,EAAEmb,iBAAiB,CAACzU,MAAO;IACvChH,WAAW,EAAEA,WAAY;IACzBC,aAAa,EAAEod,QAAS;IACxBgF,oBAAoB,EAAE,IAAK;IAC3BviB,UAAU,EAAEA,MAAM;MACd,IAAIE,WAAW,GAAG1D,IAAI,CAACgmB,IAAI,CAAC7G,iBAAiB,CAACzU,MAAM,GAAGqW,QAAQ,CAAC,GAAG,CAAC,EAAE;QAClED,cAAc,CAAE1Y,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAExC;IACF3E,UAAU,EAAEA,MAAM;MACd,IAAIC,WAAW,GAAG,CAAC,EAAE;QACjBod,cAAc,CAAE1Y,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAExC;IACF6d,WAAW,EAAEA,MAAM;MACfnF,cAAc,CAAC,CAAC,CAAC;KACnB;IACFoF,UAAU,EAAEA,MAAM;MACdpF,cAAc,CAAC9gB,IAAI,CAACqX,GAAG,CAACrX,IAAI,CAACgmB,IAAI,CAAC7G,iBAAiB,CAACzU,MAAM,GAAGqW,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;KACjF;IACFnd,gBAAgB,EAAG0E,CAAC,IAAK;MACrB0Y,WAAW,CAACjC,MAAM,CAACzW,CAAC,CAACoB,MAAM,CAAC5H,KAAK,CAAC,CAAC;MACnCgf,cAAc,CAAC,CAAC,CAAC;;GAExB,CACC,CACJ,CAAC;AAEf,CAAC;;ACpnBD,MAAMqF,mBAAmB,GAAG/mB,IAAA,IAYtB;EAAA,IAAAgnB,oBAAA,EAAAC,qBAAA,EAAAzJ,qBAAA,EAAA8G,sBAAA,EAAAC,sBAAA,EAAA2C,qBAAA;EAAA,IAVJ1iB,gBAAgB,GAAAxE,IAAA,CAAhBwE,gBAAgB;IAChB2iB,SAAS,GAAAnnB,IAAA,CAATmnB,SAAS;IACTpoB,UAAU,GAAAiB,IAAA,CAAVjB,UAAU;IACVqoB,KAAK,GAAApnB,IAAA,CAALonB,KAAK;IACLC,QAAQ,GAAArnB,IAAA,CAARqnB,QAAQ;IACRC,aAAa,GAAAtnB,IAAA,CAAbsnB,aAAa;IACbC,eAAe,GAAAvnB,IAAA,CAAfunB,eAAe;IACftpB,QAAQ,GAAA+B,IAAA,CAAR/B,QAAQ;IAAAupB,gBAAA,GAAAxnB,IAAA,CACRynB,WAAW;IAAXA,WAAW,GAAAD,gBAAA,cAAG,EAAE,GAAAA,gBAAA;IAAAE,eAAA,GAAA1nB,IAAA,CAChB2nB,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;EAEf,MAAA5pB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM6G,OAAO,GAAGC,yBAAU,EAAE;EAC5B,MAAAI,SAAA,GAAsCC,cAAQ,CAAC,EAAE,CAAC;IAA3CC,WAAW,GAAAF,SAAA;IAAEG,cAAc,GAAAH,SAAA;EAClC,MAAA7G,qBAAA,GAAwCH,KAAK,CAACI,KAAK,CAACC,IAAI,CAAC+G,UAAU,CAAC,QAAQ,EAAErH,QAAQ,CAAC;IAAzEsH,UAAU,GAAAlH,qBAAA,CAAhBQ,IAAI;IAAc2G,SAAS,GAAAnH,qBAAA,CAATmH,SAAS;EACnC,MAAMC,YAAY,GAAIC,GAAG,IAAK;IAC5BL,cAAc,CAACK,GAAG,CAAC;IACnBF,SAAS,CAAC;MAAEE;KAAK,CAAC;GACnB;EAED,MAAMhH,KAAK,GAAG,CAAAyoB,SAAS,aAATA,SAAS,wBAAAH,oBAAA,GAATG,SAAS,CAAES,SAAS,cAAAZ,oBAAA,uBAApBA,oBAAA,CAAsBtoB,KAAK,KAAI,EAAE;EAC/C,MAAMD,MAAM,GAAG,CAAA0oB,SAAS,aAATA,SAAS,wBAAAF,qBAAA,GAATE,SAAS,CAAES,SAAS,cAAAX,qBAAA,uBAApBA,qBAAA,CAAsBxoB,MAAM,KAAI,CAAC;EAChD,MAAMgmB,QAAQ,GAAG,EAAAjH,qBAAA,GAAAtf,KAAK,CAACsb,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAA+D,qBAAA,wBAAA8G,sBAAA,GAAhC9G,qBAAA,CAAkCha,IAAI,cAAA8gB,sBAAA,wBAAAC,sBAAA,GAAtCD,sBAAA,CAAwC5iB,IAAI,cAAA6iB,sBAAA,uBAA5CA,sBAAA,CAA8C5O,WAAW,EAAE,KAAI,SAAS;EAEzFzW,cAAK,CAACkC,SAAS,CAAC,MAAM;IACpB,IAAImE,UAAU,EAAE;MACdV,OAAO,CAACc,IAAI,gBAAc8e,QAAQ,qBAAgBrf,WAAW,EAAI;QAAES,WAAW,EAAEN,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,WAAW;QAAEN;OAAY,CAAC;;GAGzH,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,MAAMsiB,iBAAiB,GAAG,CACxB;IACE9hB,MAAM,EAAE/H,CAAC,CAAC,qBAAqB,CAAC;IAChCgI,QAAQ,EAAE,mBAAmB;IAC7B8hB,aAAa,EAAE,IAAI;IACnB7hB,IAAI,EAAEC,KAAA,IAAa;MAAA,IAAAC,aAAA,EAAAC,cAAA;MAAA,IAAVC,GAAG,GAAAH,KAAA,CAAHG,GAAG;MACV,MAAMX,GAAG,GAAG,EAAAS,aAAA,GAAAE,GAAG,CAACC,QAAQ,cAAAH,aAAA,uBAAZA,aAAA,CAAcT,GAAG,OAAAU,cAAA,GAAIC,GAAG,CAACC,QAAQ,cAAAF,cAAA,uBAAZA,cAAA,CAAcG,iBAAiB,KAAI,IAAI;MACxE,oBACErH,cAAA,CAAAC,aAAA;QAAMwD,SAAS,EAAC,MAAM;QAAC6D,OAAO,EAAEA,MAAMf,YAAY,CAACC,GAAG;SACnDA,GACG,CAAC;;GAGZ,EACD;IACEK,MAAM,EAAE/H,CAAC,CAAC,mBAAmB,CAAC;IAC9BgI,QAAQ,EAAE,aAAa;IACvBC,IAAI,EAAEQ,KAAA;MAAA,IAAAC,cAAA;MAAA,IAAGL,GAAG,GAAAI,KAAA,CAAHJ,GAAG;MAAA,oBAAOnH,cAAA,CAAAC,aAAA,eAAO,EAAAuH,cAAA,GAAAL,GAAG,CAACC,QAAQ,cAAAI,cAAA,uBAAZA,cAAA,CAAcC,WAAW,KAAI,IAAW,CAAC;;GACpE,EACD;IACEZ,MAAM,EAAE/H,CAAC,CAAC,aAAa,CAAC;IACxBgI,QAAQ,EAAE,cAAc;IACxBC,IAAI,EAAEW,KAAA,IAAa;MAAA,IAAAC,cAAA;MAAA,IAAVR,GAAG,GAAAO,KAAA,CAAHP,GAAG;MACV,MAAMS,MAAM,GAAG,EAAAD,cAAA,GAAAR,GAAG,CAACC,QAAQ,cAAAO,cAAA,uBAAZA,cAAA,CAAcC,MAAM,KAAI,SAAS;MAChD,oBAAO5H,cAAA,CAAAC,aAAA;QAAMwD,SAAS,uBAAqBmE;SAAW9I,CAAC,MAAI8I,MAAQ,CAAQ,CAAC;;GAE/E,EACD;IACEf,MAAM,EAAE/H,CAAC,CAAC,kBAAkB,CAAC;IAC7BgI,QAAQ,EAAE,YAAY;IACtBC,IAAI,EAAEc,KAAA,IAAa;MAAA,IAAAC,cAAA,EAAAC,cAAA;MAAA,IAAVZ,GAAG,GAAAU,KAAA,CAAHV,GAAG;MACV,MAAMa,UAAU,GAAG,CAAC,EAAAF,cAAA,GAAAX,GAAG,CAACC,QAAQ,cAAAU,cAAA,uBAAZA,cAAA,CAAcE,UAAU,OAAAD,cAAA,GAAIZ,GAAG,CAACC,QAAQ,cAAAW,cAAA,uBAAZA,cAAA,CAAcE,UAAU,KAAI,IAAI,EAAEC,WAAW,EAAE;MAC/F,oBAAOlI,cAAA,CAAAC,aAAA;QAAMwD,SAAS,uBAAqBuE;SAAelJ,CAAC,MAAIkJ,UAAY,CAAQ,CAAC;;GAEvF,CACF;EAED,OAAO;IACL6gB,WAAW,EAAE,KAAK;IAClBC,QAAQ,EAAE,KAAK;IACfC,gBAAgB,EAAE,IAAI;IACtBC,UAAU,EAAE,iBAAiB;IAC7B1jB,gBAAgB,EAAEA,gBAAgB;IAClCF,WAAW,EAAE7F,MAAM;IACnB2F,UAAU,EAAEA;MAAA,IAAA+jB,qBAAA;MAAA,OACVd,QAAQ,CAAC;QACPe,MAAM,EAAE,iBAAiB;QACzBvpB,IAAI,EAAA+J,QAAA,KAAOue,SAAS,CAACS,SAAS;UAAEnpB,MAAM,EAAE4pB,QAAQ,EAAAF,qBAAA,GAAChB,SAAS,CAACS,SAAS,cAAAO,qBAAA,uBAAnBA,qBAAA,CAAqB1pB,MAAM,CAAC,GAAGC;UAAO;QACvF4oB;OACD,CAAC;;IACJjjB,UAAU,EAAEA;MAAA,IAAAikB,qBAAA;MAAA,OACVjB,QAAQ,CAAC;QACPe,MAAM,EAAE,iBAAiB;QACzBvpB,IAAI,EAAA+J,QAAA,KAAOue,SAAS,CAACS,SAAS;UAAEnpB,MAAM,EAAE4pB,QAAQ,EAAAC,qBAAA,GAACnB,SAAS,CAACS,SAAS,cAAAU,qBAAA,uBAAnBA,qBAAA,CAAqB7pB,MAAM,CAAC,GAAGC;UAAO;QACvF4oB;OACD,CAAC;;IACJ/iB,aAAa,EAAE7F,KAAK;IACpByF,MAAM,EAAEojB,eAAe;IAEvB3iB,YAAY,EAAE7F,UAAU;IACxBkJ,QAAQ,EAAEkf,SAAS,aAATA,SAAS,wBAAAD,qBAAA,GAATC,SAAS,CAAEoB,UAAU,cAAArB,qBAAA,uBAArBA,qBAAA,CAAuBsB,OAAO;IACxC1B,UAAU,EAAEA,MACVO,QAAQ,CAAC;MACPe,MAAM,EAAE,iBAAiB;MACzBvpB,IAAI,EAAA+J,QAAA,KAAOue,SAAS,CAACS,SAAS;QAAEnpB,MAAM,EAAEmC,IAAI,CAACqX,GAAG,CAAC,CAAC,EAAErX,IAAI,CAAC6nB,KAAK,CAAC,CAAC1pB,UAAU,GAAG,CAAC,IAAIL,KAAK,CAAC,GAAGA,KAAK;QAAG;MACnG4oB;KACD,CAAC;IACJT,WAAW,EAAEA,MAAMQ,QAAQ,CAAC;MAAEe,MAAM,EAAE,iBAAiB;MAAEvpB,IAAI,EAAA+J,QAAA,KAAOue,SAAS,CAACS,SAAS;QAAEnpB,MAAM,EAAE;QAAG;MAAE6oB;KAAe,CAAC;IAGtHzoB,IAAI,EAAEuoB,KAAK;IACXthB,OAAO,EAAE+hB,iBAAiB;IAC1BJ,WAAW,EAAA7e,QAAA,KAAO6e,WAAW,CAAE;IAC/BE,UAAU,EAAA/e,QAAA,KAAO+e,UAAU;GAC5B;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3GD,MAAMe,0BAA0B,GAAG1oB,IAAA,IAAwD;EAAA,IAArD2oB,eAAe,GAAA3oB,IAAA,CAAf2oB,eAAe;IAAEC,iBAAiB,GAAA5oB,IAAA,CAAjB4oB,iBAAiB;IAAEC,UAAU,GAAA7oB,IAAA,CAAV6oB,UAAU;EAClF,MAAA/qB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAQ8qB,MAAM,GAAKH,eAAe,CAA1BG,MAAM;EAEd,IAAID,UAAU,KAAK,QAAQ,EAAE;IAC3B,oBACE3pB,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACgnB,QAAQ,qBAEbhnB,cAAA,CAAAC,aAAA;MAAMwD,SAAS,EAAC;oBACdzD,cAAA,CAAAC,aAAA,CAAC4pB,4BAAK;MAACpmB,SAAS,EAAC;OACd3E,CAAC,CAAC,sBAAsB,CAAC,IAAI,eAAe,eAC7CkB,cAAA,CAAAC,aAAA,CAAC6pB,oCAAa;MAACR,OAAO,EAAExqB,CAAC,CAAC,4BAA4B;KAAI,CACrD,CAAC,eAERkB,cAAA,CAAAC,aAAA,CAAC8pB,UAAU;MACT5Z,IAAI,EAAC,cAAc;MACnB6Z,OAAO,EAAEN,iBAAkB;MAC3BO,YAAY,EAAC,EAAE;MACfC,KAAK,EAAE;QACLC,OAAO,EAAE;UACP3mB,KAAK,EAAE,cAAc;UACrB8lB,OAAO,EAAExqB,CAAC,CAAC,2BAA2B;;OAExC;MACFsrB,MAAM,EAAEpjB,KAAA;QAAA,IAAG6C,QAAQ,GAAA7C,KAAA,CAAR6C,QAAQ;UAAErG,KAAK,GAAAwD,KAAA,CAALxD,KAAK;QAAA,oBAAOxD,cAAA,CAAAC,aAAA,CAACkL,gCAAS;UAAC3H,KAAK,EAAEA,KAAK,IAAI,EAAG;UAACqG,QAAQ,EAAGG,CAAC,IAAKH,QAAQ,CAACG,CAAC,CAACoB,MAAM,CAAC5H,KAAK;SAAI,CAAC;;KAC9G,CAAC,EAED,CAAAomB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE5d,YAAY,kBAAIhM,cAAA,CAAAC,aAAA,CAACoqB,qCAAc,QAAET,MAAM,CAAC5d,YAAY,CAACsd,OAAwB,CAClF,CACQ,CAAC;;EAIrB,oBACEtpB,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACgnB,QAAQ,qBAEbhnB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;kBACdzD,cAAA,CAAAC,aAAA,CAAC4pB,4BAAK;IAACpmB,SAAS,EAAC;KACd3E,CAAC,CAAC,eAAe,CAAC,IAAI,UAAU,eACjCkB,cAAA,CAAAC,aAAA,CAAC6pB,oCAAa;IAACR,OAAO,EAAExqB,CAAC,CAAC,uBAAuB;GAAI,CAChD,CAAC,eAERkB,cAAA,CAAAC,aAAA,CAAC8pB,UAAU;IACT5Z,IAAI,EAAC,SAAS;IACd6Z,OAAO,EAAEN,iBAAkB;IAC3BO,YAAY,EAAC,EAAE;IACfC,KAAK,EAAE;MACLC,OAAO,EAAE;QACP3mB,KAAK,EAAE,aAAa;QACpB8lB,OAAO,EAAExqB,CAAC,CAAC,iBAAiB;;KAE9B;IACFsrB,MAAM,EAAE7iB,KAAA;MAAA,IAAGsC,QAAQ,GAAAtC,KAAA,CAARsC,QAAQ;QAAErG,KAAK,GAAA+D,KAAA,CAAL/D,KAAK;MAAA,oBAAOxD,cAAA,CAAAC,aAAA,CAACkL,gCAAS;QAAC3H,KAAK,EAAEA,KAAK,IAAI,EAAG;QAACqG,QAAQ,EAAGG,CAAC,IAAKH,QAAQ,CAACG,CAAC,CAACoB,MAAM,CAAC5H,KAAK;OAAI,CAAC;;GAC9G,CAAC,EAED,CAAAomB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEljB,OAAO,kBAAI1G,cAAA,CAAAC,aAAA,CAACoqB,qCAAc,QAAET,MAAM,CAACljB,OAAO,CAAC4iB,OAAwB,CACxE,CACQ,CAAC;AAErB,CAAC;;ACxDD,MAAMgB,KAAK,GAAGxpB,IAAA,IAAqB;EAAA,IAAAmoB,qBAAA,EAAAG,qBAAA,EAAAmB,sBAAA,EAAAC,sBAAA;EAAA,IAAlBjlB,WAAW,GAAAzE,IAAA,CAAXyE,WAAW;EAC1B,MAAMxG,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACtD,MAAM8R,QAAQ,GAAG2E,0BAAW,EAAE;EAE9B,MAAM8U,aAAa,GAAG;IACpBC,UAAU,EAAE,EAAE;IACdrB,UAAU,EAAE,EAAE;IACdX,SAAS,EAAE;MACTlpB,KAAK,EAAE,EAAE;MACTD,MAAM,EAAE,CAAC;MACTorB,MAAM,EAAE,aAAa;MACrBC,SAAS,EAAE;;GAEd;EAED,MAAAC,WAAA,GAA8BC,gBAAU,CAACC,WAAW,EAAEN,aAAa,CAAC;IAA7DxC,SAAS,GAAA4C,WAAA;IAAE1C,QAAQ,GAAA0C,WAAA;EAE1B,MAAMzU,OAAO,GAAG/R,aAAO,CAAC,MAAM;IAC5B,MAAMglB,UAAU,GAAG,CAAApB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEoB,UAAU,KAAI,EAAE;IAC9C,OAAA3f,QAAA,KACK2f,UAAU,EACTA,UAAU,CAAC3iB,OAAO,IAAI;MAAEF,GAAG,EAAE6iB,UAAU,CAAC3iB;KAAS;GAExD,EAAE,CAACuhB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEoB,UAAU,CAAC,CAAC;EAE3B,MAAM2B,WAAW,GAAG3mB,aAAO,CAAC,MAAM;IAAA,IAAAyjB,oBAAA,EAAAC,qBAAA;IAChC,OAAO;MACLhpB,QAAQ;MACRQ,MAAM,EAAE,CAAA0oB,SAAS,aAATA,SAAS,wBAAAH,oBAAA,GAATG,SAAS,CAAES,SAAS,cAAAZ,oBAAA,uBAApBA,oBAAA,CAAsBvoB,MAAM,KAAI,CAAC;MACzCC,KAAK,EAAE,CAAAyoB,SAAS,aAATA,SAAS,wBAAAF,qBAAA,GAATE,SAAS,CAAES,SAAS,cAAAX,qBAAA,uBAApBA,qBAAA,CAAsBvoB,KAAK,KAAI;KACvC;GACF,EAAE,CAACT,QAAQ,EAAEkpB,SAAS,aAATA,SAAS,wBAAAgB,qBAAA,GAAThB,SAAS,CAAES,SAAS,cAAAO,qBAAA,uBAApBA,qBAAA,CAAsB1pB,MAAM,EAAE0oB,SAAS,aAATA,SAAS,wBAAAmB,qBAAA,GAATnB,SAAS,CAAES,SAAS,cAAAU,qBAAA,uBAApBA,qBAAA,CAAsB5pB,KAAK,CAAC,CAAC;EAEzE,MAAAL,qBAAA,GAA0DH,KAAK,CAACI,KAAK,CAACC,IAAI,CAACC,sBAAsB,CAAC8W,OAAO,EAAE4U,WAAW,EAAE;MACtHvrB,OAAO,EAAE,CAAC,CAACV,QAAQ;MACnB8f,gBAAgB,EAAE;KACnB,CAAC;IAHiBoM,aAAa,GAAA9rB,qBAAA,CAAxBS,SAAS;IAAAsrB,sBAAA,GAAA/rB,qBAAA,CAAiBQ,IAAI;IAAED,QAAQ,GAAAwrB,sBAAA,cAAG,EAAE,GAAAA,sBAAA;EAKrD,MAAMC,aAAa,GAAG9mB,aAAO,CAC3B;IAAA,IAAA2jB,qBAAA,EAAAoD,sBAAA;IAAA,OAAO;MACL5kB,GAAG,EAAE,CAAAyhB,SAAS,aAATA,SAAS,wBAAAD,qBAAA,GAATC,SAAS,CAAEoB,UAAU,cAAArB,qBAAA,uBAArBA,qBAAA,CAAuBthB,OAAO,KAAI,EAAE;MACzCyJ,IAAI,EAAE,CAAA8X,SAAS,aAATA,SAAS,wBAAAmD,sBAAA,GAATnD,SAAS,CAAEoB,UAAU,cAAA+B,sBAAA,uBAArBA,sBAAA,CAAuBhhB,KAAK,KAAI;KACvC;GAAC,EACF,CAAC6d,SAAS,aAATA,SAAS,wBAAAsC,sBAAA,GAATtC,SAAS,CAAEoB,UAAU,cAAAkB,sBAAA,uBAArBA,sBAAA,CAAuB7jB,OAAO,EAAEuhB,SAAS,aAATA,SAAS,wBAAAuC,sBAAA,GAATvC,SAAS,CAAEoB,UAAU,cAAAmB,sBAAA,uBAArBA,sBAAA,CAAuBpgB,KAAK,CAC/D,CAAC;EAED,MAAMihB,cAAc,GAAG,CAAC,EAAEF,aAAa,CAAC3kB,GAAG,IAAI2kB,aAAa,CAAChb,IAAI,CAAC;EAElE,MAAAmb,sBAAA,GAAyDtsB,KAAK,CAACI,KAAK,CAACC,IAAI,CAACksB,mBAAmB,CAC3F;MACExsB,QAAQ;MACRod,OAAO,EAAEgP;KACV,EACD;MACE1rB,OAAO,EAAE,CAAC,CAACV,QAAQ,IAAI,CAAC,CAACosB,aAAa,CAAC3kB,GAAG;MAC1CqY,gBAAgB,EAAE;KAEtB,CAAC;IATkB2M,eAAe,GAAAF,sBAAA,CAA1B1rB,SAAS;IAAyB6rB,UAAU,GAAAH,sBAAA,CAAhB3rB,IAAI;EAWxC,MAAM+rB,UAAU,GAAGrnB,aAAO,CAAC,MAAM;IAC/B,IAAIgnB,cAAc,EAAE;MAClB,IAAI,CAACI,UAAU,EAAE,OAAO,EAAE;MAC1B,OAAO,CAACA,UAAU,CAAC;;IAGrB,OAAO,CAAA/rB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEyjB,YAAY,KAAI,EAAE;GACpC,EAAE,CAACkI,cAAc,EAAEI,UAAU,EAAE/rB,QAAQ,CAAC,CAAC;EAE1C,MAAMisB,YAAY,GAAGtnB,aAAO,CAAC,MAAM;IACjC,OAAO,CAACqnB,UAAU,IAAI,EAAE,EAAEhoB,GAAG,CAAEC,IAAI,IAAK;MAAA,IAAAioB,SAAA;MAEtC,MAAMC,YAAY,GAAG,CAAC,CAACloB,IAAI,CAACmoB,iBAAiB;MAE7C,IAAID,YAAY,EAAE;QAAA,IAAAE,kBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,mBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;QAChB,OAAO;UACLC,aAAa,EAAE,EAAAR,kBAAA,GAAApoB,IAAI,CAAC6oB,YAAY,cAAAT,kBAAA,uBAAjBA,kBAAA,CAAmBvlB,GAAG,KAAI,EAAE;UAC3CimB,YAAY,EAAE,EAAAT,mBAAA,GAAAroB,IAAI,CAAC6oB,YAAY,cAAAR,mBAAA,uBAAjBA,mBAAA,CAAmBxlB,GAAG,KAAI,EAAE;UAC1C2Z,KAAK,EAAE,EAAA8L,qBAAA,GAAAtoB,IAAI,CAACmoB,iBAAiB,cAAAG,qBAAA,uBAAtBA,qBAAA,CAAwBS,YAAY,KAAI,EAAE;UACjDrlB,iBAAiB,EAAE,EAAA6kB,mBAAA,GAAAvoB,IAAI,CAAC6oB,YAAY,cAAAN,mBAAA,uBAAjBA,mBAAA,CAAmB1lB,GAAG,KAAI,EAAE;UAC/CiB,WAAW,EAAE,EAAA0kB,sBAAA,GAAAxoB,IAAI,CAACmoB,iBAAiB,cAAAK,sBAAA,uBAAtBA,sBAAA,CAAwBO,YAAY,KAAI,EAAE;UACvD9kB,MAAM,EAAE,EAAAwkB,sBAAA,GAAAzoB,IAAI,CAACmoB,iBAAiB,cAAAM,sBAAA,uBAAtBA,sBAAA,CAAwBO,UAAU,KAAI,EAAE;UAChD3kB,UAAU,EAAE,CACV,EAAAqkB,sBAAA,GAAA1oB,IAAI,CAACmoB,iBAAiB,cAAAO,sBAAA,uBAAtBA,sBAAA,CAAwBrkB,UAAU,OAAAskB,sBAAA,GAClC3oB,IAAI,CAACmoB,iBAAiB,cAAAQ,sBAAA,uBAAtBA,sBAAA,CAAwBrkB,UAAU,KAClCtE,IAAI,CAACqE,UAAU,IACfrE,IAAI,CAACsE,UAAU,IACf,IAAI,EACJC,WAAW,EAAE;UACf0kB,GAAG,EAAE;SACN;;MAIH,MAAMzI,QAAQ,GAAG,CAACxgB,IAAI,CAAC4Z,SAAS,EAAE5Z,IAAI,CAAC2f,UAAU,EAAE3f,IAAI,CAAC8Z,QAAQ,CAAC,CAACnH,MAAM,CAAC8N,OAAO,CAAC,CAAChM,IAAI,CAAC,GAAG,CAAC;MAC3F,OAAA1O,QAAA,KACK/F,IAAI;QACP4oB,aAAa,EAAE5oB,IAAI,CAAC6C,GAAG,IAAI7C,IAAI,CAAC0D,iBAAiB,IAAI,EAAE;QACvDolB,YAAY,EAAE9oB,IAAI,CAAC6C,GAAG,IAAI,EAAE;QAC5B2Z,KAAK,EAAEgE,QAAQ,IAAIxgB,IAAI,CAAC+oB,YAAY,IAAI/oB,IAAI,CAAC8D,WAAW,IAAI,EAAE;QAC9DJ,iBAAiB,EAAE1D,IAAI,CAAC6C,GAAG,IAAI7C,IAAI,CAAC0D,iBAAiB,IAAI,EAAE;QAC3DI,WAAW,EAAE0c,QAAQ,IAAIxgB,IAAI,CAAC+oB,YAAY,IAAI/oB,IAAI,CAAC8D,WAAW,IAAI,EAAE;QACpEG,MAAM,EAAEjE,IAAI,CAACiE,MAAM,IAAI,EAAE;QACzBI,UAAU,EAAE,CAACrE,IAAI,CAACqE,UAAU,IAAIrE,IAAI,CAACsE,UAAU,IAAI,IAAI,EAAEC,WAAW,EAAE;QACtE0kB,GAAG,GAAAhB,SAAA,GAAEjoB,IAAI,CAACipB,GAAG,YAAAhB,SAAA,GAAI;;KAEpB,CAAC;GACH,EAAE,CAACF,UAAU,CAAC,CAAC;EAEhB,MAAMhmB,YAAY,GAAG,CAAAhG,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEG,UAAU,KAAI,CAAC;EAE9C,MAAMuoB,aAAa,GAAGpX,QAAQ,CAACkF,QAAQ,CAACQ,QAAQ,CAAC,YAAY,CAAC;EAE9D,MAAMmW,gBAAgB,GAAGC,iBAAW,CAClC9lB,KAAA;IAAA,IAAG+lB,WAAW,GAAA/lB,KAAA,CAAX+lB,WAAW;MAAEtD,eAAe,GAAAziB,KAAA,CAAfyiB,eAAe;MAAEC,iBAAiB,GAAA1iB,KAAA,CAAjB0iB,iBAAiB;IAAA,oBAChD1pB,cAAA,CAAAC,aAAA,CAACupB,0BAA0B;MAAOuD,WAAW;MAAEtD,eAAe;MAAEC,iBAAiB;MAAIC,UAAU,EAAC,KAAK;MAAClmB,SAAS,EAAC;KAAU,CAAC;GAC5H,EACD,EACF,CAAC;EAED,MAAMupB,2BAA2B,GAAG;IAClCrC,MAAM,EAAE,aAAa;IACrBnrB,KAAK,EAAE+c,MAAM,CAACvd,KAAK,CAACwd,KAAK,CAACyQ,OAAO,CAACC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE;IACtD3tB,MAAM,EAAE,CAAC;IACTqrB,SAAS,EAAE;GACZ;EAED,MAAMuC,kBAAkB,GAAIxtB,IAAI,IAAK;IACnCA,IAAI,CAACytB,cAAc,CAAC,EAAE,CAAC,KAAWztB,IAAI,aAAJA,IAAI,qBAAX,OAAOA,IAAI,CAAG,EAAE,CAAC;IAC5CwoB,QAAQ,CAAC;MAAEe,MAAM,EAAE,iBAAiB;MAAEvpB,IAAI,EAAA+J,QAAA,KAAOsjB,2BAA2B,CAAE;MAAE5E;KAAe,CAAC;IAChGD,QAAQ,CAAC;MAAEe,MAAM,EAAE,kBAAkB;MAAEvpB,IAAI;MAAEyoB;KAAe,CAAC;GAC9D;EAED,MAAMiF,uBAAuB,GAAG;IAC9B3mB,OAAO,EAAE,EAAE;IACXW,iBAAiB,EAAE,EAAE;IACrBimB,UAAU,EAAE;GACb;EAED,MAAMC,iBAAiB,GAAIC,kBAAkB,IAAK;IAChDA,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC;IACnCA,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,CAAC;IAC7CA,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC;IACtCrF,QAAQ,CAAC;MAAEe,MAAM,EAAE,kBAAkB;MAAEvpB,IAAI,EAAE0tB;KAAyB,CAAC;GACxE;EAED,MAAMI,kBAAkB,GAAG;IACzBZ,gBAAgB;IAChBM,kBAAkB;IAClBE,uBAAuB,EAAEpF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEoB,UAAU;IAC9CqE,4BAA4B,EAAEL,uBAAuB;IACrDE,iBAAiB;IACjB9pB,SAAS,EAAE;GACZ;EAED,SAASsnB,WAAWA,CAAC4C,KAAK,EAAEC,OAAO,EAAE;IAEnC,QAAQA,OAAO,CAAC1E,MAAM;MACpB,KAAK,kBAAkB;QACrBlqB,KAAK,CAACsb,cAAc,CAACuT,GAAG,CAAC,YAAY,EAAAnkB,QAAA,KAAOikB,KAAK;UAAEtE,UAAU,EAAEuE,OAAO,CAACjuB;UAAM,CAAC;QAC9E,OAAA+J,QAAA,KAAYikB,KAAK;UAAEtE,UAAU,EAAEuE,OAAO,CAACjuB;;MAEzC,KAAK,kBAAkB;QACrBX,KAAK,CAACsb,cAAc,CAACuT,GAAG,CAAC,YAAY,EAAAnkB,QAAA,KAAOikB,KAAK;UAAEjD,UAAU,EAAEkD,OAAO,CAACjuB;UAAM,CAAC;QAC9E,OAAA+J,QAAA,KAAYikB,KAAK;UAAEjD,UAAU,EAAEkD,OAAO,CAACjuB;;MAEzC,KAAK,iBAAiB;QACpBX,KAAK,CAACsb,cAAc,CAACuT,GAAG,CAAC,YAAY,EAAAnkB,QAAA,KAAOikB,KAAK;UAAEjF,SAAS,EAAEkF,OAAO,CAACjuB;UAAM,CAAC;QAC7E,OAAA+J,QAAA,KAAYikB,KAAK;UAAEjF,SAAS,EAAEkF,OAAO,CAACjuB;;MAExC;QACE,OAAOguB,KAAK;;;EAIlB,MAAMroB,gBAAgB,GAAI0E,CAAC,IAAK;IAC9B,MAAM8jB,QAAQ,GAAGrN,MAAM,CAACzW,CAAC,CAACoB,MAAM,CAAC5H,KAAK,CAAC;IAEvC2kB,QAAQ,CAAC;MACPe,MAAM,EAAE,iBAAiB;MACzBvpB,IAAI,EAAA+J,QAAA,KACCue,SAAS,CAACS,SAAS;QACtBlpB,KAAK,EAAEsuB,QAAQ;QACfvuB,MAAM,EAAE;QACT;MACD6oB;KACD,CAAC;GACH;EAED,MAAMC,eAAe,GAAIre,CAAC,IAAK;IAC7B,IAAIA,CAAC,CAACoC,MAAM,GAAG,CAAC,EAAE;MAChB,MAAA2hB,GAAA,GAAuB/jB,CAAC;QAAfsD,EAAE,GAAAygB,GAAA,CAAFzgB,EAAE;QAAE0gB,IAAI,GAAAD,GAAA,CAAJC,IAAI;MACjB,MAAMpD,SAAS,GAAGoD,IAAI,GAAG,MAAM,GAAG,KAAK;MACvC,MAAMrD,MAAM,GAAGrd,EAAE;MAEjB,IAAI,EAAE2a,SAAS,CAACS,SAAS,CAACiC,MAAM,KAAKA,MAAM,IAAI1C,SAAS,CAACS,SAAS,CAACkC,SAAS,KAAKA,SAAS,CAAC,EAAE;QAC3FzC,QAAQ,CAAC;UACPe,MAAM,EAAE,iBAAiB;UACzBvpB,IAAI,EAAA+J,QAAA,KACCue,SAAS,CAACS,SAAS;YACtBiC,MAAM,EAAErd,EAAE;YACVsd,SAAS,EAAEoD,IAAI,GAAG,MAAM,GAAG;YAC5B;UACD5F;SACD,CAAC;;;GAGP;EAED,MAAM6F,kBAAkB,GAAGpG,mBAAmB,CAAAne,QAAA,KACzC;IACDnE,WAAW;IACXD,gBAAgB;IAChB2iB,SAAS;IACTpoB,UAAU,EAAE6F,YAAY;IACxBwiB,KAAK,EAAEyD,YAAY;IACnBxD,QAAQ;IACRE,eAAe;IACftpB,QAAQ;IACRqpB,aAAa;IACbG,WAAW,EAAE;MAAE2F,SAAS,EAAE,QAAQ;MAAEC,SAAS,EAAE;KAAU;IACzD1F,UAAU,EAAE;MAAEzkB,KAAK,EAAE;;GACtB,CACF,CAAC;EAEF,MAAMoqB,cAAc,GAAGnD,aAAa,IAAIO,eAAe;EAEvD,oBACExrB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,CAACouB,oCAAa,EAAA3kB,QAAA;IAEV0kB;KAEGX,kBAAkB;IAGrBQ,kBAAkB;IAElBhG,SAAS;IACTlnB,SAAS,EAAErB;IAEd,CACE,CAAC;AAEV,CAAC;;ACtOD,MAAM4uB,cAAc,GAAG,CACnB;EAAEne,IAAI,EAAE,YAAY;EAAE7C,EAAE,EAAE,QAAQ;EAAEihB,IAAI,EAAE;AAAW,CAAC,EACtD;EAAEpe,IAAI,EAAE,cAAc;EAAE7C,EAAE,EAAE,QAAQ;EAAEihB,IAAI,EAAE;AAAW,CAAC,EACxD;EAAEpe,IAAI,EAAE,cAAc;EAAE7C,EAAE,EAAE,QAAQ;EAAEihB,IAAI,EAAE;AAAW,CAAC,EACxD;EAAEpe,IAAI,EAAE,aAAa;EAAE7C,EAAE,EAAE,QAAQ;EAAEihB,IAAI,EAAE;AAAW,CAAC,CAC1D;AAED,MAAMC,SAAS,GAAG,CACd;EAAEre,IAAI,EAAE,yBAAyB;EAAEyK,IAAI,EAAE,OAAO;EAAEhE,IAAI,EAAE;AAAU,CAAC,EACnE;EAAEzG,IAAI,EAAE,uBAAuB;EAAEyK,IAAI,EAAE,OAAO;EAAEhE,IAAI,EAAE;AAAQ,CAAC,EAC/D;EAAEzG,IAAI,EAAE,uBAAuB;EAAEyK,IAAI,EAAE,OAAO;EAAEhE,IAAI,EAAE;AAAQ,CAAC,EAC/D;EAAEzG,IAAI,EAAE,sBAAsB;EAAEyK,IAAI,EAAE,OAAO;EAAEhE,IAAI,EAAE;AAAO,CAAC,EAC7D;EAAEzG,IAAI,EAAE,sBAAsB;EAAEyK,IAAI,EAAE,OAAO;EAAEhE,IAAI,EAAE;AAAO,CAAC,EAC7D;EAAEzG,IAAI,EAAE,mBAAmB;EAAEyK,IAAI,EAAE,OAAO;EAAEhE,IAAI,EAAE;AAAS,CAAC,EAC5D;EAAEzG,IAAI,EAAE,mBAAmB;EAAEyK,IAAI,EAAE,OAAO;EAAEhE,IAAI,EAAE;AAAS,CAAC,CAC/D;AAID,MAAM6X,OAAO,GAAGA,MAAM;EAClB,MAAA7vB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAGT,MAAAkH,SAAA,GAAgDC,cAAQ,CAAC,IAAI,CAAC;IAAvDyoB,gBAAgB,GAAA1oB,SAAA;IAAE2oB,mBAAmB,GAAA3oB,SAAA;EAC5C,MAAA8P,UAAA,GAAsC7P,cAAQ,CAAC,IAAI,CAAC;IAA7C2oB,WAAW,GAAA9Y,UAAA;IAAE+Y,cAAc,GAAA/Y,UAAA;EAGlC,MAAA6M,UAAA,GAAgC1c,cAAQ,CAAC,EAAE,CAAC;IAArC6oB,QAAQ,GAAAnM,UAAA;IAAEoM,WAAW,GAAApM,UAAA;EAG5B,MAAA6C,UAAA,GAAkCvf,cAAQ,CAAC,IAAI,CAAC;IAAzC+oB,SAAS,GAAAxJ,UAAA;IAAEyJ,YAAY,GAAAzJ,UAAA;EAC9B,MAAAG,UAAA,GAAwC1f,cAAQ,CAAC,IAAI,CAAC;IAA/CipB,YAAY,GAAAvJ,UAAA;IAAEwJ,eAAe,GAAAxJ,UAAA;EACpC,MAAAG,UAAA,GAA8B7f,cAAQ,CAAC,IAAI,CAAC;IAArCmpB,OAAO,GAAAtJ,UAAA;IAAEuJ,UAAU,GAAAvJ,UAAA;EAG1B,MAAAG,UAAA,GAAwChgB,cAAQ,CAAC,IAAI,CAAC;IAA/CqpB,YAAY,GAAArJ,UAAA;IAAEsJ,eAAe,GAAAtJ,UAAA;EAEpC,MAAAuJ,UAAA,GAA0BvpB,cAAQ,CAAC,IAAI,CAAC;IAAjCwpB,KAAK,GAAAD,UAAA;IAAEE,QAAQ,GAAAF,UAAA;EAItB,MAAMG,gBAAgB,GAAGA,MAAM;IAC3B,IAAI,CAACjB,gBAAgB,IAAI,CAACE,WAAW,EAAE;MACnCc,QAAQ,CAAC;QAAEltB,IAAI,EAAE,OAAO;QAAE8mB,OAAO,EAAExqB,CAAC,CAAC,wBAAwB,CAAC,IAAI;OAAuC,CAAC;MAC1G;;IAEJ,MAAM8wB,MAAM,GAAGd,QAAQ,CAACnY,IAAI,CACxBkZ,CAAC,IAAIA,CAAC,CAACC,UAAU,KAAKpB,gBAAgB,CAACphB,EAAE,IAAIuiB,CAAC,CAACE,OAAO,KAAKnB,WAAW,CAAChU,IAC3E,CAAC;IACD,IAAIgV,MAAM,EAAE;MACRF,QAAQ,CAAC;QAAEltB,IAAI,EAAE,SAAS;QAAE8mB,OAAO,EAAExqB,CAAC,CAAC,qBAAqB,CAAC,IAAI;OAA+B,CAAC;MACjG;;IAEJiwB,WAAW,CAACjlB,IAAI,IAAI,CAAC,GAAGA,IAAI,EAAE;MAC1BwD,EAAE,EAAE8N,IAAI,CAAC4U,GAAG,EAAE;MACd/V,YAAY,EAAEyU,gBAAgB,CAACve,IAAI;MACnC2f,UAAU,EAAEpB,gBAAgB,CAACphB,EAAE;MAC/B2iB,OAAO,EAAErB,WAAW,CAACze,IAAI;MACzB4f,OAAO,EAAEnB,WAAW,CAAChU,IAAI;MACzBhE,IAAI,EAAEgY,WAAW,CAAChY;KACrB,CAAC,CAAC;IACHiY,cAAc,CAAC,IAAI,CAAC;IACpBF,mBAAmB,CAAC,IAAI,CAAC;IACzBe,QAAQ,CAAC;MAAEltB,IAAI,EAAE,SAAS;MAAE8mB,OAAO,EAAExqB,CAAC,CAAC,oBAAoB,CAAC,IAAI;KAA8B,CAAC;GAClG;EAED,MAAMoxB,eAAe,GAAI/oB,GAAG,IAAK;IAC7B8nB,YAAY,CAAC9nB,GAAG,CAACmG,EAAE,CAAC;IACpB6hB,eAAe,CAACb,cAAc,CAAC5T,IAAI,CAAC8G,CAAC,IAAIA,CAAC,CAAClU,EAAE,KAAKnG,GAAG,CAAC2oB,UAAU,CAAC,IAAI,IAAI,CAAC;IAC1ET,UAAU,CAACb,SAAS,CAAC9T,IAAI,CAACmV,CAAC,IAAIA,CAAC,CAACjV,IAAI,KAAKzT,GAAG,CAAC4oB,OAAO,CAAC,IAAI,IAAI,CAAC;GAClE;EAED,MAAMI,cAAc,GAAI7iB,EAAE,IAAK;IAC3B,IAAI,CAAC4hB,YAAY,IAAI,CAACE,OAAO,EAAE;MAC3BM,QAAQ,CAAC;QAAEltB,IAAI,EAAE,OAAO;QAAE8mB,OAAO,EAAExqB,CAAC,CAAC,wBAAwB,CAAC,IAAI;OAA+C,CAAC;MAClH;;IAGJ,MAAMsxB,SAAS,GAAGtB,QAAQ,CAACnY,IAAI,CAC3BkZ,CAAC,IAAIA,CAAC,CAACviB,EAAE,KAAKA,EAAE,IAAIuiB,CAAC,CAACC,UAAU,KAAKZ,YAAY,CAAC5hB,EAAE,IAAIuiB,CAAC,CAACE,OAAO,KAAKX,OAAO,CAACxU,IAClF,CAAC;IACD,IAAIwV,SAAS,EAAE;MACXV,QAAQ,CAAC;QAAEltB,IAAI,EAAE,SAAS;QAAE8mB,OAAO,EAAExqB,CAAC,CAAC,qBAAqB,CAAC,IAAI;OAA+B,CAAC;MACjG;;IAEJiwB,WAAW,CAACjlB,IAAI,IAAIA,IAAI,CAACpG,GAAG,CAACmsB,CAAC,IAAIA,CAAC,CAACviB,EAAE,KAAKA,EAAE,GAAGuiB,CAAC,GAAAnmB,QAAA,KAC1CmmB,CAAC;MACJ5V,YAAY,EAAEiV,YAAY,CAAC/e,IAAI;MAC/B2f,UAAU,EAAEZ,YAAY,CAAC5hB,EAAE;MAC3B2iB,OAAO,EAAEb,OAAO,CAACjf,IAAI;MACrB4f,OAAO,EAAEX,OAAO,CAACxU,IAAI;MACrBhE,IAAI,EAAEwY,OAAO,CAACxY;MACjB,CAAC,CAAC;IACHqY,YAAY,CAAC,IAAI,CAAC;IAClBS,QAAQ,CAAC;MAAEltB,IAAI,EAAE,SAAS;MAAE8mB,OAAO,EAAExqB,CAAC,CAAC,sBAAsB,CAAC,IAAI;KAAgC,CAAC;GACtG;EAED,MAAMuxB,gBAAgB,GAAGA,MAAM;IAC3BpB,YAAY,CAAC,IAAI,CAAC;IAClBE,eAAe,CAAC,IAAI,CAAC;IACrBE,UAAU,CAAC,IAAI,CAAC;GACnB;EAED,MAAMiB,mBAAmB,GAAGA,MAAM;IAC9BvB,WAAW,CAACjlB,IAAI,IAAIA,IAAI,CAACwM,MAAM,CAACuZ,CAAC,IAAIA,CAAC,CAACviB,EAAE,KAAKgiB,YAAY,CAAChiB,EAAE,CAAC,CAAC;IAC/DiiB,eAAe,CAAC,IAAI,CAAC;IACrBG,QAAQ,CAAC;MAAEltB,IAAI,EAAE,SAAS;MAAE8mB,OAAO,EAAExqB,CAAC,CAAC,sBAAsB,CAAC,IAAI;KAAmB,CAAC;GACzF;EAED,MAAMyxB,kBAAkB,GAAGA,MAAM;IAC7B,IAAIzB,QAAQ,CAAC1iB,MAAM,KAAK,CAAC,EAAE;MACvBsjB,QAAQ,CAAC;QAAEltB,IAAI,EAAE,OAAO;QAAE8mB,OAAO,EAAExqB,CAAC,CAAC,0BAA0B,CAAC,IAAI;OAAuB,CAAC;MAC5F;;IAGJ4wB,QAAQ,CAAC;MAAEltB,IAAI,EAAE,SAAS;MAAE8mB,OAAO,EAAExqB,CAAC,CAAC,6BAA6B,CAAC,IAAI;KAAyC,CAAC;GACtH;EAID,MAAM8H,OAAO,GAAGvC,aAAO,CAAC,MAAM,CAC1B;IACIwC,MAAM,EAAE/H,CAAC,CAAC,oBAAoB,CAAC,IAAI,UAAU;IAC7CgI,QAAQ,EAAE,cAAc;IACxBC,IAAI,EAAEjG,IAAA,IAAa;MAAA,IAAVqG,GAAG,GAAArG,IAAA,CAAHqG,GAAG;MACR,MAAMqpB,SAAS,GAAGxB,SAAS,KAAK7nB,GAAG,CAACC,QAAQ,CAACkG,EAAE;MAC/C,IAAIkjB,SAAS,EAAE;QACX,oBACIxwB,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;UACLI,QAAQ,EAAEmhB,YAAa;UACvBphB,MAAM,EAAEqhB,eAAgB;UACxBvhB,MAAM,EAAE0gB,cAAe;UACvBzgB,SAAS,EAAC,MAAM;UAChB/O,CAAC,EAAEA,CAAE;UACLuM,WAAW,EAAEvM,CAAC,CAAC,kCAAkC,CAAC,IAAI;SACzD,CAAC;;MAGV,oBACIkB,cAAA,CAAAC,aAAA,2BACID,cAAA,CAAAC,aAAA;QAAMwD,SAAS,EAAC;SAAQ0D,GAAG,CAACC,QAAQ,CAAC6S,YAAmB,CAAC,eACzDja,cAAA,CAAAC,aAAA;QAAK4D,KAAK,EAAE;UAAEgP,QAAQ,EAAE,MAAM;UAAEtP,KAAK,EAAE;;SAAW4D,GAAG,CAACC,QAAQ,CAAC0oB,UAAgB,CAC9E,CAAC;;GAGjB,EACD;IACIjpB,MAAM,EAAE/H,CAAC,CAAC,mBAAmB,CAAC,IAAI,cAAc;IAChDgI,QAAQ,EAAE,SAAS;IACnBC,IAAI,EAAEC,KAAA,IAAa;MAAA,IAAVG,GAAG,GAAAH,KAAA,CAAHG,GAAG;MACR,MAAMqpB,SAAS,GAAGxB,SAAS,KAAK7nB,GAAG,CAACC,QAAQ,CAACkG,EAAE;MAC/C,IAAIkjB,SAAS,EAAE;QACX,oBACIxwB,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;UACLI,QAAQ,EAAEqhB,OAAQ;UAClBthB,MAAM,EAAEuhB,UAAW;UACnBzhB,MAAM,EAAE4gB,SAAU;UAClB3gB,SAAS,EAAC,MAAM;UAChB/O,CAAC,EAAEA,CAAE;UACLuM,WAAW,EAAEvM,CAAC,CAAC,6BAA6B,CAAC,IAAI;SACpD,CAAC;;MAGV,oBACIkB,cAAA,CAAAC,aAAA,2BACID,cAAA,CAAAC,aAAA,eAAOkH,GAAG,CAACC,QAAQ,CAAC6oB,OAAc,CAAC,eACnCjwB,cAAA,CAAAC,aAAA;QAAK4D,KAAK,EAAE;UAAEgP,QAAQ,EAAE,MAAM;UAAEtP,KAAK,EAAE;;SAAW4D,GAAG,CAACC,QAAQ,CAACwP,IAAU,CACxE,CAAC;;GAGjB,EACD;IACI/P,MAAM,EAAE/H,CAAC,CAAC,kBAAkB,CAAC,IAAI,SAAS;IAC1CiI,IAAI,EAAEQ,KAAA,IAAa;MAAA,IAAVJ,GAAG,GAAAI,KAAA,CAAHJ,GAAG;MACR,MAAMqpB,SAAS,GAAGxB,SAAS,KAAK7nB,GAAG,CAACC,QAAQ,CAACkG,EAAE;MAC/C,IAAIkjB,SAAS,EAAE;QACX,oBACIxwB,cAAA,CAAAC,aAAA;UAAK4D,KAAK,EAAE;YAAEV,OAAO,EAAE,MAAM;YAAEstB,GAAG,EAAE;;wBAChCzwB,cAAA,CAAAC,aAAA;UACI4D,KAAK,EAAE;YAAEmP,MAAM,EAAE,SAAS;YAAEzP,KAAK,EAAE,SAAS;YAAEmK,UAAU,EAAE;WAAS;UACnEpG,OAAO,EAAEA,MAAM6oB,cAAc,CAAChpB,GAAG,CAACC,QAAQ,CAACkG,EAAE;WAE5CxO,CAAC,CAAC,gBAAgB,CACjB,CAAC,eACPkB,cAAA,CAAAC,aAAA;UACI4D,KAAK,EAAE;YAAEmP,MAAM,EAAE,SAAS;YAAEzP,KAAK,EAAE,SAAS;YAAEmK,UAAU,EAAE;WAAS;UACnEpG,OAAO,EAAE+oB;WAERvxB,CAAC,CAAC,kBAAkB,CACnB,CACL,CAAC;;MAGd,oBACIkB,cAAA,CAAAC,aAAA;QAAK4D,KAAK,EAAE;UAAEV,OAAO,EAAE,MAAM;UAAEstB,GAAG,EAAE;;sBAChCzwB,cAAA,CAAAC,aAAA;QAAMqH,OAAO,EAAEA,MAAM4oB,eAAe,CAAC/oB,GAAG,CAACC,QAAQ,CAAE;QAACvD,KAAK,EAAE;UAAEmP,MAAM,EAAE;;sBACjEhT,cAAA,CAAAC,aAAA,CAACywB,+BAAQ;QAACjtB,SAAS,EAAC,MAAM;QAAC8G,IAAI,EAAC;OAAW,CACzC,CAAC,eACPvK,cAAA,CAAAC,aAAA;QAAMqH,OAAO,EAAEA,MAAMioB,eAAe,CAACpoB,GAAG,CAACC,QAAQ,CAAE;QAACvD,KAAK,EAAE;UAAEmP,MAAM,EAAE;;sBACjEhT,cAAA,CAAAC,aAAA,CAAC0wB,iCAAU;QAACltB,SAAS,EAAC,MAAM;QAAC8G,IAAI,EAAC;OAAW,CAC3C,CACL,CAAC;;GAGjB,CACJ,EAAE,CAACykB,SAAS,EAAEE,YAAY,EAAEE,OAAO,EAAEN,QAAQ,EAAEhwB,CAAC,CAAC,CAAC;EAInD,oBACIkB,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACgnB,QAAQ,qBACXhnB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC,gCAAgC;IAACI,KAAK,EAAE;MAAE2R,SAAS,EAAE;;kBACjExV,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC,QAAQ;IAACI,KAAK,EAAE;MAAEyP,YAAY,EAAE;;kBAC3CtT,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;kBACZzD,cAAA,CAAAC,aAAA;IAAK+D,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACqG,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACqmB,KAAK,EAAC;kBAC9D5wB,cAAA,CAAAC,aAAA;IAAMqL,CAAC,EAAC,iCAAiC;IAACd,MAAM,EAAC,OAAO;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;GAAS,CAAC,eACxH3K,cAAA,CAAAC,aAAA;IAAMqL,CAAC,EAAC,gEAAgE;IAACd,MAAM,EAAC,OAAO;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;GAAS,CACrJ,CACH,CAAC,eACP3K,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAQ3E,CAAC,CAAC,uBAAuB,CAAC,IAAI,kBAAyB,CAC9E,CACJ,CACH,CACL,CAAC,eAENkB,cAAA,CAAAC,aAAA,CAACyE,2BAAI,qBACD1E,cAAA,CAAAC,aAAA,CAAC4wB,iCAAU,QAAE/xB,CAAC,CAAC,kBAAkB,CAAC,IAAI,aAA0B,CAAC,eACjEkB,cAAA,CAAAC,aAAA,CAAC6wB,+BAAQ,QACJhyB,CAAC,CAAC,wBAAwB,CAAC,IAAI,wEAC1B,CAAC,eAEXkB,cAAA,CAAAC,aAAA,CAAC8wB,qCAAc,qBACX/wB,cAAA,CAAAC,aAAA,CAAC+wB,gCAAS,QAAElyB,CAAC,CAAC,sBAAsB,CAAC,IAAI,iBAAiB,EAAC,IAAa,CAAC,eACzEkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;IACLI,QAAQ,EAAE2gB,gBAAiB;IAC3B5gB,MAAM,EAAE6gB,mBAAoB;IAC5B/gB,MAAM,EAAE0gB,cAAe;IACvBzgB,SAAS,EAAC,MAAM;IAChB/O,CAAC,EAAEA,CAAE;IACLuM,WAAW,EAAEvM,CAAC,CAAC,kCAAkC,CAAC,IAAI;GACzD,CACA,CACO,CAAC,eAEjBkB,cAAA,CAAAC,aAAA,CAAC8wB,qCAAc,qBACX/wB,cAAA,CAAAC,aAAA,CAAC+wB,gCAAS,QAAElyB,CAAC,CAAC,iBAAiB,CAAC,IAAI,YAAY,EAAC,IAAa,CAAC,eAC/DkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;IACLI,QAAQ,EAAE6gB,WAAY;IACtB9gB,MAAM,EAAE+gB,cAAe;IACvBjhB,MAAM,EAAE4gB,SAAU;IAClB3gB,SAAS,EAAC,MAAM;IAChB/O,CAAC,EAAEA,CAAE;IACLuM,WAAW,EAAEvM,CAAC,CAAC,6BAA6B,CAAC,IAAI;GACpD,CACA,CACO,CAAC,eAEjBkB,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEV,OAAO,EAAE,MAAM;MAAE8tB,cAAc,EAAE,UAAU;MAAEzb,SAAS,EAAE;;kBAClExV,cAAA,CAAAC,aAAA,CAACkM,gCAAS;IACN7L,KAAK,EAAExB,CAAC,CAAC,kBAAkB,CAAC,IAAI,qBAAsB;IACtDiL,QAAQ,EAAE4lB,gBAAiB;IAC3BxI,QAAQ,EAAE,CAACuH,gBAAgB,IAAI,CAACE;GACnC,CACA,CACH,CAAC,EAENE,QAAQ,CAAC1iB,MAAM,GAAG,CAAC,iBAChBpM,cAAA,CAAAC,aAAA,CAACyE,2BAAI,qBACD1E,cAAA,CAAAC,aAAA,CAAC4wB,iCAAU,QACN/xB,CAAC,CAAC,sBAAsB,CAAC,IAAI,iBAAiB,EAAC,IAAE,EAACgwB,QAAQ,CAAC1iB,MAAM,EAAC,GAC3D,CAAC,eACbpM,cAAA,CAAAC,aAAA,CAACiJ,4BAAK;IACFpK,CAAC,EAAEA,CAAE;IACLa,IAAI,EAAEmvB,QAAS;IACfloB,OAAO,EAAEA,OAAQ;IACjBuC,YAAY,EAAGC,QAAQ,IAAK;MACxB,OAAO;QACHvF,KAAK,EAAE;UACHoF,OAAO,EAAE,MAAM;UACf4J,QAAQ,EAAE;;OAEjB;KACH;IACFqe,cAAc,EAAC;GAClB,CACC,CACT,EAEApC,QAAQ,CAAC1iB,MAAM,GAAG,CAAC,iBAChBpM,cAAA,CAAAC,aAAA,CAACkxB,gCAAS,qBACNnxB,cAAA,CAAAC,aAAA,CAACkM,gCAAS;IACN7L,KAAK,EAAExB,CAAC,CAAC,oBAAoB,CAAC,IAAI,eAAgB;IAClDiL,QAAQ,EAAEwmB;GACb,CACM,CACd,EAEAjB,YAAY,iBACTtvB,cAAA,CAAAC,aAAA,CAACmxB,4BAAK;IACFC,aAAa,EAAEvyB,CAAC,CAAC,qBAAqB,CAAC,IAAI,gBAAiB;IAC5DwyB,YAAY,eACRtxB,cAAA,CAAAC,aAAA;MAAMqH,OAAO,EAAEA,MAAMioB,eAAe,CAAC,IAAI,CAAE;MAAC1rB,KAAK,EAAE;QAAEmP,MAAM,EAAE,SAAS;QAAE/J,OAAO,EAAE;;OAAS,GAEpF,CACT;IACDsoB,eAAe,EAAEzyB,CAAC,CAAC,kBAAkB,CAAE;IACvC0yB,kBAAkB,EAAElB,mBAAoB;IACxCmB,iBAAiB,EAAE3yB,CAAC,CAAC,kBAAkB,CAAE;IACzC4yB,oBAAoB,EAAEA,MAAMnC,eAAe,CAAC,IAAI,CAAE;IAClD1rB,KAAK,EAAE;MAAEsP,YAAY,EAAE;;kBAEvBnT,cAAA,CAAAC,aAAA,CAAC6wB,+BAAQ;IAACjtB,KAAK,EAAE;MAAE2R,SAAS,EAAE,MAAM;MAAElC,YAAY,EAAE;;KAC/CxU,CAAC,CAAC,iCAAiC,CAAC,IAAI,sDAAsD,eAC/FkB,cAAA,CAAAC,aAAA,iBAASqvB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAErV,YAAqB,CAAC,SAAK,eAAAja,cAAA,CAAAC,aAAA,iBAASqvB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEW,OAAgB,CAAC,KACpF,CACP,CACV,EAEAR,KAAK,iBACFzvB,cAAA,CAAAC,aAAA,CAAC0xB,4BAAK;IACFrxB,KAAK,EAAEmvB,KAAK,CAACnG,OAAQ;IACrBtM,KAAK,EAAEyS,KAAK,CAACjtB,IAAI,KAAK,OAAQ;IAC9BovB,OAAO,EAAEnC,KAAK,CAACjtB,IAAI,KAAK,SAAU;IAClC8B,IAAI,EAAEmrB,KAAK,CAACjtB,IAAI,KAAK,MAAO;IAC5BqvB,KAAK,EAAE,IAAK;IACZrkB,OAAO,EAAEA,MAAMkiB,QAAQ,CAAC,IAAI;GAC/B,CAEO,CAAC;AAEzB,CAAC;;AC9VD,MAAMoC,qBAAqB,GAAGhxB,IAAA,IAAsD;EAAA,IAAnD4F,OAAO,GAAA5F,IAAA,CAAP4F,OAAO;IAAE0D,KAAK,GAAAtJ,IAAA,CAALsJ,KAAK;IAAE0hB,iBAAiB,GAAAhrB,IAAA,CAAjBgrB,iBAAiB;IAAElsB,SAAS,GAAAkB,IAAA,CAATlB,SAAS;EAC3E,MAAAhB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM6G,OAAO,GAAGC,yBAAU,EAAE;EAC5B,MAAAmsB,cAAA,GAAiBC,4BAAa,EAAE;IAAxBC,IAAI,GAAAF,cAAA,CAAJE,IAAI;EAEZ,MAAAjsB,SAAA,GAAkCC,cAAQ,CAAC,KAAK,CAAC;IAA1CisB,SAAS,GAAAlsB,SAAA;IAAEmsB,YAAY,GAAAnsB,SAAA;EAC9B,MAAA8P,UAAA,GAA4C7P,cAAQ,CAAC;MAAE2U,IAAI,EAAE,MAAM;MAAEzK,IAAI,EAAE;KAAa,CAAC;IAAlFiiB,cAAc,GAAAtc,UAAA;IAAEuc,iBAAiB,GAAAvc,UAAA;EAExC,MAAM/S,OAAO,GAAG,CACd;IAAE6X,IAAI,EAAE,MAAM;IAAEzK,IAAI,EAAE;GAAa,EACnC;IAAEyK,IAAI,EAAE,OAAO;IAAEzK,IAAI,EAAE;GAAc,CACtC;EAED,MAAMmiB,uBAAuB,GAAGA,MAAMH,YAAY,CAAC,IAAI,CAAC;EAExD,MAAMI,cAAc,GAAGA,MAAM;IAC3B,MAAMC,UAAU,GAAGP,IAAI,CAACvb,QAAQ,CAAC,aAAa,CAAC,GAC3Cub,IAAI,CAAC9b,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,GAC/B8b,IAAI,CAAC9b,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IAClCxQ,OAAO,CAACc,IAAI,CAAI+rB,UAAU,wBAAqB;MAAE9rB,OAAO;MAAE0rB,cAAc;MAAEtG;KAAmB,CAAC;IAC9FqG,YAAY,CAAC,KAAK,CAAC;GACpB;EAED,IAAIvyB,SAAS,EAAE,oBAAOI,cAAA,CAAAC,aAAA,CAACwE,6BAAM,MAAE,CAAC;EAChC,IAAI,CAACqnB,iBAAiB,EAAE,OAAO,IAAI;EAEnC,MAAM3P,OAAO,GAAG,CAAA2P,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEA,iBAAiB,KAAI,EAAE;EAC1D,MAAM2G,UAAU,GAAGtW,OAAO,CAACwQ,UAAU,IAAI,EAAE;EAC3C,MAAM+F,QAAQ,GAAG,CAAAD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEhc,WAAW,EAAE,MAAK,QAAQ,IAAIgc,UAAU,KAAK,GAAG;EAE7E,oBACEzyB,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACgnB,QAAQ,qBACbhnB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAK+D,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACqG,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,SAAS;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBAChI3K,cAAA,CAAAC,aAAA;IAAMqL,CAAC,EAAC;GAA6C,CAAC,eACtDtL,cAAA,CAAAC,aAAA;IAAQ2K,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,GAAG;IAACC,CAAC,EAAC;GAAK,CAC3B,CACF,CAAC,eACN9K,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KACb3E,CAAC,CAAC,uBAAuB,CAAC,IAAI,2BAC3B,CACH,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,qBAAkBivB,QAAQ,GAAG,QAAQ,GAAG,UAAU;KAC9DA,QAAQ,GAAI5zB,CAAC,CAAC,wBAAwB,CAAC,IAAI,mBAAmB,GAAK2zB,UAAU,IAAI3zB,CAAC,CAAC,OAAO,CACvF,CACH,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,8BAA8B,CAAC,IAAI,yBACnC,CAAC,eAENkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,oBAAoB,CAAC,IAAI,eACzB,CAAC,eACNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ0Y,OAAO,CAACuQ,YAAY,IAAItiB,KAAK,IAAItL,CAAC,CAAC,OAAO,CACxC,CACF,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,eAAe,CAAC,IAAI,UACpB,CAAC,eACNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZiD,OAAO,IAAI5H,CAAC,CAAC,OAAO,CAClB,CACF,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,eAAe,CAAC,IAAI,kBACpB,CAAC,eACNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ0Y,OAAO,CAACwW,WAAW,IAAI7zB,CAAC,CAAC,OAAO,CAC9B,CACF,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,sBAAsB,CAAC,IAAI,iBAC3B,CAAC,eACNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ0Y,OAAO,CAACyW,cAAc,IAAI9zB,CAAC,CAAC,OAAO,CACjC,CACF,CACF,CACF,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;GAAoB,CAAC,eAGpCzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,0BAA0B,CAAC,IAAI,mBAC/B,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAK+D,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACqG,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,SAAS;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBAChI3K,cAAA,CAAAC,aAAA;IAAMqL,CAAC,EAAC;GAAkD,CAAC,eAC3DtL,cAAA,CAAAC,aAAA;IAAQ2K,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,CAAC,EAAC;GAAK,CAC5B,CACF,CAAC,eACN9K,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,cAAc,CAAC,IAAI,iBACnB,CAAC,eACNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ0Y,OAAO,CAAC0W,OAAO,IAAI/zB,CAAC,CAAC,OAAO,CAC1B,CACF,CACF,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAK+D,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACqG,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,SAAS;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBAChI3K,cAAA,CAAAC,aAAA;IAAM6yB,CAAC,EAAC,GAAG;IAACC,CAAC,EAAC,GAAG;IAAC/uB,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAAC+uB,EAAE,EAAC,GAAG;IAACC,EAAE,EAAC;GAAK,CAAC,eACzDjzB,cAAA,CAAAC,aAAA;IAAM8K,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,OAAO;IAACC,EAAE,EAAC;GAAM,CACvC,CACF,CAAC,eACNlL,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,eAAe,CAAC,IAAI,SACpB,CAAC,eACNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ0Y,OAAO,CAACjB,WAAW,IAAIpc,CAAC,CAAC,OAAO,CAC9B,CACF,CACF,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAK+D,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACqG,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,SAAS;IAACC,WAAW,EAAC,GAAG;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBAChI3K,cAAA,CAAAC,aAAA;IAAQ2K,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,CAAC,EAAC;GAAK,CAAC,eAChC9K,cAAA,CAAAC,aAAA;IAAMqL,CAAC,EAAC;GAAkD,CACvD,CACF,CAAC,eACNtL,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,YAAY,CAAC,IAAI,eACjB,CAAC,eACNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ0Y,OAAO,CAAClB,KAAK,IAAInc,CAAC,CAAC,OAAO,CACxB,CACF,CACF,CACF,CACF,CACF,CACF,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZqoB,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAEoH,YAAY,IACzBp0B,CAAC,CAAC,oBAAoB,CAAC,IAAI,gBAAgB,UAAIgtB,iBAAiB,CAACoH,YAAY,GAChF,EACD,CAAC,eAGNlzB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC,uBAAuB;IAACI,KAAK,EAAE;MAAEgP,QAAQ,EAAE;;kBACxD7S,cAAA,CAAAC,aAAA;IACEqH,OAAO,EAAEgrB,uBAAwB;IACjC7uB,SAAS,EAAC,oBAAoB;IAC9BI,KAAK,EAAE;MAAEgP,QAAQ,EAAE;;KAElB/T,CAAC,CAAC,mBAAmB,CAAC,IAAI,cAAc,eACzCkB,cAAA,CAAAC,aAAA;IAAK+D,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACqG,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,cAAc;IAACC,WAAW,EAAC,KAAK;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBACvI3K,cAAA,CAAAC,aAAA;IAAM8K,EAAE,EAAC,GAAG;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC;GAAM,CAAC,eACvClL,cAAA,CAAAC,aAAA;IAAUqnB,MAAM,EAAC;GAAoB,CAClC,CACC,CACL,CACF,CACF,CACF,CAAC,EAGL4K,SAAS,iBACRlyB,cAAA,CAAAC,aAAA,CAACmxB,4BAAK;IACJC,aAAa,EAAEvyB,CAAC,CAAC,+BAA+B,CAAE;IAClDwyB,YAAY,eACVtxB,cAAA,CAAAC,aAAA;MAAMqH,OAAO,EAAEA,MAAM6qB,YAAY,CAAC,KAAK,CAAE;MAACtuB,KAAK,EAAE;QAAEmP,MAAM,EAAE,SAAS;QAAE/J,OAAO,EAAE;;OAAS,GAElF,CACP;IACDsoB,eAAe,EAAEzyB,CAAC,CAAC,mBAAmB,CAAE;IACxC0yB,kBAAkB,EAAEe,cAAe;IACnCd,iBAAiB,EAAE3yB,CAAC,CAAC,kBAAkB,CAAE;IACzC4yB,oBAAoB,EAAEA,MAAMS,YAAY,CAAC,KAAK,CAAE;IAChDtuB,KAAK,EAAE;MAAEsP,YAAY,EAAE;;kBAEvBnT,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEoF,OAAO,EAAE;;kBACrBjJ,cAAA,CAAAC,aAAA,CAACkzB,mCAAY;IACXhjB,IAAI,EAAC,kBAAkB;IACvBpN,OAAO,EAAEA,OAAQ;IACjBqwB,UAAU,EAAC,MAAM;IACjBhB,cAAc,EAAEA,cAAe;IAC/BiB,QAAQ,EAAEhB,iBAAkB;IAC5BxuB,KAAK,EAAE;MAAEV,OAAO,EAAE,MAAM;MAAEmwB,aAAa,EAAE,QAAQ;MAAE7C,GAAG,EAAE,MAAM;MAAE8C,WAAW,EAAE;QAAEpgB,YAAY,EAAE;;KAAU;IACvGrU,CAAC,EAAEA;GACJ,CACE,CACA,CAEK,CAAC;AAErB,CAAC;;ACxOD,MAAM00B,MAAM,GAAGA,MAAM;EACjB,MAAA50B,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAAkH,SAAA,GAAwCC,cAAQ,CAAC,MAAM;MACnD,MAAMwtB,KAAK,GAAGC,cAAc,CAACC,OAAO,CAAC,2BAA2B,CAAC;MACjE,OAAOF,KAAK,GAAGG,IAAI,CAACC,KAAK,CAACJ,KAAK,CAAC,GAAG;QAAE/sB,OAAO,EAAE,EAAE;QAAE0D,KAAK,EAAE;OAAI;KAChE,CAAC;IAHK5E,YAAY,GAAAQ,SAAA;IAAE4D,eAAe,GAAA5D,SAAA;EAIpC,MAAA8P,UAAA,GAA8C7P,cAAQ,CAAC,MAAM;MACzD,OAAOytB,cAAc,CAACC,OAAO,CAAC,8BAA8B,CAAC,KAAK,MAAM;KAC3E,CAAC;IAFKG,eAAe,GAAAhe,UAAA;IAAEie,kBAAkB,GAAAje,UAAA;EAG1C,MAAA6M,UAAA,GAAkC1c,cAAQ,CAAC,IAAI,CAAC;IAAzC+tB,SAAS,GAAArR,UAAA;IAAEsR,YAAY,GAAAtR,UAAA;EAC9B,MAAAuR,qBAAA,GAAiDl1B,KAAK,CAACI,KAAK,CAAC+0B,iBAAiB,CAAC,aAAa,EAAE,EAAE,CAAC;IAA1FC,AAA2BC,WAAW,GAAAH,qBAAA;EAE7C,MAAMn1B,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EAEtD,MAAAC,qBAAA,GAA+EH,KAAK,CAACI,KAAK,CAACC,IAAI,CAACksB,mBAAmB,CAAC;MAChHxsB,QAAQ;MACRod,OAAO,EAAE;QAAE3V,GAAG,EAAEhB,YAAY,CAACkB,OAAO;QAAEyJ,IAAI,EAAE3K,YAAY,CAAC4E;;KAC5D,EAAE;MACC3K,OAAO,EAAEq0B,eAAe,IAAI,CAAC,CAACtuB,YAAY,CAACkB,OAAO,IAAI,CAAC,CAAClB,YAAY,CAAC4E,KAAK;MAC1EkqB,OAAO,EAAGtX,KAAK,IAAK;QAAA,IAAAuX,eAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,sBAAA;QAChBT,YAAY,CAAC;UAAEjX,KAAK,EAAE,IAAI;UAAE1c,KAAK,EAAE,CAAA0c,KAAK,aAALA,KAAK,wBAAAuX,eAAA,GAALvX,KAAK,CAAEkG,QAAQ,cAAAqR,eAAA,wBAAAC,oBAAA,GAAfD,eAAA,CAAiB50B,IAAI,cAAA60B,oBAAA,wBAAAC,qBAAA,GAArBD,oBAAA,CAAuBG,MAAM,cAAAF,qBAAA,wBAAAC,sBAAA,GAA7BD,qBAAA,CAAgC,CAAC,CAAC,cAAAC,sBAAA,uBAAlCA,sBAAA,CAAoCpL,OAAO,KAAIxqB,CAAC,CAAC,wDAAwD;SAAG,CAAC;QAChJi1B,kBAAkB,CAAC,KAAK,CAAC;QACzBL,cAAc,CAACkB,UAAU,CAAC,8BAA8B,CAAC;;KAEhE,CAAC;IAViBC,WAAW,GAAA11B,qBAAA,CAAtBS,SAAS;IAAqBksB,iBAAiB,GAAA3sB,qBAAA,CAAvBQ,IAAI;EAYpC,MAAMm1B,YAAY,GAAIC,MAAM,IAAK;IAC7B,IAAI,CAACA,MAAM,CAACruB,OAAO,IAAI,CAACquB,MAAM,CAAC3qB,KAAK,EAAE;MAElCR,eAAe,CAAC;QAAElD,OAAO,EAAE,EAAE;QAAE0D,KAAK,EAAE;OAAI,CAAC;MAC3C2pB,kBAAkB,CAAC,KAAK,CAAC;MACzBL,cAAc,CAACkB,UAAU,CAAC,2BAA2B,CAAC;MACtDlB,cAAc,CAACkB,UAAU,CAAC,8BAA8B,CAAC;MACzDP,WAAW,EAAE;MACb;;IAGJ,IAAI,CAACU,MAAM,CAACruB,OAAO,IAAI,CAACquB,MAAM,CAAC3qB,KAAK,EAAE;MAClC6pB,YAAY,CAAC;QAAEjX,KAAK,EAAE,IAAI;QAAE1c,KAAK,EAAExB,CAAC,CAAC,sBAAsB;OAAG,CAAC;MAC/D;;IAEJ8K,eAAe,CAACmrB,MAAM,CAAC;IACvBhB,kBAAkB,CAAC,IAAI,CAAC;IAGxB,MAAMiB,UAAU,GAAGtB,cAAc,CAACC,OAAO,CAAC,eAAe,CAAC;IAC1D,IAAIqB,UAAU,KAAKD,MAAM,CAACruB,OAAO,EAAE;MAC/B2tB,WAAW,EAAE;MAEbhQ,MAAM,CAACC,IAAI,CAACoP,cAAc,CAAC,CAACnP,OAAO,CAAC3gB,GAAG,IAAI;QACvC,IAAIA,GAAG,CAACqxB,UAAU,CAAC,OAAO,CAAC,IAAIrxB,GAAG,KAAK,aAAa,EAAE8vB,cAAc,CAACkB,UAAU,CAAChxB,GAAG,CAAC;OACvF,CAAC;;IAGN8vB,cAAc,CAACwB,OAAO,CAAC,2BAA2B,EAAEtB,IAAI,CAACuB,SAAS,CAACJ,MAAM,CAAC,CAAC;IAC3ErB,cAAc,CAACwB,OAAO,CAAC,8BAA8B,EAAE,MAAM,CAAC;IAC9DxB,cAAc,CAACwB,OAAO,CAAC,eAAe,EAAEH,MAAM,CAACruB,OAAO,CAAC;GAC1D;EAED,MAAM0uB,UAAU,GAAGA,MAAM;IACrBnB,YAAY,CAAC,IAAI,CAAC;GACrB;EAED,oBACIj0B,cAAA,CAAAC,aAAA,CAACoJ,cAAc;IACXN,QAAQ,EAAE+rB,YAAa;IACvBtvB,YAAY,EAAEA;KAEbsuB,eAAe,iBACZ9zB,cAAA,CAAAC,aAAA,CAAC6xB,qBAAqB;IAClBprB,OAAO,EAAElB,YAAY,CAACkB,OAAQ;IAC9B0D,KAAK,EAAE5E,YAAY,CAAC4E,KAAM;IAC1B0hB,iBAAiB,EAAEA,iBAAkB;IACrClsB,SAAS,EAAEi1B;GACd,CACJ,EAEA,CAACf,eAAe,IAAI,CAACe,WAAW,iBAC7B70B,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACb,KAAK,EAAE;MAAE8I,SAAS,EAAE,QAAQ;MAAE1D,OAAO,EAAE;;kBACzCjJ,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEN,KAAK,EAAE;;KAAczE,CAAC,CAAC,6BAA6B,CAAO,CACvE,CACT,EACAk1B,SAAS,iBAAIh0B,cAAA,CAAAC,aAAA,CAAC0xB,4BAAK;IAAC3U,KAAK,EAAEgX,SAAS,CAAChX,KAAM;IAAC1c,KAAK,EAAE0zB,SAAS,CAAC1zB,KAAM;IAACkN,OAAO,EAAE4nB,UAAW;IAACvD,KAAK,EAAE;GAAO,CAC5F,CAAC;AAEzB,CAAC;;ACtED,MAAMwD,YAAY,GAAGv0B,IAAA,IAAuB;EAAA,IAApBw0B,MAAM,GAAAx0B,IAAA,CAANw0B,MAAM;IAAE3H,KAAK,GAAA7sB,IAAA,CAAL6sB,KAAK;EACnC,MAAMhoB,OAAO,GAAGC,yBAAU,EAAE;EAC5B,SAAS2vB,OAAOA,GAAG;IACjB5vB,OAAO,CAACc,IAAI,CAAC6uB,MAAM,EAAA5rB,QAAA,KAAOikB,KAAK;MAAE6C,SAAS,EAAE;MAAM,CAAC;;EAErD,oBACExwB,cAAA,CAAAC,aAAA,CAACu1B,iCAAU;IAACl1B,KAAK,eAAEN,cAAA,CAAAC,aAAA,CAACywB,+BAAQ;MAAC7sB,KAAK,EAAE;QAAEG,KAAK,EAAE,MAAM;QAAEC,MAAM,EAAE,MAAM;QAAEsG,IAAI,EAAE;;KAAc,CAAE;IAAC1G,KAAK,EAAE;MAAEmO,MAAM,EAAE,CAAC;MAAE/I,OAAO,EAAE;KAAI;IAAC3B,OAAO,EAAEiuB;GAAU,CAAC;AAEtJ,CAAC;AAED,MAAME,UAAU,GAAIjyB,KAAK,IAAMA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK0Y,SAAS,IAAI1Y,KAAK,KAAK,EAAE,GAAGA,KAAK,GAAG,KAAM;AAErG,MAAMkyB,WAAW,GAAGA,CAAClyB,KAAK,EAAE1E,CAAC,KAAK;EAChC,IAAI0E,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,MAAM,IAAImI,MAAM,CAACnI,KAAK,CAAC,CAACiT,WAAW,EAAE,KAAK,KAAK,EAAE,OAAO3X,CAAC,CAAC,iBAAiB,CAAC;EAC5G,IAAI0E,KAAK,KAAK,KAAK,IAAIA,KAAK,KAAK,OAAO,IAAImI,MAAM,CAACnI,KAAK,CAAC,CAACiT,WAAW,EAAE,KAAK,IAAI,EAAE,OAAO3X,CAAC,CAAC,gBAAgB,CAAC;EAC5G,IAAI0E,KAAK,KAAK,MAAM,EAAE,OAAO1E,CAAC,CAAC,iBAAiB,CAAC;EACjD,IAAI0E,KAAK,KAAK,OAAO,EAAE,OAAO1E,CAAC,CAAC,gBAAgB,CAAC;AACnD,CAAC;AAKD,MAAM62B,iBAAiB,GAAGA,CAAClK,UAAU,EAAEmK,SAAS,KAAK;EACnD,MAAMC,OAAO,GAAGpK,UAAU,IAAIpH,MAAM,CAACC,IAAI,CAACmH,UAAU,CAAC,CAACrf,MAAM,GAAG,CAAC,GAAGqf,UAAU,GAAG,CAAAmK,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEvvB,UAAU,KAAI,EAAE;EAG3G,MAAMyvB,aAAa,GAAG,CAAAD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,qBAAqB,MAAIF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG,iBAAiB,KAAIH,OAAO;EAC7F,MAAMI,eAAe,GAAG,CAACztB,KAAK,CAACC,OAAO,CAACqtB,aAAa,CAAC,GAAGA,aAAa,CAAC,CAAC,CAAC,GAAGA,aAAa,KAAK,EAAE;EAE/F,OAAO;IACLI,OAAO,EAAE,CAAAD,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEC,OAAO,KAAID,eAAe;IACpDE,OAAO,EAAE,CAAAF,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEE,OAAO,KAAI;GACtC;AACH,CAAC;AAED,MAAMC,aAAa,GAAGpvB,KAAA,IAA2E;EAAA,IAAxEqI,KAAK,GAAArI,KAAA,CAALqI,KAAK;IAAEgnB,MAAM,GAAArvB,KAAA,CAANqvB,MAAM;IAAEH,OAAO,GAAAlvB,KAAA,CAAPkvB,OAAO;IAAEC,OAAO,GAAAnvB,KAAA,CAAPmvB,OAAO;IAAEr3B,CAAC,GAAAkI,KAAA,CAADlI,CAAC;IAAEw2B,MAAM,GAAAtuB,KAAA,CAANsuB,MAAM;IAAE3H,KAAK,GAAA3mB,KAAA,CAAL2mB,KAAK;IAAE2I,cAAc,GAAAtvB,KAAA,CAAdsvB,cAAc;EACxF,oBACEt2B,cAAA,CAAAC,aAAA;IACEwD,SAAS,EAAC,wBAAwB;IAClCI,KAAK,EAAE;MAAEyP,YAAY,EAAE,MAAM;MAAExP,UAAU,EAAE,MAAM;MAAEqP,YAAY,EAAE,MAAM;MAAED,MAAM,EAAE,mBAAmB;MAAEqjB,QAAQ,EAAE;;kBAEhHv2B,cAAA,CAAAC,aAAA;IACE4D,KAAK,EAAE;MACLoF,OAAO,EAAE,WAAW;MACpBnF,UAAU,EAAE,SAAS;MACrB0yB,YAAY,EAAE,mBAAmB;MACjCrzB,OAAO,EAAE,MAAM;MACf8tB,cAAc,EAAE,eAAe;MAC/BwF,UAAU,EAAE;;kBAGdz2B,cAAA,CAAAC,aAAA,CAACy2B,oCAAa;IAAC7yB,KAAK,EAAE;MAAEmO,MAAM,EAAE,CAAC;MAAEa,QAAQ,EAAE,MAAM;MAAEtP,KAAK,EAAE,SAAS;MAAEmK,UAAU,EAAE;;KAAU2B,KAAqB,CAAC,EAClHimB,MAAM,IAAI,CAACgB,cAAc,iBAAIt2B,cAAA,CAAAC,aAAA,CAACo1B,YAAY;IAACC,MAAM,EAAEA,MAAO;IAAC3H,KAAK,EAAEA;GAAQ,CACxE,CAAC,eAEN3tB,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEoF,OAAO,EAAE;;kBACrBjJ,cAAA,CAAAC,aAAA;IAAO4D,KAAK,EAAE;MAAEG,KAAK,EAAE,MAAM;MAAE2yB,cAAc,EAAE,UAAU;MAAEC,WAAW,EAAE;;kBACtE52B,cAAA,CAAAC,aAAA,6BACED,cAAA,CAAAC,aAAA,0BACED,cAAA,CAAAC,aAAA;IACE4D,KAAK,EAAE;MACLoF,OAAO,EAAE,QAAQ;MACjB0D,SAAS,EAAE,MAAM;MACjBpJ,KAAK,EAAE,SAAS;MAChBsP,QAAQ,EAAE,MAAM;MAChBnF,UAAU,EAAE,KAAK;MACjBmpB,aAAa,EAAE,WAAW;MAC1B7yB,KAAK,EAAE;;KAGRlF,CAAC,CAAC,iBAAiB,CAClB,CAAC,eACLkB,cAAA,CAAAC,aAAA;IACE4D,KAAK,EAAE;MACLoF,OAAO,EAAE,QAAQ;MACjB0D,SAAS,EAAE,MAAM;MACjBpJ,KAAK,EAAE,SAAS;MAChBsP,QAAQ,EAAE,MAAM;MAChBnF,UAAU,EAAE,KAAK;MACjBmpB,aAAa,EAAE,WAAW;MAC1B7yB,KAAK,EAAE;;KAGRlF,CAAC,CAAC,2BAA2B,CAC5B,CAAC,eACLkB,cAAA,CAAAC,aAAA;IACE4D,KAAK,EAAE;MACLoF,OAAO,EAAE,QAAQ;MACjB0D,SAAS,EAAE,MAAM;MACjBpJ,KAAK,EAAE,SAAS;MAChBsP,QAAQ,EAAE,MAAM;MAChBnF,UAAU,EAAE,KAAK;MACjBmpB,aAAa,EAAE,WAAW;MAC1B7yB,KAAK,EAAE;;KAGRlF,CAAC,CAAC,uBAAuB,CACxB,CACF,CACC,CAAC,eACRkB,cAAA,CAAAC,aAAA,gBACGo2B,MAAM,CAAC3yB,GAAG,CAAC,CAACozB,KAAK,EAAEzP,GAAG,KAAK;IAC1B,MAAM0P,MAAM,GAAGb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGY,KAAK,CAAClzB,GAAG,CAAC;IACnC,MAAMozB,MAAM,GAAGb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGW,KAAK,CAAClzB,GAAG,CAAC;IACnC,MAAMqzB,SAAS,GAAGd,OAAO,IAAIxqB,MAAM,CAACorB,MAAM,CAAC,KAAKprB,MAAM,CAACqrB,MAAM,CAAC,IAAIA,MAAM,KAAK9a,SAAS,IAAI8a,MAAM,KAAK,IAAI;IAEzG,oBACEh3B,cAAA,CAAAC,aAAA;MAAI2D,GAAG,EAAEyjB,GAAI;MAACxjB,KAAK,EAAE;QAAEqzB,SAAS,EAAE;;oBAChCl3B,cAAA,CAAAC,aAAA;MAAI4D,KAAK,EAAE;QAAEoF,OAAO,EAAE,QAAQ;QAAE4J,QAAQ,EAAE,MAAM;QAAEtP,KAAK,EAAE,SAAS;QAAEmK,UAAU,EAAE;;OAAU5O,CAAC,CAACg4B,KAAK,CAACx2B,KAAK,CAAM,CAAC,eAC9GN,cAAA,CAAAC,aAAA;MAAI4D,KAAK,EAAE;QAAEoF,OAAO,EAAE,QAAQ;QAAE4J,QAAQ,EAAE,MAAM;QAAEtP,KAAK,EAAE;;OACtDuzB,KAAK,CAACK,MAAM,GAAGzB,WAAW,CAACsB,MAAM,EAAEl4B,CAAC,CAAC,GAAG22B,UAAU,CAACuB,MAAM,CACxD,CAAC,eACLh3B,cAAA,CAAAC,aAAA;MACE4D,KAAK,EAAE;QAAEoF,OAAO,EAAE,QAAQ;QAAE4J,QAAQ,EAAE,MAAM;QAAEtP,KAAK,EAAE0zB,SAAS,GAAG,SAAS,GAAG,SAAS;QAAEvpB,UAAU,EAAEupB,SAAS,GAAG,KAAK,GAAG;;oBAExHj3B,cAAA,CAAAC,aAAA;MAAK4D,KAAK,EAAE;QAAEV,OAAO,EAAE,MAAM;QAAEszB,UAAU,EAAE,QAAQ;QAAEhG,GAAG,EAAE;;OACvDqG,KAAK,CAACK,MAAM,GAAGzB,WAAW,CAACqB,MAAM,EAAEj4B,CAAC,CAAC,GAAG22B,UAAU,CAACsB,MAAM,CAAC,EAC1DE,SAAS,iBACRj3B,cAAA,CAAAC,aAAA;MACE4D,KAAK,EAAE;QACLC,UAAU,EAAE,SAAS;QACrBP,KAAK,EAAE,SAAS;QAChB0F,OAAO,EAAE,SAAS;QAClBkK,YAAY,EAAE,MAAM;QACpBN,QAAQ,EAAE,MAAM;QAChBnF,UAAU,EAAE;;OAGb5O,CAAC,CAAC,cAAc,CACb,CAEL,CACH,CACF,CAAC;GAER,CACI,CACF,CACJ,CACF,CAAC;AAEV,CAAC;AAED,MAAMs4B,MAAM,GAAGA,MAAM;EAAA,IAAA9Y,qBAAA,EAAA8G,sBAAA,EAAAC,sBAAA,EAAAgS,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,mBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,kBAAA;EACnB,MAAAj7B,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM6G,OAAO,GAAGC,yBAAU,EAAE;EAC5B,MAAMoL,QAAQ,GAAG2E,0BAAW,EAAE;EAC9B,IAAA+I,UAAA,GAA6BC,wBAAS,EAAE;IAAlCnY,GAAG,GAAAkY,UAAA,CAAHlY,GAAG;IAAEszB,aAAa,GAAApb,UAAA,CAAbob,aAAa;EAExB,MAAA9zB,SAAA,GAA0BC,cAAQ,CAAC,KAAK,CAAC;IAAlC8zB,KAAK,GAAA/zB,SAAA;IAAEg0B,QAAQ,GAAAh0B,SAAA;EACtB,MAAA8P,UAAA,GAAwC7P,cAAQ,CAAC,KAAK,CAAC;IAAhDg0B,YAAY,GAAAnkB,UAAA;EACnB,MAAA6M,UAAA,GAAsC1c,cAAQ,CAAC,KAAK,CAAC;IAA9Ci0B,WAAW,GAAAvX,UAAA;IAAEwX,cAAc,GAAAxX,UAAA;EAClC,MAAA6C,UAAA,GAAoCvf,cAAQ,CAAC,EAAE,CAAC;IAAzCm0B,UAAU,GAAA5U,UAAA;IAAE6U,aAAa,GAAA7U,UAAA;EAChC,MAAAG,UAAA,GAAsC1f,cAAQ,CAAC,KAAK,CAAC;IAA9Cq0B,WAAW,GAAA3U,UAAA;IAAE4U,cAAc,GAAA5U,UAAA;EAClC,MAAAG,UAAA,GAAkC7f,cAAQ,CAAC,KAAK,CAAC;IAA1C+tB,SAAS,GAAAlO,UAAA;IAAEmO,YAAY,GAAAnO,UAAA;EAC9B,MAAAG,UAAA,GAAkChgB,cAAQ,CAAC;MAAE+W,KAAK,EAAE,KAAK;MAAE1c,KAAK,EAAE;KAAI,CAAC;IAAhEk6B,SAAS,GAAAvU,UAAA;IAAEwU,YAAY,GAAAxU,UAAA;EAE9B,MAAMljB,OAAO,GAAG,CACd;IAAEmmB,MAAM,EAAEpqB,CAAC,CAAC,SAAS;GAAG,EACxB;IAAEoqB,MAAM,EAAEpqB,CAAC,CAAC,QAAQ;GAAG,CACxB;EAED,MAAM82B,SAAS,GAAG5kB,QAAQ,CAAC2c,KAAK,IAAI,EAAE;EACtC,MAAA+M,gBAAA,GAAuB9E,SAAS,CAAxB+E,KAAK;IAALA,KAAK,GAAAD,gBAAA,cAAG,EAAE,GAAAA,gBAAA;EAClB,MAAME,SAAS,GAAGp0B,GAAG,IAAIszB,aAAa;EAEtC,MAAAe,kBAAA,GAAuIF,KAAK,CAApIh0B,WAAW;IAAXA,WAAW,GAAAk0B,kBAAA,cAAG,EAAE,GAAAA,kBAAA;IAAAC,qBAAA,GAA+GH,KAAK,CAAlHI,cAAc;IAAEC,aAAa,GAAAF,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IAAAG,qBAAA,GAA2EN,KAAK,CAA9EO,eAAe;IAAEC,cAAc,GAAAF,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IAAAG,mBAAA,GAAqCT,KAAK,CAAxCU,YAAY;IAAEC,WAAW,GAAAF,mBAAA,cAAG,EAAE,GAAAA,mBAAA;EAElI,MAAMr8B,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACtD,MAAMq8B,gBAAgB,GAAGv8B,KAAK,CAACI,KAAK,CAACC,IAAI,CAACm8B,eAAe,CAACz8B,QAAQ,CAAC;EACnE,MAAM08B,cAAc,GAAGz8B,KAAK,CAACI,KAAK,CAACC,IAAI,CAACq8B,aAAa,CAAC38B,QAAQ,CAAC;EAE/D,MAAAI,qBAAA,GAAyDH,KAAK,CAACI,KAAK,CAACC,IAAI,CAACs8B,mBAAmB,CAAC;MAAEn1B,GAAG,EAAEo0B,SAAS;MAAEgB,SAAS,EAAE;KAAU,EAAE78B,QAAQ,EAAE;MAC/IU,OAAO,EAAE,CAAC,CAACm7B;KACZ,CAAC;IAFYnP,UAAU,GAAAtsB,qBAAA,CAAhBQ,IAAI;IAAyB6rB,eAAe,GAAArsB,qBAAA,CAA1BS,SAAS;EAInC,MAAMi8B,SAAS,GAAG,EAAAvd,qBAAA,GAAAtf,KAAK,CAACsb,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAA+D,qBAAA,wBAAA8G,sBAAA,GAAhC9G,qBAAA,CAAkCha,IAAI,cAAA8gB,sBAAA,wBAAAC,sBAAA,GAAtCD,sBAAA,CAAwC0W,KAAK,cAAAzW,sBAAA,uBAA7CA,sBAAA,CAA+C3hB,GAAG,CAAEq4B,GAAG,IAAKA,GAAG,CAACnhB,IAAI,CAAC,KAAI,EAAE;EAC7F,MAAMohB,KAAK,GAAGH,SAAS,CAACnlB,QAAQ,CAAC,UAAU,CAAC,IAAImlB,SAAS,CAACnlB,QAAQ,CAAC,KAAK,CAAC;EACzE,MAAMulB,8BAA8B,GAAGJ,SAAS,CAACnlB,QAAQ,CAAC,iBAAiB,CAAC,IAAImlB,SAAS,CAACnlB,QAAQ,CAAC,eAAe,CAAC,IAAImlB,SAAS,CAACnlB,QAAQ,CAAC,aAAa,CAAC;EACxJ,MAAMwlB,YAAY,GAAGlrB,QAAQ,CAACkF,QAAQ,CAACQ,QAAQ,CAAC,UAAU,CAAC;EAC3D,MAAM4f,cAAc,GAAI2F,8BAA8B,IAAI,CAACD,KAAK,IAAKE,YAAY;EAGjF,MAAAC,kBAAA,GAAqDxG,iBAAiB,CAAClK,UAAU,EAAEmK,SAAS,CAAC;IAA5EwG,UAAU,GAAAD,kBAAA,CAAnBjG,OAAO;IAAuBmG,UAAU,GAAAF,kBAAA,CAAnBhG,OAAO;EAEpC,MAAMmG,uBAAuB,GAAI38B,IAAI,IAAK;IACxC,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI;IACtB,MAAM48B,OAAO,GAAG,CAAA58B,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEmsB,iBAAiB,KAAInsB,IAAI,IAAI,EAAE;IACrD,MAAM68B,OAAO,GAAG,CAAA78B,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEo7B,cAAc,KAAIp7B,IAAI,IAAI,EAAE;IAClD,MAAM88B,OAAO,GAAG,CAAA98B,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE6sB,YAAY,KAAI7sB,IAAI,IAAI,EAAE;IAChD,MAAM+8B,QAAQ,GAAG,CAAA/8B,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE07B,YAAY,KAAI17B,IAAI,IAAI,EAAE;IAEjD,OAAO;MACLg9B,UAAU,EAAE;QACVjQ,YAAY,EACV,CAAA6P,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE7P,YAAY,MAAK6P,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEhf,SAAS,GAAG,CAACgf,OAAO,CAAChf,SAAS,EAAEgf,OAAO,CAACjZ,UAAU,EAAEiZ,OAAO,CAAC9e,QAAQ,CAAC,CAACnH,MAAM,CAAC8N,OAAO,CAAC,CAAChM,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC5Iya,OAAO,EAAE,CAAA0J,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE1J,OAAO,MAAI0J,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEK,UAAU;QAChDhK,cAAc,EAAE,CAAA2J,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE3J,cAAc,MAAI2J,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM,kBAAkB;QACtElK,WAAW,EAAE,CAAA4J,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE5J,WAAW,MAAI4J,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO,OAAO;QACrD5hB,WAAW,EAAE,CAAAqhB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAErhB,WAAW,MAAIqhB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE/e,QAAQ,MAAI+e,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEvwB,YAAY;QAC/EiP,KAAK,EAAEshB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEthB,KAAK;QACrB0R,UAAU,EAAE,CAAA4P,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE5P,UAAU,MAAI4P,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE9J,UAAU;QACtDzqB,UAAU,EAAEu0B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEv0B,UAAU;QAC/B+0B,OAAO,EAAE,CAAAR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ,OAAO,MAAIR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE/1B,GAAG;OAC1C;MACDqsB,OAAO,EAAE;QACPmK,WAAW,EAAE,CAAAR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ,WAAW,MAAIR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,UAAU;QACxDK,eAAe,EAAE,CAAAT,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAES,eAAe,MAAIT,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEU,MAAM;QAC5DC,aAAa,EAAE,CAAAX,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEW,aAAa,MAAIX,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEY,QAAQ;QAC1DC,QAAQ,EAAEb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEa,QAAQ;QAC3BC,OAAO,EAAE,CAAAd,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEc,OAAO,MAAId,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE3Y,OAAO;QAC7CD,IAAI,EAAE,CAAA4Y,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE5Y,IAAI,MAAI4Y,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEe,QAAQ;QACxC5Z,QAAQ,EAAE6Y,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE7Y,QAAQ;QAC3B6Z,QAAQ,EAAEhB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEgB,QAAQ;QAC3BC,QAAQ,EAAEjB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEiB,QAAQ;QAC3BC,SAAS,EAAElB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEkB,SAAS;QAC7BlgB,QAAQ,EAAE,CAAAgf,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEhf,QAAQ,MAAIgf,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAExwB,YAAY;QACpD2xB,UAAU,EAAEnB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEmB,UAAU;QAC/B1iB,KAAK,EAAEuhB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEvhB,KAAK;QACrB2iB,UAAU,EAAE,CAAApB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEoB,UAAU,MAAIpB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEqB,WAAW;QACvDd,OAAO,EAAE,CAAAP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO,OAAO,MAAIP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEh2B,GAAG;QACzCs3B,oBAAoB,EAAEtB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEsB;OAChC;MACDC,QAAQ,EAAE;QACRv3B,GAAG,EAAEi2B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEj2B,GAAG;QACjBw3B,SAAS,EAAEvB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEuB,SAAS;QAC7BC,gBAAgB,EAAExB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEwB,gBAAgB;QAC3CpB,kBAAkB,EAAEJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,kBAAkB;QAC/CtX,QAAQ,EAAEkX,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAElX,QAAQ;QAC3B2Y,cAAc,EAAE,CAAAzB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEyB,cAAc,MAAIzB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE0B,SAAS;QAC7DC,UAAU,EAAE3B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE2B,UAAU;QAC/BC,YAAY,EAAE5B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE4B,YAAY;QACnCr2B,UAAU,EAAEy0B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEz0B,UAAU;QAC/Bs2B,2BAA2B,EAAE7B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE6B,2BAA2B;QACjEC,wBAAwB,EAAE9B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE8B;OACpC;MACDC,KAAK,EAAE;QACLh4B,GAAG,EAAEk2B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEl2B,GAAG;QAClBi4B,OAAO,EAAE,CAAA/B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEgC,WAAW,MAAK,SAAS,KAAIhC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE+B,OAAO;QACjE9L,WAAW,EAAE,CAAA+J,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE/J,WAAW,MAAI+J,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEI,OAAO;QACvD6B,SAAS,EAAEjC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEiC,SAAS;QAC9BC,oBAAoB,EAAElC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEkC,oBAAoB;QACpDC,aAAa,EAAEnC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEmC,aAAa;QACtCC,cAAc,EAAEpC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEoC,cAAc;QACxCC,aAAa,EAAErC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEqC,aAAa;QACtCC,cAAc,EAAEtC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEsC,cAAc;QACxCC,aAAa,EAAEvC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEuC,aAAa;QACtCC,qBAAqB,EAAExC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEwC;;KAEpC;GACF;EAED,MAAMC,UAAU,GAAG7C,uBAAuB,CAACF,UAAU,CAAC;EACtD,MAAMgD,UAAU,GAAG9C,uBAAuB,CAACD,UAAU,CAAC;EAGtD,MAAMgD,cAAc,GAAA31B,QAAA,KACfy1B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAExC,UAAU;IACzBjQ,YAAY,EAAE,CAAA/lB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEwJ,IAAI,MAAIgvB,UAAU,aAAVA,UAAU,wBAAA9H,qBAAA,GAAV8H,UAAU,CAAExC,UAAU,cAAAtF,qBAAA,uBAAtBA,qBAAA,CAAwB3K,YAAY;IACvExR,WAAW,EAAE,CAAAvU,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEqF,YAAY,MAAImzB,UAAU,aAAVA,UAAU,wBAAA7H,sBAAA,GAAV6H,UAAU,CAAExC,UAAU,cAAArF,sBAAA,uBAAtBA,sBAAA,CAAwBpc,WAAW;IAC7E6hB,OAAO,EAAE,CAAAoC,UAAU,aAAVA,UAAU,wBAAA5H,sBAAA,GAAV4H,UAAU,CAAExC,UAAU,cAAApF,sBAAA,uBAAtBA,sBAAA,CAAwBwF,OAAO,KAAInC;IAC7C;EAED,MAAM0E,WAAW,GAAA51B,QAAA,KACZy1B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEtM,OAAO;IACtBmK,WAAW,EAAE,CAAAhC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEgC,WAAW,MAAImC,UAAU,aAAVA,UAAU,wBAAA3H,mBAAA,GAAV2H,UAAU,CAAEtM,OAAO,cAAA2E,mBAAA,uBAAnBA,mBAAA,CAAqBwF,WAAW;IAC3EC,eAAe,EAAE,CAAAjC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEiC,eAAe,MAAIjC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEkC,MAAM,MAAIiC,UAAU,aAAVA,UAAU,wBAAA1H,oBAAA,GAAV0H,UAAU,CAAEtM,OAAO,cAAA4E,oBAAA,uBAAnBA,oBAAA,CAAqBwF,eAAe;IAChHE,aAAa,EAAE,CAAAnC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEmC,aAAa,MAAInC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEoC,QAAQ,MAAI+B,UAAU,aAAVA,UAAU,wBAAAzH,oBAAA,GAAVyH,UAAU,CAAEtM,OAAO,cAAA6E,oBAAA,uBAAnBA,oBAAA,CAAqByF,aAAa;IAC5GE,QAAQ,EAAE,CAAArC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEqC,QAAQ,MAAI8B,UAAU,aAAVA,UAAU,wBAAAxH,oBAAA,GAAVwH,UAAU,CAAEtM,OAAO,cAAA8E,oBAAA,uBAAnBA,oBAAA,CAAqB0F,QAAQ;IAClEC,OAAO,EAAE,CAAAtC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEsC,OAAO,MAAItC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEnX,OAAO,MAAIsb,UAAU,aAAVA,UAAU,wBAAAvH,oBAAA,GAAVuH,UAAU,CAAEtM,OAAO,cAAA+E,oBAAA,uBAAnBA,oBAAA,CAAqB0F,OAAO;IACzF1Z,IAAI,EAAE,CAAAoX,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEpX,IAAI,MAAIub,UAAU,aAAVA,UAAU,wBAAAtH,oBAAA,GAAVsH,UAAU,CAAEtM,OAAO,cAAAgF,oBAAA,uBAAnBA,oBAAA,CAAqBjU,IAAI;IACtDD,QAAQ,EAAE,CAAAqX,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAErX,QAAQ,MAAIwb,UAAU,aAAVA,UAAU,wBAAArH,oBAAA,GAAVqH,UAAU,CAAEtM,OAAO,cAAAiF,oBAAA,uBAAnBA,oBAAA,CAAqBnU,QAAQ;IAClE6Z,QAAQ,EAAE,CAAAxC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEwC,QAAQ,MAAKthB,SAAS,GAAG8e,aAAa,CAACwC,QAAQ,GAAG2B,UAAU,aAAVA,UAAU,wBAAApH,oBAAA,GAAVoH,UAAU,CAAEtM,OAAO,cAAAkF,oBAAA,uBAAnBA,oBAAA,CAAqByF,QAAQ;IACxGC,QAAQ,EAAE,CAAAzC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEyC,QAAQ,MAAI0B,UAAU,aAAVA,UAAU,wBAAAnH,oBAAA,GAAVmH,UAAU,CAAEtM,OAAO,cAAAmF,oBAAA,uBAAnBA,oBAAA,CAAqByF,QAAQ;IAClEC,SAAS,EAAE,CAAA1C,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE0C,SAAS,MAAIyB,UAAU,aAAVA,UAAU,wBAAAlH,oBAAA,GAAVkH,UAAU,CAAEtM,OAAO,cAAAoF,oBAAA,uBAAnBA,oBAAA,CAAqByF,SAAS;IACrElgB,QAAQ,EAAE,CAAAwd,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAExd,QAAQ,MAAI7W,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEqF,YAAY,MAAImzB,UAAU,aAAVA,UAAU,wBAAAjH,oBAAA,GAAViH,UAAU,CAAEtM,OAAO,cAAAqF,oBAAA,uBAAnBA,oBAAA,CAAqB1a,QAAQ;IAC/FmgB,UAAU,EAAE,CAAA3C,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE2C,UAAU,MAAIh3B,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE44B,cAAc,MAAIJ,UAAU,aAAVA,UAAU,wBAAAhH,qBAAA,GAAVgH,UAAU,CAAEtM,OAAO,cAAAsF,qBAAA,uBAAnBA,qBAAA,CAAqBwF,UAAU;IACvG1iB,KAAK,EAAE,CAAA+f,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE/f,KAAK,MAAIkkB,UAAU,aAAVA,UAAU,wBAAA/G,qBAAA,GAAV+G,UAAU,CAAEtM,OAAO,cAAAuF,qBAAA,uBAAnBA,qBAAA,CAAqBnd,KAAK;IACzD2iB,UAAU,EAAE,CAAA5C,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE4C,UAAU,MAAIj3B,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEk3B,WAAW,MAAIsB,UAAU,aAAVA,UAAU,wBAAA9G,qBAAA,GAAV8G,UAAU,CAAEtM,OAAO,cAAAwF,qBAAA,uBAAnBA,qBAAA,CAAqBuF,UAAU;IACpGb,OAAO,EAAE,CAAA/B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE+B,OAAO,MAAIoC,UAAU,aAAVA,UAAU,wBAAA7G,qBAAA,GAAV6G,UAAU,CAAEtM,OAAO,cAAAyF,qBAAA,uBAAnBA,qBAAA,CAAqByE,OAAO,KAAInC,SAAS;IAC5EkD,oBAAoB,EAAE,CAAA9C,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEwE,oBAAoB,MAAIL,UAAU,aAAVA,UAAU,wBAAA5G,qBAAA,GAAV4G,UAAU,CAAEtM,OAAO,cAAA0F,qBAAA,uBAAnBA,qBAAA,CAAqBuF,oBAAoB;IACvG;EAED,MAAM2B,YAAY,GAAA/1B,QAAA,KACby1B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEpB,QAAQ;IACvBv3B,GAAG,EAAE,CAAA24B,UAAU,aAAVA,UAAU,wBAAA3G,oBAAA,GAAV2G,UAAU,CAAEpB,QAAQ,cAAAvF,oBAAA,uBAApBA,oBAAA,CAAsBhyB,GAAG,KAAIo0B,SAAS;IAC3CoD,SAAS,EAAE,CAAA7C,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAE6C,SAAS,MAAImB,UAAU,aAAVA,UAAU,wBAAA1G,qBAAA,GAAV0G,UAAU,CAAEpB,QAAQ,cAAAtF,qBAAA,uBAApBA,qBAAA,CAAsBuF,SAAS;IACvEC,gBAAgB,EAAE,CAAA9C,cAAc,aAAdA,cAAc,wBAAAzC,qBAAA,GAAdyC,cAAc,CAAEuE,kBAAkB,cAAAhH,qBAAA,uBAAlCA,qBAAA,CAAoCp4B,KAAK,MAAI6+B,UAAU,aAAVA,UAAU,wBAAAxG,qBAAA,GAAVwG,UAAU,CAAEpB,QAAQ,cAAApF,qBAAA,uBAApBA,qBAAA,CAAsBsF,gBAAgB;IACrGpB,kBAAkB,EAAE,CAAA1B,cAAc,aAAdA,cAAc,wBAAAvC,sBAAA,GAAduC,cAAc,CAAEwE,sBAAsB,cAAA/G,sBAAA,uBAAtCA,sBAAA,CAAwCt4B,KAAK,MAAI6+B,UAAU,aAAVA,UAAU,wBAAAtG,qBAAA,GAAVsG,UAAU,CAAEpB,QAAQ,cAAAlF,qBAAA,uBAApBA,qBAAA,CAAsBgE,kBAAkB;IAC7GtX,QAAQ,EAAE,CAAA4V,cAAc,aAAdA,cAAc,wBAAArC,qBAAA,GAAdqC,cAAc,CAAEyE,YAAY,cAAA9G,qBAAA,uBAA5BA,qBAAA,CAA8Bx4B,KAAK,MAAI6+B,UAAU,aAAVA,UAAU,wBAAApG,qBAAA,GAAVoG,UAAU,CAAEpB,QAAQ,cAAAhF,qBAAA,uBAApBA,qBAAA,CAAsBxT,QAAQ;IAC/E2Y,cAAc,EAAE,CAAA/C,cAAc,aAAdA,cAAc,wBAAAnC,qBAAA,GAAdmC,cAAc,CAAE0E,cAAc,cAAA7G,qBAAA,uBAA9BA,qBAAA,CAAgC14B,KAAK,MAAI6+B,UAAU,aAAVA,UAAU,wBAAAlG,qBAAA,GAAVkG,UAAU,CAAEpB,QAAQ,cAAA9E,qBAAA,uBAApBA,qBAAA,CAAsBiF,cAAc;IAC7FI,2BAA2B,EAAE,CAAAnD,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEmD,2BAA2B,MAAIa,UAAU,aAAVA,UAAU,wBAAAjG,qBAAA,GAAViG,UAAU,CAAEpB,QAAQ,cAAA7E,qBAAA,uBAApBA,qBAAA,CAAsBoF,2BAA2B;IAC9H;EAED,MAAMwB,SAAS,GAAAp2B,QAAA,KACVy1B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEX,KAAK;IACpBh4B,GAAG,EAAE,CAAA80B,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE90B,GAAG,MAAI24B,UAAU,aAAVA,UAAU,wBAAAhG,iBAAA,GAAVgG,UAAU,CAAEX,KAAK,cAAArF,iBAAA,uBAAjBA,iBAAA,CAAmB3yB,GAAG,KAAIo0B,SAAS;IAC5D6D,OAAO,EAAE,CAAAnD,WAAW,aAAXA,WAAW,wBAAAlC,qBAAA,GAAXkC,WAAW,CAAEyE,eAAe,cAAA3G,qBAAA,uBAA5BA,qBAAA,CAA8B51B,KAAK,MAAK,SAAS,KAAI27B,UAAU,aAAVA,UAAU,wBAAA9F,kBAAA,GAAV8F,UAAU,CAAEX,KAAK,cAAAnF,kBAAA,uBAAjBA,kBAAA,CAAmBoF,OAAO;IACxF9L,WAAW,EAAEwM,UAAU,aAAVA,UAAU,wBAAA7F,kBAAA,GAAV6F,UAAU,CAAEX,KAAK,cAAAlF,kBAAA,uBAAjBA,kBAAA,CAAmB3G,WAAW;IAC3CgM,SAAS,EAAE,CAAArD,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEqD,SAAS,MAAIQ,UAAU,aAAVA,UAAU,wBAAA5F,kBAAA,GAAV4F,UAAU,CAAEX,KAAK,cAAAjF,kBAAA,uBAAjBA,kBAAA,CAAmBoF,SAAS;IACjEC,oBAAoB,EAAE,CAAAtD,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE0E,aAAa,MAAIb,UAAU,aAAVA,UAAU,wBAAA3F,kBAAA,GAAV2F,UAAU,CAAEX,KAAK,cAAAhF,kBAAA,uBAAjBA,kBAAA,CAAmBoF,oBAAoB;IAC3FG,aAAa,EAAE,CAAAzD,WAAW,aAAXA,WAAW,wBAAA7B,qBAAA,GAAX6B,WAAW,CAAE2E,iBAAiB,cAAAxG,qBAAA,uBAA9BA,qBAAA,CAAgCj2B,KAAK,MAAK,SAAS,KAAI27B,UAAU,aAAVA,UAAU,wBAAAzF,kBAAA,GAAVyF,UAAU,CAAEX,KAAK,cAAA9E,kBAAA,uBAAjBA,kBAAA,CAAmBqF,aAAa;IACtGC,cAAc,EAAE,CAAA1D,WAAW,aAAXA,WAAW,wBAAA3B,qBAAA,GAAX2B,WAAW,CAAE4E,kBAAkB,cAAAvG,qBAAA,uBAA/BA,qBAAA,CAAiCn2B,KAAK,MAAK,KAAK,KAAI27B,UAAU,aAAVA,UAAU,wBAAAvF,kBAAA,GAAVuF,UAAU,CAAEX,KAAK,cAAA5E,kBAAA,uBAAjBA,kBAAA,CAAmBoF,cAAc;IACrGE,qBAAqB,EAAE,CAAA5D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE4D,qBAAqB,MAAIC,UAAU,aAAVA,UAAU,wBAAAtF,kBAAA,GAAVsF,UAAU,CAAEX,KAAK,cAAA3E,kBAAA,uBAAjBA,kBAAA,CAAmBqF,qBAAqB;IACtG;EAGD,MAAMiB,gBAAgB,GAAG,CACvB;IAAE7/B,KAAK,EAAE,eAAe;IAAEsD,GAAG,EAAE;GAAW,EAC1C;IAAEtD,KAAK,EAAE,oBAAoB;IAAEsD,GAAG,EAAE;GAAgB,EACpD;IAAEtD,KAAK,EAAE,cAAc;IAAEsD,GAAG,EAAE;GAAW,EACzC;IAAEtD,KAAK,EAAE,sBAAsB;IAAEsD,GAAG,EAAE;GAAkB,EACxD;IAAEtD,KAAK,EAAE,eAAe;IAAEsD,GAAG,EAAE;GAAe,EAC9C;IAAEtD,KAAK,EAAE,gBAAgB;IAAEsD,GAAG,EAAE;GAAe,EAC/C;IAAEtD,KAAK,EAAE,YAAY;IAAEsD,GAAG,EAAE;GAAS,EACrC;IAAEtD,KAAK,EAAE,kBAAkB;IAAEsD,GAAG,EAAE;GAAc,EAChD;IAAEtD,KAAK,EAAE,aAAa;IAAEsD,GAAG,EAAE;GAAc,CAC5C;EAED,MAAMw8B,aAAa,GAAG,CACpB;IAAE9/B,KAAK,EAAE,mBAAmB;IAAEsD,GAAG,EAAE;GAAe,EAClD;IAAEtD,KAAK,EAAE,oBAAoB;IAAEsD,GAAG,EAAE;GAAmB,EACvD;IAAEtD,KAAK,EAAE,qBAAqB;IAAEsD,GAAG,EAAE;GAAiB,EACtD;IAAEtD,KAAK,EAAE,eAAe;IAAEsD,GAAG,EAAE;GAAY,EAC3C;IAAEtD,KAAK,EAAE,cAAc;IAAEsD,GAAG,EAAE;GAAW,EACzC;IAAEtD,KAAK,EAAE,eAAe;IAAEsD,GAAG,EAAE;GAAQ,EACvC;IAAEtD,KAAK,EAAE,eAAe;IAAEsD,GAAG,EAAE;GAAY,EAC3C;IAAEtD,KAAK,EAAE,gBAAgB;IAAEsD,GAAG,EAAE,UAAU;IAAEuzB,MAAM,EAAE;GAAM,EAC1D;IAAE72B,KAAK,EAAE,eAAe;IAAEsD,GAAG,EAAE;GAAY,EAC3C;IAAEtD,KAAK,EAAE,gBAAgB;IAAEsD,GAAG,EAAE;GAAa,EAC7C;IAAEtD,KAAK,EAAE,gBAAgB;IAAEsD,GAAG,EAAE;GAAY,EAC5C;IAAEtD,KAAK,EAAE,kBAAkB;IAAEsD,GAAG,EAAE;GAAc,EAChD;IAAEtD,KAAK,EAAE,YAAY;IAAEsD,GAAG,EAAE;GAAS,EACrC;IAAEtD,KAAK,EAAE,oBAAoB;IAAEsD,GAAG,EAAE;GAAc,EAClD;IAAEtD,KAAK,EAAE,eAAe;IAAEsD,GAAG,EAAE;GAAW,CAC3C;EAED,MAAMy8B,cAAc,GAAG,CACrB;IAAE//B,KAAK,EAAE,0BAA0B;IAAEsD,GAAG,EAAE;GAAsB,EAChE;IAAEtD,KAAK,EAAE,iBAAiB;IAAEsD,GAAG,EAAE;GAAa,EAC9C;IAAEtD,KAAK,EAAE,yBAAyB;IAAEsD,GAAG,EAAE;GAAoB,EAC7D;IAAEtD,KAAK,EAAE,gBAAgB;IAAEsD,GAAG,EAAE;GAAY,EAC5C;IAAEtD,KAAK,EAAE,kBAAkB;IAAEsD,GAAG,EAAE;GAAkB,EACpD;IAAEtD,KAAK,EAAE,kBAAkB;IAAEsD,GAAG,EAAE;GAAc,EAChD;IAAEtD,KAAK,EAAE,oBAAoB;IAAEsD,GAAG,EAAE;GAAgB,EACpD;IAAEtD,KAAK,EAAE,aAAa;IAAEsD,GAAG,EAAE;GAAc,CAC5C;EAED,MAAM08B,WAAW,GAAG,CAClB;IAAEhgC,KAAK,EAAE,cAAc;IAAEsD,GAAG,EAAE,SAAS;IAAEuzB,MAAM,EAAE;GAAM,EACvD;IAAE72B,KAAK,EAAE,eAAe;IAAEsD,GAAG,EAAE;GAAe,EAC9C;IAAEtD,KAAK,EAAE,iBAAiB;IAAEsD,GAAG,EAAE;GAAa,EAC9C;IAAEtD,KAAK,EAAE,6BAA6B;IAAEsD,GAAG,EAAE;GAAwB,EACrE;IAAEtD,KAAK,EAAE,qBAAqB;IAAEsD,GAAG,EAAE;GAAiB,EACtD;IAAEtD,KAAK,EAAE,sBAAsB;IAAEsD,GAAG,EAAE;GAAkB,EACxD;IAAEtD,KAAK,EAAE,qBAAqB;IAAEsD,GAAG,EAAE,eAAe;IAAEuzB,MAAM,EAAE;GAAM,EACpE;IAAE72B,KAAK,EAAE,uBAAuB;IAAEsD,GAAG,EAAE,gBAAgB;IAAEuzB,MAAM,EAAE;GAAM,EACvE;IAAE72B,KAAK,EAAE,sBAAsB;IAAEsD,GAAG,EAAE;GAAiB,CACxD;EAED,MAAM28B,iBAAiB,GAAGA,MAAMvG,QAAQ,CAAC,CAACD,KAAK,CAAC;EAEhD,MAAMyG,YAAY;IAAA,IAAe;MAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;MAC/B,MAAM/S,OAAO,GAAG;QACdgT,WAAW,EAAE;UACXC,KAAK,EAAE,WAAW;UAClBC,GAAG,EAAE,KAAK;UACVC,KAAK,EAAE,YAAY;UACnBhiC,QAAQ,EAAEA,QAAQ;UAClBiiC,SAAS,GAAAP,qBAAA,GAAEzhC,KAAK,CAACiiC,WAAW,CAACC,OAAO,EAAE,cAAAT,qBAAA,uBAA3BA,qBAAA,CAA6BU;SACzC;QACD36B,GAAG,EAAEo0B,SAAS;QACd1R,MAAM,EAAE,UAAU;QAClBkY,OAAO,EAAE,kCAAkC;QAC3CC,UAAU,GAAAX,sBAAA,GAAE1hC,KAAK,CAACiiC,WAAW,CAACC,OAAO,EAAE,cAAAR,sBAAA,wBAAAC,sBAAA,GAA3BD,sBAAA,CAA6Bp8B,IAAI,cAAAq8B,sBAAA,uBAAjCA,sBAAA,CAAmCW,QAAQ;QACvD/S,IAAI,EAAE;OACP;MAAC,MAAAgT,KAAA,GAAAhoB,MAAA,aACE;QAAA,OAAA0D,OAAA,CAAAC,OAAA,CACmBqe,gBAAgB,CAACiG,WAAW,CAAC5T,OAAO,CAAC,EAAAjU,IAAA,WAApDD,MAAM;UAAA,IACRA,MAAM;YACR/T,OAAO,CAACc,IAAI,CAAC,kCAAkC,EAAE;cAAEwJ,OAAO,EAAE,IAAI;cAAEyJ;aAAQ,CAAC;;;OAE9E,YAAQkN,GAAG,EAAE;QACZ7J,OAAO,CAACC,KAAK,CAAC,eAAe,EAAE4J,GAAG,CAAC;OACpC;MAAA,OAAA3J,OAAA,CAAAC,OAAA,CAAAqkB,KAAA,IAAAA,KAAA,CAAA5nB,IAAA,GAAA4nB,KAAA,CAAA5nB,IAAA;KACF,QAAA3P,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EAED,MAAMy3B,aAAa;IAAA,IAAe;MAAA,IAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;MAChC,MAAMhU,OAAO,GAAG;QACdgT,WAAW,EAAE;UACXC,KAAK,EAAE,WAAW;UAClBC,GAAG,EAAE,KAAK;UACVC,KAAK,EAAE,YAAY;UACnBhiC,QAAQ,EAAEA,QAAQ;UAClBiiC,SAAS,GAAAU,sBAAA,GAAE1iC,KAAK,CAACiiC,WAAW,CAACC,OAAO,EAAE,cAAAQ,sBAAA,uBAA3BA,sBAAA,CAA6BP;SACzC;QACD36B,GAAG,EAAEo0B,SAAS;QACd1R,MAAM,EAAE,UAAU;QAClBkY,OAAO,EAAE,wBAAwB;QACjCC,UAAU,GAAAM,sBAAA,GAAE3iC,KAAK,CAACiiC,WAAW,CAACC,OAAO,EAAE,cAAAS,sBAAA,wBAAAC,sBAAA,GAA3BD,sBAAA,CAA6Br9B,IAAI,cAAAs9B,sBAAA,uBAAjCA,sBAAA,CAAmCN,QAAQ;QACvD/S,IAAI,EAAE;OACP;MAAC,MAAAsT,MAAA,GAAAtoB,MAAA,aACE;QAAA,OAAA0D,OAAA,CAAAC,OAAA,CACmBqe,gBAAgB,CAACiG,WAAW,CAAC5T,OAAO,CAAC,EAAAjU,IAAA,WAApDD,MAAM;UAAA,IACRA,MAAM;YACR+gB,YAAY,CAAC;cACXzd,KAAK,EAAE,KAAK;cACZ1c,KAAK,EAAExB,CAAC,CAAC,qCAAqC,CAAC,IAAI;aACpD,CAAC;YACFm1B,YAAY,CAAC,IAAI,CAAC;YAClB6N,UAAU,CAAC,MAAM;cACfn8B,OAAO,CAACc,IAAI,CAAC,+BAA+B,CAAC;aAC9C,EAAE,IAAI,CAAC;;;OAEX,YAAQmgB,GAAG,EAAE;QAAA,IAAAmb,aAAA,EAAAC,kBAAA;QACZjlB,OAAO,CAACC,KAAK,CAAC,gBAAgB,EAAE4J,GAAG,CAAC;QACpC6T,YAAY,CAAC;UACXzd,KAAK,EAAE,IAAI;UACX1c,KAAK,EAAE,CAAAsmB,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE0C,OAAO,MAAI1C,GAAG,aAAHA,GAAG,wBAAAmb,aAAA,GAAHnb,GAAG,CAAE1D,QAAQ,cAAA6e,aAAA,wBAAAC,kBAAA,GAAbD,aAAA,CAAepiC,IAAI,cAAAqiC,kBAAA,uBAAnBA,kBAAA,CAAqB1Y,OAAO,KAAI;SACxD,CAAC;QACF2K,YAAY,CAAC,IAAI,CAAC;OACnB;MAAA,OAAAhX,OAAA,CAAAC,OAAA,CAAA2kB,MAAA,IAAAA,MAAA,CAAAloB,IAAA,GAAAkoB,MAAA,CAAAloB,IAAA;KACF,QAAA3P,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EA2BD,MAAMi4B,kBAAkB,GAAIC,WAAW,IAAK;IAC1C,IAAI,CAACA,WAAW,EAAE;IAClB,MAAMC,WAAW,uFAAqFD,WAAa;IACnH7H,aAAa,CAAC8H,WAAW,CAAC;IAC1BhI,cAAc,CAAC,IAAI,CAAC;GACrB;EAED,MAAMiI,gBAAgB,GAAIx0B,MAAM,IAAK;IACnC2sB,cAAc,CAAC,KAAK,CAAC;IACrB,IAAI3sB,MAAM,CAACsb,MAAM,KAAKpqB,CAAC,CAAC,SAAS,CAAC,EAAE;MAClC2iC,aAAa,EAAE;KAChB,MAAM,IAAI7zB,MAAM,CAACsb,MAAM,KAAKpqB,CAAC,CAAC,QAAQ,CAAC,EAAE;MACxC0hC,YAAY,EAAE;;GAEjB;EAED,IAAIhV,eAAe,IAAIyO,YAAY,EAAE,oBAAOj6B,cAAA,CAAAC,aAAA,CAACwE,6BAAM,MAAE,CAAC;EAEtD,MAAM49B,OAAO,GAAG,yBAAyB;EAEzC,oBACEriC,cAAA,CAAAC,aAAA,CAAC+mB,cAAQ,qBACPhnB,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC;kBAEdzD,cAAA,CAAAC,aAAA,CAACm2B,aAAa;IACZ/mB,KAAK,EAAEvQ,CAAC,CAAC,yBAAyB,CAAE;IACpCu3B,MAAM,EAAE8J,gBAAiB;IACzBjK,OAAO,EAAEmJ,cAAe;IACxBlJ,OAAO,EAAEiJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEzC,UAAW;IAChC79B,CAAC,EAAEA,CAAE;IACLw2B,MAAM,EAAK+M,OAAO,8BAAyBzH,SAAY;IACvDjN,KAAK,EAAAjkB,QAAA,KAAOksB,SAAS;MAAElvB,OAAO,EAAEk0B,SAAS;MAAEp0B,GAAG,EAAEo0B,SAAS;MAAEv0B,UAAU,EAAEolB,UAAU;MAAEkP;MAAQ;IAC3FrE,cAAc,EAAEA;GACjB,CAAC,eAGFt2B,cAAA,CAAAC,aAAA,CAACm2B,aAAa;IACZ/mB,KAAK,EAAEvQ,CAAC,CAAC,sBAAsB,CAAE;IACjCu3B,MAAM,EAAE+J,aAAc;IACtBlK,OAAO,EAAEoJ,WAAY;IACrBnJ,OAAO,EAAEiJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEvM,OAAQ;IAC7B/zB,CAAC,EAAEA,CAAE;IACLw2B,MAAM,EAAK+M,OAAO,6BAAwBzH,SAAY;IACtDjN,KAAK,EAAAjkB,QAAA,KAAOksB,SAAS;MAAElvB,OAAO,EAAEk0B,SAAS;MAAEp0B,GAAG,EAAEo0B,SAAS;MAAEv0B,UAAU,EAAEolB,UAAU;MAAEkP;MAAQ;IAC3FrE,cAAc,EAAEA;GACjB,CAAC,eAGFt2B,cAAA,CAAAC,aAAA,CAACm2B,aAAa;IACZ/mB,KAAK,EAAEvQ,CAAC,CAAC,oBAAoB,CAAE;IAC/Bu3B,MAAM,EAAEgK,cAAe;IACvBnK,OAAO,EAAEuJ,YAAa;IACtBtJ,OAAO,EAAEiJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAErB,QAAS;IAC9Bj/B,CAAC,EAAEA,CAAE;IACLw2B,MAAM,EAAK+M,OAAO,2BAAsBzH,SAAY;IACpDjN,KAAK,EAAAjkB,QAAA,KAAOksB,SAAS;MAAElvB,OAAO,EAAEk0B,SAAS;MAAEp0B,GAAG,EAAEo0B,SAAS;MAAEv0B,UAAU,EAAEolB,UAAU;MAAEkP;MAAQ;IAC3FrE,cAAc,EAAEA;GACjB,CAAC,eAGFt2B,cAAA,CAAAC,aAAA,CAACm2B,aAAa;IACZ/mB,KAAK,EAAEvQ,CAAC,CAAC,oBAAoB,CAAE;IAC/Bu3B,MAAM,EAAEiK,WAAY;IACpBpK,OAAO,EAAE4J,SAAU;IACnB3J,OAAO,EAAEiJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEZ,KAAM;IAC3B1/B,CAAC,EAAEA,CAAE;IACLw2B,MAAM,EAAK+M,OAAO,2BAAsBzH,SAAY;IACpDjN,KAAK,EAAAjkB,QAAA,KAAOksB,SAAS;MAAElvB,OAAO,EAAEk0B,SAAS;MAAEp0B,GAAG,EAAEo0B,SAAS;MAAEv0B,UAAU,EAAEolB,UAAU;MAAEkP;MAAQ;IAC3FrE,cAAc,EAAEA;GACjB,CAAC,eAGFt2B,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAE2R,SAAS,EAAE;;kBACvBxV,cAAA,CAAAC,aAAA,CAACy2B,oCAAa;IAAC7yB,KAAK,EAAE;MAAEyP,YAAY,EAAE;;KAAWxU,CAAC,CAAC,gBAAgB,CAAiB,CAAC,eACrFkB,cAAA,CAAAC,aAAA,CAACqiC,kCAAW;IAACz+B,KAAK,EAAE;MAAE0+B,QAAQ,EAAE;;kBAC9BviC,cAAA,CAAAC,aAAA,CAACuiC,0BAAG;IACFliC,KAAK,EAAExB,CAAC,CAAC,iBAAiB,CAAE;IAC5B2N,IAAI,EAAE6yB,WAAW,CAACxB,oBAAoB,GAAGh/B,CAAC,CAAC,sBAAsB,CAAC,GAAGA,CAAC,CAAC,OAAO,CAAE;IAChF2jC,YAAY,EACVnD,WAAW,CAACxB,oBAAoB,iBAC9B99B,cAAA,CAAAC,aAAA;MAAKqH,OAAO,EAAEA,MAAM26B,kBAAkB,CAAC3C,WAAW,CAACxB,oBAAoB;oBACrE99B,cAAA,CAAAC,aAAA,CAACyiC,sCAAe;MAAC7+B,KAAK,EAAE;QAAEmP,MAAM,EAAE,SAAS;QAAEzI,IAAI,EAAE;;KAAc,CAC9D;GAGV,CAAC,eACFvK,cAAA,CAAAC,aAAA,CAACuiC,0BAAG;IACFliC,KAAK,EAAExB,CAAC,CAAC,kBAAkB,CAAE;IAC7B2N,IAAI,EAAEqzB,SAAS,CAACZ,qBAAqB,GAAGpgC,CAAC,CAAC,sBAAsB,CAAC,GAAGA,CAAC,CAAC,OAAO,CAAE;IAC/E2jC,YAAY,EACV3C,SAAS,CAACZ,qBAAqB,iBAC7Bl/B,cAAA,CAAAC,aAAA;MAAKqH,OAAO,EAAEA,MAAM26B,kBAAkB,CAACnC,SAAS,CAACZ,qBAAqB;oBACpEl/B,cAAA,CAAAC,aAAA,CAACyiC,sCAAe;MAAC7+B,KAAK,EAAE;QAAEmP,MAAM,EAAE,SAAS;QAAEzI,IAAI,EAAE;;KAAc,CAC9D;GAGV,CAAC,eACFvK,cAAA,CAAAC,aAAA,CAACuiC,0BAAG;IACFliC,KAAK,EAAExB,CAAC,CAAC,qBAAqB,CAAE;IAChC2N,IAAI,EAAEgzB,YAAY,CAAClB,wBAAwB,GAAGz/B,CAAC,CAAC,sBAAsB,CAAC,GAAGA,CAAC,CAAC,OAAO,CAAE;IACrF2jC,YAAY,EACVhD,YAAY,CAAClB,wBAAwB,iBACnCv+B,cAAA,CAAAC,aAAA;MAAKqH,OAAO,EAAEA,MAAM26B,kBAAkB,CAACxC,YAAY,CAAClB,wBAAwB;oBAC1Ev+B,cAAA,CAAAC,aAAA,CAACyiC,sCAAe;MAAC7+B,KAAK,EAAE;QAAEmP,MAAM,EAAE,SAAS;QAAEzI,IAAI,EAAE;;KAAc,CAC9D;GAGV,CAAC,eACFvK,cAAA,CAAAC,aAAA,CAACuiC,0BAAG;IACFliC,KAAK,EAAExB,CAAC,CAAC,yBAAyB,CAAE;IACpC2N,IAAI,EAAEgzB,YAAY,CAACnB,2BAA2B,GAAGx/B,CAAC,CAAC,qBAAqB,CAAC,GAAGA,CAAC,CAAC,OAAO,CAAE;IACvF2jC,YAAY,EACVhD,YAAY,CAACnB,2BAA2B,iBACtCt+B,cAAA,CAAAC,aAAA;MAAKqH,OAAO,EAAEA,MAAM26B,kBAAkB,CAACxC,YAAY,CAACnB,2BAA2B;oBAC7Et+B,cAAA,CAAAC,aAAA,CAACyiC,sCAAe;MAAC7+B,KAAK,EAAE;QAAEmP,MAAM,EAAE,SAAS;QAAEzI,IAAI,EAAE;;KAAc,CAC9D;GAGV,CACU,CACV,CAAC,EAEL,CAAC+rB,cAAc,iBACdt2B,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAE2R,SAAS,EAAE,MAAM;MAAEmtB,UAAU,EAAE,MAAM;MAAEzL,SAAS,EAAE;;kBAC9Dl3B,cAAA,CAAAC,aAAA,CAAC2iC,+BAAQ;IACPt1B,EAAE,EAAC,kBAAkB;IACrB6C,IAAI,EAAC,kBAAkB;IACvB7P,KAAK,eAAEN,cAAA,CAAAC,aAAA;MAAM4D,KAAK,EAAE;QAAEgP,QAAQ,EAAE,MAAM;QAAEtP,KAAK,EAAE;;OAAczE,CAAC,CAAC,wBAAwB,CAAQ,CAAE;IACjG+K,QAAQ,EAAE02B,iBAAkB;IAC5BsC,OAAO,EAAE9I;GACV,CACE,CACN,EAOA,CAACzD,cAAc,iBACdt2B,cAAA,CAAAC,aAAA,CAACkxB,gCAAS,qBACRnxB,cAAA,CAAAC,aAAA,CAACkM,gCAAS;IACR7L,KAAK,EAAExB,CAAC,CAAC,gCAAgC,CAAE;IAC3CiL,QAAQ,EAAEA,MAAMwwB,cAAc,CAAEzwB,IAAI,IAAK,CAACA,IAAI,CAAE;IAChDqd,QAAQ,EAAE,CAAC4S;GACZ,CAAC,EACDO,WAAW,iBACVt6B,cAAA,CAAAC,aAAA,CAAC6iC,2BAAI;IACH//B,OAAO,EAAEA,OAAQ;IACjB8K,SAAS,EAAE,QAAS;IACpB/O,CAAC,EAAEA,CAAE;IACLu0B,QAAQ,EAAE+O,gBAAiB;IAC3Bv+B,KAAK,EAAE;MACLN,KAAK,EAAE,SAAS;MAChBsP,QAAQ,EAAE;;GAEb,CAEM,CAET,CAAC,EAGNqnB,WAAW,iBACVl6B,cAAA,CAAAC,aAAA;IACE4D,KAAK,EAAE;MACLk/B,QAAQ,EAAE,OAAO;MACjB9wB,GAAG,EAAE,CAAC;MACNE,IAAI,EAAE,CAAC;MACPnO,KAAK,EAAE,MAAM;MACbC,MAAM,EAAE,MAAM;MACdtB,eAAe,EAAE,iBAAiB;MAClCQ,OAAO,EAAE,MAAM;MACf8tB,cAAc,EAAE,QAAQ;MACxBwF,UAAU,EAAE,QAAQ;MACpBuM,MAAM,EAAE;;kBAGVhjC,cAAA,CAAAC,aAAA;IACE4D,KAAK,EAAE;MACLk/B,QAAQ,EAAE,UAAU;MACpBpgC,eAAe,EAAE,MAAM;MACvBsG,OAAO,EAAE,MAAM;MACfkK,YAAY,EAAE,MAAM;MACpBovB,QAAQ,EAAE,OAAO;MACjBv+B,KAAK,EAAE,MAAM;MACbi/B,SAAS,EAAE,MAAM;MACjB1M,QAAQ,EAAE,MAAM;MAChBnjB,SAAS,EAAE;;kBAGbpT,cAAA,CAAAC,aAAA;IACEqH,OAAO,EAAEA,MAAM6yB,cAAc,CAAC,KAAK,CAAE;IACrCt2B,KAAK,EAAE;MACLk/B,QAAQ,EAAE,UAAU;MACpB9wB,GAAG,EAAE,MAAM;MACXC,KAAK,EAAE,MAAM;MACbc,MAAM,EAAE,SAAS;MACjBtF,UAAU,EAAE,MAAM;MAClBmF,QAAQ,EAAE,MAAM;MAChBtP,KAAK,EAAE,MAAM;MACbO,UAAU,EAAE,MAAM;MAClBE,KAAK,EAAE,MAAM;MACbC,MAAM,EAAE,MAAM;MACdd,OAAO,EAAE,MAAM;MACf8tB,cAAc,EAAE,QAAQ;MACxBwF,UAAU,EAAE,QAAQ;MACpBtjB,YAAY,EAAE;;KAEjB,MAEI,CAAC,eACNnT,cAAA,CAAAC,aAAA;IACEijC,GAAG,EAAE9I,UAAW;IAChB+I,GAAG,EAAC,kBAAkB;IACtBt/B,KAAK,EAAE;MAAE0+B,QAAQ,EAAE,MAAM;MAAEt+B,MAAM,EAAE,MAAM;MAAEd,OAAO,EAAE;KAAU;IAC9DmxB,OAAO,EAAGtqB,CAAC,IAAK;MACdA,CAAC,CAACoB,MAAM,CAACvH,KAAK,CAACV,OAAO,GAAG,MAAM;MAC/B6G,CAAC,CAACoB,MAAM,CAACg4B,WAAW,CAACv/B,KAAK,CAACV,OAAO,GAAG,OAAO;;GAE/C,CAAC,eACFnD,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEV,OAAO,EAAE,MAAM;MAAE8F,OAAO,EAAE,MAAM;MAAE0D,SAAS,EAAE;;kBACzD3M,cAAA,CAAAC,aAAA,YAAInB,CAAC,CAAC,qCAAqC,CAAK,CAAC,eACjDkB,cAAA,CAAAC,aAAA,CAACu1B,iCAAU;IAACl1B,KAAK,EAAExB,CAAC,CAAC,sBAAsB,CAAE;IAACwI,OAAO,EAAEA,MAAMiV,MAAM,CAAC8mB,IAAI,CAACjJ,UAAU,EAAE,QAAQ;GAAI,CAC9F,CACF,CACF,CACN,EACApG,SAAS,iBACRh0B,cAAA,CAAAC,aAAA,CAAC0xB,4BAAK;IACJ3U,KAAK,EAAEwd,SAAS,CAACxd,KAAM;IACvB1c,KAAK,EAAEk6B,SAAS,CAACl6B,KAAM;IACvBkN,OAAO,EAAEA,MAAMymB,YAAY,CAAC,KAAK;GAClC,CAEK,CAAC;AAEf,CAAC;;AChsBD,MAAMqP,yBAAyB,GAAG,UAACxkC,CAAC,EAAEykC,QAAQ,EAAOC,UAAU,EAAEC,aAAa,EAAEC,UAAU,EAAK;EAAA,IAAAC,SAAA,EAAAC,qBAAA,EAAAC,UAAA,EAAAC,UAAA,EAAAC,qBAAA,EAAAC,UAAA,EAAAC,qBAAA,EAAAC,UAAA;EAAA,IAAzDX,QAAQ;IAARA,QAAQ,GAAG,EAAE;;EACjD,MAAMY,YAAY,GAAG,EAAAR,SAAA,GAAAJ,QAAQ,cAAAI,SAAA,wBAAAC,qBAAA,GAARD,SAAA,CAAUQ,YAAY,cAAAP,qBAAA,uBAAtBA,qBAAA,CAAwBzzB,IAAI,OAAA0zB,UAAA,GAAIN,QAAQ,cAAAM,UAAA,uBAARA,UAAA,CAAUM,YAAY;EAC3E,MAAMC,YAAY,GAAG,EAAAN,UAAA,GAAAP,QAAQ,cAAAO,UAAA,wBAAAC,qBAAA,GAARD,UAAA,CAAUM,YAAY,cAAAL,qBAAA,uBAAtBA,qBAAA,CAAwB5zB,IAAI,OAAA6zB,UAAA,GAAIT,QAAQ,cAAAS,UAAA,uBAARA,UAAA,CAAUI,YAAY;EAC3E,MAAMC,mBAAmB,IAAAJ,qBAAA,IAAAC,UAAA,GAAGX,QAAQ,cAAAW,UAAA,uBAARA,UAAA,CAAUG,mBAAmB,YAAAJ,qBAAA,GAAI,IAAI;EAEjE,MAAM5N,MAAM,GAAG,CACb;IACE/1B,KAAK,EAAExB,CAAC,CAAC,eAAe,CAAC;IACzBwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,cAAc;IACnB2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,cAAc;MACpBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;QACPC,MAAM,EAAE,CAAC;UAAEuC,IAAI,EAAE;SAAc,EAAE;UAAEA,IAAI,EAAE;SAAQ,EAAE;UAAEA,IAAI,EAAE;SAAuB,CAAE;QACpFtC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;QACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;OACf;;GAGN,EACD;IACEvJ,KAAK,EAAExB,CAAC,CAAC,eAAe,CAAC;IACzBwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,cAAc;IACnB2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,cAAc;MACpBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;QACPC,MAAM,EAAE,CAAC;UAAEuC,IAAI,EAAE;SAAQ,EAAE;UAAEA,IAAI,EAAE;SAAY,CAAE;QACjDtC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;QACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;OACf;;GAGN,EACD;IACEvJ,KAAK,EAAExB,CAAC,CAAC,eAAe,CAAC;IACzBwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,cAAc;IACnB2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,cAAc;MACpBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;QACPC,MAAM,EAAE,CAAC;UAAEuC,IAAI,EAAE;SAAQ,EAAE;UAAEA,IAAI,EAAE;SAAY,CAAE;QACjDtC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;QACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;OACf;;GAGN,EACD;IACEvJ,KAAK,EAAExB,CAAC,CAAC,YAAY,CAAC;IACtBwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE,WAAW;MACjBs0B,UAAU,EAAE;QAAEC,QAAQ,EAAE;;;GAE3B,EACD;IACEpkC,KAAK,EAAExB,CAAC,CAAC,aAAa,CAAC;IACvBwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE;;GAET,EACD;IACE7P,KAAK,EAAExB,CAAC,CAAC,WAAW,CAAC;IACrBwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE;;GAET,EACD;IACE7P,KAAK,EAAExB,CAAC,CAAC,QAAQ,CAAC;IAClBwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,QAAQ;IACb2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,QAAQ;MACdq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;QACPC,MAAM,EAAE,CAAC;UAAEuC,IAAI,EAAE;SAAQ,EAAE;UAAEA,IAAI,EAAE;SAAU,EAAE;UAAEA,IAAI,EAAE;SAAU,EAAE;UAAEA,IAAI,EAAE;SAAqB,CAAE;QAClGtC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;QACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;OACf;;GAGN,EACD;IACEvJ,KAAK,EAAExB,CAAC,CAAC,oBAAoB,CAAC;IAC9BwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE;;GAET,EACD;IACE7P,KAAK,EAAExB,CAAC,CAAC,QAAQ,CAAC;IAClBwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE,QAAQ;MACds0B,UAAU,EAAE;QACVC,QAAQ,EAAE,IAAI;QACdva,OAAO,EAAE;OACV;MACDnN,KAAK,EAAEle,CAAC,CAAC,uBAAuB;;GAEnC,EACD;IACEwB,KAAK,EAAExB,CAAC,CAAC,UAAU,CAAC;IACpBwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE;;GAET,EACD;IACE7P,KAAK,EAAExB,CAAC,CAAC,OAAO,CAAC;IACjBwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE,OAAO;MACbs0B,UAAU,EAAE;QACVta,OAAO,EAAE;OACV;MACDnN,KAAK,EAAEle,CAAC,CAAC,uBAAuB;;GAEnC,EACD;IACEwB,KAAK,EAAExB,CAAC,CAAC,kBAAkB,CAAC;IAC5BwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE,WAAW;MACjBs0B,UAAU,EAAE;QACVC,QAAQ,EAAE,IAAI;QACd5rB,GAAG,EAAE;;;GAGV,EACD;IACExY,KAAK,EAAExB,CAAC,CAAC,kBAAkB,CAAC;IAC5BwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,cAAc;IACnB2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,cAAc;MACpBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;QACPC,MAAM,EAAE,CAAC;UAAEuC,IAAI,EAAE;SAAgB,EAAE;UAAEA,IAAI,EAAE;SAAmB,EAAE;UAAEA,IAAI,EAAE;SAAY,EAAE;UAAEA,IAAI,EAAE;SAAY,CAAE;QAC5GtC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;QACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;OACf;;GAGN,EACD;IACEvJ,KAAK,EAAExB,CAAC,CAAC,mBAAmB,CAAC;IAC7BwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,QAAQ;IACb2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,QAAQ;MACdq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0kC,iCAAU;QACTC,QAAQ,EAAG56B,CAAC,IAAKw5B,UAAU,CAACx5B,CAAC,EAAElF,KAAK,CAAC+E,QAAQ,CAAE;QAC/Cg7B,QAAQ,EAAEA,MAAM;UACd//B,KAAK,CAAC+E,QAAQ,CAAC,IAAI,CAAC;UACpB45B,aAAa,CAAC,IAAI,CAAC;SACnB;QACFna,OAAO,EAAExkB,KAAK,CAACtB,KAAK,GAAG1E,CAAC,CAAC,UAAU,CAAC,GAAGA,CAAC,CAAC,kBAAkB;OAC5D;;GAGN,EACD;IACEwB,KAAK,EAAExB,CAAC,CAAC,iBAAiB,CAAC;IAC3BwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE;;GAET,EACD;IACE7P,KAAK,EAAExB,CAAC,CAAC,uBAAuB,CAAC;IACjCwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,qBAAqB;IAC1B2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,qBAAqB;MAC3Bq0B,SAAS,EAAG1/B,KAAK;QAAA,IAAAggC,YAAA;QAAA,oBACf9kC,cAAA,CAAAC,aAAA,CAAC2iC,+BAAQ;UACPtiC,KAAK,EAAExB,CAAC,CAAC,oCAAoC,CAAE;UAC/C+jC,OAAO,GAAAiC,YAAA,GAAEhgC,KAAK,CAACtB,KAAK,YAAAshC,YAAA,GAAI,IAAK;UAC7Bj7B,QAAQ,EAAGG,CAAC,IAAKlF,KAAK,CAAC+E,QAAQ,CAACG,CAAC,CAACoB,MAAM,CAACy3B,OAAO;SACjD,CAAC;;;GAGP,CACF;EAGD,IAAI,CAACwB,mBAAmB,EAAE;IACxBhO,MAAM,CAAC5vB,IAAI,CACT;MACEnG,KAAK,EAAExB,CAAC,CAAC,gBAAgB,CAAC;MAC1BwlC,WAAW,EAAE,KAAK;MAClB9hC,IAAI,EAAE,MAAM;MACZ+hC,UAAU,EAAE;QACVp0B,IAAI,EAAE;;KAET,EACD;MACE7P,KAAK,EAAExB,CAAC,CAAC,oBAAoB,CAAC;MAC9BwlC,WAAW,EAAE,KAAK;MAClB9hC,IAAI,EAAE,MAAM;MACZ+hC,UAAU,EAAE;QACVp0B,IAAI,EAAE;;KAGZ,CAAC;;EAIH,IAAIi0B,YAAY,KAAK,UAAU,EAAE;IAC/B/N,MAAM,CAAC5vB,IAAI,CAAC;MACVnG,KAAK,EAAExB,CAAC,CAAC,gBAAgB,CAAC;MAC1BwlC,WAAW,EAAE,KAAK;MAClB9hC,IAAI,EAAE,QAAQ;MACdoB,GAAG,EAAE,eAAe;MACpB2gC,UAAU,EAAE;QACVp0B,IAAI,EAAE,eAAe;QACrBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0kC,iCAAU;UACTC,QAAQ,EAAG56B,CAAC,IAAKw5B,UAAU,CAACx5B,CAAC,EAAElF,KAAK,CAAC+E,QAAQ,CAAE;UAC/Cg7B,QAAQ,EAAEA,MAAM;YACd//B,KAAK,CAAC+E,QAAQ,CAAC,IAAI,CAAC;YACpB45B,aAAa,CAAC,IAAI,CAAC;WACnB;UACFna,OAAO,EAAExkB,KAAK,CAACtB,KAAK,GAAG1E,CAAC,CAAC,UAAU,CAAC,GAAGA,CAAC,CAAC,kBAAkB;SAC5D;;KAGN,CAAC;IAEF,IAAI,CAAC4kC,UAAU,EAAE;MACfrN,MAAM,CAAC5vB,IAAI,CACT;QACEnG,KAAK,EAAExB,CAAC,CAAC,cAAc,CAAC;QACxBwlC,WAAW,EAAE,IAAI;QACjB9hC,IAAI,EAAE,MAAM;QACZ+hC,UAAU,EAAE;UACVp0B,IAAI,EAAE,aAAa;UACnBs0B,UAAU,EAAE;YACVC,QAAQ,EAAE,IAAI;YACdva,OAAO,EAAE;;;OAGd,EACD;QACE7pB,KAAK,EAAExB,CAAC,CAAC,qBAAqB,CAAC;QAC/BwlC,WAAW,EAAE,KAAK;QAClB9hC,IAAI,EAAE,MAAM;QACZ+hC,UAAU,EAAE;UACVp0B,IAAI,EAAE;;OAGZ,CAAC;;;EAKL,IAAIg0B,YAAY,KAAK,MAAM,EAAE;IAC3B9N,MAAM,CAAC5vB,IAAI,CACT;MACEnG,KAAK,EAAExB,CAAC,CAAC,aAAa,CAAC;MACvBwlC,WAAW,EAAE,KAAK;MAClB9hC,IAAI,EAAE,MAAM;MACZ+hC,UAAU,EAAE;QACVp0B,IAAI,EAAE;;KAET,EACD;MACE7P,KAAK,EAAExB,CAAC,CAAC,YAAY,CAAC;MACtBwlC,WAAW,EAAE,KAAK;MAClB9hC,IAAI,EAAE,MAAM;MACZ+hC,UAAU,EAAE;QACVp0B,IAAI,EAAE;;KAET,EACD;MACE7P,KAAK,EAAExB,CAAC,CAAC,aAAa,CAAC;MACvBwlC,WAAW,EAAE,KAAK;MAClB9hC,IAAI,EAAE,MAAM;MACZ+hC,UAAU,EAAE;QACVp0B,IAAI,EAAE;;KAGZ,CAAC;;EAIH,IAAIg0B,YAAY,KAAK,qBAAqB,EAAE;IAC1C9N,MAAM,CAAC5vB,IAAI,CACT;MACEnG,KAAK,EAAExB,CAAC,CAAC,aAAa,CAAC;MACvBwlC,WAAW,EAAE,KAAK;MAClB9hC,IAAI,EAAE,MAAM;MACZ+hC,UAAU,EAAE;QACVp0B,IAAI,EAAE;;KAET,EACD;MACE7P,KAAK,EAAExB,CAAC,CAAC,gBAAgB,CAAC;MAC1BwlC,WAAW,EAAE,KAAK;MAClB9hC,IAAI,EAAE,MAAM;MACZ+hC,UAAU,EAAE;QACVp0B,IAAI,EAAE;;KAGZ,CAAC;;EAIHkmB,MAAM,CAAC5vB,IAAI,CAAC;IACVnG,KAAK,EAAExB,CAAC,CAAC,SAAS,CAAC;IACnBwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,SAAS;IACd2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,SAAS;MACfs0B,UAAU,EAAE;QAAEC,QAAQ,EAAE;OAAM;MAC9BF,SAAS,EAAG1/B,KAAK;QAAA,IAAAigC,aAAA;QAAA,oBACf/kC,cAAA,CAAAC,aAAA,CAAC2iC,+BAAQ;UACPtiC,KAAK,EAAExB,CAAC,CAAC,gDAAgD,CAAE;UAC3D+jC,OAAO,GAAAkC,aAAA,GAAEjgC,KAAK,CAACtB,KAAK,YAAAuhC,aAAA,GAAI,KAAM;UAC9Bl7B,QAAQ,EAAGG,CAAC,IAAKlF,KAAK,CAAC+E,QAAQ,CAACG,CAAC,CAACoB,MAAM,CAACy3B,OAAO;SACjD,CAAC;;;GAGP,CAAC;EAEF,OAAO,CACL;IACEmC,IAAI,EAAElmC,CAAC,CAAC,0BAA0B,CAAC;IACnC0a,IAAI,EAAE6c;GACP,CACF;AACH,CAAC;;ACtWD,MAAM4O,mBAAmB,GAAGnkC,IAAA,IAAoC;EAAA,IAAjCokC,MAAM,GAAApkC,IAAA,CAANokC,MAAM;IAAE7R,QAAQ,GAAAvyB,IAAA,CAARuyB,QAAQ;IAAEkQ,QAAQ,GAAAziC,IAAA,CAARyiC,QAAQ;EACvD,MAAA3kC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAMkS,QAAQ,GAAG2E,0BAAW,EAAE;EAC9B,MAAMigB,SAAS,GAAG5kB,QAAQ,CAAC2c,KAAK,IAAI,EAAE;EAEtC,MAAM5uB,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACtD,MAAM8rB,WAAW,GAAG,IAAIma,eAAe,CAACn0B,QAAQ,CAACo0B,MAAM,CAAC;EACxD,MAAMC,MAAM,GAAGra,WAAW,CAACzQ,GAAG,CAAC,KAAK,CAAC;EACrC,MAAM+qB,SAAS,GACbD,MAAM,KACNzP,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAElvB,OAAO,MAClBkvB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEpvB,GAAG,MACd+8B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE78B,OAAO,MACjB68B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE/8B,GAAG,KACbktB,cAAc,CAACC,OAAO,CAAC,eAAe,CAAC,IACvC,EAAE;EAEJ,MAAAx0B,qBAAA,GAAwCH,KAAK,CAACI,KAAK,CAACC,IAAI,CAACksB,mBAAmB,CAC1E;MAAExsB,QAAQ;MAAEod,OAAO,EAAE;QAAE3V,GAAG,EAAE8+B,SAAS;QAAE1J,SAAS,EAAE;;KAAgB,EAClE;MAAEn8B,OAAO,EAAE,CAAC,CAAC6lC,SAAS;MAAEC,SAAS,EAAE;KACrC,CAAC;IAHO3lC,SAAS,GAAAT,qBAAA,CAATS,SAAS;IAAQ6rB,UAAU,GAAAtsB,qBAAA,CAAhBQ,IAAI;EAKvB,MAAM87B,cAAc,GAAGz8B,KAAK,CAACI,KAAK,CAACC,IAAI,CAACq8B,aAAa,CAAC38B,QAAQ,CAAC;EAE/D,MAAMymC,SAAS,GAAG,CAAAjC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEkC,mBAAmB,KAAI,EAAE;EAGrD,MAAAz/B,SAAA,GAAoCC,cAAQ,CAACu/B,SAAS,CAAC9B,UAAU,IAAI,IAAI,CAAC;IAAnEA,UAAU,GAAA19B,SAAA;IAAEy9B,aAAa,GAAAz9B,SAAA;EAChC,MAAA8P,UAAA,GAA0C7P,cAAQ,CAACu/B,SAAS,CAACE,aAAa,IAAI,IAAI,CAAC;IAA5EA,aAAa,GAAA5vB,UAAA;IAAE6vB,gBAAgB,GAAA7vB,UAAA;EACtC,MAAA6M,UAAA,GAA0B1c,cAAQ,CAAC,IAAI,CAAC;IAAjCwpB,KAAK,GAAA9M,UAAA;IAAE+M,QAAQ,GAAA/M,UAAA;EACtB,MAAA6C,UAAA,GAAwCvf,cAAQ,CAAC,KAAK,CAAC;IAAhD2/B,YAAY,GAAApgB,UAAA;IAAEqgB,eAAe,GAAArgB,UAAA;EACpC,MAAAG,UAAA,GAAkC1f,cAAQ,CAAC,KAAK,CAAC;IAA1C6/B,SAAS,GAAAngB,UAAA;IAAEogB,YAAY,GAAApgB,UAAA;EAE9B,MAAAG,UAAA,GAA0C7f,cAAQ,CAAC;MAAA,IAAA+/B,qBAAA;MAAA,OAAO;QACxDx/B,GAAG,EAAEg/B,SAAS,CAACh/B,GAAG,IAAI8+B,SAAS,IAAI,EAAE;QACrCnB,YAAY,EAAEqB,SAAS,CAACrB,YAAY,GAAG;UAAEh0B,IAAI,EAAEq1B,SAAS,CAACrB;SAAc,GAAG,IAAI;QAC9EC,YAAY,EAAEoB,SAAS,CAACpB,YAAY,GAAG;UAAEj0B,IAAI,EAAEq1B,SAAS,CAACpB;SAAc,GAAG,IAAI;QAC9E6B,YAAY,EAAET,SAAS,CAACS,YAAY,GAAG;UAAE91B,IAAI,EAAEq1B,SAAS,CAACS;SAAc,GAAG,IAAI;QAC9E1oB,SAAS,EAAEioB,SAAS,CAACjoB,SAAS,IAAI,EAAE;QACpC+F,UAAU,EAAEkiB,SAAS,CAACliB,UAAU,IAAI,EAAE;QACtC7F,QAAQ,EAAE+nB,SAAS,CAAC/nB,QAAQ,IAAI,EAAE;QAClC8F,MAAM,EAAEiiB,SAAS,CAACjiB,MAAM,GAAG;UAAEpT,IAAI,EAAEq1B,SAAS,CAACjiB;SAAQ,GAAG,IAAI;QAC5D2iB,gBAAgB,EAAEV,SAAS,CAACU,gBAAgB,IAAI,EAAE;QAClDC,MAAM,EAAEX,SAAS,CAACW,MAAM,IAAI,EAAE;QAC9BC,QAAQ,EAAEZ,SAAS,CAACY,QAAQ,IAAI,EAAE;QAClCnrB,KAAK,EAAEuqB,SAAS,CAACvqB,KAAK,IAAI,EAAE;QAC5BorB,SAAS,EAAEb,SAAS,CAACa,SAAS,IAAI,EAAE;QACpCC,YAAY,EAAEd,SAAS,CAACc,YAAY,GAAG;UAAEn2B,IAAI,EAAEq1B,SAAS,CAACc;SAAc,GAAG,IAAI;QAC9EC,cAAc,EAAEf,SAAS,CAACe,cAAc,IAAI,EAAE;QAC9ClC,mBAAmB,GAAA2B,qBAAA,GAAER,SAAS,CAACnB,mBAAmB,YAAA2B,qBAAA,GAAI,IAAI;QAC1DQ,aAAa,EAAEhB,SAAS,CAACgB,aAAa,IAAI,EAAE;QAC5CC,iBAAiB,EAAEjB,SAAS,CAACiB,iBAAiB,IAAI,EAAE;QACpD/C,UAAU,EAAE8B,SAAS,CAAC9B,UAAU,IAAI,IAAI;QACxCgC,aAAa,EAAEF,SAAS,CAACE,aAAa,IAAI,IAAI;QAC9CgB,MAAM,EAAElB,SAAS,CAACkB,MAAM,IAAI,IAAI;QAChCtmB,WAAW,EAAEolB,SAAS,CAACplB,WAAW,IAAI,EAAE;QACxCumB,kBAAkB,EAAEnB,SAAS,CAACmB,kBAAkB,IAAI,EAAE;QACtDC,WAAW,EAAEpB,SAAS,CAACoB,WAAW,IAAI,EAAE;QACxCC,UAAU,EAAErB,SAAS,CAACqB,UAAU,IAAI,EAAE;QACtC3sB,UAAU,EAAEsrB,SAAS,CAACtrB,UAAU,IAAI,EAAE;QACtC4sB,UAAU,EAAEtB,SAAS,CAACsB,UAAU,IAAI,EAAE;QACtCC,aAAa,EAAEvB,SAAS,CAACuB,aAAa,IAAI,EAAE;QAC5CC,OAAO,EAAExB,SAAS,CAACwB,OAAO,IAAI;OAC/B;KAAC,CAAC;IA9BIC,aAAa,GAAAnhB,UAAA;IAAEohB,gBAAgB,GAAAphB,UAAA;EAgCtC,MAAAG,UAAA,GAA0ChgB,cAAQ,CAACghC,aAAa,CAAC;IAA1DE,aAAa,GAAAlhB,UAAA;IAAEmhB,gBAAgB,GAAAnhB,UAAA;EAEtC,MAAMohB,sBAAsB,GAAI5b,UAAU,IAAK;IAC7C,IAAI,CAACA,UAAU,EAAE,OAAO,IAAI;IAC5B,MAAMqK,aAAa,GACjB,CAAArK,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEsK,qBAAqB,MAAItK,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEuK,iBAAiB,KAAIvK,UAAU;IAClF,MAAMwK,eAAe,GAAG,CAACztB,KAAK,CAACC,OAAO,CAACqtB,aAAa,CAAC,GAAGA,aAAa,CAAC,CAAC,CAAC,GAAGA,aAAa,KAAK,EAAE;IAC/F,OAAO,CAAAG,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEC,OAAO,KAAID,eAAe;GACnD;EAED/zB,eAAS,CAAC,MAAM;IACd,MAAMolC,OAAO,GAAGD,sBAAsB,CAAC5b,UAAU,CAAC;IAClD,MAAMoK,OAAO,GAAGyR,OAAO,KAAI/D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEzX,iBAAiB;IACtD,MAAM3P,OAAO,GAAG,CAAA0Z,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE/J,iBAAiB,KAAI+J,OAAO,IAAI,EAAE;IAC3D,MAAM0R,WAAW,GAAG,CAAA1R,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEkF,cAAc,KAAI,EAAE;IAEjD,IAAI5e,OAAO,IAAIkI,MAAM,CAACC,IAAI,CAACnI,OAAO,CAAC,CAAC/P,MAAM,GAAG,CAAC,IAAI,CAACw5B,YAAY,EAAE;MAAA,IAAA4B,sBAAA;MAC/D,IAAIC,KAAK,GAAG,EAAE;MACd,IAAIC,KAAK,GAAG,EAAE;MACd,IAAIC,KAAK,GAAG,EAAE;MAEd,IAAIxrB,OAAO,CAACoB,SAAS,EAAE;QACrBkqB,KAAK,GAAGtrB,OAAO,CAACoB,SAAS;QACzBmqB,KAAK,GAAGvrB,OAAO,CAACmH,UAAU,IAAI,EAAE;QAChCqkB,KAAK,GAAGxrB,OAAO,CAACsB,QAAQ,IAAI,EAAE;OAC/B,MAAM,IAAItB,OAAO,CAACuQ,YAAY,EAAE;QAC/B,MAAMkb,KAAK,GAAGzrB,OAAO,CAACuQ,YAAY,CAACmb,IAAI,EAAE,CAACr7B,KAAK,CAAC,KAAK,CAAC;QACtDi7B,KAAK,GAAGG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACtB,IAAIA,KAAK,CAACx7B,MAAM,KAAK,CAAC,EAAEu7B,KAAK,GAAGC,KAAK,CAAC,CAAC,CAAC;QACxC,IAAIA,KAAK,CAACx7B,MAAM,GAAG,CAAC,EAAE;UACpBs7B,KAAK,GAAGE,KAAK,CAACrvB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACH,IAAI,CAAC,GAAG,CAAC;UACpCuvB,KAAK,GAAGC,KAAK,CAACA,KAAK,CAACx7B,MAAM,GAAG,CAAC,CAAC;;;MAInC,MAAM07B,eAAe,GAAG;QACtBthC,GAAG,EAAEg/B,SAAS,CAACh/B,GAAG,IAAI8+B,SAAS,IAAI,EAAE;QACrCnB,YAAY,EAAEqB,SAAS,CAACrB,YAAY,GAChC;UAAEh0B,IAAI,EAAEq1B,SAAS,CAACrB;SAAc,GAChChoB,OAAO,CAACgoB,YAAY,GAClB;UAAEh0B,IAAI,EAAEgM,OAAO,CAACgoB;SAAc,GAC9B,IAAI;QACVC,YAAY,EAAEoB,SAAS,CAACpB,YAAY,GAChC;UAAEj0B,IAAI,EAAEq1B,SAAS,CAACpB;SAAc,GAChCjoB,OAAO,CAACioB,YAAY,GAClB;UAAEj0B,IAAI,EAAEgM,OAAO,CAACioB;SAAc,GAC9B,IAAI;QACV6B,YAAY,EAAET,SAAS,CAACS,YAAY,GAAG;UAAE91B,IAAI,EAAEq1B,SAAS,CAACS;SAAc,GAAG,IAAI;QAC9E1oB,SAAS,EAAEioB,SAAS,CAACjoB,SAAS,IAAIkqB,KAAK;QACvCnkB,UAAU,EAAEkiB,SAAS,CAACliB,UAAU,IAAIokB,KAAK;QACzCjqB,QAAQ,EAAE+nB,SAAS,CAAC/nB,QAAQ,IAAIkqB,KAAK;QACrCpkB,MAAM,EAAEiiB,SAAS,CAACjiB,MAAM,GACpB;UAAEpT,IAAI,EAAEq1B,SAAS,CAACjiB;SAAQ,GAC1BpH,OAAO,CAACoH,MAAM,GACZ;UAAEpT,IAAI,EAAEgM,OAAO,CAACoH;SAAQ,GACxB,IAAI;QACV2iB,gBAAgB,EAAEV,SAAS,CAACU,gBAAgB,IAAI/pB,OAAO,CAAC4rB,YAAY,IAAI,EAAE;QAC1E5B,MAAM,EAAEX,SAAS,CAACW,MAAM,IAAIhqB,OAAO,CAACjB,WAAW,IAAIqsB,WAAW,CAAC/pB,QAAQ,IAAI,EAAE;QAC7E4oB,QAAQ,EAAEZ,SAAS,CAACY,QAAQ,IAAImB,WAAW,CAAC5J,UAAU,IAAI,EAAE;QAC5D1iB,KAAK,EAAEuqB,SAAS,CAACvqB,KAAK,IAAIkB,OAAO,CAAClB,KAAK,IAAIssB,WAAW,CAACtsB,KAAK,IAAI,EAAE;QAClEorB,SAAS,EAAEb,SAAS,CAACa,SAAS,KAAKkB,WAAW,CAAC3J,UAAU,GAAGjyB,MAAM,CAAC47B,WAAW,CAAC3J,UAAU,CAAC,GAAG,EAAE,CAAC;QAChG0I,YAAY,EAAEd,SAAS,CAACc,YAAY,GAAG;UAAEn2B,IAAI,EAAEq1B,SAAS,CAACc;SAAc,GAAG,IAAI;QAC9EC,cAAc,EAAEf,SAAS,CAACe,cAAc,IAAI,EAAE;QAC9ClC,mBAAmB,GAAAmD,sBAAA,GAAEhC,SAAS,CAACnB,mBAAmB,YAAAmD,sBAAA,GAAI,IAAI;QAC1DhB,aAAa,EAAEhB,SAAS,CAACgB,aAAa,IAAIrqB,OAAO,CAACqqB,aAAa,IAAI,EAAE;QACrEC,iBAAiB,EAAEjB,SAAS,CAACiB,iBAAiB,IAAItqB,OAAO,CAACsqB,iBAAiB,IAAI,EAAE;QACjF/C,UAAU,EAAE8B,SAAS,CAAC9B,UAAU,IAAIvnB,OAAO,CAACoqB,cAAc,IAAI,IAAI;QAClEb,aAAa,EAAEF,SAAS,CAACE,aAAa,IAAI,IAAI;QAC9CgB,MAAM,EAAElB,SAAS,CAACkB,MAAM,IAAI,IAAI;QAChCtmB,WAAW,EAAEolB,SAAS,CAACplB,WAAW,IAAI,EAAE;QACxCumB,kBAAkB,EAAEnB,SAAS,CAACmB,kBAAkB,IAAI,EAAE;QACtDC,WAAW,EAAEpB,SAAS,CAACoB,WAAW,IAAI,EAAE;QACxCC,UAAU,EAAErB,SAAS,CAACqB,UAAU,IAAI,EAAE;QACtC3sB,UAAU,EAAEsrB,SAAS,CAACtrB,UAAU,IAAI,EAAE;QACtC4sB,UAAU,EAAEtB,SAAS,CAACsB,UAAU,IAAI,EAAE;QACtCC,aAAa,EAAEvB,SAAS,CAACuB,aAAa,IAAI,EAAE;QAC5CC,OAAO,EAAExB,SAAS,CAACwB,OAAO,IAAI;OAC/B;MAEDE,gBAAgB,CAACY,eAAe,CAAC;MACjCV,gBAAgB,CAACU,eAAe,CAAC;MACjC,IAAIA,eAAe,CAACpE,UAAU,EAAE;QAC9BD,aAAa,CAACqE,eAAe,CAACpE,UAAU,CAAC;;MAE3C,IAAIoE,eAAe,CAACpC,aAAa,EAAE;QACjCC,gBAAgB,CAACmC,eAAe,CAACpC,aAAa,CAAC;;MAEjDG,eAAe,CAAC,IAAI,CAAC;;GAExB,EAAE,CAACpa,UAAU,EAAE8X,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEzX,iBAAiB,EAAE8Z,YAAY,CAAC,CAAC;EAG3D,MAAMoC,iBAAiB,aAAUh+B,CAAC,EAAEH,QAAQ;IAAA,IAAK;MAC/C,MAAMo+B,IAAI,GAAGj+B,CAAC,CAACoB,MAAM,CAAC88B,KAAK,CAAC,CAAC,CAAC;MAC9B,IAAI,CAACD,IAAI,EAAE,OAAAhrB,OAAA,CAAAC,OAAA;MAEX,IAAI+qB,IAAI,CAACE,IAAI,GAAG,OAAO,EAAE;QACvBzY,QAAQ,CAAC;UAAEltB,IAAI,EAAE,OAAO;UAAE8mB,OAAO,EAAExqB,CAAC,CAAC,uBAAuB;SAAG,CAAC;QAChE,OAAAme,OAAA,CAAAC,OAAA;;MACD,MAAAqkB,KAAA,GAAAhoB,MAAA,aAEG;QAAA,OAAA0D,OAAA,CAAAC,OAAA,CACgBle,KAAK,CAACopC,cAAc,CAACC,WAAW,CAAC,MAAM,EAAEJ,IAAI,EAAElpC,QAAQ,CAAC,EAAA4a,IAAA,WAApE2uB,GAAG;UAAA,IAAAC,SAAA,EAAAC,eAAA,EAAAC,gBAAA;UACT,MAAMvG,WAAW,GAAGoG,GAAG,aAAHA,GAAG,wBAAAC,SAAA,GAAHD,GAAG,CAAE3oC,IAAI,cAAA4oC,SAAA,wBAAAC,eAAA,GAATD,SAAA,CAAWL,KAAK,cAAAM,eAAA,wBAAAC,gBAAA,GAAhBD,eAAA,CAAmB,CAAC,CAAC,cAAAC,gBAAA,uBAArBA,gBAAA,CAAuBvG,WAAW;UAAC,IACnDA,WAAW;YACbr4B,QAAQ,CAACo+B,IAAI,CAAC93B,IAAI,CAAC;YACnBw1B,gBAAgB,CAACsC,IAAI,CAAC93B,IAAI,CAAC;YAC3BszB,aAAa,CAACvB,WAAW,CAAC;YAC1BxS,QAAQ,CAAC;cAAEltB,IAAI,EAAE,SAAS;cAAE8mB,OAAO,EAAExqB,CAAC,CAAC,mBAAmB;aAAG,CAAC;;;OAEjE,cAAO;QACN4wB,QAAQ,CAAC;UAAEltB,IAAI,EAAE,OAAO;UAAE8mB,OAAO,EAAExqB,CAAC,CAAC,eAAe;SAAG,CAAC;OACzD;MAAA,OAAAme,OAAA,CAAAC,OAAA,CAAAqkB,KAAA,IAAAA,KAAA,CAAA5nB,IAAA,GAAA4nB,KAAA,CAAA5nB,IAAA;KACF,QAAA3P,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EAED,MAAM0+B,iBAAiB,GAAGA,CAACC,QAAQ,EAAEhpC,IAAI,KAAK;IAAA,IAAAipC,kBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,qBAAA;IAE5C,MAAMC,mBAAmB,GACvB,CAAC,CAAArpC,IAAI,aAAJA,IAAI,wBAAAipC,kBAAA,GAAJjpC,IAAI,CAAEwkC,YAAY,cAAAyE,kBAAA,uBAAlBA,kBAAA,CAAoBz4B,IAAI,MAAIxQ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEwkC,YAAY,QAC9C,CAAAgD,aAAa,aAAbA,aAAa,wBAAA0B,qBAAA,GAAb1B,aAAa,CAAEhD,YAAY,cAAA0E,qBAAA,uBAA3BA,qBAAA,CAA6B14B,IAAI,MAAIg3B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEhD,YAAY,EAAC;IACpE,MAAM8E,mBAAmB,GACvB,CAAC,CAAAtpC,IAAI,aAAJA,IAAI,wBAAAmpC,kBAAA,GAAJnpC,IAAI,CAAEykC,YAAY,cAAA0E,kBAAA,uBAAlBA,kBAAA,CAAoB34B,IAAI,MAAIxQ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEykC,YAAY,QAC9C,CAAA+C,aAAa,aAAbA,aAAa,wBAAA4B,qBAAA,GAAb5B,aAAa,CAAE/C,YAAY,cAAA2E,qBAAA,uBAA3BA,qBAAA,CAA6B54B,IAAI,MAAIg3B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE/C,YAAY,EAAC;IACpE,MAAM8E,0BAA0B,GAAG,CAAAvpC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE0kC,mBAAmB,OAAK8C,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE9C,mBAAmB;IAEnG,IAAI2E,mBAAmB,IAAIC,mBAAmB,IAAIC,0BAA0B,EAAE;MAC5E9B,gBAAgB,CAAEt9B,IAAI,IAAAJ,QAAA,KACjBI,IAAI,EACJnK,IAAI,CACP,CAAC;;IAIL,MAAMwpC,MAAM,GAAG,CAAAxpC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE6G,GAAG,KAAI8+B,SAAS;IACrC,MAAM8D,eAAe,GAAGzpC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEwkC,YAAY;IAC1C,MAAMkF,eAAe,GAAG1pC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEykC,YAAY;IAC1C,MAAMkF,eAAe,GAAG3pC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEsmC,YAAY;IAC1C,MAAMsD,YAAY,GAAG5pC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE4d,SAAS;IACpC,MAAMisB,SAAS,GAAG7pC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEwmC,MAAM;IAC9B,MAAMsD,YAAY,GAAG9pC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE0mC,SAAS;IACpC,MAAMqD,UAAU,GAAG/pC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEqnC,OAAO;IAChC,MAAM2C,KAAK,GAAG,CAAAhqC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE+jC,UAAU,KAAIA,UAAU;IAC5C,MAAMkG,cAAc,GAAGjqC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEygB,WAAW;IAExC,IAAIypB,KAAK,GAAG,IAAI;IAChB,IAAI,CAACV,MAAM,EAAEU,KAAK,GAAG,KAAK;IAC1B,IAAI,CAACT,eAAe,EAAES,KAAK,GAAG,KAAK;IACnC,IAAI,CAACR,eAAe,EAAEQ,KAAK,GAAG,KAAK;IACnC,IAAI,CAACP,eAAe,EAAEO,KAAK,GAAG,KAAK;IACnC,IAAI,CAACN,YAAY,EAAEM,KAAK,GAAG,KAAK;IAChC,IAAI,CAACL,SAAS,IAAI,CAAC,cAAc,CAACM,IAAI,CAACN,SAAS,CAAC,EAAEK,KAAK,GAAG,KAAK;IAChE,IAAI,CAACJ,YAAY,IAAIhpB,MAAM,CAACgpB,YAAY,CAAC,IAAI,CAAC,EAAEI,KAAK,GAAG,KAAK;IAC7D,IAAI,CAAAR,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEl5B,IAAI,MAAK,UAAU,IAAI,CAACw5B,KAAK,IAAI,CAACC,cAAc,EAAEC,KAAK,GAAG,KAAK;IACpF,IAAI,CAACH,UAAU,EAAEG,KAAK,GAAG,KAAK;IAE9B,IAAIA,KAAK,KAAK/D,SAAS,EAAE;MACvBC,YAAY,CAAC8D,KAAK,CAAC;;GAEtB;EAED,MAAM9/B,QAAQ,aAAUpK,IAAI;IAAA,IAAK;MAAA,IAAAoqC,mBAAA,EAAAC,mBAAA,EAAAC,kBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,qBAAA;MAC/B,MAAMC,UAAU,GAAG;QACjB7jC,GAAG,EAAE7G,IAAI,CAAC6G,GAAG,IAAI8+B,SAAS;QAC1BnB,YAAY,EAAE,EAAA4F,mBAAA,GAAApqC,IAAI,CAACwkC,YAAY,cAAA4F,mBAAA,uBAAjBA,mBAAA,CAAmB55B,IAAI,KAAIxQ,IAAI,CAACwkC,YAAY;QAC1DC,YAAY,EAAE,EAAA4F,mBAAA,GAAArqC,IAAI,CAACykC,YAAY,cAAA4F,mBAAA,uBAAjBA,mBAAA,CAAmB75B,IAAI,KAAIxQ,IAAI,CAACykC,YAAY;QAC1D6B,YAAY,EAAE,EAAAgE,kBAAA,GAAAtqC,IAAI,CAACsmC,YAAY,cAAAgE,kBAAA,uBAAjBA,kBAAA,CAAmB95B,IAAI,KAAIxQ,IAAI,CAACsmC,YAAY;QAC1DvZ,YAAY,EAAE/sB,IAAI,CAAC+sB,YAAY,IAAI,EAAG/sB,IAAI,CAAC4d,SAAS,IAAI,EAAE,WAAI5d,IAAI,CAAC2jB,UAAU,IAAI,EAAE,WAAI3jB,IAAI,CAAC8d,QAAQ,IAAI,EAAE,GAAGoqB,IAAI,EAAE;QACnHtqB,SAAS,EAAE5d,IAAI,CAAC4d,SAAS;QACzB+F,UAAU,EAAE3jB,IAAI,CAAC2jB,UAAU;QAC3B7F,QAAQ,EAAE9d,IAAI,CAAC8d,QAAQ;QACvB8F,MAAM,EAAE,EAAA2mB,YAAA,GAAAvqC,IAAI,CAAC4jB,MAAM,cAAA2mB,YAAA,uBAAXA,YAAA,CAAa/5B,IAAI,KAAIxQ,IAAI,CAAC4jB,MAAM;QACxC2iB,gBAAgB,EAAEvmC,IAAI,CAACumC,gBAAgB;QACvCoE,QAAQ,EAAE3qC,IAAI,CAAC2qC,QAAQ,IAAI9E,SAAS,CAAC8E,QAAQ,IAAI,EAAE;QACnDnE,MAAM,EAAExmC,IAAI,CAACwmC,MAAM;QACnBC,QAAQ,EAAEzmC,IAAI,CAACymC,QAAQ;QACvBnrB,KAAK,EAAEtb,IAAI,CAACsb,KAAK;QACjBorB,SAAS,EAAE1mC,IAAI,CAAC0mC,SAAS;QACzB3C,UAAU,EAAEA,UAAU;QACtBgC,aAAa,EAAEA,aAAa;QAC5BtlB,WAAW,EAAEzgB,IAAI,CAACygB,WAAW;QAC7BumB,kBAAkB,EAAEhnC,IAAI,CAACgnC,kBAAkB;QAC3CC,WAAW,EAAEjnC,IAAI,CAACinC,WAAW;QAC7BC,UAAU,EAAElnC,IAAI,CAACknC,UAAU;QAC3B3sB,UAAU,EAAEva,IAAI,CAACua,UAAU;QAC3BqwB,QAAQ,EAAE5qC,IAAI,CAAC4qC,QAAQ,IAAI/E,SAAS,CAAC+E,QAAQ,IAAI,EAAE;QACnDC,cAAc,EAAE7qC,IAAI,CAAC6qC,cAAc,IAAIhF,SAAS,CAACgF,cAAc,IAAI,EAAE;QACrEzD,aAAa,EAAEpnC,IAAI,CAAConC,aAAa;QACjCD,UAAU,EAAEnnC,IAAI,CAACmnC,UAAU;QAC3B2D,OAAO,EAAE,EAAAN,kBAAA,GAAAxqC,IAAI,CAAC2mC,YAAY,cAAA6D,kBAAA,uBAAjBA,kBAAA,CAAmBh6B,IAAI,KAAIxQ,IAAI,CAAC2mC,YAAY;QACrDoE,QAAQ,EAAE/qC,IAAI,CAAC4mC,cAAc;QAC7BS,OAAO,EAAErnC,IAAI,CAACqnC,OAAO;QACrB3C,mBAAmB,GAAA+F,qBAAA,GAAEzqC,IAAI,CAAC0kC,mBAAmB,YAAA+F,qBAAA,GAAI,IAAI;QACrD5D,aAAa,EAAE7mC,IAAI,CAAC6mC,aAAa;QACjCC,iBAAiB,EAAE9mC,IAAI,CAAC8mC;OACzB;MAAC,MAAA5E,MAAA,GAAAtoB,MAAA,aAEE;QAAA,OAAA0D,OAAA,CAAAC,OAAA,CACIue,cAAc,CAAC+F,WAAW,CAAA93B,QAAA;UAC9Bk3B,WAAW,EAAE,EAAE;UACf+J,UAAU,EAAE;WACTN,UAAU,CACd,CAAC,EAAA1wB,IAAA;UACF+V,QAAQ,CAAC;YAAEltB,IAAI,EAAE,SAAS;YAAE8mB,OAAO,EAAExqB,CAAC,CAAC,4BAA4B;WAAG,CAAC;UACvEu0B,QAAQ,CAAC6R,MAAM,CAACthC,GAAG,EAAEymC,UAAU,CAAC;;OACjC,cAAe;QACd3a,QAAQ,CAAC;UAAEltB,IAAI,EAAE,OAAO;UAAE8mB,OAAO,EAAExqB,CAAC,CAAC,mCAAmC;SAAG,CAAC;OAC7E;MAAA,OAAAme,OAAA,CAAAC,OAAA,CAAA2kB,MAAA,IAAAA,MAAA,CAAAloB,IAAA,GAAAkoB,MAAA,CAAAloB,IAAA;KACF,QAAA3P,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EAED,IAAIpK,SAAS,EAAE;IACb,oBAAOI,cAAA,CAAAC,aAAA,CAACwE,6BAAM,MAAE,CAAC;;EAGnB,MAAMmmC,MAAM,GAAGtH,yBAAyB,CAACxkC,CAAC,EAAEqoC,aAAa,EAAEa,iBAAiB,EAAEvE,aAAa,EAAEC,UAAU,CAAC;EAExG,oBACE1jC,cAAA,CAAAC,aAAA,CAAC+mB,cAAQ,qBACPhnB,cAAA,CAAAC,aAAA,CAAC4qC,mCAAY;IACXjnC,GAAG,EAAEgiC,YAAY,GAAG,QAAQ,GAAG,SAAU;IACzCkF,UAAU,EAAE,CAAChF,SAAU;IACvBxlC,KAAK,EAAExB,CAAC,CAAC,oBAAoB,CAAE;IAC/BomC,MAAM,EAAE0F,MAAM,CAAClnC,GAAG,CAAEC,IAAI,IAAA+F,QAAA,KACnB/F,IAAI;MACPonC,aAAa,EAAE,IAAI;MACnBC,aAAa,EAAE;MACf,CAAE;IACJjhC,QAAQ,EAAEA,QAAS;IACnBk9B,aAAa,EAAEA,aAAc;IAC7ByB,iBAAiB,EAAEA,iBAAkB;IACrCuC,MAAM,EAAE,KAAM;IACdC,YAAY,EAAE;GACf,CAAC,EACDzb,KAAK,iBACJzvB,cAAA,CAAAC,aAAA,CAAC0xB,4BAAK;IACJ3U,KAAK,EAAEyS,KAAK,CAACjtB,IAAI,KAAK,OAAQ;IAC9BlC,KAAK,EAAEmvB,KAAK,CAACnG,OAAQ;IACrB9b,OAAO,EAAEA,MAAMkiB,QAAQ,CAAC,IAAI;GAC7B,CAEK,CAAC;AAEf,CAAC;;ACtTM,MAAMyb,UAAU,GAAG,CACxB;EACE3xB,IAAI,EAAE,CACJ;IACE4xB,KAAK,EAAE,kBAAkB;IACzB5G,SAAS,EAAES,mBAAmB;IAC9BrhC,GAAG,EAAE,qBAAqB;IAC1BynC,KAAK,EAAE;MACLC,MAAM,EAAE,0BAA0B;MAClCC,cAAc,EAAE;KACjB;IACDC,QAAQ,EAAE,CACR;MACEC,WAAW,EAAE,CAAC;MACdC,OAAO,EAAE;KACV;GAEJ,EACD;IACEN,KAAK,EAAE,iBAAiB;IACxB5G,SAAS,EAAE,gBAAgB;IAC3B5gC,GAAG,EAAE,gBAAgB;IACrB+nC,SAAS,EAAE,IAAI;IACfC,qBAAqB,EAAE,KAAK;IAC5BP,KAAK,EAAE;MACLC,MAAM,EAAE,sBAAsB;MAC9BC,cAAc,EAAE;KACjB;IACDC,QAAQ,EAAE,CACR;MACEC,WAAW,EAAE,CAAC;MACdC,OAAO,EAAE;KACV;GAEJ,EACD;IACEN,KAAK,EAAE,eAAe;IACtB5G,SAAS,EAAE,cAAc;IACzB5gC,GAAG,EAAE,iBAAiB;IACtBynC,KAAK,EAAE;MACLC,MAAM,EAAE,oBAAoB;MAC5BC,cAAc,EAAE;KACjB;IACDC,QAAQ,EAAE,CACR;MACEC,WAAW,EAAE,CAAC;MACdC,OAAO,EAAE;KACV;GAEJ,EACD;IACEN,KAAK,EAAE,eAAe;IACtB5G,SAAS,EAAE,cAAc;IACzB5gC,GAAG,EAAE,cAAc;IACnBynC,KAAK,EAAE;MACLC,MAAM,EAAE,oBAAoB;MAC5BC,cAAc,EAAE;KACjB;IACDC,QAAQ,EAAE,CACR;MACEC,WAAW,EAAE,CAAC;MACdC,OAAO,EAAE;KACV;GAEJ;AAEL,CAAC,CACF;;;ACrED,AAOA,MAAMG,QAAQ,GAAG/qC,IAAA,IAA0B;EAAA,IAAjBgrC,UAAU,GAAAhrC,IAAA,CAAhBmxB,IAAI;EAEtB,MAAM8Z,KAAK,GAAG/Z,4BAAa,EAAE;EAC7B,MAAApzB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAMkS,QAAQ,GAAG2E,0BAAW,EAAE;EAC9B,MAAQO,QAAQ,GAAKlF,QAAQ,CAArBkF,QAAQ;EAChB,MAAMvQ,OAAO,GAAGC,yBAAU,EAAE;EAE5B,IAAIs/B,MAAM,GAAG,EAAE;EACf,MAAAhR,qBAAA,GAA4Bl1B,KAAK,CAACI,KAAK,CAAC+0B,iBAAiB,CAAC,aAAa,EAAE,EAAE,CAAC;IAArEY,MAAM,GAAAb,qBAAA;IAAE8X,SAAS,GAAA9X,qBAAA;EAExBhyB,eAAS,CAAC,MAAM;IACd,IAAI8O,QAAQ,CAAC2c,KAAK,IAAItJ,MAAM,CAACC,IAAI,CAACtT,QAAQ,CAAC2c,KAAK,CAAC,CAACvhB,MAAM,GAAG,CAAC,EAAE;MAC5D,MAAA6/B,eAAA,GAA2Bj7B,QAAQ,CAAC2c,KAAK;QAAjCgN,KAAK,GAAAsR,eAAA,CAALtR,KAAK;QAAKuR,IAAI,GAAAnnC,6BAAA,CAAAknC,eAAA,EAAAjnC,WAAA;MACtBgnC,SAAS,CAAAtiC,QAAA,KAAMqrB,MAAM,EAAKmX,IAAI,EAAKvR,KAAK,CAAE,CAAC;;GAE9C,EAAE,CAAC3pB,QAAQ,CAAC2c,KAAK,CAAC,CAAC;EAEpB,MAAMwe,MAAM,GAAGA,CAACC,QAAQ,EAAE1/B,KAAK,EAAE2/B,aAAa,EAAEzoC,GAAG,KAAK;IACtD,IAAI0oC,WAAW,GAAGp2B,QAAQ,CAAC1J,KAAK,CAAC,GAAG,CAAC,CAAC+/B,GAAG,EAAE;IAC3C,IAAIC,QAAQ,GAAGtH,MAAM,CAACxqB,IAAI,CAAE8xB,QAAQ,IAAM5oC,GAAG,GAAG4oC,QAAQ,CAAC5oC,GAAG,KAAKA,GAAG,GAAG4oC,QAAQ,CAACpB,KAAK,KAAKkB,WAAY,CAAC;IACvG,IAAI,CAACE,QAAQ,EAAEA,QAAQ,GAAGtH,MAAM,CAACxqB,IAAI,CAAE8xB,QAAQ,IAAKA,QAAQ,CAACpB,KAAK,KAAKkB,WAAW,CAAC;IAEnF,IAAIG,QAAQ,GAAG,IAAI;IACnB,MAAMC,YAAY,GAAGxH,MAAM,CAACyH,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACxB,KAAK,KAAKoB,QAAQ,CAACpB,KAAK,CAAC;IACxE,IAAIsB,YAAY,GAAG,CAAC,CAAC,IAAIA,YAAY,GAAGxH,MAAM,CAAC94B,MAAM,GAAG,CAAC,EAAE;MACzDqgC,QAAQ,GAAGvH,MAAM,CAACwH,YAAY,GAAG,CAAC,CAAC,CAACtB,KAAK;;IAG3C,IAAIyB,mBAAmB,GAAGlnC,OAAO,CAACc,IAAI;IACtC,IAAI2lC,QAAQ,EAAE;MACZS,mBAAmB,GAAGlnC,OAAO,CAACwQ,OAAO;;IAGvC,MAAM22B,IAAI,GAAGhB,UAAU,IAAIC,KAAK,CAAC9Z,IAAI,CAACzlB,KAAK,CAAC,GAAG,CAAC,CAAC+L,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACH,IAAI,CAAC,GAAG,CAAC;IACvE,IAAIq0B,QAAQ,KAAK,IAAI,EAAE;MACrB,OAAOI,mBAAmB,CAAIC,IAAI,cAAApjC,QAAA,KAAgBqrB,MAAM;QAAE4F,KAAK,EAAE5F;QAAQ,CAAC;;IAG5E8X,mBAAmB,CAAIC,IAAI,SAAIL,QAAQ,EAAA/iC,QAAA,KAASqrB,MAAM,CAAE,CAAC;GAC1D;EAED,SAASgY,YAAYA,CAACnpC,GAAG,EAAEjE,IAAI,EAAEysC,QAAQ,EAAE1/B,KAAK,EAAE2/B,aAAa,EAAUW,MAAM,EAAU;IAAA,IAAvCX,aAAa;MAAbA,aAAa,GAAG,KAAK;;IAAA,IAAEW,MAAM;MAANA,MAAM,GAAG,KAAK;;IACrFhB,SAAS,CAAEliC,IAAI,IAAAJ,QAAA,KAAWI,IAAI;MAAE,CAAClG,GAAG,GAAA8F,QAAA,KAAQqrB,MAAM,CAACnxB,GAAG,CAAC,EAAKjE,IAAI;MAAK,CAAC;IACtE,IAAI,CAACqtC,MAAM,EAAE;MACXb,MAAM,CAACC,QAAQ,EAAE1/B,KAAK,EAAE2/B,aAAa,EAAEzoC,GAAG,CAAC;;;EAS/CunC,UAAU,CAAC5mB,OAAO,CAAE0oB,GAAG,IAAK;IAC1B/H,MAAM,GAAGA,MAAM,CAACgI,MAAM,CAACD,GAAG,CAACzzB,IAAI,CAAC;GACjC,CAAC;EAEF0rB,MAAM,CAACiI,UAAU,GAAG,kBAAkB;EAEtC,MAAMC,cAAc,GAAGlI,MAAM,CAACxhC,GAAG,CAAEkpC,CAAC,IAAKA,CAAC,CAACxB,KAAK,CAAC;EACjD,MAAMiC,UAAU,GAAGD,cAAc,CAACz2B,IAAI,CAAEy0B,KAAK,IAAKl1B,QAAQ,CAACQ,QAAQ,CAAC00B,KAAK,CAAC,CAAC;EAE3E,MAAMkC,WAAW,GAAGrsC,YAAM,CAAC,EAAE,CAAC;EAE9BiB,eAAS,CAAC,MAAM;IACd,IAAImrC,UAAU,EAAE;MACd,MAAME,YAAY,GAAGr3B,QAAQ,CAAC1J,KAAK,CAAC,GAAG,CAAC,CAAC+/B,GAAG,EAAE;MAC9C,IAAIe,WAAW,CAACnrC,OAAO,CAACorC,YAAY,CAAC,EAAE;QACrCD,WAAW,CAACnrC,OAAO,CAACorC,YAAY,CAAC,CAACC,cAAc,CAAC;UAAEC,QAAQ,EAAE,QAAQ;UAAEC,KAAK,EAAE;SAAS,CAAC;;;GAG7F,EAAE,CAACx3B,QAAQ,EAAEm3B,UAAU,CAAC,CAAC;EAE1B,oBACErtC,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACgnB,QAAQ,qBACbhnB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,CAAC0tC,uCAAgB;IAACzI,MAAM,EAAEA,MAAO;IAAC0I,aAAa,EAAE;GAAO,CAAC,eACzD5tC,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,CAAC4tC,qBAAM,qBACL7tC,cAAA,CAAAC,aAAA,CAAC6tC,oBAAK;IAAC7b,IAAI,EAAEmb,cAAc,CAAC1pC,GAAG,CAAE0nC,KAAK,KAAQU,UAAU,IAAIC,KAAK,CAAC9Z,IAAI,CAACzlB,KAAK,CAAC,GAAG,CAAC,CAAC+L,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACH,IAAI,CAAC,GAAG,CAAC,UAAIgzB,KAAO;kBACjHprC,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZyhC,MAAM,CAACxhC,GAAG,CAAC,CAAC8oC,QAAQ,EAAE9/B,KAAK,KAAK;IAC/B,MAAQ83B,SAAS,GAAKgI,QAAQ,CAAtBhI,SAAS;IACjB,MAAMuJ,SAAS,GAAG,OAAOvJ,SAAS,KAAK,QAAQ,GAAGxlC,KAAK,CAAC8G,wBAAwB,CAACC,YAAY,CAACy+B,SAAS,CAAC,GAAGA,SAAS;IAEpH,oBACExkC,cAAA,CAAAC,aAAA;MAAK2D,GAAG,EAAE8I,KAAM;MAAC3I,GAAG,EAAGiqC,EAAE,IAAMV,WAAW,CAACnrC,OAAO,CAACqqC,QAAQ,CAACpB,KAAK,CAAC,GAAG4C,EAAI;MAACvqC,SAAS,EAAC;oBAClFzD,cAAA,CAAAC,aAAA,CAAC8tC,SAAS;MACR7I,MAAM,EAAAx7B,QAAA,KAAO8iC,QAAQ;QAAEzB,aAAa,EAAE,IAAI;QAAEkD,WAAW,EAAE;QAAO;MAChE5a,QAAQ,EAAE0Z,YAAa;MACvBjuC,CAAC,EAAEA,CAAE;MACLykC,QAAQ,EAAExO;KAEX,CACE,CAAC;GAET,CACE,CACA,CAAC,eACR/0B,cAAA,CAAAC,aAAA,CAAC6tC,oBAAK,qBACJ9tC,cAAA,CAAAC,aAAA,CAACiuC,uBAAQ;IAAChiC,EAAE,GAAK4/B,UAAU,IAAIC,KAAK,CAAC9Z,IAAI,CAACzlB,KAAK,CAAC,GAAG,CAAC,CAAC+L,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACH,IAAI,CAAC,GAAG,CAAC,UAAI8sB,MAAM,CAACiI;GAAe,CAChG,CACD,CACL,CACF,CACS,CAAC;AAErB,CAAC;;AChHD,MAAMgB,eAAe,GAAGrtC,IAAA,IAAgD;EAAA,IAA7CstC,QAAQ,GAAAttC,IAAA,CAARstC,QAAQ;IAAEC,UAAU,GAAAvtC,IAAA,CAAVutC,UAAU;IAAEC,gBAAgB,GAAAxtC,IAAA,CAAhBwtC,gBAAgB;EAC/D,MAAA1vC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAAkH,SAAA,GAAwCC,cAAQ,CAAC,EAAE,CAAC;IAA7CsoC,YAAY,GAAAvoC,SAAA;IAAEwoC,eAAe,GAAAxoC,SAAA;EACpC,MAAA8P,UAAA,GAA8C7P,cAAQ,CAAC,KAAK,CAAC;IAAtDwoC,eAAe,GAAA34B,UAAA;IAAE44B,kBAAkB,GAAA54B,UAAA;EAC1C,MAAA6M,UAAA,GAAsC1c,cAAQ,CAAC,CAAC,CAAC;IAA1Cb,WAAW,GAAAud,UAAA;IAAEH,cAAc,GAAAG,UAAA;EAClC,MAAA6C,UAAA,GAAgCvf,cAAQ,CAAC,EAAE,CAAC;IAArCwc,QAAQ,GAAA+C,UAAA;IAAE9C,WAAW,GAAA8C,UAAA;EAC5B,MAAAG,UAAA,GAAkC1f,cAAQ,CAAC,KAAK,CAAC;IAA1C+tB,SAAS,GAAArO,UAAA;IAAEsO,YAAY,GAAAtO,UAAA;EAC9B,MAAAG,UAAA,GAAkC7f,cAAQ,CAAC;MACzC+W,KAAK,EAAE,KAAK;MACZ1c,KAAK,EAAE;KACR,CAAC;IAHKk6B,SAAS,GAAA1U,UAAA;IAAE2U,YAAY,GAAA3U,UAAA;EAI9B,MAAAG,UAAA,GAA8BhgB,cAAQ,CAAC;MACrCO,GAAG,EAAE,EAAE;MACPqd,OAAO,EAAE,EAAE;MACX8qB,QAAQ,EAAE,EAAE;MACZjxB,QAAQ,EAAE,EAAE;MACZkG,IAAI,EAAE,EAAE;MACRD,QAAQ,EAAE,EAAE;MACZG,KAAK,EAAE,EAAE;MACT9b,UAAU,EAAE;KACb,CAAC;IATKoO,OAAO,GAAA6P,UAAA;IAAE2oB,UAAU,GAAA3oB,UAAA;EAW1B,MAAAuJ,UAAA,GAAgDvpB,cAAQ,CAACmQ,OAAO,CAAC;IAA1Dy4B,gBAAgB,GAAArf,UAAA;IAAEsf,mBAAmB,GAAAtf,UAAA;EAE5C,MAAAuf,qBAAA,GAA4D/vC,KAAK,CAACI,KAAK,CAAC4vC,EAAE,CAACC,eAAe,CAACC,WAAW,CAAC,QAAQ,CAAC;IAAlGC,gBAAgB,GAAAJ,qBAAA,CAAtBpvC,IAAI;IAA+ByvC,YAAY,GAAAL,qBAAA,CAAvBnvC,SAAS;EACzC,MAAMyvC,iBAAiB,GAAGhrC,aAAO,CAAC,MAAM;IACtC,OAAO,CAAC8qC,gBAAgB,IAAI,EAAE,EAAEzrC,GAAG,CAAEC,IAAI,KAAM;MAC7CiX,IAAI,EAAEjX,IAAI,CAACiX,IAAI;MACfzK,IAAI,EAAExM,IAAI,CAACwM;KACZ,CAAC,CAAC;GACJ,EAAE,CAACg/B,gBAAgB,CAAC,CAAC;EAEtB,MAAAG,qBAAA,GAAmCtwC,KAAK,CAACI,KAAK,CAACmwC,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAA7FC,gBAAgB,GAAAF,qBAAA,CAAtB3vC,IAAI;EAEZ,MAAM8vC,YAAY,GAAGprC,aAAO,CAAC,MAAM;IAAA,IAAAqrC,qBAAA;IACjC,MAAMC,cAAc,GAAG,CAAAH,gBAAgB,aAAhBA,gBAAgB,wBAAAE,qBAAA,GAAhBF,gBAAgB,CAAG,eAAe,CAAC,cAAAE,qBAAA,uBAAnCA,qBAAA,CAAqCE,cAAc,KAAI,EAAE;IAChF,MAAMC,WAAW,GAAGF,cAAc,CAACj1B,IAAI,CAAE/W,IAAI;MAAA,IAAAmsC,mBAAA;MAAA,OAAK,CAAAnsC,IAAI,aAAJA,IAAI,wBAAAmsC,mBAAA,GAAJnsC,IAAI,CAAEosC,aAAa,cAAAD,mBAAA,uBAAnBA,mBAAA,CAAqBl1B,IAAI,MAAK,SAAS;MAAC;IAC1F,MAAMo1B,QAAQ,GAAG,CAAAH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEG,QAAQ,KAAI,EAAE;IAC5C,OAAOxnC,KAAK,CAACC,OAAO,CAACunC,QAAQ,CAAC,GAAGA,QAAQ,GAAG,CAACA,QAAQ,CAAC;GACvD,EAAE,CAACR,gBAAgB,CAAC,CAAC;EAEtB,MAAAS,QAAA,GAAyC5rC,aAAO,CAAC,MAAM;MACrD,MAAM6rC,UAAU,GAAG,IAAIC,GAAG,EAAE;MAC5B,MAAMC,KAAK,GAAG,IAAID,GAAG,EAAE;MAEvB,MAAME,UAAU,GAAG7nC,KAAK,CAACC,OAAO,CAACgnC,YAAY,CAAC,GAAGA,YAAY,GAAGA,YAAY,GAAG,CAACA,YAAY,CAAC,GAAG,EAAE;MAElG,MAAMa,QAAQ,GAAIC,IAAI,IAAK;QACzB,IAAI,CAACA,IAAI,EAAE;QACX,IAAIA,IAAI,CAACjwC,KAAK,KAAK,MAAM,IAAIiwC,IAAI,CAACjwC,KAAK,KAAK,MAAM,IAAIiwC,IAAI,CAACjwC,KAAK,KAAK,OAAO,IAAIiwC,IAAI,CAACjwC,KAAK,KAAK,OAAO,EAAE;UACtG,MAAMsa,IAAI,GAAG21B,IAAI,CAAC31B,IAAI,IAAI21B,IAAI,CAACC,SAAS,IAAID,IAAI,CAACpgC,IAAI;UACrD,MAAMA,IAAI,GAAGogC,IAAI,CAACpgC,IAAI,IAAIogC,IAAI,CAACC,SAAS,IAAI51B,IAAI;UAChD,IAAIA,IAAI,EAAEw1B,KAAK,CAACviB,GAAG,CAACjT,IAAI,EAAE;YAAEA,IAAI;YAAEzK,IAAI,EAAEA;WAAM,CAAC;;QAEjD,IAAIogC,IAAI,CAACjwC,KAAK,KAAK,uBAAuB,IAAIiwC,IAAI,CAACjwC,KAAK,KAAK,uBAAuB,EAAE;UACpF,MAAMsa,IAAI,GAAG21B,IAAI,CAAC31B,IAAI,IAAI21B,IAAI,CAACC,SAAS,IAAID,IAAI,CAACpgC,IAAI;UACrD,MAAMA,IAAI,GAAGogC,IAAI,CAACpgC,IAAI,IAAIogC,IAAI,CAACC,SAAS,IAAI51B,IAAI;UAChD,IAAIA,IAAI,EAAEs1B,UAAU,CAACriB,GAAG,CAACjT,IAAI,EAAE;YAAEA,IAAI;YAAEzK,IAAI,EAAEA;WAAM,CAAC;;QAEtD,IAAIogC,IAAI,CAAC9mC,QAAQ,IAAI8mC,IAAI,CAAC9mC,QAAQ,CAAC2C,MAAM,GAAG,CAAC,EAAE;UAC7CmkC,IAAI,CAAC9mC,QAAQ,CAAC8a,OAAO,CAAC+rB,QAAQ,CAAC;;OAElC;MAEDD,UAAU,CAAC9rB,OAAO,CAAC+rB,QAAQ,CAAC;MAE5B,OAAO;QACLG,eAAe,EAAEjoC,KAAK,CAACuY,IAAI,CAACmvB,UAAU,CAAC7zB,MAAM,EAAE,CAAC,CAACrF,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAAC9G,IAAI,CAACugC,aAAa,CAACx5B,CAAC,CAAC/G,IAAI,CAAC,CAAC;QAC7FwgC,WAAW,EAAEnoC,KAAK,CAACuY,IAAI,CAACqvB,KAAK,CAAC/zB,MAAM,EAAE,CAAC,CAACrF,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAAC9G,IAAI,CAACugC,aAAa,CAACx5B,CAAC,CAAC/G,IAAI,CAAC;OACpF;KACF,EAAE,CAACs/B,YAAY,CAAC,CAAC;IA7BVgB,eAAe,GAAAR,QAAA,CAAfQ,eAAe;IAAEE,WAAW,GAAAV,QAAA,CAAXU,WAAW;EA+BpC,MAAMC,sBAAsB,GAAGvsC,aAAO,CAAC,MAAM;IAC3C,IAAIwsC,UAAU,GAAG,EAAE;IACnB,MAAMR,UAAU,GAAG7nC,KAAK,CAACC,OAAO,CAACgnC,YAAY,CAAC,GAAGA,YAAY,GAAGA,YAAY,GAAG,CAACA,YAAY,CAAC,GAAG,EAAE;IAElG,MAAMqB,iBAAiB,GAAIP,IAAI,IAAK;MAClC,IAAI,CAACA,IAAI,EAAE;MAEX,IAAIA,IAAI,CAACjwC,KAAK,KAAK,UAAU,IAAIiwC,IAAI,CAACjwC,KAAK,KAAK,UAAU,EAAE;QAC1DuwC,UAAU,CAACpqC,IAAI,CAAAiD,QAAA,KACV6mC,IAAI;UACPpgC,IAAI,EAAEogC,IAAI,CAACC,SAAS,IAAID,IAAI,CAACpgC,IAAI,IAAIogC,IAAI,CAAC31B;UAC3C,CAAC;;MAEJ,IAAI21B,IAAI,CAAC9mC,QAAQ,IAAI8mC,IAAI,CAAC9mC,QAAQ,CAAC2C,MAAM,GAAG,CAAC,EAAE;QAC7CmkC,IAAI,CAAC9mC,QAAQ,CAAC8a,OAAO,CAAEwsB,KAAK,IAAKD,iBAAiB,CAACC,KAAK,CAAC,CAAC;;KAE7D;IAEDV,UAAU,CAAC9rB,OAAO,CAAEysB,QAAQ,IAAKF,iBAAiB,CAACE,QAAQ,CAAC,CAAC;IAE7D,OAAOH,UAAU;GAClB,EAAE,CAACpB,YAAY,CAAC,CAAC;EAElB,MAAMwB,eAAe,GAAG5sC,aAAO,CAAC,MAAM;IACpC,MAAM6sC,MAAM,GAAG,IAAIC,GAAG,EAAE;IAExBP,sBAAsB,CAACrsB,OAAO,CAAE6sB,GAAG,IAAK;MACtC,IAAIA,GAAG,CAACvtB,OAAO,EAAE;QACf,MAAMwtB,IAAI,GAAG7oC,KAAK,CAACC,OAAO,CAAC2oC,GAAG,CAACvtB,OAAO,CAAC,GAAGutB,GAAG,CAACvtB,OAAO,GAAG,CAACutB,GAAG,CAACvtB,OAAO,CAAC;QACrEwtB,IAAI,CAAC9sB,OAAO,CAAE6C,CAAC,IAAK;UAClB,IAAIA,CAAC,EAAE;YACL,MAAMkqB,YAAY,GAAGlqB,CAAC,CAACmqB,QAAQ,EAAE,CAAC/kC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C0kC,MAAM,CAACM,GAAG,CAACF,YAAY,CAAC;;SAE3B,CAAC;;KAEL,CAAC;IAEF,OAAO9oC,KAAK,CAACuY,IAAI,CAACmwB,MAAM,CAAC,CAACl6B,IAAI,EAAE;GACjC,EAAE,CAAC45B,sBAAsB,CAAC,CAAC;EAE5B1uC,eAAS,CAAC,MAAM;IACd,MAAMuvC,KAAK,GAAG3P,UAAU,CAAC,MAAM;MAC7BgN,mBAAmB,CAAC14B,OAAO,CAAC;KAC7B,EAAE,GAAG,CAAC;IAEP,OAAO,MAAMs7B,YAAY,CAACD,KAAK,CAAC;GACjC,EAAE,CAACr7B,OAAO,CAAC,CAAC;EAEblU,eAAS,CAAC,MAAM;IACdsgB,cAAc,CAAC,CAAC,CAAC;GAClB,EAAE,CAACqsB,gBAAgB,EAAEz4B,OAAO,CAAC5P,GAAG,CAAC,CAAC;EAEnC,MAAArH,qBAAA,GAAyDH,KAAK,CAACI,KAAK,CAACC,IAAI,CAACC,sBAAsB,CAAAoK,QAAA;MAE5FioC,cAAc,EAAE;OAMZv7B,OAAO,CAAC5P,GAAG,IAAI;MACjBA,GAAG,EAAE4P,OAAO,CAAC5P;KACd,EAEGqoC,gBAAgB,CAAC7mC,UAAU,IAAI;MACjCA,UAAU,EAAE6mC,gBAAgB,CAAC7mC;KAC9B,EAEG6mC,gBAAgB,CAACnxB,QAAQ,IAAI;MAC/BA,QAAQ,EAAEmxB,gBAAgB,CAACnxB;KAC5B,EAEGmxB,gBAAgB,CAAClrB,QAAQ,IAAI;MAC/BA,QAAQ,EAAEkrB,gBAAgB,CAAClrB;KAC5B,EAEGkrB,gBAAgB,CAACjrB,IAAI,IAAI;MAC3BA,IAAI,EAAEirB,gBAAgB,CAACjrB;KACxB,EAEGirB,gBAAgB,CAAC/qB,KAAK,IAAI;MAC5BA,KAAK,EAAE+qB,gBAAgB,CAAC/qB;KACzB,EAEG+qB,gBAAgB,CAAChrB,OAAO,IAAI;MAC9BA,OAAO,EAAEgrB,gBAAgB,CAAChrB;KAC3B,GAEH;MACE9kB,QAAQ,EAAE,QAAQ;MAClBQ,MAAM,EAAE6F,WAAW,GAAGqd,QAAQ;MAC9BjjB,KAAK,EAAEijB;KACR,EACD;MACE5D,gBAAgB,EAAE;KAEtB,CAAC;IA5CaoX,eAAe,GAAA92B,qBAAA,CAArBQ,IAAI;IAA+BC,SAAS,GAAAT,qBAAA,CAArByyC,UAAU;EA8CzC,MAAMC,qBAAqB,GAAGA,CAACC,MAAM,EAAEC,SAAS,KAAK;IACnD,MAAMC,iBAAiB,GACrBF,MAAM,CAACr7B,WAAW,EAAE,CAACC,QAAQ,CAAC,kBAAkB,CAAC,IACjDo7B,MAAM,CAACr7B,WAAW,EAAE,CAACC,QAAQ,CAAC,gBAAgB,CAAC,IAC/Co7B,MAAM,CAACr7B,WAAW,EAAE,CAACC,QAAQ,CAAC,mBAAmB,CAAC,IAClDo7B,MAAM,CAACr7B,WAAW,EAAE,CAACC,QAAQ,CAAC,OAAO,CAAC,IACtCo7B,MAAM,CAACr7B,WAAW,EAAE,CAACC,QAAQ,CAAC,QAAQ,CAAC,IACvCo7B,MAAM,CAACr7B,WAAW,EAAE,CAACC,QAAQ,CAAC,KAAK,CAAC,IACpCo7B,MAAM,CAACr7B,WAAW,EAAE,CAACC,QAAQ,CAAC,gBAAgB,CAAC;IAEjD,IAAIs7B,iBAAiB,EAAE;MACrB,MAAMC,WAAW,GAAG,CAAAF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,cAAc,MAAK,OAAO;MAEzD,IAAID,WAAW,EAAE;QACfxX,YAAY,CAAC;UACXzd,KAAK,EAAE,IAAI;UACX1c,KAAK,EAAExB,CAAC,CAAC,oDAAoD,CAAC,IAAI;SACnE,CAAC;OACH,MAAM;QACL27B,YAAY,CAAC;UACXzd,KAAK,EAAE,IAAI;UACX1c,KAAK,EAAExB,CAAC,CAAC,iDAAiD,CAAC,IAAI;SAChE,CAAC;;KAEL,MAAM;MACL27B,YAAY,CAAC;QACXzd,KAAK,EAAE,IAAI;QACX1c,KAAK,EAAExB,CAAC,CAACgzC,MAAM,CAAC,IAAIA,MAAM,IAAIhzC,CAAC,CAAC,2BAA2B,CAAC,IAAI;OACjE,CAAC;;IAEJm1B,YAAY,CAAC,IAAI,CAAC;GACnB;EAED,MAAMke,kBAAkB,GAAGnzC,KAAK,CAACI,KAAK,CAACC,IAAI,CAAC+yC,uBAAuB,CAAC;IAClEC,SAAS,EAAEA,CAACnvB,QAAQ,EAAE6uB,SAAS,KAAK;MAClC,IAAI7uB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAElG,KAAK,EAAE;QAAA,IAAAs1B,cAAA;QACnB,MAAMR,MAAM,GAAG,CAAA5uB,QAAQ,aAARA,QAAQ,wBAAAovB,cAAA,GAARpvB,QAAQ,CAAEvjB,IAAI,cAAA2yC,cAAA,uBAAdA,cAAA,CAAgBhpB,OAAO,KAAI,EAAE;QAC5CuoB,qBAAqB,CAACC,MAAM,EAAEC,SAAS,CAAC;QACxC;;MAIF,IAAI7uB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEqvB,OAAO,IAAIrvB,QAAQ,CAACqvB,OAAO,CAACnmC,MAAM,GAAG,CAAC,EAAE;QAAA,IAAAomC,kBAAA;QACpD,MAAMC,MAAM,GAAG,EAAAD,kBAAA,GAAAtvB,QAAQ,CAACqvB,OAAO,CAAC,CAAC,CAAC,cAAAC,kBAAA,uBAAnBA,kBAAA,CAAqBC,MAAM,KAAI,EAAE;QAChDZ,qBAAqB,CAACY,MAAM,EAAEV,SAAS,CAAC;QACxC;;MAGFtX,YAAY,CAAC;QACXzd,KAAK,EAAE,KAAK;QACZ1c,KAAK,EAAExB,CAAC,CAAC,4BAA4B,CAAC,IAAI;OAC3C,CAAC;MAEFm1B,YAAY,CAAC,IAAI,CAAC;MAGlB6N,UAAU;QAAA,IAAa;UAAA,OAAA7kB,OAAA,CAAAC,OAAA,CACfoxB,gBAAgB,EAAE,EAAA30B,IAAA;YACxB00B,UAAU,EAAE;;SACb,QAAArkC,CAAA;UAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;SAAE,IAAI,CAAC;KACT;IAEDsqB,OAAO,EAAEA,CAACtX,KAAK,EAAE+0B,SAAS,KAAK;MAAA,IAAAW,WAAA,EAAAne,eAAA,EAAAC,oBAAA;MAC7B,MAAMsd,MAAM,GAAG,CAAA90B,KAAK,aAALA,KAAK,wBAAA01B,WAAA,GAAL11B,KAAK,CAAErd,IAAI,cAAA+yC,WAAA,uBAAXA,WAAA,CAAappB,OAAO,MAAItM,KAAK,aAALA,KAAK,wBAAAuX,eAAA,GAALvX,KAAK,CAAEkG,QAAQ,cAAAqR,eAAA,wBAAAC,oBAAA,GAAfD,eAAA,CAAiB50B,IAAI,cAAA60B,oBAAA,uBAArBA,oBAAA,CAAuBlL,OAAO,KAAI,EAAE;MAC3EuoB,qBAAqB,CAACC,MAAM,EAAEC,SAAS,CAAC;;GAE3C,CAAC;EAEF,MAAMzpC,SAAS,GAAG,CAAA2tB,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE9S,YAAY,KAAI,EAAE;EAErD,MAAMwvB,oBAAoB,GAAGA,MAAM;IACjC,IAAIlE,eAAe,EAAE;MACnB,MAAMmE,cAAc,GAAG,CACrB;QAAEhvC,GAAG,EAAE,YAAY;QAAEpB,IAAI,EAAE;OAAc,EACzC;QAAEoB,GAAG,EAAE,UAAU;QAAEpB,IAAI,EAAE;OAAY,EACrC;QAAEoB,GAAG,EAAE,UAAU;QAAEpB,IAAI,EAAE;OAAY,EACrC;QAAEoB,GAAG,EAAE,MAAM;QAAEpB,IAAI,EAAE;OAAQ,EAC7B;QAAEoB,GAAG,EAAE,OAAO;QAAEpB,IAAI,EAAE;OAAS,EAC/B;QAAEoB,GAAG,EAAE,SAAS;QAAEpB,IAAI,EAAE;OAAW,CACpC;MAED,MAAMqwC,aAAa,GAAGD,cAAc,CAACl4B,IAAI,CAAC1T,KAAA;QAAA,IAAGpD,GAAG,GAAAoD,KAAA,CAAHpD,GAAG;QAAA,OAAOirC,gBAAgB,CAACjrC,GAAG,CAAC;QAAC;MAE7E,IAAIivC,aAAa,EAAE;QACjB,OAAO;UACLX,cAAc,EAAEW,aAAa,CAACrwC,IAAI;UAClCswC,eAAe,EAAEjE,gBAAgB,CAACgE,aAAa,CAACjvC,GAAG;SACpD;;;IAIL,OAAO;MACLsuC,cAAc,EAAE,KAAK;MACrBY,eAAe,EAAEvE;KAClB;GACF;EAED,MAAMwE,YAAY,GAAGA,MAAM;IAAA,IAAAC,eAAA;IACzB,MAAAC,qBAAA,GAA4CN,oBAAoB,EAAE;MAA1DT,cAAc,GAAAe,qBAAA,CAAdf,cAAc;MAAEY,eAAe,GAAAG,qBAAA,CAAfH,eAAe;IAEvCX,kBAAkB,CAACe,MAAM,CAAC;MACxBn0C,QAAQ,EAAE,QAAQ;MAClB+wB,UAAU,EAAEse,QAAQ,aAARA,QAAQ,wBAAA4E,eAAA,GAAR5E,QAAQ,CAAEjuB,KAAK,cAAA6yB,eAAA,uBAAfA,eAAA,CAAiBrzB,IAAI;MACjCuyB,cAAc;MACdY;KACD,CAAC;GACH;EAED,MAAMK,eAAe,GAAGA,MAAM;IAC5BzE,kBAAkB,CAAC,IAAI,CAAC;IAExB,MAAM0E,QAAQ,GAAG9qC,SAAS,CAAC5E,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAAC6C,GAAG,CAAC;IAElD,MAAM6sC,WAAW,GAAGD,QAAQ,CAAChnC,MAAM,GAAG,CAAC,IAAIgnC,QAAQ,CAACE,KAAK,CAAE9sC,GAAG,IAAK+nC,YAAY,CAAC73B,QAAQ,CAAClQ,GAAG,CAAC,CAAC;IAE9FgoC,eAAe,CAAE1kC,IAAI,IAAMupC,WAAW,GAAGvpC,IAAI,CAACwM,MAAM,CAAE9P,GAAG,IAAK,CAAC4sC,QAAQ,CAAC18B,QAAQ,CAAClQ,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI2qC,GAAG,CAAC,CAAC,GAAGrnC,IAAI,EAAE,GAAGspC,QAAQ,CAAC,CAAC,CAAE,CAAC;GAChI;EAED,MAAMG,kBAAkB,GAAGA,CAAC3vC,GAAG,EAAEJ,KAAK,KAAK;IACzCorC,UAAU,CAAE9kC,IAAI,IAAAJ,QAAA,KACXI,IAAI;MACP,CAAClG,GAAG,GAAGJ;MACP,CAAC;GACJ;EAED,MAAMoD,OAAO,GAAGvC,aAAO,CACrB,MAAM,CACJ;IACEwC,MAAM,EAAEA,mBACN7G,cAAA,CAAAC,aAAA;MACEuC,IAAI,EAAC,UAAU;MACfqgC,OAAO,EAAEv6B,SAAS,CAAC8D,MAAM,GAAG,CAAC,IAAI9D,SAAS,CAACgrC,KAAK,CAAE3vC,IAAI,IAAK4qC,YAAY,CAAC73B,QAAQ,CAAC/S,IAAI,CAAC6C,GAAG,CAAC,CAAE;MAC5FqD,QAAQ,EAAEspC;KACX,CACF;IACD7lC,EAAE,EAAE,WAAW;IACfvG,IAAI,EAAEQ,KAAA,IAAa;MAAA,IAAVJ,GAAG,GAAAI,KAAA,CAAHJ,GAAG;MACV,MAAMX,GAAG,GAAGW,GAAG,CAACC,QAAQ,CAACZ,GAAG;MAE5B,oBAAOxG,cAAA,CAAAC,aAAA;QAAOuC,IAAI,EAAC,UAAU;QAACqgC,OAAO,EAAE0L,YAAY,CAAC73B,QAAQ,CAAClQ,GAAG,CAAE;QAACqD,QAAQ,EAAEA,MAAMkjC,YAAY,CAACvmC,GAAG;OAAI,CAAC;;GAE3G,EACD;IACEK,MAAM,EAAE,KAAK;IACbC,QAAQ,EAAE;GACX,EACD;IACED,MAAM,EAAE,eAAe;IACvBC,QAAQ,EAAGK,GAAG,IAAK,EAAGA,GAAG,CAACoW,SAAS,IAAI,EAAE,WAAIpW,GAAG,CAACmc,UAAU,IAAI,EAAE,WAAInc,GAAG,CAACsW,QAAQ,IAAI,EAAE,GAAGoqB,IAAI,EAAE;IAChGv6B,EAAE,EAAE;GACL,EACD;IACEzG,MAAM,EAAE,MAAM;IACdC,QAAQ,EAAE;GACX,EACD;IACED,MAAM,EAAE,SAAS;IACjBC,QAAQ,EAAE;GACX,EACD;IACED,MAAM,EAAE,QAAQ;IAChBC,QAAQ,EAAE,QAAQ;IAClBC,IAAI,EAAEW,KAAA;MAAA,IAAGlE,KAAK,GAAAkE,KAAA,CAALlE,KAAK;MAAA,oBACZxD,cAAA,CAAAC,aAAA;QAAMwD,SAAS,qBAAkBD,KAAK,KAAK,QAAQ,GAAG,UAAU,GAAGA,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,UAAU;SAAKA,KAAY,CAAC;;GAEpI,EACD;IACEqD,MAAM,EAAE,aAAa;IACrBC,QAAQ,EAAE,YAAY;IACtBC,IAAI,EAAEc,KAAA;MAAA,IAAGrE,KAAK,GAAAqE,KAAA,CAALrE,KAAK;MAAA,OAAOA,KAAK,IAAI,GAAG;;GAClC,CACF,EAED,CAAC+qC,YAAY,EAAEjmC,SAAS,CAC1B,CAAC;EAED,MAAMykC,YAAY,GAAIvmC,GAAG,IAAK;IAC5BgoC,eAAe,CAAE1kC,IAAI,IAAMA,IAAI,CAAC4M,QAAQ,CAAClQ,GAAG,CAAC,GAAGsD,IAAI,CAACwM,MAAM,CAAE3S,IAAI,IAAKA,IAAI,KAAK6C,GAAG,CAAC,GAAG,CAAC,GAAGsD,IAAI,EAAEtD,GAAG,CAAE,CAAC;GACvG;EAED,oBACExG,cAAA,CAAAC,aAAA,CAACmxB,4BAAK;IACJC,aAAa,uBAAoB+c,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEj+B,IAAI,CAAG;IAClDmhB,YAAY,eAAEtxB,cAAA,CAAAC,aAAA,CAACuzC,4BAAK;MAAClsC,OAAO,EAAE+mC;KAAa,CAAE;IAC7C5c,iBAAiB,EAAC,QAAQ;IAC1BC,oBAAoB,EAAE2c,UAAW;IACjC9c,eAAe,cAAYgd,YAAY,CAACniC,MAAM,UAAQ;IACtDolB,kBAAkB,EAAEuhB,YAAa;IACjCjI,UAAU,EAAE,EAACyD,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEniC,MAAM;kBAEjCpM,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAOwD,SAAS,EAAC,cAAc;IAAC4H,WAAW,EAAC,KAAK;IAAC7H,KAAK,EAAE4S,OAAO,CAAC5P,GAAI;IAACqD,QAAQ,EAAGG,CAAC,IAAKupC,kBAAkB,CAAC,KAAK,EAAEvpC,CAAC,CAACoB,MAAM,CAAC5H,KAAK;GAAI,CAAC,eAEpIxD,cAAA,CAAAC,aAAA;IAAQwD,SAAS,EAAC,cAAc;IAACD,KAAK,EAAE4S,OAAO,CAACyN,OAAQ;IAACha,QAAQ,EAAGG,CAAC,IAAKupC,kBAAkB,CAAC,SAAS,EAAEvpC,CAAC,CAACoB,MAAM,CAAC5H,KAAK;kBACpHxD,cAAA,CAAAC,aAAA;IAAQuD,KAAK,EAAC;KAAG,gBAAsB,CAAC,EACvCytC,eAAe,CAACvtC,GAAG,CAAE+vC,GAAG,iBACvBzzC,cAAA,CAAAC,aAAA;IAAQ2D,GAAG,EAAE6vC,GAAI;IAACjwC,KAAK,EAAEiwC;KACtBA,GACK,CACT,CACK,CAAC,eAETzzC,cAAA,CAAAC,aAAA;IACEwD,SAAS,EAAC,cAAc;IACxBD,KAAK,EAAE4S,OAAO,CAACsH,QAAS;IACxB7T,QAAQ,EAAGG,CAAC,IAAK;MACf,MAAMiS,GAAG,GAAGjS,CAAC,CAACoB,MAAM,CAAC5H,KAAK;MAC1BorC,UAAU,CAAE9kC,IAAI,IAAAJ,QAAA,KACXI,IAAI;QACP6kC,QAAQ,EAAE1yB,GAAG;QACbyB,QAAQ,EAAEzB;QACV,CAAC;KACH;IACFkL,QAAQ,EAAEioB;kBAEVpvC,cAAA,CAAAC,aAAA;IAAQuD,KAAK,EAAC;KAAI4rC,YAAY,GAAG,0BAA0B,GAAG,qBAA8B,CAAC,EAC5FC,iBAAiB,CAAC3rC,GAAG,CAAE0tC,GAAG,iBACzBpxC,cAAA,CAAAC,aAAA;IAAQ2D,GAAG,EAAEwtC,GAAG,CAACx2B,IAAK;IAACpX,KAAK,EAAE4tC,GAAG,CAACjhC;KAC/BihC,GAAG,CAACjhC,IACC,CACT,CACK,CAAC,eAETnQ,cAAA,CAAAC,aAAA;IAAQwD,SAAS,EAAC,cAAc;IAACD,KAAK,EAAE4S,OAAO,CAACwN,IAAK;IAAC/Z,QAAQ,EAAGG,CAAC,IAAKupC,kBAAkB,CAAC,MAAM,EAAEvpC,CAAC,CAACoB,MAAM,CAAC5H,KAAK;kBAC9GxD,cAAA,CAAAC,aAAA;IAAQuD,KAAK,EAAC;KAAG,aAAmB,CAAC,EACpCmtC,WAAW,CAACjtC,GAAG,CAAEkgB,IAAI,iBACpB5jB,cAAA,CAAAC,aAAA;IAAQ2D,GAAG,EAAEggB,IAAI,CAAChJ,IAAK;IAACpX,KAAK,EAAEogB,IAAI,CAACzT;KACjCyT,IAAI,CAACzT,IACA,CACT,CACK,CAAC,eAETnQ,cAAA,CAAAC,aAAA;IAAQwD,SAAS,EAAC,cAAc;IAACD,KAAK,EAAE4S,OAAO,CAACuN,QAAS;IAAC9Z,QAAQ,EAAGG,CAAC,IAAKupC,kBAAkB,CAAC,UAAU,EAAEvpC,CAAC,CAACoB,MAAM,CAAC5H,KAAK;kBACtHxD,cAAA,CAAAC,aAAA;IAAQuD,KAAK,EAAC;KAAG,iBAAuB,CAAC,EACxCitC,eAAe,CAAC/sC,GAAG,CAAEigB,QAAQ,iBAC5B3jB,cAAA,CAAAC,aAAA;IAAQ2D,GAAG,EAAE+f,QAAQ,CAAC/I,IAAK;IAACpX,KAAK,EAAEmgB,QAAQ,CAACxT;KACzCwT,QAAQ,CAACxT,IACJ,CACT,CACK,CAAC,eAETnQ,cAAA,CAAAC,aAAA;IAAOwD,SAAS,EAAC,cAAc;IAAC4H,WAAW,EAAC,QAAQ;IAAC7H,KAAK,EAAE4S,OAAO,CAAC0N,KAAM;IAACja,QAAQ,EAAGG,CAAC,IAAKupC,kBAAkB,CAAC,OAAO,EAAEvpC,CAAC,CAACoB,MAAM,CAAC5H,KAAK;GAAI,CAAC,EAE1I+qC,YAAY,CAACniC,MAAM,GAAG,CAAC,iBACtBpM,cAAA,CAAAC,aAAA;IAAQwD,SAAS,EAAC,oBAAoB;IAACjB,IAAI,EAAC,QAAQ;IAAC8E,OAAO,EAAEA,MAAMknC,eAAe,CAAC,EAAE;KACnF1vC,CAAC,CAAC,sBAAsB,CAAC,yBAAuByvC,YAAY,CAACniC,MAAM,MAC9D,CASP,CAAC,eAGNpM,cAAA,CAAAC,aAAA,CAACiJ,4BAAK;IACJqe,UAAU,EAAC,mBAAmB;IAC9BC,UAAU,EAAC,WAAW;IACtB7nB,IAAI,EAAE2I,SAAU;IAChB1B,OAAO,EAAEA,OAAQ;IACjBhH,SAAS,EAAEA,SAAU;IACrB8F,YAAY,EAAE,CAAAuwB,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEp2B,UAAU,KAAI,CAAE;IAC/CuF,WAAW,EAAEA,WAAY;IACzBC,aAAa,EAAEod,QAAS;IACxBsG,gBAAgB,EAAE,IAAK;IACvBtB,oBAAoB,EAAE,IAAK;IAC3BviB,UAAU,EAAEA,MAAM;MAChB,IAAIE,WAAW,GAAG,CAAC,CAAA6wB,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEyd,UAAU,KAAI,CAAC,IAAI,CAAC,EAAE;QACxDlxB,cAAc,CAAE1Y,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAEpC;IACF3E,UAAU,EAAEA,MAAM;MAChB,IAAIC,WAAW,GAAG,CAAC,EAAE;QACnBod,cAAc,CAAE1Y,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAEpC;IACF6d,WAAW,EAAEA,MAAM;MACjBnF,cAAc,CAAC,CAAC,CAAC;KACjB;IACFoF,UAAU,EAAEA,MAAM;MAChBpF,cAAc,CAAC9gB,IAAI,CAACqX,GAAG,CAAC,CAAC,CAAAkd,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEyd,UAAU,KAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KACnE;IACFpuC,gBAAgB,EAAG0E,CAAC,IAAK;MACvB0Y,WAAW,CAACjC,MAAM,CAACzW,CAAC,CAACoB,MAAM,CAAC5H,KAAK,CAAC,CAAC;MACnCgf,cAAc,CAAC,CAAC,CAAC;;GAEpB,CACE,CAAC,EACLwR,SAAS,iBAAIh0B,cAAA,CAAAC,aAAA,CAAC0xB,4BAAK;IAAC3U,KAAK,EAAEwd,SAAS,CAACxd,KAAM;IAAC1c,KAAK,EAAEk6B,SAAS,CAACl6B,KAAM;IAACkN,OAAO,EAAEA,MAAMymB,YAAY,CAAC,KAAK;GAAI,CACrG,CAAC;AAEZ,CAAC;;AC1cD,MAAM0f,wBAAwB,GAAGA,MAAM;EAAA,IAAAr1B,qBAAA,EAAA8G,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAA0tB,eAAA,EAAAY,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EACrC,MAAM11C,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EAEtD,MAAA8G,SAAA,GAAkCC,cAAQ,CAAC,KAAK,CAAC;IAA1CisB,SAAS,GAAAlsB,SAAA;IAAEmsB,YAAY,GAAAnsB,SAAA;EAC9B,MAAA8P,UAAA,GAAsC7P,cAAQ,CAAC,KAAK,CAAC;IAA9Cq0B,WAAW,GAAAxkB,UAAA;IAAEykB,cAAc,GAAAzkB,UAAA;EAClC,MAAA6M,UAAA,GAAsD1c,cAAQ,CAAC,KAAK,CAAC;IAA9D2c,mBAAmB,GAAAD,UAAA;IAAEE,sBAAsB,GAAAF,UAAA;EAElD,MAAAjE,UAAA,GAA2BC,wBAAS,EAAE;IAA1BmR,UAAU,GAAApR,UAAA,CAAdpR,EAAE;EACV,MAAMonC,QAAQ,IAAAp2B,qBAAA,GAAGtf,KAAK,CAACsb,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAA+D,qBAAA,wBAAA8G,sBAAA,GAAhC9G,qBAAA,CAAkCha,IAAI,cAAA8gB,sBAAA,uBAAtCA,sBAAA,CAAwCzF,IAAI;EAE7D,MAAA/gB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,MAAM0G,YAAY,GAAGsqB,UAAU,GAAG;IAAE6kB,GAAG,EAAE7kB;GAAY,GAAG;IAAE4kB;GAAU;EAEpE,MAAAr1B,qBAAA,GAAoDrgB,KAAK,CAACI,KAAK,CAAC6f,GAAG,CAAC21B,iBAAiB,CAAC71C,QAAQ,EAAEyG,YAAY,EAAE;MAAEqvC,SAAS,EAAEC;KAAU,CAAC;IAAxHC,sBAAsB,GAAA11B,qBAAA,CAA5B1f,IAAI;IAA0BC,SAAS,GAAAyf,qBAAA,CAATzf,SAAS;EAE/C,MAAMk8B,KAAK,IAAAzW,sBAAA,GAAGrmB,KAAK,CAACsb,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAA8K,sBAAA,wBAAAC,sBAAA,GAAhCD,sBAAA,CAAkC/gB,IAAI,cAAAghB,sBAAA,uBAAtCA,sBAAA,CAAwCwW,KAAK,CAACp4B,GAAG,CAAEq4B,GAAG,IAAKA,GAAG,CAACnhB,IAAI,CAAC;EAElF,MAAMwzB,QAAQ,GAAG/pC,aAAO,CAAC,MAAM;IAAA,IAAA2wC,qBAAA;IAC7B,OAAO,CAAAD,sBAAsB,aAAtBA,sBAAsB,wBAAAC,qBAAA,GAAtBD,sBAAsB,CAAEE,SAAS,cAAAD,qBAAA,uBAAjCA,qBAAA,CAAoC,CAAC,CAAC,KAAI,IAAI;GACtD,EAAE,CAACD,sBAAsB,CAAC,CAAC;EAE5B,MAAA/1B,qBAAA,GAA6BhgB,KAAK,CAACI,KAAK,CAAC6f,GAAG,CAACC,YAAY,CAACngB,QAAQ,EAAE;MAAE6I,MAAM,EAAE;KAAU,EAAE;MAAEnI,OAAO,EAAE,CAAC,CAACV;KAAU,CAAC;IAApGm2C,UAAU,GAAAl2B,qBAAA,CAAhBrf,IAAI;EACZ,MAAAw1C,sBAAA,GAA2Cn2C,KAAK,CAACI,KAAK,CAAC6f,GAAG,CAACK,mBAAmB,CAACvgB,QAAQ,EAAE;MAAE6I,MAAM,EAAE;KAAU,EAAE;MAAEnI,OAAO,EAAE,CAAC,CAACV;KAAU,CAAC;IAAzHwgB,wBAAwB,GAAA41B,sBAAA,CAA9Bx1C,IAAI;EACZ,MAAMwa,UAAU,GAAG9V,aAAO,CAAC,MAAM;IAAA,IAAA+wC,qBAAA;IAC/B,IAAIhH,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEj0B,UAAU,EAAE,OAAOi0B,QAAQ,CAACj0B,UAAU;IACpD,IAAI,CAAC+6B,UAAU,IAAI,EAAC9G,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEh3B,QAAQ,GAAE,OAAO,KAAK;IACpD,MAAMi+B,YAAY,GAAGH,UAAU,CAACx6B,IAAI,CAAEoF,CAAC;MAAA,IAAAQ,aAAA,EAAAC,cAAA;MAAA,OAAK,EAAAD,aAAA,GAAAR,CAAC,CAACU,UAAU,cAAAF,aAAA,uBAAZA,aAAA,CAAchT,EAAE,MAAK8gC,QAAQ,CAACh3B,QAAQ,IAAI,EAAAmJ,cAAA,GAAAT,CAAC,CAACU,UAAU,cAAAD,cAAA,uBAAZA,cAAA,CAAcnJ,QAAQ,MAAKg3B,QAAQ,CAACh3B,QAAQ;MAAC;IACnI,OAAO,CAAAi+B,YAAY,aAAZA,YAAY,wBAAAD,qBAAA,GAAZC,YAAY,CAAE70B,UAAU,cAAA40B,qBAAA,uBAAxBA,qBAAA,CAA0BjlC,IAAI,KAAIi+B,QAAQ,CAACh3B,QAAQ,IAAI,KAAK;GACpE,EAAE,CAAC89B,UAAU,EAAE9G,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEh3B,QAAQ,EAAEg3B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEj0B,UAAU,CAAC,CAAC;EAE1D,MAAMC,cAAc,GAAG/V,aAAO,CAAC,MAAM;IAAA,IAAAixC,qBAAA;IACnC,IAAIlH,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEh0B,cAAc,EAAE,OAAOg0B,QAAQ,CAACh0B,cAAc;IAC5D,IAAI,EAACmF,wBAAwB,aAAxBA,wBAAwB,eAAxBA,wBAAwB,CAAE9O,WAAW,KAAI,EAAC29B,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEnsB,YAAY,GAAE,OAAO,KAAK;IACnF,MAAMszB,gBAAgB,GAAGh2B,wBAAwB,CAAC9O,WAAW,CAACiK,IAAI,CAC/D8G,CAAC;MAAA,IAAAg0B,QAAA;MAAA,OAAKh0B,CAAC,CAAClU,EAAE,KAAK8gC,QAAQ,CAACnsB,YAAY,IAAI,EAAAuzB,QAAA,GAAAh0B,CAAC,CAACrB,KAAK,cAAAq1B,QAAA,uBAAPA,QAAA,CAAS71B,IAAI,MAAKyuB,QAAQ,CAACnsB,YAAY;KAClF,CAAC;IACD,OAAO,CAAAszB,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEplC,IAAI,MAAIolC,gBAAgB,aAAhBA,gBAAgB,wBAAAD,qBAAA,GAAhBC,gBAAgB,CAAEp1B,KAAK,cAAAm1B,qBAAA,uBAAvBA,qBAAA,CAAyBnlC,IAAI,KAAIi+B,QAAQ,CAACnsB,YAAY,IAAI,KAAK;GACjG,EAAE,CAAC1C,wBAAwB,EAAE6uB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEnsB,YAAY,EAAEmsB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEh0B,cAAc,CAAC,CAAC;EAChF,MAAM+J,QAAQ,GAAG,CAAAiqB,QAAQ,aAARA,QAAQ,wBAAA4E,eAAA,GAAR5E,QAAQ,CAAEjuB,KAAK,cAAA6yB,eAAA,uBAAfA,eAAA,CAAiB7iC,IAAI,MAAIi+B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEj+B,IAAI,KAAI,KAAK;EACjE,MAAM+J,UAAU,GAAG,CAAAk0B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEl0B,UAAU,MAAIk0B,QAAQ,aAARA,QAAQ,wBAAAwF,gBAAA,GAARxF,QAAQ,CAAEjuB,KAAK,cAAAyzB,gBAAA,uBAAfA,gBAAA,CAAiBj0B,IAAI,MAAIyuB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE9gC,EAAE;EAChF,MAAMtB,YAAY,GAAG,CAAAoiC,QAAQ,aAARA,QAAQ,wBAAAyF,gBAAA,GAARzF,QAAQ,CAAEjuB,KAAK,cAAA0zB,gBAAA,uBAAfA,gBAAA,CAAiB7nC,YAAY,MAAIoiC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE5wB,QAAQ,KAAI,KAAK;EAEjF,MAAAgI,UAAA,GAAsCvf,cAAQ,CAAC,CAAC,CAAC;IAA1Cb,WAAW,GAAAogB,UAAA;IAAEhD,cAAc,GAAAgD,UAAA;EAClC,MAAAG,UAAA,GAAgC1f,cAAQ,CAAC,EAAE,CAAC;IAArCwc,QAAQ,GAAAkD,UAAA;IAAEjD,WAAW,GAAAiD,UAAA;EAC5B,MAAMqF,WAAW,GAAG;IAClBjsB,QAAQ,EAAE,QAAQ;IAClBQ,MAAM,EAAE6F,WAAW,GAAGqd,QAAQ;IAC9BjjB,KAAK,EAAEijB,QAAQ;IACfqN,UAAU,EAAEse,QAAQ,aAARA,QAAQ,wBAAA0F,gBAAA,GAAR1F,QAAQ,CAAEjuB,KAAK,cAAA2zB,gBAAA,uBAAfA,gBAAA,CAAiBn0B;GAC9B;EAED,MAAAxgB,qBAAA,GAAgGH,KAAK,CAACI,KAAK,CAACC,IAAI,CAAC8E,wBAAwB,CACvI,EAAE,EACF6mB,WAAW,EACX;MACEvrB,OAAO,EAAE,CAAC,CAACurB,WAAW,CAACjsB,QAAQ,IAAI,CAAC,CAACisB,WAAW,CAAC8E,UAAU;MAC3DjR,gBAAgB,EAAE;KAEtB,CAAC;IAPmB42B,kBAAkB,GAAAt2C,qBAAA,CAA9ByyC,UAAU;IAAA1mB,sBAAA,GAAA/rB,qBAAA,CAAsBQ,IAAI;IAAEyE,aAAa,GAAA8mB,sBAAA,cAAG,EAAE,GAAAA,sBAAA;IAAWojB,gBAAgB,GAAAnvC,qBAAA,CAAzBu2C,OAAO;EASzE,MAAMC,UAAU,GAAGtxC,aAAO,CACxB,MAAM,CACJ;IACEwC,MAAM,EAAE,KAAK;IACbC,QAAQ,EAAE;GACX,EACD;IACED,MAAM,EAAE,eAAe;IACvBC,QAAQ,EAAGK,GAAG,IAAK,EAAGA,GAAG,CAACoW,SAAS,IAAI,EAAE,WAAIpW,GAAG,CAACmc,UAAU,IAAI,EAAE,WAAInc,GAAG,CAACsW,QAAQ,IAAI,EAAE,GAAGoqB,IAAI,EAAE;IAChGv6B,EAAE,EAAE;GACL,EACD;IACEzG,MAAM,EAAE,MAAM;IACdC,QAAQ,EAAE;GACX,EAKD;IACED,MAAM,EAAE,QAAQ;IAChBC,QAAQ,EAAE,QAAQ;IAClBC,IAAI,EAAEjG,IAAA;MAAA,IAAG0C,KAAK,GAAA1C,IAAA,CAAL0C,KAAK;MAAA,oBACZxD,cAAA,CAAAC,aAAA;QAAMwD,SAAS,qBAAkBD,KAAK,KAAK,QAAQ,GAAG,UAAU,GAAGA,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,UAAU;SAAKA,KAAY,CAAC;;GAEpI,EACD;IACEqD,MAAM,EAAE,aAAa;IACrBC,QAAQ,EAAE,YAAY;IACtBC,IAAI,EAAEC,KAAA;MAAA,IAAGxD,KAAK,GAAAwD,KAAA,CAALxD,KAAK;MAAA,OAAOA,KAAK,IAAI,GAAG;;GAClC,CACF,EACD,EACF,CAAC;EAID,MAAAsiB,UAAA,GAA4C7f,cAAQ,CAAC,KAAK,CAAC;IAApDwf,cAAc,GAAAK,UAAA;IAAEJ,iBAAiB,GAAAI,UAAA;EACxC,MAAAG,UAAA,GAAoChgB,cAAQ,CAAC;MAAE8a,IAAI,EAAE,EAAE;MAAE7U,EAAE,EAAE;KAAI,CAAC;IAA3D0Z,UAAU,GAAAK,UAAA;IAAEJ,aAAa,GAAAI,UAAA;EAChC,MAAAuJ,UAAA,GAAgDvpB,cAAQ,CAAC,KAAK,CAAC;IAAxD8f,gBAAgB,GAAAyJ,UAAA;IAAExJ,mBAAmB,GAAAwJ,UAAA;EAC5C,MAAAomB,UAAA,GAA0C3vC,cAAQ,CAAC,KAAK,CAAC;IAAlDigB,aAAa,GAAA0vB,UAAA;IAAEzvB,gBAAgB,GAAAyvB,UAAA;EACtC,MAAMxvB,aAAa,GAAGnlB,YAAM,CAAC,IAAI,CAAC;EAElCiB,eAAS,CAAC,MAAM;IACd,MAAMmkB,OAAO,GAAIrc,CAAC,IAAK;MACrB,IAAIoc,aAAa,CAACjkB,OAAO,IAAI,CAACikB,aAAa,CAACjkB,OAAO,CAACmkB,QAAQ,CAACtc,CAAC,CAACoB,MAAM,CAAC,EAAE;QACtEsa,iBAAiB,CAAC,KAAK,CAAC;QACxBM,mBAAmB,CAAC,KAAK,CAAC;;KAE7B;IACDO,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEH,OAAO,CAAC;IAC/C,OAAO,MAAME,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEJ,OAAO,CAAC;GAChE,EAAE,EAAE,CAAC;EAEN,IAAIzmB,SAAS,EAAE;IACb,oBAAOI,cAAA,CAAAC,aAAA,CAACwE,6BAAM,MAAE,CAAC;;EAGnB,IAAI,CAAC2pC,QAAQ,EAAE;IACb,oBACEpuC,cAAA,CAAAC,aAAA,CAACyE,2BAAI,qBACH1E,cAAA,CAAAC,aAAA;MAAK4D,KAAK,EAAE;QAAEoF,OAAO,EAAE;;OAAWnK,CAAC,CAAC,mBAAmB,CAAO,CAC1D,CAAC;;EAgCX,MAAM+2C,YAAY,GAAIv/B,MAAM,IAAK;IAC/B,MAAM0Z,GAAG,GAAG,IAAI5U,IAAI,EAAE;IACtB,MAAM2J,KAAK,GAAG,IAAI3J,IAAI,CAAC4U,GAAG,CAAC;IAC3B,IAAI1Z,MAAM,KAAK,OAAO,EAAE;MACtByO,KAAK,CAAC+wB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MAC1B,OAAO;QAAE/0B,IAAI,EAAEgE,KAAK;QAAE7Y,EAAE,EAAE8jB;OAAK;;IAEjC,IAAI1Z,MAAM,KAAK,MAAM,EAAE;MACrByO,KAAK,CAACgxB,OAAO,CAAC/lB,GAAG,CAACgmB,OAAO,EAAE,GAAGhmB,GAAG,CAACimB,MAAM,EAAE,CAAC;MAC3ClxB,KAAK,CAAC+wB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MAC1B,OAAO;QAAE/0B,IAAI,EAAEgE,KAAK;QAAE7Y,EAAE,EAAE8jB;OAAK;;IAEjC,IAAI1Z,MAAM,KAAK,OAAO,EAAE;MACtByO,KAAK,CAACgxB,OAAO,CAAC,CAAC,CAAC;MAChBhxB,KAAK,CAAC+wB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MAC1B,OAAO;QAAE/0B,IAAI,EAAEgE,KAAK;QAAE7Y,EAAE,EAAE8jB;OAAK;;IAEjC,OAAO,IAAI;GACZ;EAED,MAAMnJ,oBAAoB,aAAUvQ,MAAM;IAAA,IAAK;MAC7C,MAAM4/B,KAAK,GAAGL,YAAY,CAACv/B,MAAM,CAAC;MAClC,IAAI,CAAC4/B,KAAK,EAAE,OAAAj5B,OAAA,CAAAC,OAAA;MAEZiJ,gBAAgB,CAAC,IAAI,CAAC;MAAC,MAAAob,KAAA,GAAA3nB,gBAAA;QAAA,OAAAL,MAAA,aACnB;UAAA,IAAA48B,gBAAA;UAAA,OAAAl5B,OAAA,CAAAC,OAAA,CACqBle,KAAK,CAAC+jB,WAAW,CAACqzB,SAAS,CAChD,EAAE,EACF;YACEr3C,QAAQ,EAAE,QAAQ;YAClBQ,MAAM,EAAE,CAAC;YACTC,KAAK,EAAE,IAAI;YACXswB,UAAU,EAAEse,QAAQ,aAARA,QAAQ,wBAAA+H,gBAAA,GAAR/H,QAAQ,CAAEjuB,KAAK,cAAAg2B,gBAAA,uBAAfA,gBAAA,CAAiBx2B,IAAI;YACjC02B,QAAQ,EAAEH,KAAK,CAACn1B,IAAI,CAACu1B,OAAO,EAAE;YAC9BC,MAAM,EAAEL,KAAK,CAAChqC,EAAE,CAACoqC,OAAO;WAE5B,CAAC,EAAA38B,IAAA,WAVKuJ,QAAQ;YAAA,IAAAszB,qBAAA;YAYd,MAAMx8B,IAAI,GAAG,CAAAkJ,QAAQ,aAARA,QAAQ,wBAAAszB,qBAAA,GAARtzB,QAAQ,CAAE3e,aAAa,cAAAiyC,qBAAA,uBAAvBA,qBAAA,CAAyBrzB,YAAY,KAAI,EAAE;YAExDpJ,mBAAmB,CAAC;cAClBC,IAAI,EAAEA,IAAI;cACVC,YAAY,EAAEkK,QAAQ;cACtBhK,UAAU;cACVC,cAAc;cACdF,UAAU;cACVlO,YAAY;cACZzH,aAAa,EAAE,CAAA2e,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE3e,aAAa,KAAI,EAAE;cAC5CzF;aACD,CAAC;;SACH,YAAQ8nB,GAAG,EAAE;UACZ7J,OAAO,CAACC,KAAK,CAAC,qDAAqD,EAAE4J,GAAG,CAAC;SAC1E;mBAAAhC,UAAA,EAAAC,OAAA;QACCsB,gBAAgB,CAAC,KAAK,CAAC;QACvBT,iBAAiB,CAAC,KAAK,CAAC;QACxBM,mBAAmB,CAAC,KAAK,CAAC;QAAC,IAAApB,UAAA,QAAAC,OAAA;QAAA,OAAAA,OAAA;;MAAA,OAAA5H,OAAA,CAAAC,OAAA,CAAAqkB,KAAA,IAAAA,KAAA,CAAA5nB,IAAA,GAAA4nB,KAAA,CAAA5nB,IAAA;KAE9B,QAAA3P,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EAED,MAAM8c,oBAAoB;IAAA,IAAe;MACvC,IAAI,CAAClB,UAAU,CAAC7E,IAAI,IAAI,CAAC6E,UAAU,CAAC1Z,EAAE,EAAE;QACtC8M,KAAK,CAACla,CAAC,CAAC,mBAAmB,CAAC,IAAI,uCAAuC,CAAC;QACxE,OAAAme,OAAA,CAAAC,OAAA;;MAEF,MAAM6D,IAAI,GAAG,IAAI3F,IAAI,CAACwK,UAAU,CAAC7E,IAAI,CAAC;MACtCA,IAAI,CAAC+0B,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MACzB,MAAM5pC,EAAE,GAAG,IAAIkP,IAAI,CAACwK,UAAU,CAAC1Z,EAAE,CAAC;MAClCA,EAAE,CAAC4pC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;MAE5B3vB,gBAAgB,CAAC,IAAI,CAAC;MAAC,MAAA0b,MAAA,GAAAjoB,gBAAA;QAAA,OAAAL,MAAA,aACnB;UAAA,IAAAk9B,gBAAA;UAAA,OAAAx5B,OAAA,CAAAC,OAAA,CACqBle,KAAK,CAAC+jB,WAAW,CAACqzB,SAAS,CAChD,EAAE,EACF;YACEr3C,QAAQ,EAAE,QAAQ;YAClBQ,MAAM,EAAE,CAAC;YACTC,KAAK,EAAE,IAAI;YACXswB,UAAU,EAAEse,QAAQ,aAARA,QAAQ,wBAAAqI,gBAAA,GAARrI,QAAQ,CAAEjuB,KAAK,cAAAs2B,gBAAA,uBAAfA,gBAAA,CAAiB92B,IAAI;YACjC02B,QAAQ,EAAEt1B,IAAI,CAACu1B,OAAO,EAAE;YACxBC,MAAM,EAAErqC,EAAE,CAACoqC,OAAO;WAEtB,CAAC,EAAA38B,IAAA,WAVKuJ,QAAQ;YAAA,IAAAwzB,sBAAA;YAYd,MAAM18B,IAAI,GAAG,CAAAkJ,QAAQ,aAARA,QAAQ,wBAAAwzB,sBAAA,GAARxzB,QAAQ,CAAE3e,aAAa,cAAAmyC,sBAAA,uBAAvBA,sBAAA,CAAyBvzB,YAAY,KAAI,EAAE;YAExDpJ,mBAAmB,CAAC;cAClBC,IAAI,EAAEA,IAAI;cACVC,YAAY,EAAEkK,QAAQ;cACtBhK,UAAU;cACVC,cAAc;cACdF,UAAU;cACVlO,YAAY;cACZzH,aAAa,EAAE,CAAA2e,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE3e,aAAa,KAAI,EAAE;cAC5CzF;aACD,CAAC;;SACH,YAAQ8nB,GAAG,EAAE;UACZ7J,OAAO,CAACC,KAAK,CAAC,4DAA4D,EAAE4J,GAAG,CAAC;SACjF;mBAAA+vB,WAAA,EAAAC,QAAA;QACCzwB,gBAAgB,CAAC,KAAK,CAAC;QACvBT,iBAAiB,CAAC,KAAK,CAAC;QACxBM,mBAAmB,CAAC,KAAK,CAAC;QAAC,IAAA2wB,WAAA,QAAAC,QAAA;QAAA,OAAAA,QAAA;;MAAA,OAAA35B,OAAA,CAAAC,OAAA,CAAA2kB,MAAA,IAAAA,MAAA,CAAAloB,IAAA,GAAAkoB,MAAA,CAAAloB,IAAA;KAE9B,QAAA3P,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EAED,MAAM+c,QAAQ,GAAGxf,KAAA;IAAA,IAAG8H,KAAK,GAAA9H,KAAA,CAAL8H,KAAK;MAAE7L,KAAK,GAAA+D,KAAA,CAAL/D,KAAK;MAAEhB,IAAI,GAAA+E,KAAA,CAAJ/E,IAAI;MAAE5C,SAAS,GAAA2H,KAAA,CAAT3H,SAAS;MAAEyX,IAAI,GAAA9P,KAAA,CAAJ8P,IAAI;IAAA,oBACrDrX,cAAA,CAAAC,aAAA;MAAKwD,SAAS,iBAAejB;OAC1B5C,SAAS,gBACRI,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACgnB,QAAQ,qBACbhnB,cAAA,CAAAC,aAAA;MAAKwD,SAAS,EAAC;KAAyC,CAAC,eACzDzD,cAAA,CAAAC,aAAA;MAAKwD,SAAS,EAAC;KAA2C,CAC5C,CAAC,gBAEjBzD,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACgnB,QAAQ,qBACbhnB,cAAA,CAAAC,aAAA;MAAKwD,SAAS,EAAC;OAAc4L,KAAW,CAAC,eACzCrP,cAAA,CAAAC,aAAA;MAAKwD,SAAS,EAAC;OAAcD,KAAW,CAAC,EACxC6T,IAAI,iBAAIrX,cAAA,CAAAC,aAAA;MAAKwD,SAAS,EAAC;OAAa4T,IAAU,CACjC,CAEf,CAAC;GACP;EAED,MAAMtU,OAAO,GAAG,CAAC;IAAEmmB,MAAM,EAAE;GAAU,CAAC;EAEtC,MAAMkZ,gBAAgB,GAAIx0B,MAAM,IAAK;IACnC2sB,cAAc,CAAC,KAAK,CAAC;IACrBpI,YAAY,CAAC,IAAI,CAAC;GACnB;EAED,MAAMrP,sBAAsB;IAAA,IAAe;MACzCD,sBAAsB,CAAC,IAAI,CAAC;MAAC,OAAA5F,OAAA,CAAAC,OAAA,CAAAtD,gBAAA;QAAA,OAAAL,MAAA,aACzB;UAAA,IAAAs9B,gBAAA;UAAA,OAAA55B,OAAA,CAAAC,OAAA,CACqBle,KAAK,CAAC+jB,WAAW,CAACC,gBAAgB,CAAC;YACxDjkB,QAAQ,EAAEA,QAAQ,IAAI,QAAQ;YAC9BQ,MAAM,EAAE,CAAC;YACTC,KAAK,EAAE,KAAK;YACZswB,UAAU,EAAEse,QAAQ,aAARA,QAAQ,wBAAAyI,gBAAA,GAARzI,QAAQ,CAAEjuB,KAAK,cAAA02B,gBAAA,uBAAfA,gBAAA,CAAiBl3B,IAAI;YACjCsD,cAAc,EAAE;WACjB,CAAC,EAAAtJ,IAAA,WANIuJ,QAAQ;YAQd,MAAMC,YAAY,GAAG,CAAAD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEC,YAAY,KAAI,EAAE;YACjD,IAAIA,YAAY,CAAC/W,MAAM,KAAK,CAAC,EAAE;cAC7B4M,KAAK,CAACla,CAAC,CAAC,eAAe,CAAC,IAAI,6BAA6B,CAAC;cAC1D;;YAGF,MAAMskB,YAAY,GAAG,CACjB,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAC/E,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EACjF,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAC1E,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EACjF,YAAY,EAAE,cAAc,CAC/B;YAED,MAAMC,aAAa,GAAG;cAClB7c,GAAG,EAAE1H,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK;cACtBye,SAAS,EAAEze,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY;cAC1CwkB,UAAU,EAAExkB,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7C2e,QAAQ,EAAE3e,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;cACvCykB,MAAM,EAAEzkB,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC/BkN,YAAY,EAAElN,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;cACnDojB,OAAO,EAAEpjB,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACpC0kB,mBAAmB,EAAE1kB,CAAC,CAAC,qBAAqB,CAAC,IAAI,qBAAqB;cACtE2kB,YAAY,EAAE3kB,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cACjD4kB,GAAG,EAAE5kB,CAAC,CAAC,KAAK,CAAC,IAAI,eAAe;cAChCkJ,UAAU,EAAElJ,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7C4e,QAAQ,EAAE5e,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cAC7B6kB,QAAQ,EAAE7kB,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACrC8kB,IAAI,EAAE9kB,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cACzB+kB,OAAO,EAAE/kB,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS;cAClCglB,KAAK,EAAEhlB,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC9BilB,WAAW,EAAEjlB,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cAChDklB,gBAAgB,EAAEllB,CAAC,CAAC,oBAAoB,CAAC,IAAI;aAChD;YAED,MAAMmlB,SAAS,GAAGd,YAAY,CAACzf,GAAG,CAAEC,IAAI,IAAK;cACzC,MAAMugB,QAAQ,GAAG,EAAE;cAEnB,MAAMC,QAAQ,GAAG,CAACxgB,IAAI,CAAC4Z,SAAS,EAAE5Z,IAAI,CAAC2f,UAAU,EAAE3f,IAAI,CAAC8Z,QAAQ,CAAC,CAACnH,MAAM,CAAC8N,OAAO,CAAC,CAAChM,IAAI,CAAC,GAAG,CAAC;cAC3F,IAAI+L,QAAQ,EAAE;gBACVD,QAAQ,CAACplB,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,GAAGqlB,QAAQ;;cAG9DE,MAAM,CAACC,IAAI,CAAC3gB,IAAI,CAAC,CAAC4gB,OAAO,CAAC3gB,GAAG,IAAI;gBAC7B,IAAIwf,YAAY,CAAC1M,QAAQ,CAAC9S,GAAG,CAAC,EAAE;gBAEhC,MAAMqY,GAAG,GAAGtY,IAAI,CAACC,GAAG,CAAC;gBACrB,IAAI,OAAOqY,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,EAAE;kBACzC;;gBAGJ,MAAMuI,cAAc,GAAGnB,aAAa,CAACzf,GAAG,CAAC,IAAI9E,CAAC,CAAC8E,GAAG,CAACsE,WAAW,EAAE,CAAC,IAAItE,GAAG;gBACxEsgB,QAAQ,CAACM,cAAc,CAAC,GAAGvI,GAAG;eACjC,CAAC;cAEF,OAAOiI,QAAQ;aAClB,CAAC;YAEF,MAAMO,aAAa,kBAAgBN,QAAQ,CAAChO,OAAO,CAAC,eAAe,EAAE,GAAG,CAAG;YAC3EnX,KAAK,CAAC0lB,QAAQ,CAACC,KAAK,CAACV,SAAS,EAAEQ,aAAa,CAAC;;SAC/C,YAAQzH,KAAK,EAAE;UACdD,OAAO,CAACC,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;SACtD;mBAAA85B,WAAA,EAAAC,QAAA;QACCl0B,sBAAsB,CAAC,KAAK,CAAC;QAAC,IAAAi0B,WAAA,QAAAC,QAAA;QAAA,OAAAA,QAAA;;KAEjC,QAAA/sC,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EAED,MAAMqkC,UAAU;IAAA,IAAe;MAC7Blc,YAAY,CAAC,KAAK,CAAC;MAAC,OAAAlV,OAAA,CAAAC,OAAA;KACrB,QAAAlT,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EAED,oBACEhK,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC;kBAEdzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAU0gB,QAAQ,aAARA,QAAQ,wBAAA4vB,gBAAA,GAAR5vB,QAAQ,CAAE+C,MAAM,CAAC,CAAC,CAAC,cAAA6sB,gBAAA,uBAAnBA,gBAAA,CAAqB7rC,WAAW,EAAQ,CAAC,eAElElI,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAIwD,SAAS,EAAC;KAAQ0gB,QAAa,CAAC,eAEpCnkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAe,CAAA2qC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE4I,WAAW,KAAIl4C,CAAC,CAAC,gBAAgB,CAAO,CAK7E,CACF,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC,iBAAiB;IAACM,GAAG,EAAEqiB;kBACpCpmB,cAAA,CAAAC,aAAA;IACEwD,SAAS,EAAC,cAAc;IACxB0jB,QAAQ,EAAEjB,aAAc;IACxB5e,OAAO,EAAEA,MAAM;MACboe,iBAAiB,CAAE0B,CAAC,IAAK,CAACA,CAAC,CAAC;MAC5BpB,mBAAmB,CAAC,KAAK,CAAC;;KAG3BE,aAAa,GAAGpnB,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,GAAGA,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAC1E,CAAC,EAER2mB,cAAc,iBACbzlB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ,CACC;IAAEnD,KAAK,EAAExB,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO;IAAE8E,GAAG,EAAE;GAAS,EAC9C;IAAEtD,KAAK,EAAExB,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;IAAE8E,GAAG,EAAE;GAAQ,EACrD;IAAEtD,KAAK,EAAExB,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY;IAAE8E,GAAG,EAAE;GAAS,CACzD,CAACF,GAAG,CAACgE,KAAA;IAAA,IAAGpH,KAAK,GAAAoH,KAAA,CAALpH,KAAK;MAAEsD,GAAG,GAAA8D,KAAA,CAAH9D,GAAG;IAAA,oBACjB5D,cAAA,CAAAC,aAAA;MAAK2D,GAAG,EAAEA,GAAI;MAACH,SAAS,EAAC,WAAW;MAAC6D,OAAO,EAAEA,MAAMuf,oBAAoB,CAACjjB,GAAG;OACzEtD,KACE,CAAC;GACP,CAAC,eAEFN,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC,qBAAqB;IAAC6D,OAAO,EAAEA,MAAM0e,mBAAmB,CAAEoB,CAAC,IAAK,CAACA,CAAC;KAC9EtoB,CAAC,CAAC,aAAa,CAAC,IAAI,aAClB,CAAC,EAELinB,gBAAgB,iBACf/lB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAOwD,SAAS,EAAC;KAAc3E,CAAC,CAAC,WAAW,CAAC,IAAI,MAAc,CAAC,eAChEkB,cAAA,CAAAC,aAAA;IACEuC,IAAI,EAAC,MAAM;IACXiB,SAAS,EAAC,YAAY;IACtBD,KAAK,EAAEoiB,UAAU,CAAC7E,IAAK;IACvBlX,QAAQ,EAAGG,CAAC,IAAK6b,aAAa,CAAEva,CAAC,IAAA5B,QAAA,KAAW4B,CAAC;MAAEyV,IAAI,EAAE/W,CAAC,CAACoB,MAAM,CAAC5H;MAAQ;GACvE,CACE,CAAC,eAENxD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAOwD,SAAS,EAAC;KAAc3E,CAAC,CAAC,SAAS,CAAC,IAAI,IAAY,CAAC,eAC5DkB,cAAA,CAAAC,aAAA;IACEuC,IAAI,EAAC,MAAM;IACXiB,SAAS,EAAC,YAAY;IACtBD,KAAK,EAAEoiB,UAAU,CAAC1Z,EAAG;IACrBrC,QAAQ,EAAGG,CAAC,IAAK6b,aAAa,CAAEva,CAAC,IAAA5B,QAAA,KAAW4B,CAAC;MAAEY,EAAE,EAAElC,CAAC,CAACoB,MAAM,CAAC5H;MAAQ;GACrE,CACE,CAAC,eAENxD,cAAA,CAAAC,aAAA;IAAQwD,SAAS,EAAC,qBAAqB;IAAC6D,OAAO,EAAEwf;KAC9ChoB,CAAC,CAAC,UAAU,CAAC,IAAI,UACZ,CACL,CAEJ,CAEJ,CACF,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,CAAC8mB,QAAQ;IAAC1X,KAAK,EAAEvQ,CAAC,CAAC,gBAAgB,CAAE;IAAC0E,KAAK,EAAE,CAAAY,aAAa,aAAbA,aAAa,wBAAA4vC,qBAAA,GAAb5vC,aAAa,CAAEG,aAAa,cAAAyvC,qBAAA,uBAA5BA,qBAAA,CAA8B7yC,KAAK,KAAI,CAAE;IAACqB,IAAI,EAAC,OAAO;IAAC5C,SAAS,EAAE61C,kBAAmB;IAACp+B,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAACqX,UAAO,MAAE;GAAI,CAAC,eACxJtX,cAAA,CAAAC,aAAA,CAAC8mB,QAAQ;IAAC1X,KAAK,EAAEvQ,CAAC,CAAC,WAAW,CAAE;IAAC0E,KAAK,EAAE,CAAAY,aAAa,aAAbA,aAAa,wBAAA6vC,sBAAA,GAAb7vC,aAAa,CAAEG,aAAa,cAAA0vC,sBAAA,uBAA5BA,sBAAA,CAA8B3yC,SAAS,KAAI,CAAE;IAACkB,IAAI,EAAC,MAAM;IAAC5C,SAAS,EAAE61C,kBAAmB;IAACp+B,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAACuX,gBAAa,MAAE;GAAI,CAAC,eAC5JxX,cAAA,CAAAC,aAAA,CAAC8mB,QAAQ;IAAC1X,KAAK,EAAEvQ,CAAC,CAAC,SAAS,CAAE;IAAC0E,KAAK,EAAE,CAAAY,aAAa,aAAbA,aAAa,wBAAA8vC,sBAAA,GAAb9vC,aAAa,CAAEG,aAAa,cAAA2vC,sBAAA,uBAA5BA,sBAAA,CAA8B9yC,OAAO,KAAI,CAAE;IAACoB,IAAI,EAAC,SAAS;IAAC5C,SAAS,EAAE61C,kBAAmB;IAACp+B,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAACwX,UAAO,MAAE;GAAI,CAAC,eACrJzX,cAAA,CAAAC,aAAA,CAAC8mB,QAAQ;IAAC1X,KAAK,EAAEvQ,CAAC,CAAC,WAAW,CAAE;IAAC0E,KAAK,EAAE,CAAAY,aAAa,aAAbA,aAAa,wBAAA+vC,sBAAA,GAAb/vC,aAAa,CAAEG,aAAa,cAAA4vC,sBAAA,uBAA5BA,sBAAA,CAA8B73B,cAAc,KAAI,CAAE;IAAC9Z,IAAI,EAAC,OAAO;IAAC5C,SAAS,EAAE61C,kBAAmB;IAACp+B,IAAI,eAAErX,cAAA,CAAAC,aAAA,CAAC2X,cAAW,MAAE;GAAI,CAC5J,CAAC,eAGN5X,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;GAsCV,CAAC,eAGNzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS,CAAA2qC,QAAQ,aAARA,QAAQ,wBAAAgG,gBAAA,GAARhG,QAAQ,CAAEjuB,KAAK,cAAAi0B,gBAAA,uBAAfA,gBAAA,CAAiBpoC,YAAY,MAAIoiC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE5wB,QAAQ,KAAI,KAAY,CACzF,CAAC,eAENxd,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,OAAO,CAAQ,CAAC,eAC3CkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS,CAAA2qC,QAAQ,aAARA,QAAQ,wBAAAiG,gBAAA,GAARjG,QAAQ,CAAEjuB,KAAK,cAAAk0B,gBAAA,uBAAfA,gBAAA,CAAiBnyB,OAAO,KAAI,KAAY,CAC9D,CAAC,eAENliB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS,CAAA2qC,QAAQ,aAARA,QAAQ,wBAAAkG,gBAAA,GAARlG,QAAQ,CAAEjuB,KAAK,cAAAm0B,gBAAA,uBAAfA,gBAAA,CAAiB/wB,MAAM,KAAI,KAAY,CAC7D,CAAC,eAENvjB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS,CAAA2qC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAExmC,MAAM,KAAI,KAAY,CACtD,CAAC,eAEN5H,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,cAAc,CAAQ,CAAC,eAClDkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS,CAAA2qC,QAAQ,aAARA,QAAQ,wBAAAmG,qBAAA,GAARnG,QAAQ,CAAE6I,iBAAiB,cAAA1C,qBAAA,uBAA3BA,qBAAA,CAA6B2C,WAAW,KAAI,KAAY,CAC9E,CAAC,eAENl3C,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,aAAa,CAAC,IAAI,aAAoB,CAAC,eAClEkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS0W,UAAiB,CACvC,CAAC,eAENna,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAAwB,CAAC,eAC1EkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS2W,cAAqB,CAC3C,CACF,CACF,CAAC,eAGNpa,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,aAAKnB,CAAC,CAAC,oBAAoB,CAAC,IAAI,oBAAyB,CAAC,eAC1DkB,cAAA,CAAAC,aAAA,YACGnB,CAAC,CAAC,yBAAyB,CAAC,IAC5B,iGACA,CAAC,eACJkB,cAAA,CAAAC,aAAA;IACEwD,SAAS,EAAC,oBAAoB;IAC9B0jB,QAAQ,EAAEvE,mBAAoB;IAC9Btb,OAAO,EAAEwb;kBAET9iB,cAAA,CAAAC,aAAA;IAAK+D,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACqG,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,cAAc;IAACC,WAAW,EAAC,KAAK;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBACvI3K,cAAA,CAAAC,aAAA;IAAMqL,CAAC,EAAC;GAA6C,CAAC,eACtDtL,cAAA,CAAAC,aAAA;IAAUqnB,MAAM,EAAC;GAAoB,CAAC,eACtCtnB,cAAA,CAAAC,aAAA;IAAM8K,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC;GAAK,CACnC,CAAC,EACL0X,mBAAmB,GAAG9jB,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,GAAGA,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBAC/E,CACL,CACF,CACF,CACF,CAAC,eACNkB,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC;kBACdzD,cAAA,CAAAC,aAAA,CAACiJ,4BAAK;IACJpK,CAAC,EAAEA,CAAE;IACLyoB,UAAU,EAAEzoB,CAAC,CAAC,eAAe,CAAE;IAC/B0oB,UAAU,EAAC,WAAW;IACtB7nB,IAAI,EAAE,CAAAyE,aAAa,aAAbA,aAAa,wBAAAowC,sBAAA,GAAbpwC,aAAa,CAAEG,aAAa,cAAAiwC,sBAAA,uBAA5BA,sBAAA,CAA8BrxB,YAAY,KAAI,EAAG;IACvDvc,OAAO,EAAE+uC,UAAW;IACpB/1C,SAAS,EAAE61C,kBAAmB;IAC9B/vC,YAAY,EAAEtB,aAAa,aAAbA,aAAa,wBAAAqwC,sBAAA,GAAbrwC,aAAa,CAAEG,aAAa,cAAAkwC,sBAAA,uBAA5BA,sBAAA,CAA8BtzC,KAAM;IAClDiE,WAAW,EAAEA,WAAY;IACzBC,aAAa,EAAEod,QAAS;IACxB00B,gBAAgB,EAAE,IAAK;IACvB1vB,oBAAoB,EAAE,IAAK;IAC3BviB,UAAU,EAAEA,MAAM;MAAA,IAAAkyC,sBAAA;MAChB,IAAIhyC,WAAW,GAAG,CAAC,CAAAhB,aAAa,aAAbA,aAAa,wBAAAgzC,sBAAA,GAAbhzC,aAAa,CAAEG,aAAa,cAAA6yC,sBAAA,uBAA5BA,sBAAA,CAA8B1D,UAAU,KAAI,CAAC,IAAI,CAAC,EAAE;QACrElxB,cAAc,CAAE1Y,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAEpC;IACF3E,UAAU,EAAEA,MAAM;MAChB,IAAIC,WAAW,GAAG,CAAC,EAAE;QACnBod,cAAc,CAAE1Y,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAEpC;IACF6d,WAAW,EAAEA,MAAM;MACjBnF,cAAc,CAAC,CAAC,CAAC;KACjB;IACFoF,UAAU,EAAEA,MAAM;MAAA,IAAAyvB,sBAAA;MAChB70B,cAAc,CAAC9gB,IAAI,CAACqX,GAAG,CAAC,CAAC,CAAA3U,aAAa,aAAbA,aAAa,wBAAAizC,sBAAA,GAAbjzC,aAAa,CAAEG,aAAa,cAAA8yC,sBAAA,uBAA5BA,sBAAA,CAA8B3D,UAAU,KAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KAChF;IACFpuC,gBAAgB,EAAG0E,CAAC,IAAK;MACvB0Y,WAAW,CAACjC,MAAM,CAACzW,CAAC,CAACoB,MAAM,CAAC5H,KAAK,CAAC,CAAC;MACnCgf,cAAc,CAAC,CAAC,CAAC;;GAEpB,CACG,CAAC,EAEN,CAAC,CAACsZ,KAAK,CAACplB,QAAQ,CAAC,eAAe,CAAC,IAAIolB,KAAK,CAACplB,QAAQ,CAAC,UAAU,CAAC,kBAC9D1W,cAAA,CAAAC,aAAA,CAACkxB,gCAAS,qBACRnxB,cAAA,CAAAC,aAAA,CAACkM,gCAAS;IAAC7L,KAAK,EAAExB,CAAC,CAAC,kBAAkB,CAAE;IAACiL,QAAQ,EAAEA,MAAMwwB,cAAc,CAAEzwB,IAAI,IAAK,CAACA,IAAI;GAAI,CAAC,EAE3FwwB,WAAW,iBACVt6B,cAAA,CAAAC,aAAA,CAAC6iC,2BAAI;IACH//B,OAAO,EAAEA,OAAQ;IACjB8K,SAAS,EAAE,QAAS;IACpB/O,CAAC,EAAEA,CAAE;IACLu0B,QAAQ,EAAE+O,gBAAiB;IAC3Bv+B,KAAK,EAAE;MACLN,KAAK,EAAE,SAAS;MAChBsP,QAAQ,EAAE;;GAEb,CAEM,CACZ,EAEAqf,SAAS,iBAAIlyB,cAAA,CAAAC,aAAA,CAACkuC,eAAe;IAACC,QAAQ,EAAEA,QAAS;IAACC,UAAU,EAAEA,UAAW;IAACC,gBAAgB,EAAEA;GAAmB,CAC5G,CAAC;AAEX,CAAC;;ACrnBM,SAASvjB,WAAWA,CAAC4C,KAAK,EAAEC,OAAO,EAAE;EAC1C,MAAM0pB,UAAU,GAAG,eAAe;EAGlC,QAAQ1pB,OAAO,CAAC1E,MAAM;IACpB,KAAK,kBAAkB;MACrBlqB,KAAK,CAACsb,cAAc,CAACuT,GAAG,CAACypB,UAAU,EAAA5tC,QAAA,KAAOikB,KAAK;QAAEtE,UAAU,EAAEuE,OAAO,CAACjuB;QAAM,CAAC;MAC5E,OAAA+J,QAAA,KAAYikB,KAAK;QAAEtE,UAAU,EAAEuE,OAAO,CAACjuB;;IAEzC,KAAK,kBAAkB;MACrBX,KAAK,CAACsb,cAAc,CAACuT,GAAG,CAACypB,UAAU,EAAA5tC,QAAA,KAAOikB,KAAK;QAAEjD,UAAU,EAAEkD,OAAO,CAACjuB;QAAM,CAAC;MAC5E,OAAA+J,QAAA,KAAYikB,KAAK;QAAEjD,UAAU,EAAEkD,OAAO,CAACjuB;;IAEzC,KAAK,iBAAiB;MACpBX,KAAK,CAACsb,cAAc,CAACuT,GAAG,CAACypB,UAAU,EAAA5tC,QAAA,KAAOikB,KAAK;QAAEjF,SAAS,EAAEkF,OAAO,CAACjuB;QAAM,CAAC;MAC3E,OAAA+J,QAAA,KAAYikB,KAAK;QAAEjF,SAAS,EAAEkF,OAAO,CAACjuB;;IAExC;MACE,OAAOguB,KAAK;;AAElB;AAEA,AAAO,MAAMlD,aAAa,GAAG;EAC3BC,UAAU,EAAE,EAAE;EACdrB,UAAU,EAAE,EAAE;EACdX,SAAS,EAAE;IACTlpB,KAAK,EAAE,EAAE;IACTD,MAAM,EAAE,CAAC;IACTorB,MAAM,EAAE,aAAa;IACrBC,SAAS,EAAE;;AAEf,CAAC;AAED,AAAO,MAAMjC,iBAAiB,GAAGA,CAAC7pB,CAAC,EAAEyH,YAAY,KAAK,CACpD;EACEM,MAAM,EAAE/H,CAAC,CAAC,eAAe,CAAC;EAC1BgI,QAAQ,EAAE,cAAc;EACxBC,IAAI,EAAEjG,IAAA,IAAa;IAAA,IAAAmG,aAAA,EAAAC,cAAA,EAAAM,cAAA;IAAA,IAAVL,GAAG,GAAArG,IAAA,CAAHqG,GAAG;IACV,MAAMmG,EAAE,IAAArG,aAAA,GAAGE,GAAG,CAACC,QAAQ,cAAAH,aAAA,uBAAZA,aAAA,CAAcqG,EAAE;IAC3B,oBACEtN,cAAA,CAAAC,aAAA;MAAMwD,SAAS,EAAC,MAAM;MAAC6D,OAAO,EAAEA,MAAMf,YAAY,CAAC+G,EAAE;OAClD,EAAApG,cAAA,GAAAC,GAAG,CAACC,QAAQ,cAAAF,cAAA,uBAAZA,cAAA,CAAc+S,YAAY,OAAAzS,cAAA,GAAIL,GAAG,CAACC,QAAQ,cAAAI,cAAA,uBAAZA,cAAA,CAAc2I,IAAI,KAAI,IACjD,CAAC;;AAGb,CAAC,EAMD;EACEtJ,MAAM,EAAE/H,CAAC,CAAC,eAAe,CAAC;EAC1BgI,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAEC,KAAA;IAAA,IAAAW,cAAA,EAAAG,cAAA,EAAAyvC,oBAAA;IAAA,IAAGpwC,GAAG,GAAAH,KAAA,CAAHG,GAAG;IAAA,oBAAOnH,cAAA,CAAAC,aAAA,eAAO,EAAA0H,cAAA,GAAAR,GAAG,CAACC,QAAQ,cAAAO,cAAA,uBAAZA,cAAA,CAAc6V,QAAQ,OAAA1V,cAAA,GAAIX,GAAG,CAACC,QAAQ,cAAAU,cAAA,wBAAAyvC,oBAAA,GAAZzvC,cAAA,CAAcqY,KAAK,cAAAo3B,oBAAA,uBAAnBA,oBAAA,CAAqBvrC,YAAY,KAAI,IAAW,CAAC;;AACvG,CAAC,EACD;EACEnF,MAAM,EAAE/H,CAAC,CAAC,QAAQ,CAAC;EACnBgI,QAAQ,EAAE,QAAQ;EAClBC,IAAI,EAAEQ,KAAA,IAAa;IAAA,IAAAQ,cAAA;IAAA,IAAVZ,GAAG,GAAAI,KAAA,CAAHJ,GAAG;IACV,MAAMS,MAAM,GAAG,EAAAG,cAAA,GAAAZ,GAAG,CAACC,QAAQ,cAAAW,cAAA,uBAAZA,cAAA,CAAcH,MAAM,KAAI,SAAS;IAChD,oBAAO5H,cAAA,CAAAC,aAAA;MAAMwD,SAAS,uBAAqBmE;OAAW9I,CAAC,CAAC8I,MAAM,CAAQ,CAAC;;AAE3E,CAAC,EACD;EACEf,MAAM,EAAE/H,CAAC,CAAC,cAAc,CAAC;EACzBgI,QAAQ,EAAE,aAAa;EACvBC,IAAI,EAAEW,KAAA;IAAA,IAAAU,cAAA;IAAA,IAAGjB,GAAG,GAAAO,KAAA,CAAHP,GAAG;IAAA,oBAAOnH,cAAA,CAAAC,aAAA,eAAO,EAAAmI,cAAA,GAAAjB,GAAG,CAACC,QAAQ,cAAAgB,cAAA,uBAAZA,cAAA,CAAc8uC,WAAW,KAAI,IAAW,CAAC;;AACrE,CAAC,CACF;;AClED,MAAMM,0BAA0B,GAAG12C,IAAA,IAS7B;EAAA,IAAAwd,qBAAA,EAAA8G,sBAAA,EAAAC,sBAAA,EAAAyC,oBAAA,EAAAC,qBAAA;EAAA,IARJziB,gBAAgB,GAAAxE,IAAA,CAAhBwE,gBAAgB;IAChB2iB,SAAS,GAAAnnB,IAAA,CAATmnB,SAAS;IACTpoB,UAAU,GAAAiB,IAAA,CAAVjB,UAAU;IACVqoB,KAAK,GAAApnB,IAAA,CAALonB,KAAK;IACLC,QAAQ,GAAArnB,IAAA,CAARqnB,QAAQ;IACRE,eAAe,GAAAvnB,IAAA,CAAfunB,eAAe;IAAAC,gBAAA,GAAAxnB,IAAA,CACfynB,WAAW;IAAXA,WAAW,GAAAD,gBAAA,cAAG,EAAE,GAAAA,gBAAA;IAAAE,eAAA,GAAA1nB,IAAA,CAChB2nB,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;EAEf,MAAA5pB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM6G,OAAO,GAAGC,yBAAU,EAAE;EAE5B,MAAM2f,QAAQ,GAAG,EAAAjH,qBAAA,GAAAtf,KAAK,CAACsb,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAA+D,qBAAA,wBAAA8G,sBAAA,GAAhC9G,qBAAA,CAAkCha,IAAI,cAAA8gB,sBAAA,wBAAAC,sBAAA,GAAtCD,sBAAA,CAAwC5iB,IAAI,cAAA6iB,sBAAA,uBAA5CA,sBAAA,CAA8C5O,WAAW,EAAE,KAAI,SAAS;EAEzF,MAAMlQ,YAAY,GAAI+G,EAAE,IAAK;IAC3B3H,OAAO,CAACc,IAAI,gBAAc8e,QAAQ,sCAAiCjY,EAAI,CAAC;GACzE;EAED,MAAM9N,KAAK,GAAG,CAAAyoB,SAAS,aAATA,SAAS,wBAAAH,oBAAA,GAATG,SAAS,CAAES,SAAS,cAAAZ,oBAAA,uBAApBA,oBAAA,CAAsBtoB,KAAK,KAAI,EAAE;EAC/C,MAAMD,MAAM,GAAG,CAAA0oB,SAAS,aAATA,SAAS,wBAAAF,qBAAA,GAATE,SAAS,CAAES,SAAS,cAAAX,qBAAA,uBAApBA,qBAAA,CAAsBxoB,MAAM,KAAI,CAAC;EAEhD,OAAO;IACLspB,WAAW,EAAE,KAAK;IAClBC,QAAQ,EAAE,KAAK;IACfC,gBAAgB,EAAE,IAAI;IAEtB3jB,WAAW,EAAE1D,IAAI,CAAC6nB,KAAK,CAAChqB,MAAM,GAAGC,KAAK,CAAC;IAEvC8F,gBAAgB;IAEhBJ,UAAU,EAAEA,MACVijB,QAAQ,CAAC;MACPe,MAAM,EAAE,iBAAiB;MACzBvpB,IAAI,EAAA+J,QAAA,KACCue,SAAS,CAACS,SAAS;QACtBnpB,MAAM,EAAEkhB,MAAM,CAAClhB,MAAM,CAAC,GAAGkhB,MAAM,CAACjhB,KAAK;;KAExC,CAAC;IAEJ2F,UAAU,EAAEA,MACVgjB,QAAQ,CAAC;MACPe,MAAM,EAAE,iBAAiB;MACzBvpB,IAAI,EAAA+J,QAAA,KACCue,SAAS,CAACS,SAAS;QACtBnpB,MAAM,EAAEkhB,MAAM,CAAClhB,MAAM,CAAC,GAAGkhB,MAAM,CAACjhB,KAAK;;KAExC,CAAC;IAEJooB,UAAU,EAAEA,MACVO,QAAQ,CAAC;MACPe,MAAM,EAAE,iBAAiB;MACzBvpB,IAAI,EAAA+J,QAAA,KACCue,SAAS,CAACS,SAAS;QACtBnpB,MAAM,EAAEmC,IAAI,CAACgmB,IAAI,CAAC7nB,UAAU,GAAGL,KAAK,CAAC,GAAGA,KAAK,GAAGihB,MAAM,CAACjhB,KAAK;;KAE/D,CAAC;IAEJmoB,WAAW,EAAEA,MACXQ,QAAQ,CAAC;MACPe,MAAM,EAAE,iBAAiB;MACzBvpB,IAAI,EAAA+J,QAAA,KAAOue,SAAS,CAACS,SAAS;QAAEnpB,MAAM,EAAE;;KACzC,CAAC;IAEJmG,YAAY,EAAE7F,UAAU;IACxBoF,MAAM,EAAEojB,eAAe;IAEvB1oB,IAAI,EAAEuoB,KAAK;IACXthB,OAAO,EAAE+hB,iBAAiB,CAAC7pB,CAAC,EAAEyH,YAAY,CAAC;IAE3CgiB,WAAW,EAAA7e,QAAA,KAAO6e,WAAW,CAAE;IAC/BE,UAAU,EAAA/e,QAAA,KAAO+e,UAAU;GAC5B;AACH,CAAC;;ACpED,MAAMgvB,UAAU,GAAGA,MAAM;EAAA,IAAA3vB,oBAAA,EAAAC,qBAAA,EAAAkB,qBAAA,EAAAG,qBAAA,EAAApB,qBAAA,EAAAgsB,qBAAA;EACvB,IAAIj1C,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACpD,IAAI,CAACH,QAAQ,IAAIA,QAAQ,KAAK,IAAI,EAAE;IAClCA,QAAQ,GAAG,QAAQ;;EAGrB,MAAA8rB,WAAA,GAA8BC,gBAAU,CAACC,WAAW,EAAEN,aAAa,CAAC;IAA7DxC,SAAS,GAAA4C,WAAA;IAAE1C,QAAQ,GAAA0C,WAAA;EAE1B,IAAI6sB,eAAe,GAAG;IACpBl4C,KAAK,EAAE,CAAAyoB,SAAS,aAATA,SAAS,wBAAAH,oBAAA,GAATG,SAAS,CAAES,SAAS,cAAAZ,oBAAA,uBAApBA,oBAAA,CAAsBtoB,KAAK,KAAI,EAAE;IACxCD,MAAM,EAAE,CAAA0oB,SAAS,aAATA,SAAS,wBAAAF,qBAAA,GAATE,SAAS,CAAES,SAAS,cAAAX,qBAAA,uBAApBA,qBAAA,CAAsBxoB,MAAM,KAAI,CAAC;IACzCorB,MAAM,EAAE,CAAA1C,SAAS,aAATA,SAAS,wBAAAgB,qBAAA,GAAThB,SAAS,CAAES,SAAS,cAAAO,qBAAA,uBAApBA,qBAAA,CAAsB0B,MAAM,KAAI,aAAa;IACrDC,SAAS,EAAE,CAAA3C,SAAS,aAATA,SAAS,wBAAAmB,qBAAA,GAATnB,SAAS,CAAES,SAAS,cAAAU,qBAAA,uBAApBA,qBAAA,CAAsBwB,SAAS,KAAI;GAC/C;EAED,MAAM5e,YAAY,GAAG,CAAAic,SAAS,aAATA,SAAS,wBAAAD,qBAAA,GAATC,SAAS,CAAEoB,UAAU,cAAArB,qBAAA,uBAArBA,qBAAA,CAAuBhc,YAAY,KAAI,EAAE;EAC9D,MAAMqf,cAAc,GAAG,CAAC,CAACrf,YAAY;EAErC,MAAMoK,OAAO,GAAA1M,QAAA,KACRguC,eAAe;IAClB9vC,MAAM,EAAE;IACT;EAED,IAAIyjB,cAAc,EAAE;IAClBjV,OAAO,CAACpK,YAAY,GAAGA,YAAY;;EAGrC,MAAAqT,qBAAA,GAA2CrgB,KAAK,CAACI,KAAK,CAAC6f,GAAG,CAAC21B,iBAAiB,CAAC71C,QAAQ,EAAEqX,OAAO,EAAE;MAAE3W,OAAO,EAAE,CAAC,CAACV,QAAQ;MAAE8f,gBAAgB,EAAE;KAAM,CAAC;IAAlIza,aAAa,GAAAib,qBAAA,CAAnB1f,IAAI;IAAiBC,SAAS,GAAAyf,qBAAA,CAATzf,SAAS;EAEtC,MAAAT,qBAAA,GAAiDH,KAAK,CAACI,KAAK,CAACC,IAAI,CAACuf,yBAAyB,CAAC;MAC1Fnf,OAAO,EAAE,CAAC,CAACV,QAAQ;MACnB8f,gBAAgB,EAAE;KACnB,CAAC;IAHiB84B,mBAAmB,GAAAx4C,qBAAA,CAA9BS,SAAS;EAKjB,MAAM8rB,UAAU,GAAGrnB,aAAO,CAAC,MAAM;IAC/B,OAAO,CAAAD,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE6wC,SAAS,KAAI,EAAE;GACtC,EAAE,CAAC7wC,aAAa,CAAC,CAAC;EAEnB,MAAMunB,YAAY,GAAGtnB,aAAO,CAAC,MAAM;IACjC,OAAO,CAACqnB,UAAU,IAAI,EAAE,EAAEhoB,GAAG,CAAEC,IAAI,IAAK;MAAA,IAAAi0C,YAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,mBAAA;MACtC,MAAM73B,KAAK,GAAG,CAAAxc,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEwc,KAAK,KAAI,EAAE;MAC/B,MAAM83B,SAAS,GAAG,CAAA93B,KAAK,aAALA,KAAK,wBAAAy3B,YAAA,GAALz3B,KAAK,CAAE2b,KAAK,cAAA8b,YAAA,wBAAAC,gBAAA,GAAZD,YAAA,CAAcl0C,GAAG,CAAE6qB,IAAI,IAAKA,IAAI,CAAC3T,IAAI,CAAC,cAAAi9B,gBAAA,uBAAtCA,gBAAA,CAAwCz/B,IAAI,CAAC,IAAI,CAAC,KAAI,EAAE;MAE1E,OAAA1O,QAAA,KACK/F,IAAI;QACP2J,EAAE,EAAE,CAAA3J,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE2J,EAAE,KAAI,EAAE;QAClB2M,YAAY,EAAE,CAAAtW,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEwM,IAAI,MAAIgQ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEhQ,IAAI,KAAI,EAAE;QAC7CqN,QAAQ,EAAE,CAAA7Z,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE6Z,QAAQ,MAAI2C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEnU,YAAY,KAAI,EAAE;QACrDiP,KAAK,EAAE,CAAAkF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE+B,OAAO,KAAI,EAAE;QAC3B9K,QAAQ,EAAE,CAAAzT,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEyT,QAAQ,KAAI,EAAE;QAC9BrY,QAAQ,EAAE,CAAA4E,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE5E,QAAQ,KAAI,EAAE;QAC9BkjB,YAAY,EAAE,CAAAte,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEse,YAAY,KAAI,EAAE;QACtCra,MAAM,EAAE,CAAAjE,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEiE,MAAM,KAAI,EAAE;QAC1BqwC,SAAS;QACT3W,QAAQ,EAAE,CAAAnhB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEmhB,QAAQ,KAAI,EAAE;QAC/B/d,MAAM,EAAE,CAAApD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEoD,MAAM,KAAI,EAAE;QAC3B2zB,WAAW,EAAE,CAAAvzC,IAAI,aAAJA,IAAI,wBAAAm0C,qBAAA,GAAJn0C,IAAI,CAAEszC,iBAAiB,cAAAa,qBAAA,uBAAvBA,qBAAA,CAAyBZ,WAAW,KAAI,EAAE;QACvDnzB,WAAW,EAAE,CAAApgB,IAAI,aAAJA,IAAI,wBAAAo0C,kBAAA,GAAJp0C,IAAI,CAAEu0C,YAAY,cAAAH,kBAAA,uBAAlBA,kBAAA,CAAoBh0B,WAAW,KAAI,CAAC;QACjDC,gBAAgB,EAAE,CAAArgB,IAAI,aAAJA,IAAI,wBAAAq0C,mBAAA,GAAJr0C,IAAI,CAAEu0C,YAAY,cAAAF,mBAAA,uBAAlBA,mBAAA,CAAoBh0B,gBAAgB,KAAI;;KAE7D,CAAC;GACH,EAAE,CAAC0H,UAAU,CAAC,CAAC;EAEhB,MAAMhmB,YAAY,GAAG,CAAAtB,aAAa,aAAbA,aAAa,wBAAA4vC,qBAAA,GAAb5vC,aAAa,CAAEG,aAAa,cAAAyvC,qBAAA,uBAA5BA,qBAAA,CAA8BtuC,YAAY,MAAItB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEvE,UAAU,KAAI,CAAC;EAMjG,MAAMgtB,gBAAgB,GAAGC,iBAAW,CAClChsB,IAAA;IAAA,IAAGisB,WAAW,GAAAjsB,IAAA,CAAXisB,WAAW;MAAEtD,eAAe,GAAA3oB,IAAA,CAAf2oB,eAAe;MAAEC,iBAAiB,GAAA5oB,IAAA,CAAjB4oB,iBAAiB;IAAA,oBAChD1pB,cAAA,CAAAC,aAAA,CAACupB,0BAA0B;MAAOuD,WAAW;MAAEtD,eAAe;MAAEC,iBAAiB;MAAIC,UAAU,EAAC,QAAQ;MAAClmB,SAAS,EAAC;KAAU,CAAC;GAC/H,EACD,EACF,CAAC;EAED,MAAMupB,2BAA2B,GAAG;IAClCrC,MAAM,EAAE,aAAa;IACrBnrB,KAAK,EAAE+c,MAAM,CAACvd,KAAK,CAACwd,KAAK,CAACyQ,OAAO,CAACC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE;IACtD3tB,MAAM,EAAE,CAAC;IACTqrB,SAAS,EAAE;GACZ;EAED,MAAMuC,kBAAkB,GAAIxtB,IAAI,IAAK;IACnCA,IAAI,CAACytB,cAAc,CAAC,EAAE,CAAC,KAAWztB,IAAI,aAAJA,IAAI,qBAAX,OAAOA,IAAI,CAAG,EAAE,CAAC;IAC5CwoB,QAAQ,CAAC;MAAEe,MAAM,EAAE,iBAAiB;MAAEvpB,IAAI,EAAA+J,QAAA,KAAOsjB,2BAA2B;KAAI,CAAC;IACjF7E,QAAQ,CAAC;MAAEe,MAAM,EAAE,kBAAkB;MAAEvpB;KAAM,CAAC;GAC/C;EAED,MAAM0tB,uBAAuB,GAAG;IAC9BrhB,YAAY,EAAE,EAAE;IAChB3E,iBAAiB,EAAE,EAAE;IACrBimB,UAAU,EAAE;GACb;EAED,MAAMC,iBAAiB,GAAIC,kBAAkB,IAAK;IAChDA,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC;IACxCA,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,CAAC;IAC7CA,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC;IACtCrF,QAAQ,CAAC;MAAEe,MAAM,EAAE,kBAAkB;MAAEvpB,IAAI,EAAE0tB;KAAyB,CAAC;GACxE;EAED,MAAMI,kBAAkB,GAAG;IACzBZ,gBAAgB;IAChBM,kBAAkB;IAClBE,uBAAuB,EAAEpF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEoB,UAAU;IAC9CqE,4BAA4B,EAAEL,uBAAuB;IACrDE,iBAAiB;IACjB9pB,SAAS,EAAE;GACZ;EAeD,MAAM6B,gBAAgB,GAAI0E,CAAC,IAAK;IAC9B,MAAM8jB,QAAQ,GAAGrN,MAAM,CAACzW,CAAC,CAACoB,MAAM,CAAC5H,KAAK,CAAC;IAEvC2kB,QAAQ,CAAC;MACPe,MAAM,EAAE,iBAAiB;MACzBvpB,IAAI,EAAA+J,QAAA,KACCue,SAAS,CAACS,SAAS;QACtBlpB,KAAK,EAAEsuB,QAAQ;QACfvuB,MAAM,EAAE;;KAEX,CAAC;GACH;EAED,MAAM8oB,eAAe,GAAIre,CAAC,IAAK;IAC7B,IAAIA,CAAC,CAACoC,MAAM,GAAG,CAAC,EAAE;MAChB,MAAA2hB,GAAA,GAAuB/jB,CAAC;QAAfsD,EAAE,GAAAygB,GAAA,CAAFzgB,EAAE;QAAE0gB,IAAI,GAAAD,GAAA,CAAJC,IAAI;MACjB,MAAMpD,SAAS,GAAGoD,IAAI,GAAG,MAAM,GAAG,KAAK;MACvC,MAAMrD,MAAM,GAAGrd,EAAE;MAEjB,IAAI,EAAE2a,SAAS,CAACS,SAAS,CAACiC,MAAM,KAAKA,MAAM,IAAI1C,SAAS,CAACS,SAAS,CAACkC,SAAS,KAAKA,SAAS,CAAC,EAAE;QAC3FzC,QAAQ,CAAC;UACPe,MAAM,EAAE,iBAAiB;UACzBvpB,IAAI,EAAA+J,QAAA,KACCue,SAAS,CAACS,SAAS;YACtBiC,MAAM,EAAErd,EAAE;YACVsd,SAAS,EAAEoD,IAAI,GAAG,MAAM,GAAG;;SAE9B,CAAC;;;GAGP;EAED,MAAMC,kBAAkB,GAAGupB,0BAA0B,CAAA9tC,QAAA,KAChD;IACDpE,gBAAgB;IAChB2iB,SAAS;IACTpoB,UAAU,EAAE6F,YAAY;IACxBwiB,KAAK,EAAEyD,YAAY;IACnBxD,QAAQ;IACRE,eAAe;IACftpB,QAAQ;IACRwpB,WAAW,EAAE;MAAE2F,SAAS,EAAE,QAAQ;MAAEC,SAAS,EAAE;KAAU;IACzD1F,UAAU,EAAE;MAAEzkB,KAAK,EAAE;;GACtB,CACF,CAAC;EAEF,MAAMoqB,cAAc,GAAGxuB,SAAS;EA+ChC,oBACEI,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,CAACouB,oCAAa,EAAA3kB,QAAA;IAEV0kB;KAEGX,kBAAkB;IAGrBQ,kBAAkB;IAElBhG,SAAS;IACTlnB,SAAS,EAAEqD,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEG,aAAa;IAEvC4zC,aAAa,EAAER;IAElB,CACE,CAAC;AAEV,CAAC;;AC/OD,MAAMS,cAAc,GAAGA,MAAM;EAAA,IAAA95B,qBAAA,EAAA+5B,mBAAA,EAAAtE,gBAAA;EACzB,MAAAn1C,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM6G,OAAO,GAAGC,yBAAU,EAAE;EAC5B,IAAI7G,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACpD,IAAI,CAACH,QAAQ,IAAIA,QAAQ,KAAK,IAAI,EAAE;IAChCA,QAAQ,GAAG,QAAQ;;EAEvB,MAAM0gB,YAAY,IAAAnB,qBAAA,GAAGtf,KAAK,CAACsb,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAA+D,qBAAA,uBAAhCA,qBAAA,CAAkCha,IAAI;EAG3D,MAAA0a,qBAAA,GAAyEhgB,KAAK,CAACI,KAAK,CAAC6f,GAAG,CAACC,YAAY,CACjGngB,QAAQ,EACR;MAAE6I,MAAM,EAAE;KAAU,EACpB;MAAEnI,OAAO,EAAE,CAAC,CAACV;KACjB,CAAC;IAJaogB,oBAAoB,GAAAH,qBAAA,CAA1Brf,IAAI;IAAmCyf,qBAAqB,GAAAJ,qBAAA,CAAhCpf,SAAS;EAO7C,MAAAT,qBAAA,GAA6DH,KAAK,CAACI,KAAK,CAACC,IAAI,CAACuf,yBAAyB,CAAC;MACpGnf,OAAO,EAAE,CAAC,CAACV,QAAQ;MACnB8f,gBAAgB,EAAE;KACrB,CAAC;IAHYE,YAAY,GAAA5f,qBAAA,CAAlBQ,IAAI;IAA2Bmf,iBAAiB,GAAA3f,qBAAA,CAA5BS,SAAS;EAKrC,MAAM04C,WAAW,GAAGj0C,aAAO,CAAC,MAAM;IAC9B,IAAI8a,oBAAoB,IAAIA,oBAAoB,CAAC/S,MAAM,GAAG,CAAC,EAAE;MACzD,OAAO+S,oBAAoB,CAACzb,GAAG,CAAEoc,CAAC,IAAK;QAAA,IAAA4B,qBAAA,EAAA62B,UAAA,EAAAx4B,QAAA,EAAAy4B,WAAA;QACnC,MAAMC,GAAG,GAAG34B,CAAC,CAACU,UAAU,IAAIV,CAAC;QAC7B,MAAM44B,eAAe,GAAGD,GAAG,CAAChoC,WAAW,IAAI,EAAE;QAC7C,MAAMkoC,aAAa,GAAGF,GAAG,CAACxD,SAAS,IAAI,EAAE;QAGzC,MAAM2D,aAAa,GAAGF,eAAe,CAACh1C,GAAG,CAAE8d,CAAC;UAAA,IAAAg0B,QAAA;UAAA,OAAKh0B,CAAC,CAAClU,EAAE,MAAAkoC,QAAA,GAAIh0B,CAAC,CAACrB,KAAK,cAAAq1B,QAAA,uBAAPA,QAAA,CAAS71B,IAAI;UAAC,CAACrJ,MAAM,CAAC8N,OAAO,CAAC;QAGvF,MAAMy0B,cAAc,GAAG,CAAA95B,YAAY,aAAZA,YAAY,wBAAA2C,qBAAA,GAAZ3C,YAAY,CAAEgD,gBAAgB,cAAAL,qBAAA,uBAA9BA,qBAAA,CAAgCpL,MAAM,CACxDxL,CAAC,IAAK8tC,aAAa,CAACliC,QAAQ,CAAC5L,CAAC,CAACmX,YAAY,CAChD,CAAC,KAAI,EAAE;QAEP,MAAM3gB,SAAS,GAAGu3C,cAAc,CAACx2B,MAAM,CAAC,CAACC,GAAG,EAAExX,CAAC,KAAKwX,GAAG,IAAIxX,CAAC,CAACqW,aAAa,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QACpF,MAAM/f,OAAO,GAAGy3C,cAAc,CAACx2B,MAAM,CAAC,CAACC,GAAG,EAAExX,CAAC,KAAKwX,GAAG,IAAIxX,CAAC,CAACsW,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAChF,MAAMjgB,KAAK,GAAG03C,cAAc,CAACx2B,MAAM,CAAC,CAACC,GAAG,EAAExX,CAAC,KAAKwX,GAAG,IAAIxX,CAAC,CAACmW,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5E,MAAMzQ,QAAQ,GAAGrP,KAAK,GAAG,CAAC,GAAGO,IAAI,CAACC,KAAK,CAAEL,SAAS,GAAGH,KAAK,GAAI,GAAG,CAAC,GAAG,CAAC;QACtE,MAAMqD,QAAQ,GAAG,CAAC;QAElB,OAAO;UACH8I,EAAE,EAAEmrC,GAAG,CAACnrC,EAAE,IAAImrC,GAAG,CAACrhC,QAAQ,IAAI0I,CAAC,CAACxS,EAAE,IAAIwS,CAAC,CAAC1I,QAAQ;UAChDjH,IAAI,EAAEsoC,GAAG,CAACtoC,IAAI,IAAIsoC,GAAG,CAACK,WAAW,IAAIh5B,CAAC,CAAC3P,IAAI,IAAI,KAAK;UACpD4oC,SAAS,EAAE,EAAAR,UAAA,GAAAE,GAAG,CAACt4B,KAAK,cAAAo4B,UAAA,uBAATA,UAAA,CAAWpoC,IAAI,OAAA4P,QAAA,GAAID,CAAC,CAACK,KAAK,cAAAJ,QAAA,uBAAPA,QAAA,CAAS5P,IAAI,KAAI,KAAK;UACpDnE,YAAY,EAAEysC,GAAG,CAACzsC,YAAY,MAAAwsC,WAAA,GAAIC,GAAG,CAACt4B,KAAK,cAAAq4B,WAAA,uBAATA,WAAA,CAAWxsC,YAAY,KAAI8T,CAAC,CAAC9T,YAAY,IAAI,KAAK;UACpFyE,WAAW,EAAEioC,eAAe,CAACtsC,MAAM;UACnC6oC,SAAS,EAAE0D,aAAa,CAACvsC,MAAM;UAC/B9K,SAAS,EAAEA,SAAS;UACpBkP,QAAQ,EAAEA,QAAQ;UAClBpP,OAAO,EAAEA,OAAO;UAChBoD,QAAQ,EAAEA;SACb;OACJ,CAAC;;IAEN,OAAO,EAAE;GACZ,EAAE,CAAC2a,oBAAoB,EAAEJ,YAAY,CAAC,CAAC;EAExC,MAAA/Y,SAAA,GAAsDC,cAAQ,CAAC,KAAK,CAAC;IAA9D2c,mBAAmB,GAAA5c,SAAA;IAAE6c,sBAAsB,GAAA7c,SAAA;EAClD,MAAA8P,UAAA,GAAsC7P,cAAQ,CAAC,CAAC,CAAC;IAA1Cb,WAAW,GAAA0Q,UAAA;EAClB,MAAA6M,UAAA,GAAgC1c,cAAQ,CAAC,EAAE,CAAC;IAArCwc,QAAQ,GAAAE,UAAA;EAIf,MAAAuI,sBAAA,GAAoElsB,KAAK,CAACI,KAAK,CAACC,IAAI,CAACC,sBAAsB,CACvG,EAAE,EACF;MACIP,QAAQ;MACRQ,MAAM,EAAE6F,WAAW,GAAGqd,QAAQ;MAC9BjjB,KAAK,EAAEijB;KACV,EACD;MACI5D,gBAAgB,EAAE;KAE1B,CAAC;EAED,MAAMsF,QAAQ,GAAG,CAAA1E,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEtP,IAAI,KAAI,OAAO;EAC9C,MAAMnE,YAAY,GAAG,CAAAyT,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEzT,YAAY,KAAI,KAAK;EAExD,MAAMgtC,QAAQ,GAAG,CAAAv5B,YAAY,aAAZA,YAAY,wBAAA44B,mBAAA,GAAZ54B,YAAY,CAAEqc,KAAK,cAAAuc,mBAAA,uBAAnBA,mBAAA,CAAqB30C,GAAG,CAAEoH,CAAC,IAAKA,CAAC,CAACqF,IAAI,CAAC,CAACiI,IAAI,CAAC,IAAI,CAAC,KAAI,YAAY;EAGnF,MAAM0K,sBAAsB;IAAA,IAAe;MACvCD,sBAAsB,CAAC,IAAI,CAAC;MAAC,OAAA5F,OAAA,CAAAC,OAAA,CAAAtD,gBAAA;QAAA,OAAAL,MAAA,aACzB;UAAA,OAAA0D,OAAA,CAAAC,OAAA,CACuBle,KAAK,CAAC+jB,WAAW,CAACC,gBAAgB,CAAC;YACtDjkB,QAAQ,EAAEA,QAAQ;YAClBQ,MAAM,EAAE,CAAC;YACTC,KAAK,EAAE,KAAK;YACZyjB,cAAc,EAAE;WACnB,CAAC,EAAAtJ,IAAA,WALIuJ,QAAQ;YAOd,MAAMC,YAAY,GAAG,CAAAD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEC,YAAY,KAAI,EAAE;YACjD,IAAIA,YAAY,CAAC/W,MAAM,KAAK,CAAC,EAAE;cAC3B4M,KAAK,CAACla,CAAC,CAAC,eAAe,CAAC,IAAI,6BAA6B,CAAC;cAC1D;;YAGJ,MAAMskB,YAAY,GAAG,CACjB,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAC/E,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EACjF,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAC1E,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EACjF,YAAY,EAAE,cAAc,CAC/B;YAED,MAAMC,aAAa,GAAG;cAClB7c,GAAG,EAAE1H,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK;cACtBye,SAAS,EAAEze,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY;cAC1CwkB,UAAU,EAAExkB,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7C2e,QAAQ,EAAE3e,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;cACvCykB,MAAM,EAAEzkB,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC/BkN,YAAY,EAAElN,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;cACnDojB,OAAO,EAAEpjB,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACpC0kB,mBAAmB,EAAE1kB,CAAC,CAAC,qBAAqB,CAAC,IAAI,qBAAqB;cACtE2kB,YAAY,EAAE3kB,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cACjD4kB,GAAG,EAAE5kB,CAAC,CAAC,KAAK,CAAC,IAAI,eAAe;cAChCkJ,UAAU,EAAElJ,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7C4e,QAAQ,EAAE5e,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cAC7B6kB,QAAQ,EAAE7kB,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACrC8kB,IAAI,EAAE9kB,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cACzB+kB,OAAO,EAAE/kB,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS;cAClCglB,KAAK,EAAEhlB,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC9BilB,WAAW,EAAEjlB,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cAChDklB,gBAAgB,EAAEllB,CAAC,CAAC,oBAAoB,CAAC,IAAI;aAChD;YAED,MAAMmlB,SAAS,GAAGd,YAAY,CAACzf,GAAG,CAAEC,IAAI,IAAK;cACzC,MAAMugB,QAAQ,GAAG,EAAE;cAEnB,MAAM/T,IAAI,GAAG,CAACxM,IAAI,CAAC4Z,SAAS,EAAE5Z,IAAI,CAAC2f,UAAU,EAAE3f,IAAI,CAAC8Z,QAAQ,CAAC,CAACnH,MAAM,CAAC8N,OAAO,CAAC,CAAChM,IAAI,CAAC,GAAG,CAAC;cACvF,IAAIjI,IAAI,EAAE;gBACN+T,QAAQ,CAACplB,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,GAAGqR,IAAI;;cAG1DkU,MAAM,CAACC,IAAI,CAAC3gB,IAAI,CAAC,CAAC4gB,OAAO,CAAC3gB,GAAG,IAAI;gBAC7B,IAAIwf,YAAY,CAAC1M,QAAQ,CAAC9S,GAAG,CAAC,EAAE;gBAEhC,MAAMqY,GAAG,GAAGtY,IAAI,CAACC,GAAG,CAAC;gBACrB,IAAI,OAAOqY,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,EAAE;kBACzC;;gBAGJ,MAAMuI,cAAc,GAAGnB,aAAa,CAACzf,GAAG,CAAC,IAAI9E,CAAC,CAAC8E,GAAG,CAACsE,WAAW,EAAE,CAAC,IAAItE,GAAG;gBACxEsgB,QAAQ,CAACM,cAAc,CAAC,GAAGvI,GAAG;eACjC,CAAC;cAEF,OAAOiI,QAAQ;aAClB,CAAC;YAEF,MAAMO,aAAa,4BAA0BN,QAAQ,CAAChO,OAAO,CAAC,eAAe,EAAE,GAAG,CAAG;YACrFnX,KAAK,CAAC0lB,QAAQ,CAACC,KAAK,CAACV,SAAS,EAAEQ,aAAa,CAAC;;SACjD,YAAQzH,KAAK,EAAE;UACZD,OAAO,CAACC,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;SACxD;mBAAA4H,UAAA,EAAAC,OAAA;QACGhC,sBAAsB,CAAC,KAAK,CAAC;QAAC,IAAA+B,UAAA,QAAAC,OAAA;QAAA,OAAAA,OAAA;;KAErC,QAAA7a,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EAED,oBACIhK,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC;kBACZzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAU0gB,QAAQ,aAARA,QAAQ,wBAAA4vB,gBAAA,GAAR5vB,QAAQ,CAAE+C,MAAM,CAAC,CAAC,CAAC,cAAA6sB,gBAAA,uBAAnBA,gBAAA,CAAqB7rC,WAAW,EAAQ,CAAC,eAClElI,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAIwD,SAAS,EAAC;KAAQ0gB,QAAa,CAAC,eACpCnkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAe3E,CAAC,CAAC,YAAY,CAAC,IAAI,sBAA4B,CAAC,eAC9EkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAiBuI,YAAkB,CAEjD,CACJ,CAAC,eACNhM,cAAA,CAAAC,aAAA;IACIwD,SAAS,EAAC,oBAAoB;IAC9B0jB,QAAQ,EAAEvE,mBAAoB;IAC9Btb,OAAO,EAAEwb,sBAAuB;IAChCjf,KAAK,EAAE;MAAEmO,MAAM,EAAE,CAAC;MAAE/I,OAAO,EAAE,UAAU;MAAEhF,MAAM,EAAE,MAAM;MAAEoQ,SAAS,EAAE,MAAM;MAAErQ,KAAK,EAAE;;kBAEnFhE,cAAA,CAAAC,aAAA;IAAK+D,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACqG,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,cAAc;IAACC,WAAW,EAAC,KAAK;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC,OAAO;IAAC9G,KAAK,EAAE;MAAEo1C,WAAW,EAAE;;kBACnKj5C,cAAA,CAAAC,aAAA;IAAMqL,CAAC,EAAC;GAA6C,CAAC,eACtDtL,cAAA,CAAAC,aAAA;IAAUqnB,MAAM,EAAC;GAAoB,CAAC,eACtCtnB,cAAA,CAAAC,aAAA;IAAM8K,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC;GAAK,CACrC,CAAC,EACL0X,mBAAmB,GAAG9jB,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,GAAGA,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBACjF,CACP,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAE2R,SAAS,EAAE;;kBACrBxV,cAAA,CAAAC,aAAA;IAAI4D,KAAK,EAAE;MAAEgP,QAAQ,EAAE,MAAM;MAAEnF,UAAU,EAAE,KAAK;MAAEnK,KAAK,EAAE,SAAS;MAAE+P,YAAY,EAAE;;KAC7ExU,CAAC,CAAC,0BAA0B,CAAC,IAAI,0BAClC,CAAC,EAEJsgB,qBAAqB,IAAIN,iBAAiB,gBACvC9e,cAAA,CAAAC,aAAA,CAACwE,6BAAM,MAAE,CAAC,gBAEVzE,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MACRV,OAAO,EAAE,MAAM;MACf+1C,mBAAmB,EAAE,gBAAgB;MACrCzoB,GAAG,EAAE,MAAM;MACXzsB,KAAK,EAAE;;KAENs0C,WAAW,CAAClsC,MAAM,KAAK,CAAC,gBACrBpM,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEs1C,UAAU,EAAE,QAAQ;MAAExsC,SAAS,EAAE,QAAQ;MAAE1D,OAAO,EAAE,MAAM;MAAE1F,KAAK,EAAE,SAAS;MAAEsP,QAAQ,EAAE;;KACjG/T,CAAC,CAAC,kBAAkB,CAAC,IAAI,mBACzB,CAAC,GAENw5C,WAAW,CAAC50C,GAAG,CAAE6S,MAAM,iBACnBvW,cAAA,CAAAC,aAAA;IACI2D,GAAG,EAAE2S,MAAM,CAACjJ,EAAG;IACfhG,OAAO,EAAEA,MAAM3B,OAAO,CAACc,IAAI,sCAAoC8P,MAAM,CAACjJ,EAAI,CAAE;IAC5EzJ,KAAK,EAAE;MACHC,UAAU,EAAE,SAAS;MACrBoP,MAAM,EAAE,mBAAmB;MAC3BC,YAAY,EAAE,MAAM;MACpBlK,OAAO,EAAE,MAAM;MACfmK,SAAS,EAAE,wEAAwE;MACnFJ,MAAM,EAAE,SAAS;MACjBomC,UAAU,EAAE,uCAAuC;MACnDj2C,OAAO,EAAE,MAAM;MACfmwB,aAAa,EAAE,QAAQ;MACvBrC,cAAc,EAAE,eAAe;MAC/BR,GAAG,EAAE;KACP;IACF4oB,YAAY,EAAGrvC,CAAC,IAAK;MACjBA,CAAC,CAACsvC,aAAa,CAACz1C,KAAK,CAAC01C,SAAS,GAAG,kBAAkB;MACpDvvC,CAAC,CAACsvC,aAAa,CAACz1C,KAAK,CAACuP,SAAS,GAAG,0EAA0E;MAC5GpJ,CAAC,CAACsvC,aAAa,CAACz1C,KAAK,CAACjB,WAAW,GAAG,SAAS;KAC/C;IACF42C,YAAY,EAAGxvC,CAAC,IAAK;MACjBA,CAAC,CAACsvC,aAAa,CAACz1C,KAAK,CAAC01C,SAAS,GAAG,eAAe;MACjDvvC,CAAC,CAACsvC,aAAa,CAACz1C,KAAK,CAACuP,SAAS,GAAG,wEAAwE;MAC1GpJ,CAAC,CAACsvC,aAAa,CAACz1C,KAAK,CAACjB,WAAW,GAAG,SAAS;;kBAGjD5C,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEV,OAAO,EAAE,MAAM;MAAE8tB,cAAc,EAAE,eAAe;MAAEwF,UAAU,EAAE;;kBACxEz2B,cAAA,CAAAC,aAAA,2BACID,cAAA,CAAAC,aAAA;IAAI4D,KAAK,EAAE;MAAEgP,QAAQ,EAAE,MAAM;MAAEnF,UAAU,EAAE,KAAK;MAAEnK,KAAK,EAAE,SAAS;MAAEyO,MAAM,EAAE;;KACvEuE,MAAM,CAACpG,IACR,CAAC,eAILnQ,cAAA,CAAAC,aAAA;IAAG4D,KAAK,EAAE;MAAEgP,QAAQ,EAAE,MAAM;MAAEtP,KAAK,EAAE,SAAS;MAAEiS,SAAS,EAAE,KAAK;MAAElC,YAAY,EAAE;;KAC3ExU,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAC,IAAE,EAACyX,MAAM,CAACvK,YACpC,CACF,CAAC,eACNhM,cAAA,CAAAC,aAAA;IAAM4D,KAAK,EAAE;MACTC,UAAU,EAAE,SAAS;MACrBP,KAAK,EAAE,SAAS;MAChB0F,OAAO,EAAE,UAAU;MACnBkK,YAAY,EAAE,OAAO;MACrBN,QAAQ,EAAE,MAAM;MAChBnF,UAAU,EAAE;;KAEX6I,MAAM,CAAC/F,QAAQ,EAAC,GACf,CACL,CAAC,eAENxQ,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEG,KAAK,EAAE,MAAM;MAAEC,MAAM,EAAE,KAAK;MAAEH,UAAU,EAAE,SAAS;MAAEqP,YAAY,EAAE,OAAO;MAAEojB,QAAQ,EAAE;;kBAChGv2B,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEG,KAAK,EAAKuS,MAAM,CAAC/F,QAAQ,MAAG;MAAEvM,MAAM,EAAE,MAAM;MAAEH,UAAU,EAAE,kDAAkD;MAAEqP,YAAY,EAAE;;GAAgB,CACzJ,CAAC,eAENnT,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEV,OAAO,EAAE,MAAM;MAAE+1C,mBAAmB,EAAE,gBAAgB;MAAEzoB,GAAG,EAAE;;kBACvEzwB,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEC,UAAU,EAAE,SAAS;MAAEmF,OAAO,EAAE,UAAU;MAAEkK,YAAY,EAAE,MAAM;MAAExG,SAAS,EAAE;;kBACvF3M,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEgP,QAAQ,EAAE,MAAM;MAAEnF,UAAU,EAAE,KAAK;MAAEnK,KAAK,EAAE;;KAAcgT,MAAM,CAAC9F,WAAiB,CAAC,eACjGzQ,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEgP,QAAQ,EAAE,MAAM;MAAEnF,UAAU,EAAE,KAAK;MAAEnK,KAAK,EAAE,SAAS;MAAEszB,aAAa,EAAE,WAAW;MAAErhB,SAAS,EAAE;;KAAU1W,CAAC,CAAC,aAAa,CAAC,IAAI,aAAmB,CAC5J,CAAC,eACNkB,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEC,UAAU,EAAE,SAAS;MAAEmF,OAAO,EAAE,UAAU;MAAEkK,YAAY,EAAE,MAAM;MAAExG,SAAS,EAAE;;kBACvF3M,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEgP,QAAQ,EAAE,MAAM;MAAEnF,UAAU,EAAE,KAAK;MAAEnK,KAAK,EAAE;;KAAcgT,MAAM,CAAC0+B,SAAe,CAAC,eAC/Fj1C,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEgP,QAAQ,EAAE,MAAM;MAAEnF,UAAU,EAAE,KAAK;MAAEnK,KAAK,EAAE,SAAS;MAAEszB,aAAa,EAAE,WAAW;MAAErhB,SAAS,EAAE;;KAAU1W,CAAC,CAAC,WAAW,CAAC,IAAI,WAAiB,CACxJ,CAAC,eACNkB,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEC,UAAU,EAAE,SAAS;MAAEmF,OAAO,EAAE,UAAU;MAAEkK,YAAY,EAAE,MAAM;MAAExG,SAAS,EAAE;;kBACvF3M,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEgP,QAAQ,EAAE,MAAM;MAAEnF,UAAU,EAAE,KAAK;MAAEnK,KAAK,EAAE;;KAAcgT,MAAM,CAACjV,SAAe,CAAC,eAC/FtB,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEgP,QAAQ,EAAE,MAAM;MAAEnF,UAAU,EAAE,KAAK;MAAEnK,KAAK,EAAE,SAAS;MAAEszB,aAAa,EAAE,WAAW;MAAErhB,SAAS,EAAE;;KAAU1W,CAAC,CAAC,WAAW,CAAC,IAAI,WAAiB,CACxJ,CACJ,CAAC,eAENkB,cAAA,CAAAC,aAAA;IAAK4D,KAAK,EAAE;MAAEV,OAAO,EAAE,MAAM;MAAE8tB,cAAc,EAAE,eAAe;MAAEpe,QAAQ,EAAE,MAAM;MAAEtP,KAAK,EAAE,SAAS;MAAE2zB,SAAS,EAAE,mBAAmB;MAAEyL,UAAU,EAAE;;kBAC5I3iC,cAAA,CAAAC,aAAA,eAAOnB,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,EAAC,IAAE,eAAAkB,cAAA,CAAAC,aAAA;IAAM4D,KAAK,EAAE;MAAE6J,UAAU,EAAE,KAAK;MAAEnK,KAAK,EAAE;;KAAcgT,MAAM,CAACnV,OAAc,CAAO,CAAC,eACvHpB,cAAA,CAAAC,aAAA,eAAOnB,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU,EAAC,IAAE,eAAAkB,cAAA,CAAAC,aAAA;IAAM4D,KAAK,EAAE;MAAE6J,UAAU,EAAE,KAAK;MAAEnK,KAAK,EAAE;;KAAcgT,MAAM,CAAC/R,QAAe,CAAO,CACxH,CACJ,CACR,CAEJ,CAER,CAEH,CAAC;AAEf,CAAC;;AC1RD,MAAMi1C,WAAW,GAAG34C,IAAA,IAAc;EAAA,IAAXmxB,IAAI,GAAAnxB,IAAA,CAAJmxB,IAAI;EACzB,MAAArzB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAMkS,QAAQ,GAAG2E,0BAAW,EAAE;EAE9B+d,cAAc,CAACkB,UAAU,CAAC,iBAAiB,CAAC;EAE5C,MAAM8kB,qBAAqB,GAAGA,MAAM;IAClC,MAAMxjC,QAAQ,GAAGlF,QAAQ,CAACkF,QAAQ;IAGlC,MAAMyjC,MAAM,GAAG,CACb;MAAEtiC,IAAI,EAAEhN,+BAAQ;MAAE4nB,IAAI,EAAE;KAAsB,EAC9C;MAAE3xB,KAAK,EAAExB,CAAC,CAAC,kBAAkB,CAAC;MAAEmzB,IAAI;KAAuC,CAC5E;IAGD,IAAI/b,QAAQ,CAACQ,QAAQ,CAAC,aAAa,CAAC,EAAE;MACpCijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,iBAAiB;OAAG,CAAC;KAC7C,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,mBAAmB,CAAC,EAAE;MACjDijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,uBAAuB;OAAG,CAAC;KACnD,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,kBAAkB,CAAC,EAAE;MAChDijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,sBAAsB;OAAG,CAAC;KAClD,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,gBAAgB,CAAC,EAAE;MAC9CijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,oBAAoB;OAAG,CAAC;KAChD,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,gBAAgB,CAAC,EAAE;MAC9CijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,oBAAoB;OAAG,CAAC;KAChD,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,SAAS,CAAC,EAAE;MACvCijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,YAAY,CAAC;QAAEmzB,IAAI;OAAmC,CAAC;MAC9E0nB,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,aAAa;OAAG,CAAC;KACzC,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,0BAA0B,CAAC,EAAE;MACxDijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,aAAa,CAAC;QAAEmzB,IAAI;OAAoC,CAAC;MAChF0nB,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,uBAAuB;OAAG,CAAC;KACnD,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,SAAS,CAAC,EAAE;MACvCijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,aAAa;OAAG,CAAC;KACzC,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,gBAAgB,CAAC,EAAE;MAC9CijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,0BAA0B;OAAG,CAAC;KACtD,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,kBAAkB,CAAC,EAAE;MAChDijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,sBAAsB,CAAC,IAAI;OAAmB,CAAC;KACvE,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,WAAW,CAAC,EAAE;MACzCijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,qBAAqB;OAAG,CAAC;KACjD,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,UAAU,CAAC,EAAE;MACxCijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,cAAc;OAAG,CAAC;KAC1C,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,YAAY,CAAC,EAAE;MAC1CijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,gBAAgB;OAAG,CAAC;KAC5C,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,QAAQ,CAAC,EAAE;MACtCijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,YAAY;OAAG,CAAC;;IAIzC,OAAO66C,MAAM;GACd;EAED,MAAMvM,cAAc,GAAG,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,CAAC;EAEhG,oBACEptC,cAAA,CAAAC,aAAA,CAAC25C,mCAAY,qBACX55C,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,CAAC45C,mCAAY;IACXC,WAAW,eACT95C,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACgnB,QAAQ,qBACbhnB,cAAA,CAAAC,aAAA,CAAC85C,gCAAS;MAACt2C,SAAS,EAAC;KAAQ,CAAC,QAEhB,CACjB;IACDu2C,WAAW,EAAEA,MAAMz9B,MAAM,CAAC5W,OAAO,CAACs0C,IAAI,EAAG;IACzCC,WAAW,EAAER,qBAAqB;GACnC,CAAC,eAEF15C,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,CAAC4tC,qBAAM,qBACL7tC,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,eAAa;IAC1BuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACiE,SAAS;MAACqB,WAAW,EAAE0sB,IAAK;MAACqoB,eAAe,EAAC,MAAM;MAAC1xC,UAAU,EAAC,MAAM;MAAC2xC,OAAO,EAAE;KAAO,CAC1E;GAElB,CAAC,eACFv6C,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,WAAS;IACtBuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACqqB,KAAK;MAAC/kB,WAAW,EAAE0sB,IAAK;MAACqoB,eAAe,EAAC,MAAM;MAAC1xC,UAAU,EAAC,MAAM;MAAC2xC,OAAO,EAAE;KAAO,CACtE;GAElB,CAAC,eAEFv6C,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,gBAAc;IAC3BuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACuzB,MAAM,MAAE,CACI;GAElB,CAAC,eAEFxzB,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,aAAW;IACxBuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACwuB,OAAO,MAAE,CACG;GAElB,CAAC,eACFzuB,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,YAAU;IACvBuoB,KAAK;IACLhW,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACw3C,UAAU,MAAE,CACA;GAElB,CAAC,eACFz3C,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,iCAA+B;IAC5CuoB,KAAK;IACLhW,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACw6C,wBAAmB,MAAE,CACT;GAElB,CAAC,eAEFz6C,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAEmb,cAAc,CAAC1pC,GAAG,CAAE0nC,KAAK,IAAQnZ,IAAI,SAAImZ,KAAO,CAAE;IACxD5G,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAAC4rC,QAAQ,EAAAniC,QAAA,KAAK5E,KAAK;MAAEmtB,IAAI,EAAEA;MAAO,CACrB;GAElB,CAAC,eAEFjyB,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,iBAAe;IAC5BuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACm3B,MAAM,MAAE,CACI;GAElB,CAAC,eAEFp3B,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,mBAAiB;IAC9BuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACwV,YAAY,MAAE,CACF;GAElB,CAAC,eAEFzV,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,qBAAmB;IAChCuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACm4C,cAAc,MAAE,CACJ;GAElB,CAAC,eAEFp4C,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,uBAAqB;IAClCuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACoe,iBAAiB,MAAE,CACP;GAElB,CAMK,CACL,CACF,CACO,CAAC;AAEnB,CAAC;;AC9LD,MAAMq8B,kBAAkB,GAAG,UAAC57C,CAAC,EAAEykC,QAAQ,EAAOC,UAAU,EAAEmX,aAAa,EAAEC,eAAe,EAAEC,gBAAgB,EAAEC,kBAAkB,EAAK;EAAA,IAAAnX,SAAA,EAAAoX,qBAAA,EAAAlX,UAAA;EAAA,IAApGN,QAAQ;IAARA,QAAQ,GAAG,EAAE;;EAC1C,MAAMyX,YAAY,GAAG,EAAArX,SAAA,GAAAJ,QAAQ,cAAAI,SAAA,wBAAAoX,qBAAA,GAARpX,SAAA,CAAUqX,YAAY,cAAAD,qBAAA,uBAAtBA,qBAAA,CAAwB5qC,IAAI,OAAA0zB,UAAA,GAAIN,QAAQ,cAAAM,UAAA,uBAARA,UAAA,CAAUmX,YAAY;EAC3E,MAAMC,OAAO,GAAGD,YAAY,KAAK,OAAO;EACxC,MAAME,mBAAmB,GAAGF,YAAY,KAAK,UAAU,IAAIA,YAAY,KAAK,cAAc;EAE1F,MAAM3kB,MAAM,GAAG,CACb;IACE/1B,KAAK,EAAExB,CAAC,CAAC,YAAY,CAAC;IACtBwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE;;GAET,EACD;IACE7P,KAAK,EAAExB,CAAC,CAAC,eAAe,CAAC;IACzBwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,cAAc;IACnB2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,cAAc;MACpBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;QACPC,MAAM,EAAE,CACN;UAAEuC,IAAI,EAAE;SAAe,EACvB;UAAEA,IAAI,EAAE;SAAc,EACtB;UAAEA,IAAI,EAAE;SAAS,EACjB;UAAEA,IAAI,EAAE;SAAY,EACpB;UAAEA,IAAI,EAAE;SAAgB,CACxB;QACFtC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;QACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;OACf;;GAGN,EACD;IACEvJ,KAAK,EAAExB,CAAC,CAAC,uBAAuB,CAAC;IACjCwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,qBAAqB;IAC1B2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,qBAAqB;MAC3Bq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;QACPC,MAAM,EAAE,EAAG;QACXC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;QACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;OACf;;GAGN,EACD;IACEvJ,KAAK,EAAExB,CAAC,CAAC,eAAe,CAAC;IACzBwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,QAAQ;IACd+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE,YAAY;MAClBs0B,UAAU,EAAE;QACVC,QAAQ,EAAE,IAAI;QACd5rB,GAAG,EAAE;;;GAGV,EACD;IACExY,KAAK,EAAExB,CAAC,CAAC,uBAAuB,CAAC;IACjCwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE;;GAET,EACD;IACE7P,KAAK,EAAE46C,mBAAmB,GAAGp8C,CAAC,CAAC,YAAY,CAAC,GAAGA,CAAC,CAAC,YAAY,CAAC;IAC9DwlC,WAAW,EAAE4W,mBAAmB;IAChC14C,IAAI,EAAE,QAAQ;IACd+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE,UAAU;MAChBs0B,UAAU,EAAEyW,mBAAmB,GAAG;QAAExW,QAAQ,EAAE,IAAI;QAAE5rB,GAAG,EAAE;OAAG,GAAG;;GAElE,EACD;IACExY,KAAK,EAAE26C,OAAO,GAAGn8C,CAAC,CAAC,cAAc,CAAC,GAAGA,CAAC,CAAC,cAAc,CAAC;IACtDwlC,WAAW,EAAE2W,OAAO;IACpBz4C,IAAI,EAAE,QAAQ;IACd+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE,WAAW;MACjBs0B,UAAU,EAAEwW,OAAO,GAAG;QAAEvW,QAAQ,EAAE,IAAI;QAAE5rB,GAAG,EAAE;OAAG,GAAG;;GAEtD,EACD;IACExY,KAAK,EAAExB,CAAC,CAAC,0BAA0B,CAAC;IACpCwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,QAAQ;IACd+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE;;GAET,EACD;IACE7P,KAAK,EAAExB,CAAC,CAAC,gBAAgB,CAAC;IAC1BwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,eAAe;IACpB2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,eAAe;MACrBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,CAAC0kC,iCAAU;QACTC,QAAQ,EAAG56B,CAAC,IAAKw5B,UAAU,CAACx5B,CAAC,EAAElF,KAAK,CAAC+E,QAAQ,CAAE;QAC/Cg7B,QAAQ,EAAEA,MAAM;UACd//B,KAAK,CAAC+E,QAAQ,CAAC,IAAI,CAAC;UACpBgxC,gBAAgB,CAAC,IAAI,CAAC;UACtBC,kBAAkB,CAAC,IAAI,CAAC;SACxB;QACFxxB,OAAO,EAAEsxB,eAAe,GAAG97C,CAAC,CAAC,UAAU,CAAC,GAAGA,CAAC,CAAC,kBAAkB;OAChE,CAAC,EACD67C,aAAa,iBACZ36C,cAAA,CAAAC,aAAA;QAAK4D,KAAK,EAAE;UAAE2R,SAAS,EAAE;;sBACvBxV,cAAA,CAAAC,aAAA;QACEijC,GAAG,EAAEyX,aAAc;QACnBxX,GAAG,EAAC,SAAS;QACbt/B,KAAK,EAAE;UAAE0+B,QAAQ,EAAE,MAAM;UAAEU,SAAS,EAAE,OAAO;UAAEkY,SAAS,EAAE;;OAC3D,CACE,CAEJ;;GAGV,CACF;EAED,OAAO,CACL;IACEnW,IAAI,EAAElmC,CAAC,CAAC,uBAAuB,CAAC;IAChC0a,IAAI,EAAE6c;GACP,CACF;AACH,CAAC;;ACxID,MAAM+kB,YAAY,GAAGt6C,IAAA,IAAoC;EAAA,IAAjCokC,MAAM,GAAApkC,IAAA,CAANokC,MAAM;IAAE7R,QAAQ,GAAAvyB,IAAA,CAARuyB,QAAQ;IAAEkQ,QAAQ,GAAAziC,IAAA,CAARyiC,QAAQ;EAChD,MAAA3kC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAMkS,QAAQ,GAAG2E,0BAAW,EAAE;EAC9B,MAAMigB,SAAS,GAAG5kB,QAAQ,CAAC2c,KAAK,IAAI,EAAE;EACtC,MAAM5uB,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EAEtD,MAAM8rB,WAAW,GAAG,IAAIma,eAAe,CAACn0B,QAAQ,CAACo0B,MAAM,CAAC;EACxD,MAAMC,MAAM,GAAGra,WAAW,CAACzQ,GAAG,CAAC,KAAK,CAAC;EACrC,MAAM+qB,SAAS,GACbD,MAAM,KACNzP,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAElvB,OAAO,MAClBkvB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEpvB,GAAG,MACd+8B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE78B,OAAO,MACjB68B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE/8B,GAAG,KACbktB,cAAc,CAACC,OAAO,CAAC,eAAe,CAAC;EAEzC,MAAAx0B,qBAAA,GAAwCH,KAAK,CAACI,KAAK,CAACC,IAAI,CAACksB,mBAAmB,CAC1E;MAAExsB,QAAQ;MAAEod,OAAO,EAAE;QAAE3V,GAAG,EAAE8+B,SAAS;QAAE1J,SAAS,EAAE;;KAAc,EAChE;MAAEn8B,OAAO,EAAE,CAAC,CAAC6lC,SAAS;MAAEC,SAAS,EAAE;KACrC,CAAC;IAHO3lC,SAAS,GAAAT,qBAAA,CAATS,SAAS;IAAQ6rB,UAAU,GAAAtsB,qBAAA,CAAhBQ,IAAI;EAKvB,MAAM87B,cAAc,GAAGz8B,KAAK,CAACI,KAAK,CAACC,IAAI,CAACq8B,aAAa,CAAC38B,QAAQ,CAAC;EAE/D,MAAMymC,SAAS,GAAG,CAAAjC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAErI,eAAe,KAAI,EAAE;EAGjD,MAAAl1B,SAAA,GAA0CC,cAAQ,CAAC,IAAI,CAAC;IAAjD00C,aAAa,GAAA30C,SAAA;IAAE60C,gBAAgB,GAAA70C,SAAA;EACtC,MAAA8P,UAAA,GAA8C7P,cAAQ,CAACu/B,SAAS,CAACoV,eAAe,IAAI,IAAI,CAAC;IAAlFA,eAAe,GAAA9kC,UAAA;IAAEglC,kBAAkB,GAAAhlC,UAAA;EAC1C,MAAA6M,UAAA,GAA0B1c,cAAQ,CAAC,IAAI,CAAC;IAAjCwpB,KAAK,GAAA9M,UAAA;IAAE+M,QAAQ,GAAA/M,UAAA;EACtB,MAAA6C,UAAA,GAAwCvf,cAAQ,CAAC,KAAK,CAAC;IAAhD2/B,YAAY,GAAApgB,UAAA;IAAEqgB,eAAe,GAAArgB,UAAA;EACpC,MAAAG,UAAA,GAAkC1f,cAAQ,CAAC,KAAK,CAAC;IAA1C6/B,SAAS,GAAAngB,UAAA;IAAEogB,YAAY,GAAApgB,UAAA;EAE9B,MAAAG,UAAA,GAA0C7f,cAAQ,CAAC,OAAO;MACxD+3B,SAAS,EAAEwH,SAAS,CAACxH,SAAS,IAAI,EAAE;MACpCgd,YAAY,EAAExV,SAAS,CAACwV,YAAY,GAAG;QAAE7qC,IAAI,EAAEq1B,SAAS,CAACwV;OAAc,GAAG,IAAI;MAC9EK,mBAAmB,EAAE7V,SAAS,CAAC6V,mBAAmB,GAAG;QAAElrC,IAAI,EAAEq1B,SAAS,CAAC6V;OAAqB,GAAG,IAAI;MACnGC,UAAU,EAAE9V,SAAS,CAAC8V,UAAU,IAAI,EAAE;MACtCC,OAAO,EAAE/V,SAAS,CAAC+V,OAAO,IAAI,EAAE;MAChCC,SAAS,EAAEhW,SAAS,CAACgW,SAAS,IAAI,EAAE;MACpCC,QAAQ,EAAEjW,SAAS,CAACiW,QAAQ,IAAI,EAAE;MAClCC,aAAa,EAAElW,SAAS,CAACkW,aAAa,IAAI,EAAE;MAC5Cf,aAAa,EAAEnV,SAAS,CAACoV,eAAe,GAAG,UAAU,GAAG;KACzD,CAAC,CAAC;IAVI3T,aAAa,GAAAnhB,UAAA;IAAEohB,gBAAgB,GAAAphB,UAAA;EAYtC,MAAAG,UAAA,GAA0ChgB,cAAQ,CAACghC,aAAa,CAAC;IAA1DE,aAAa,GAAAlhB,UAAA;IAAEmhB,gBAAgB,GAAAnhB,UAAA;EAEtC,MAAMohB,sBAAsB,GAAI5b,UAAU,IAAK;IAC7C,IAAI,CAACA,UAAU,EAAE,OAAO,IAAI;IAC5B,MAAMqK,aAAa,GACjB,CAAArK,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEsK,qBAAqB,MAAItK,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEuK,iBAAiB,KAAIvK,UAAU;IAClF,MAAMwK,eAAe,GAAG,CAACztB,KAAK,CAACC,OAAO,CAACqtB,aAAa,CAAC,GAAGA,aAAa,CAAC,CAAC,CAAC,GAAGA,aAAa,KAAK,EAAE;IAC/F,OAAO,CAAAG,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEC,OAAO,KAAID,eAAe;GACnD;EAED/zB,eAAS,CAAC,MAAM;IACd,MAAMolC,OAAO,GAAGD,sBAAsB,CAAC5b,UAAU,CAAC;IAClD,MAAMoK,OAAO,GAAGyR,OAAO,KAAI/D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEzX,iBAAiB;IACtD,MAAMU,YAAY,GAAG,CAAAqJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAErJ,YAAY,MAAIqJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEqF,eAAe,KAAIrF,OAAO,IAAI,EAAE;IAEvF,IAAIrJ,YAAY,IAAInI,MAAM,CAACC,IAAI,CAACkI,YAAY,CAAC,CAACpgB,MAAM,GAAG,CAAC,IAAI,CAACw5B,YAAY,EAAE;MACzE,IAAI+V,QAAQ,GAAG,IAAI;MACnB,IAAIC,UAAU,GAAG,IAAI;MAErB,IAAIpvB,YAAY,CAAC6uB,mBAAmB,EAAE;QACpC,MAAMQ,YAAY,GAAG,CACnB;UAAE1rC,IAAI,EAAE;SAAe,EACvB;UAAEA,IAAI,EAAE;SAAc,EACtB;UAAEA,IAAI,EAAE;SAAS,EACjB;UAAEA,IAAI,EAAE;SAAY,EACpB;UAAEA,IAAI,EAAE;SAAgB,CACzB,CAACuK,IAAI,CAAElY,IAAI,IAAKA,IAAI,CAAC2N,IAAI,CAACsG,WAAW,EAAE,KAAK+V,YAAY,CAAC6uB,mBAAmB,CAAC5kC,WAAW,EAAE,CAAC;QAC5F,IAAIolC,YAAY,EAAEF,QAAQ,GAAGE,YAAY,CAAC,KACrCF,QAAQ,GAAG;UAAExrC,IAAI,EAAEqc,YAAY,CAAC6uB;SAAqB;QAC1DO,UAAU,GAAG;UAAEzrC,IAAI,EAAEqc,YAAY,CAAC6uB;SAAqB;;MAGzD,IAAI7uB,YAAY,CAACwuB,YAAY,EAAE;QAC7BY,UAAU,GAAG;UAAEzrC,IAAI,EAAEqc,YAAY,CAACwuB;SAAc;QAChD,IAAI,CAACxuB,YAAY,CAAC6uB,mBAAmB,EAAEM,QAAQ,GAAG;UAAExrC,IAAI,EAAEqc,YAAY,CAACwuB;SAAc;;MAGvF,MAAMlT,eAAe,GAAG;QACtB9J,SAAS,EAAEwH,SAAS,CAACxH,SAAS,IAAIxR,YAAY,CAACwR,SAAS,IAAI,EAAE;QAC9Dgd,YAAY,EAAExV,SAAS,CAACwV,YAAY,GAAG;UAAE7qC,IAAI,EAAEq1B,SAAS,CAACwV;SAAc,GAAGW,QAAQ;QAClFN,mBAAmB,EAAE7V,SAAS,CAAC6V,mBAAmB,GAC9C;UAAElrC,IAAI,EAAEq1B,SAAS,CAAC6V;SAAqB,GACvCO,UAAU;QACdN,UAAU,EACR9V,SAAS,CAAC8V,UAAU,KACnB9uB,YAAY,CAAC0R,cAAc,IAAI1R,YAAY,CAAC2R,SAAS,GAClDxyB,MAAM,CAAC6gB,YAAY,CAAC0R,cAAc,IAAI1R,YAAY,CAAC2R,SAAS,CAAC,GAC7D,EAAE,CAAC;QACTod,OAAO,EAAE/V,SAAS,CAAC+V,OAAO,IAAI/uB,YAAY,CAAC+uB,OAAO,IAAI,EAAE;QACxDC,SAAS,EACPhW,SAAS,CAACgW,SAAS,KAClBhvB,YAAY,CAACsvB,aAAa,KAAK,IAAI,IAAItvB,YAAY,CAACsvB,aAAa,KAAK5/B,SAAS,GAC5EvQ,MAAM,CAAC6gB,YAAY,CAACsvB,aAAa,CAAC,GAClC,EAAE,CAAC;QACTL,QAAQ,EACNjW,SAAS,CAACiW,QAAQ,KACjBjvB,YAAY,CAACuvB,YAAY,KAAK,IAAI,IAAIvvB,YAAY,CAACuvB,YAAY,KAAK7/B,SAAS,GAC1EvQ,MAAM,CAAC6gB,YAAY,CAACuvB,YAAY,CAAC,GACjC,EAAE,CAAC;QACTL,aAAa,EACXlW,SAAS,CAACkW,aAAa,KACtBlvB,YAAY,CAACwvB,qBAAqB,KAAK,IAAI,IAAIxvB,YAAY,CAACwvB,qBAAqB,KAAK9/B,SAAS,GAC5FvQ,MAAM,CAAC6gB,YAAY,CAACwvB,qBAAqB,CAAC,GAC1C,EAAE,CAAC;QACTrB,aAAa,EAAEnV,SAAS,CAACoV,eAAe,IAAIpuB,YAAY,CAAC+R,wBAAwB,IAAI;OACtF;MAED2I,gBAAgB,CAACY,eAAe,CAAC;MACjCV,gBAAgB,CAACU,eAAe,CAAC;MACjC,IAAIA,eAAe,CAAC6S,aAAa,EAAE;QACjCG,kBAAkB,CAAChT,eAAe,CAAC6S,aAAa,CAAC;;MAEnD9U,eAAe,CAAC,IAAI,CAAC;;GAExB,EAAE,CAACpa,UAAU,EAAE8X,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEzX,iBAAiB,EAAE8Z,YAAY,CAAC,CAAC;EAG3D,MAAMqW,YAAY,aAAUjyC,CAAC,EAAEH,QAAQ;IAAA,IAAK;MAC1C,MAAMo+B,IAAI,GAAGj+B,CAAC,CAACoB,MAAM,CAAC88B,KAAK,CAAC,CAAC,CAAC;MAC9B,IAAI,CAACD,IAAI,EAAE,OAAAhrB,OAAA,CAAAC,OAAA;MAEX,IAAI+qB,IAAI,CAACE,IAAI,GAAG,OAAO,EAAE;QACvBzY,QAAQ,CAAC;UAAEltB,IAAI,EAAE,OAAO;UAAE8mB,OAAO,EAAExqB,CAAC,CAAC,uBAAuB;SAAG,CAAC;QAChE,OAAAme,OAAA,CAAAC,OAAA;;MACD,MAAAqkB,KAAA,GAAAhoB,MAAA,aAEG;QAAA,OAAA0D,OAAA,CAAAC,OAAA,CACgBle,KAAK,CAACopC,cAAc,CAACC,WAAW,CAAC,MAAM,EAAEJ,IAAI,EAAElpC,QAAQ,CAAC,EAAA4a,IAAA,WAApE2uB,GAAG;UAAA,IAAAC,SAAA,EAAAC,eAAA,EAAAC,gBAAA;UACT,MAAMvG,WAAW,GAAGoG,GAAG,aAAHA,GAAG,wBAAAC,SAAA,GAAHD,GAAG,CAAE3oC,IAAI,cAAA4oC,SAAA,wBAAAC,eAAA,GAATD,SAAA,CAAWL,KAAK,cAAAM,eAAA,wBAAAC,gBAAA,GAAhBD,eAAA,CAAmB,CAAC,CAAC,cAAAC,gBAAA,uBAArBA,gBAAA,CAAuBvG,WAAW;UAAC,IAEnDA,WAAW;YACbr4B,QAAQ,CAACo+B,IAAI,CAAC93B,IAAI,CAAC;YACnB2qC,kBAAkB,CAAC5Y,WAAW,CAAC;YAE/B,MAAMga,MAAM,GAAG,IAAIC,UAAU,EAAE;YAC/BD,MAAM,CAACE,SAAS,GAAG,MAAMvB,gBAAgB,CAACqB,MAAM,CAACxiC,MAAM,CAAC;YACxDwiC,MAAM,CAACG,aAAa,CAACpU,IAAI,CAAC;YAE1BvY,QAAQ,CAAC;cAAEltB,IAAI,EAAE,SAAS;cAAE8mB,OAAO,EAAExqB,CAAC,CAAC,mBAAmB;aAAG,CAAC;;;OAEjE,cAAO;QACN4wB,QAAQ,CAAC;UAAEltB,IAAI,EAAE,OAAO;UAAE8mB,OAAO,EAAExqB,CAAC,CAAC,eAAe;SAAG,CAAC;OACzD;MAAA,OAAAme,OAAA,CAAAC,OAAA,CAAAqkB,KAAA,IAAAA,KAAA,CAAA5nB,IAAA,GAAA4nB,KAAA,CAAA5nB,IAAA;KACF,QAAA3P,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EAED,MAAM0+B,iBAAiB,GAAGA,CAACC,QAAQ,EAAEhpC,IAAI,KAAK;IAAA,IAAA28C,kBAAA,EAAAC,qBAAA;IAE5C,MAAMC,mBAAmB,GACvB,CAAC,CAAA78C,IAAI,aAAJA,IAAI,wBAAA28C,kBAAA,GAAJ38C,IAAI,CAAEq7C,YAAY,cAAAsB,kBAAA,uBAAlBA,kBAAA,CAAoBnsC,IAAI,MAAIxQ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEq7C,YAAY,QAC9C,CAAA7T,aAAa,aAAbA,aAAa,wBAAAoV,qBAAA,GAAbpV,aAAa,CAAE6T,YAAY,cAAAuB,qBAAA,uBAA3BA,qBAAA,CAA6BpsC,IAAI,MAAIg3B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE6T,YAAY,EAAC;IAEpE,IAAIwB,mBAAmB,EAAE;MACvBpV,gBAAgB,CAAEt9B,IAAI,IAAAJ,QAAA,KACjBI,IAAI,EACJnK,IAAI,CACP,CAAC;;IAIL,MAAM88C,WAAW,GAAG98C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEq7C,YAAY;IACtC,MAAM0B,aAAa,GAAG/8C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE07C,mBAAmB;IAC/C,MAAMsB,aAAa,GAAGh9C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE27C,UAAU;IACtC,MAAMsB,aAAa,GAAGhC,eAAe,KAAIj7C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEg7C,aAAa;IAC5D,MAAMkC,YAAY,GAAGl9C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE67C,SAAS;IACpC,MAAMsB,WAAW,GAAGn9C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE87C,QAAQ;IAElC,IAAI5R,KAAK,GAAG,IAAI;IAChB,IAAI,CAAC4S,WAAW,EAAE5S,KAAK,GAAG,KAAK;IAC/B,IAAI,CAAC6S,aAAa,EAAE7S,KAAK,GAAG,KAAK;IACjC,IAAI,CAAC8S,aAAa,IAAIl8B,MAAM,CAACk8B,aAAa,CAAC,GAAG,CAAC,EAAE9S,KAAK,GAAG,KAAK;IAC9D,IAAI,CAAC+S,aAAa,EAAE/S,KAAK,GAAG,KAAK;IAEjC,IAAI,CAAA4S,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEtsC,IAAI,MAAK,OAAO,IAAI,CAAC0sC,YAAY,EAAEhT,KAAK,GAAG,KAAK;IACjE,IACE,CAAC,CAAA4S,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEtsC,IAAI,MAAK,UAAU,IAAI,CAAAssC,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEtsC,IAAI,MAAK,cAAc,KACzE,CAAC2sC,WAAW,EAEZjT,KAAK,GAAG,KAAK;IAEf,IAAIA,KAAK,KAAK/D,SAAS,EAAE;MACvBC,YAAY,CAAC8D,KAAK,CAAC;;GAEtB;EAED,MAAM9/B,QAAQ,aAAUpK,IAAI;IAAA,IAAK;MAAA,IAAAo9C,mBAAA,EAAAC,qBAAA;MAC/B,MAAM3S,UAAU,GAAG;QACjBrM,SAAS,EAAEr+B,IAAI,CAACq+B,SAAS;QACzBgd,YAAY,EAAE,EAAA+B,mBAAA,GAAAp9C,IAAI,CAACq7C,YAAY,cAAA+B,mBAAA,uBAAjBA,mBAAA,CAAmB5sC,IAAI,KAAIxQ,IAAI,CAACq7C,YAAY;QAC1DK,mBAAmB,EAAE,EAAA2B,qBAAA,GAAAr9C,IAAI,CAAC07C,mBAAmB,cAAA2B,qBAAA,uBAAxBA,qBAAA,CAA0B7sC,IAAI,KAAIxQ,IAAI,CAAC07C,mBAAmB;QAC/EC,UAAU,EAAE37C,IAAI,CAAC27C,UAAU;QAC3BC,OAAO,EAAE57C,IAAI,CAAC47C,OAAO;QACrBC,SAAS,EAAE77C,IAAI,CAAC67C,SAAS;QACzBC,QAAQ,EAAE97C,IAAI,CAAC87C,QAAQ;QACvBC,aAAa,EAAE/7C,IAAI,CAAC+7C,aAAa;QACjCd,eAAe,EAAEA;OAClB;MAAC,MAAA/Y,MAAA,GAAAtoB,MAAA,aAEE;QAAA,OAAA0D,OAAA,CAAAC,OAAA,CACIue,cAAc,CAAC+F,WAAW,CAAA93B,QAAA;UAC9Bk3B,WAAW,EAAE,EAAE;UACf+J,UAAU,EAAE,UAAU;UACtBnkC,GAAG,EAAE8+B;WACF+E,UAAU,CACd,CAAC,EAAA1wB,IAAA;UACF+V,QAAQ,CAAC;YAAEltB,IAAI,EAAE,SAAS;YAAE8mB,OAAO,EAAExqB,CAAC,CAAC,wCAAwC;WAAG,CAAC;UACnFu0B,QAAQ,CAAC6R,MAAM,CAACthC,GAAG,EAAEymC,UAAU,CAAC;;OACjC,cAAe;QACd3a,QAAQ,CAAC;UAAEltB,IAAI,EAAE,OAAO;UAAE8mB,OAAO,EAAExqB,CAAC,CAAC,mCAAmC;SAAG,CAAC;OAC7E;MAAA,OAAAme,OAAA,CAAAC,OAAA,CAAA2kB,MAAA,IAAAA,MAAA,CAAAloB,IAAA,GAAAkoB,MAAA,CAAAloB,IAAA;KACF,QAAA3P,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EAED,IAAIpK,SAAS,EAAE;IACb,oBAAOI,cAAA,CAAAC,aAAA,CAACwE,6BAAM,MAAE,CAAC;;EAGnB,MAAMmmC,MAAM,GAAG8P,kBAAkB,CAC/B57C,CAAC,EACDqoC,aAAa,EACb8U,YAAY,EACZtB,aAAa,EACbC,eAAe,EACfC,gBAAgB,EAChBC,kBACF,CAAC;EAED,oBACE96C,cAAA,CAAAC,aAAA,CAAC+mB,cAAQ,qBACPhnB,cAAA,CAAAC,aAAA,CAAC4qC,mCAAY;IACXjnC,GAAG,EAAEgiC,YAAY,GAAG,QAAQ,GAAG,SAAU;IACzCkF,UAAU,EAAE,CAAChF,SAAU;IACvBxlC,KAAK,EAAExB,CAAC,CAAC,oBAAoB,CAAE;IAC/BomC,MAAM,EAAE0F,MAAM,CAAClnC,GAAG,CAAEC,IAAI,IAAA+F,QAAA,KACnB/F,IAAI;MACPonC,aAAa,EAAE,IAAI;MACnBC,aAAa,EAAE;MACf,CAAE;IACJjhC,QAAQ,EAAEA,QAAS;IACnBk9B,aAAa,EAAEA,aAAc;IAC7ByB,iBAAiB,EAAEA,iBAAkB;IACrCuC,MAAM,EAAE,KAAM;IACdC,YAAY,EAAE;GACf,CAAC,EACDzb,KAAK,iBACJzvB,cAAA,CAAAC,aAAA,CAAC0xB,4BAAK;IACJ3U,KAAK,EAAEyS,KAAK,CAACjtB,IAAI,KAAK,OAAQ;IAC9BlC,KAAK,EAAEmvB,KAAK,CAACnG,OAAQ;IACrB9b,OAAO,EAAEA,MAAMkiB,QAAQ,CAAC,IAAI;GAC7B,CAEK,CAAC;AAEf,CAAC;;AClQD,MAAMutB,kBAAkB,GAAG,UAACn+C,CAAC,EAAEykC,QAAQ,EAAO2Z,WAAW,EAAEC,UAAU,EAAEC,YAAY,EAAEC,aAAa,EAAEC,eAAe,EAAK;EAAA,IAAA3Z,SAAA,EAAA4Z,qBAAA,EAAA1Z,UAAA,EAAAC,UAAA,EAAA0Z,qBAAA,EAAAxZ,UAAA,EAAAE,UAAA,EAAAuZ,qBAAA,EAAAC,UAAA;EAAA,IAAzFna,QAAQ;IAARA,QAAQ,GAAG,EAAE;;EAC1C,MAAM7E,WAAW,GAAG,EAAAiF,SAAA,GAAAJ,QAAQ,cAAAI,SAAA,wBAAA4Z,qBAAA,GAAR5Z,SAAA,CAAUjF,WAAW,cAAA6e,qBAAA,uBAArBA,qBAAA,CAAuBptC,IAAI,OAAA0zB,UAAA,GAAIN,QAAQ,cAAAM,UAAA,uBAARA,UAAA,CAAUnF,WAAW;EACxE,MAAMif,gBAAgB,GAAG,EAAA7Z,UAAA,GAAAP,QAAQ,cAAAO,UAAA,wBAAA0Z,qBAAA,GAAR1Z,UAAA,CAAU6Z,gBAAgB,cAAAH,qBAAA,uBAA1BA,qBAAA,CAA4BrtC,IAAI,OAAA6zB,UAAA,GAAIT,QAAQ,cAAAS,UAAA,uBAARA,UAAA,CAAU2Z,gBAAgB;EACvF,MAAMC,eAAe,GAAG,EAAA1Z,UAAA,GAAAX,QAAQ,cAAAW,UAAA,wBAAAuZ,qBAAA,GAARvZ,UAAA,CAAU0Z,eAAe,cAAAH,qBAAA,uBAAzBA,qBAAA,CAA2BttC,IAAI,OAAAutC,UAAA,GAAIna,QAAQ,cAAAma,UAAA,uBAARA,UAAA,CAAUE,eAAe;EAEpF,MAAMC,QAAQ,GAAGnf,WAAW,KAAK,uBAAuB;EAGxD,MAAMof,gBAAgB,GAAG,EAAE;EAC3B,KAAK,IAAI/qB,CAAC,GAAG,IAAI,EAAEA,CAAC,IAAI,IAAI,EAAEA,CAAC,EAAE,EAAE;IACjC,KAAK,IAAIlD,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAE,EAAE;MAC5BiuB,gBAAgB,CAACr3C,IAAI,CAAC;QAAE0J,IAAI,EAAK0f,CAAC,SAAIkD;OAAK,CAAC;;;EAIhD,MAAMgrB,KAAK,GAAG,CAAC;IAAE5tC,IAAI,EAAE;GAAO,EAAE;IAAEA,IAAI,EAAE;GAAM,CAAC;EAE/C,MAAMkmB,MAAM,GAAG,CACb;IACE/1B,KAAK,EAAExB,CAAC,CAAC,qBAAqB,CAAC;IAC/BwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE,oBAAoB;MAC1Bs0B,UAAU,EAAE;QAAEC,QAAQ,EAAE;;;GAE3B,EACD;IACEpkC,KAAK,EAAExB,CAAC,CAAC,SAAS,CAAC;IACnBwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE;;GAET,EACD;IACE7P,KAAK,EAAExB,CAAC,CAAC,QAAQ,CAAC;IAClBwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE;;GAET,EACD;IACE7P,KAAK,EAAExB,CAAC,CAAC,SAAS,CAAC;IACnBwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE;;GAET,EACD;IACE7P,KAAK,EAAExB,CAAC,CAAC,WAAW,CAAC;IACrBwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE;;GAET,EACD;IACE7P,KAAK,EAAExB,CAAC,CAAC,QAAQ,CAAC;IAClBwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,MAAM;IACZ+hC,UAAU,EAAE;MACVp0B,IAAI,EAAE;;GAET,CACF;EAGD,IAAI,CAAC0tC,QAAQ,EAAE;IACbxnB,MAAM,CAAC5vB,IAAI,CACT;MACEnG,KAAK,EAAExB,CAAC,CAAC,cAAc,CAAC;MACxBwlC,WAAW,EAAE,KAAK;MAClB9hC,IAAI,EAAE,MAAM;MACZ+hC,UAAU,EAAE;QACVp0B,IAAI,EAAE;;KAET,EACD;MACE7P,KAAK,EAAExB,CAAC,CAAC,aAAa,CAAC;MACvBwlC,WAAW,EAAE,KAAK;MAClB9hC,IAAI,EAAE,MAAM;MACZ+hC,UAAU,EAAE;QACVp0B,IAAI,EAAE;;KAET,EACD;MACE7P,KAAK,EAAExB,CAAC,CAAC,iBAAiB,CAAC;MAC3BwlC,WAAW,EAAE,KAAK;MAClB9hC,IAAI,EAAE,QAAQ;MACdoB,GAAG,EAAE,gBAAgB;MACrB2gC,UAAU,EAAE;QACVp0B,IAAI,EAAE,gBAAgB;QACtBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;UACPC,MAAM,EAAE,CAAC;YAAEuC,IAAI,EAAE;WAAW,EAAE;YAAEA,IAAI,EAAE;WAAe,CAAE;UACvDtC,SAAS,EAAC,MAAM;UAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;UACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;SACf;;KAIT,CAAC;IAED,IAAI60B,WAAW,KAAK,SAAS,EAAE;MAC7BrI,MAAM,CAAC5vB,IAAI,CAAC;QACVnG,KAAK,EAAExB,CAAC,CAAC,aAAa,CAAC;QACvBwlC,WAAW,EAAE,IAAI;QACjB9hC,IAAI,EAAE,QAAQ;QACdoB,GAAG,EAAE,YAAY;QACjB2gC,UAAU,EAAE;UACVp0B,IAAI,EAAE,YAAY;UAClBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,CAAC0kC,iCAAU;YACTC,QAAQ,EAAG56B,CAAC,IAAKkzC,WAAW,CAAClzC,CAAC,EAAElF,KAAK,CAAC+E,QAAQ,CAAE;YAChDg7B,QAAQ,EAAEA,MAAM;cACd//B,KAAK,CAAC+E,QAAQ,CAAC,IAAI,CAAC;cACpBwzC,aAAa,CAAC,IAAI,CAAC;cACnBC,eAAe,CAAC,IAAI,CAAC;aACrB;YACFh0B,OAAO,EAAE8zB,YAAY,GAAGt+C,CAAC,CAAC,UAAU,CAAC,GAAGA,CAAC,CAAC,kBAAkB;WAC7D,CAAC,EACDq+C,UAAU,iBACTn9C,cAAA,CAAAC,aAAA;YAAK4D,KAAK,EAAE;cAAE2R,SAAS,EAAE;;0BACvBxV,cAAA,CAAAC,aAAA;YACEijC,GAAG,EAAEia,UAAW;YAChBha,GAAG,EAAC,SAAS;YACbt/B,KAAK,EAAE;cAAE0+B,QAAQ,EAAE,MAAM;cAAEU,SAAS,EAAE,OAAO;cAAEkY,SAAS,EAAE;;WAC3D,CACE,CAEJ;;OAGV,CAAC;;;EAKN9kB,MAAM,CAAC5vB,IAAI,CACT;IACEnG,KAAK,EAAExB,CAAC,CAAC,cAAc,CAAC;IACxBwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,aAAa;IAClB2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,aAAa;MACnBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;QACPC,MAAM,EAAE,CAAC;UAAEuC,IAAI,EAAE;SAAW,EAAE;UAAEA,IAAI,EAAE;SAAa,EAAE;UAAEA,IAAI,EAAE;SAAyB,CAAE;QACxFtC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;QACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;OACf;;GAGN,EACD;IACEvJ,KAAK,EAAExB,CAAC,CAAC,gBAAgB,CAAC;IAC1BwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,eAAe;IACpB2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,eAAe;MACrBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;QACPC,MAAM,EAAE,CAAC;UAAEuC,IAAI,EAAE;SAAU,EAAE;UAAEA,IAAI,EAAE;SAAW,CAAE;QAClDtC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;QACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;OACf;;GAGN,EACD;IACEvJ,KAAK,EAAExB,CAAC,CAAC,oBAAoB,CAAC;IAC9BwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,kBAAkB;IACvB2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,kBAAkB;MACxBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;QACPC,MAAM,EAAEmwC,KAAM;QACdlwC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;QACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;OACf;;GAIT,CAAC;EAGD,IAAI8zC,gBAAgB,KAAK,KAAK,EAAE;IAC9BtnB,MAAM,CAAC5vB,IAAI,CAAC;MACVnG,KAAK,EAAExB,CAAC,CAAC,iCAAiC,CAAC;MAC3CwlC,WAAW,EAAE,IAAI;MACjB9hC,IAAI,EAAE,QAAQ;MACdoB,GAAG,EAAE,eAAe;MACpB2gC,UAAU,EAAE;QACVp0B,IAAI,EAAE,eAAe;QACrBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;UACPC,MAAM,EAAEkwC,gBAAiB;UACzBjwC,SAAS,EAAC,MAAM;UAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;UACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;SACf;;KAGN,CAAC;GACH,MAAM,IAAI8zC,gBAAgB,KAAK,IAAI,EAAE;IACpCtnB,MAAM,CAAC5vB,IAAI,CAAC;MACVnG,KAAK,EAAExB,CAAC,CAAC,UAAU,CAAC;MACpBwlC,WAAW,EAAE,IAAI;MACjB9hC,IAAI,EAAE,MAAM;MACZ+hC,UAAU,EAAE;QACVp0B,IAAI,EAAE,QAAQ;QACds0B,UAAU,EAAE;UAAEC,QAAQ,EAAE;;;KAE3B,CAAC;;EAGJrO,MAAM,CAAC5vB,IAAI,CACT;IACEnG,KAAK,EAAExB,CAAC,CAAC,iBAAiB,CAAC;IAC3BwlC,WAAW,EAAE,KAAK;IAClB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,eAAe;IACpB2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,eAAe;MACrBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;QACPC,MAAM,EAAEmwC,KAAM;QACdlwC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;QACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;OACf;;GAGN,EACD;IACEvJ,KAAK,EAAExB,CAAC,CAAC,kBAAkB,CAAC;IAC5BwlC,WAAW,EAAE,IAAI;IACjB9hC,IAAI,EAAE,QAAQ;IACdoB,GAAG,EAAE,iBAAiB;IACtB2gC,UAAU,EAAE;MACVp0B,IAAI,EAAE,iBAAiB;MACvBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;QACPC,MAAM,EAAEmwC,KAAM;QACdlwC,SAAS,EAAC,MAAM;QAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;QACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;OACf;;GAIT,CAAC;EAED,IAAI+zC,eAAe,KAAK,IAAI,EAAE;IAC5BvnB,MAAM,CAAC5vB,IAAI,CAAC;MACVnG,KAAK,EAAExB,CAAC,CAAC,aAAa,CAAC;MACvBwlC,WAAW,EAAE,IAAI;MACjB9hC,IAAI,EAAE,QAAQ;MACdoB,GAAG,EAAE,YAAY;MACjB2gC,UAAU,EAAE;QACVp0B,IAAI,EAAE,YAAY;QAClBq0B,SAAS,EAAG1/B,KAAK,iBACf9E,cAAA,CAAAC,aAAA,CAAC0N,+BAAQ;UACPC,MAAM,EAAEmwC,KAAM;UACdlwC,SAAS,EAAC,MAAM;UAChBE,QAAQ,EAAEjJ,KAAK,CAACtB,KAAM;UACtBsK,MAAM,EAAEhJ,KAAK,CAAC+E;SACf;;KAGN,CAAC;;EAGJ,OAAO,CACL;IACEm7B,IAAI,EAAElmC,CAAC,CAAC,oBAAoB,CAAC;IAC7B0a,IAAI,EAAE6c;GACP,CACF;AACH,CAAC;;AChSD,MAAM2nB,YAAY,GAAGl9C,IAAA,IAAoC;EAAA,IAAjCokC,MAAM,GAAApkC,IAAA,CAANokC,MAAM;IAAE7R,QAAQ,GAAAvyB,IAAA,CAARuyB,QAAQ;IAAEkQ,QAAQ,GAAAziC,IAAA,CAARyiC,QAAQ;EAChD,MAAA3kC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAMkS,QAAQ,GAAG2E,0BAAW,EAAE;EAC9B,MAAMigB,SAAS,GAAG5kB,QAAQ,CAAC2c,KAAK,IAAI,EAAE;EACtC,MAAM5uB,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EAEtD,MAAM8rB,WAAW,GAAG,IAAIma,eAAe,CAACn0B,QAAQ,CAACo0B,MAAM,CAAC;EACxD,MAAMC,MAAM,GAAGra,WAAW,CAACzQ,GAAG,CAAC,KAAK,CAAC;EACrC,MAAM+qB,SAAS,GACbD,MAAM,KACNzP,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAElvB,OAAO,MAClBkvB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEpvB,GAAG,MACd+8B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE78B,OAAO,MACjB68B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE/8B,GAAG,KACbktB,cAAc,CAACC,OAAO,CAAC,eAAe,CAAC;EAEzC,MAAAx0B,qBAAA,GAAwCH,KAAK,CAACI,KAAK,CAACC,IAAI,CAACksB,mBAAmB,CAC1E;MAAExsB,QAAQ;MAAEod,OAAO,EAAE;QAAE3V,GAAG,EAAE8+B,SAAS;QAAE1J,SAAS,EAAE;;KAAW,EAC7D;MAAEn8B,OAAO,EAAE,CAAC,CAAC6lC,SAAS;MAAEC,SAAS,EAAE;KACrC,CAAC;IAHO3lC,SAAS,GAAAT,qBAAA,CAATS,SAAS;IAAQ6rB,UAAU,GAAAtsB,qBAAA,CAAhBQ,IAAI;EAKvB,MAAM87B,cAAc,GAAGz8B,KAAK,CAACI,KAAK,CAACC,IAAI,CAACq8B,aAAa,CAAC38B,QAAQ,CAAC;EAE/D,MAAMymC,SAAS,GAAG,CAAAjC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAElI,YAAY,KAAI,EAAE;EAG9C,MAAAr1B,SAAA,GAAoCC,cAAQ,CAAC,IAAI,CAAC;IAA3Ck3C,UAAU,GAAAn3C,SAAA;IAAEq3C,aAAa,GAAAr3C,SAAA;EAChC,MAAA8P,UAAA,GAAwC7P,cAAQ,CAACu/B,SAAS,CAAC4X,YAAY,IAAI,IAAI,CAAC;IAAzEA,YAAY,GAAAtnC,UAAA;IAAEwnC,eAAe,GAAAxnC,UAAA;EACpC,MAAA6M,UAAA,GAA0B1c,cAAQ,CAAC,IAAI,CAAC;IAAjCwpB,KAAK,GAAA9M,UAAA;IAAE+M,QAAQ,GAAA/M,UAAA;EACtB,MAAA6C,UAAA,GAAwCvf,cAAQ,CAAC,KAAK,CAAC;IAAhD2/B,YAAY,GAAApgB,UAAA;IAAEqgB,eAAe,GAAArgB,UAAA;EACpC,MAAAG,UAAA,GAAkC1f,cAAQ,CAAC,KAAK,CAAC;IAA1C6/B,SAAS,GAAAngB,UAAA;IAAEogB,YAAY,GAAApgB,UAAA;EAE9B,MAAAG,UAAA,GAA0C7f,cAAQ,CAAC,OAAO;MACxD42B,kBAAkB,EAAE2I,SAAS,CAAC3I,kBAAkB,IAAI,EAAE;MACtDohB,MAAM,EAAEzY,SAAS,CAACyY,MAAM,IAAI,EAAE;MAC9Br2C,MAAM,EAAE49B,SAAS,CAAC59B,MAAM,IAAI,EAAE;MAC9Bs2C,MAAM,EAAE1Y,SAAS,CAAC0Y,MAAM,IAAI,EAAE;MAC9BC,QAAQ,EAAE3Y,SAAS,CAAC2Y,QAAQ,IAAI,EAAE;MAClCC,KAAK,EAAE5Y,SAAS,CAAC4Y,KAAK,IAAI,EAAE;MAC5BzrB,WAAW,EAAE6S,SAAS,CAAC7S,WAAW,IAAI,EAAE;MACxC0rB,UAAU,EAAE7Y,SAAS,CAAC6Y,UAAU,IAAI,EAAE;MACtC3f,WAAW,EAAE8G,SAAS,CAAC9G,WAAW,GAAG;QAAEvuB,IAAI,EAAEq1B,SAAS,CAAC9G;OAAa,GAAG,IAAI;MAC3E4f,cAAc,EAAE9Y,SAAS,CAAC8Y,cAAc,GAAG;QAAEnuC,IAAI,EAAEq1B,SAAS,CAAC8Y;OAAgB,GAAG,IAAI;MACpFte,aAAa,EAAEwF,SAAS,CAACxF,aAAa,GAAG;QAAE7vB,IAAI,EAAEq1B,SAAS,CAACxF;OAAe,GAAG,IAAI;MACjF2d,gBAAgB,EAAEnY,SAAS,CAACmY,gBAAgB,GAAG;QAAExtC,IAAI,EAAEq1B,SAAS,CAACmY;OAAkB,GAAG,IAAI;MAC1FY,aAAa,EAAE/Y,SAAS,CAAC+Y,aAAa,GAAG;QAAEpuC,IAAI,EAAEq1B,SAAS,CAAC+Y;OAAe,GAAG,IAAI;MACjF9L,MAAM,EAAEjN,SAAS,CAACiN,MAAM,IAAI,EAAE;MAC9B+L,aAAa,EAAEhZ,SAAS,CAACgZ,aAAa,GAAG;QAAEruC,IAAI,EAAEq1B,SAAS,CAACgZ;OAAe,GAAG,IAAI;MACjFZ,eAAe,EAAEpY,SAAS,CAACoY,eAAe,GAAG;QAAEztC,IAAI,EAAEq1B,SAAS,CAACoY;OAAiB,GAAG,IAAI;MACvFa,UAAU,EAAEjZ,SAAS,CAACiZ,UAAU,GAAG;QAAEtuC,IAAI,EAAEq1B,SAAS,CAACiZ;OAAY,GAAG,IAAI;MACxEtB,UAAU,EAAE3X,SAAS,CAAC4X,YAAY,GAAG,UAAU,GAAG;KACnD,CAAC,CAAC;IAnBInW,aAAa,GAAAnhB,UAAA;IAAEohB,gBAAgB,GAAAphB,UAAA;EAqBtC,MAAAG,UAAA,GAA0ChgB,cAAQ,CAACghC,aAAa,CAAC;IAA1DE,aAAa,GAAAlhB,UAAA;IAAEmhB,gBAAgB,GAAAnhB,UAAA;EAEtC,MAAMohB,sBAAsB,GAAI5b,UAAU,IAAK;IAC7C,IAAI,CAACA,UAAU,EAAE,OAAO,IAAI;IAC5B,MAAMqK,aAAa,GACjB,CAAArK,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEsK,qBAAqB,MAAItK,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEuK,iBAAiB,KAAIvK,UAAU;IAClF,MAAMwK,eAAe,GAAG,CAACztB,KAAK,CAACC,OAAO,CAACqtB,aAAa,CAAC,GAAGA,aAAa,CAAC,CAAC,CAAC,GAAGA,aAAa,KAAK,EAAE;IAC/F,OAAO,CAAAG,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEC,OAAO,KAAID,eAAe;GACnD;EAED/zB,eAAS,CAAC,MAAM;IACd,MAAMolC,OAAO,GAAGD,sBAAsB,CAAC5b,UAAU,CAAC;IAClD,MAAMoK,OAAO,GAAGyR,OAAO,KAAI/D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEzX,iBAAiB;IACtD,MAAM4Q,QAAQ,GAAG,CAAA7G,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEwF,YAAY,KAAIxF,OAAO,IAAI,EAAE;IAEvD,IAAI6G,QAAQ,IAAIrY,MAAM,CAACC,IAAI,CAACoY,QAAQ,CAAC,CAACtwB,MAAM,GAAG,CAAC,IAAI,CAACw5B,YAAY,EAAE;MACjE,IAAI8Y,OAAO,GAAG,IAAI;MAClB,IAAIC,UAAU,GAAG,IAAI;MACrB,IAAIC,IAAI,GAAG,IAAI;MACf,IAAIC,OAAO,GAAG,IAAI;MAClB,IAAIC,SAAS,GAAG,IAAI;MACpB,IAAIC,UAAU,GAAG,IAAI;MACrB,IAAIC,SAAS,GAAG,IAAI;MACpB,IAAIC,OAAO,GAAG,IAAI;MAElB,IAAIviB,QAAQ,CAACgC,WAAW,EAAE;QACxB,MAAMwgB,cAAc,GAAG,CACrB;UAAE/uC,IAAI,EAAE;SAAW,EACnB;UAAEA,IAAI,EAAE;SAAa,EACrB;UAAEA,IAAI,EAAE;SAAyB,CAClC,CAACuK,IAAI,CAAEykC,CAAC,IAAKA,CAAC,CAAChvC,IAAI,CAACsG,WAAW,EAAE,KAAKimB,QAAQ,CAACgC,WAAW,CAACjoB,WAAW,EAAE,CAAC;QAC1E,IAAIyoC,cAAc,EAAER,OAAO,GAAGQ,cAAc,CAAC,KACxCR,OAAO,GAAG;UAAEvuC,IAAI,EAAEusB,QAAQ,CAACgC;SAAa;OAC9C,MAAM,IAAIhC,QAAQ,CAAC+B,OAAO,KAAKviB,SAAS,EAAE;QACzCwiC,OAAO,GAAG;UAAEvuC,IAAI,EAAEusB,QAAQ,CAAC+B,OAAO,GAAG,SAAS,GAAG;SAAa;;MAGhE,IAAI/B,QAAQ,CAAC4hB,cAAc,EAAE;QAC3B,MAAMc,YAAY,GAAG,CAAC;UAAEjvC,IAAI,EAAE;SAAW,EAAE;UAAEA,IAAI,EAAE;SAAe,CAAC,CAACuK,IAAI,CACrEykC,CAAC,IAAKA,CAAC,CAAChvC,IAAI,CAACsG,WAAW,EAAE,KAAKimB,QAAQ,CAAC4hB,cAAc,CAAC7nC,WAAW,EACrE,CAAC;QACD,IAAI2oC,YAAY,EAAET,UAAU,GAAGS,YAAY,CAAC,KACvCT,UAAU,GAAG;UAAExuC,IAAI,EAAEusB,QAAQ,CAAC4hB;SAAgB;;MAGrD,IAAI5hB,QAAQ,CAACsD,aAAa,EAAE;QAC1B,MAAMqf,WAAW,GAAG,CAAC;UAAElvC,IAAI,EAAE;SAAU,EAAE;UAAEA,IAAI,EAAE;SAAW,CAAC,CAACuK,IAAI,CAC/DykC,CAAC,IACAA,CAAC,CAAChvC,IAAI,CAACsG,WAAW,EAAE,KAAKimB,QAAQ,CAACsD,aAAa,CAACvpB,WAAW,EAAE,IAC7DimB,QAAQ,CAACsD,aAAa,CAACvpB,WAAW,EAAE,CAACC,QAAQ,CAACyoC,CAAC,CAAChvC,IAAI,CAACsG,WAAW,EAAE,CACtE,CAAC;QACD,IAAI4oC,WAAW,EAAET,IAAI,GAAGS,WAAW,CAAC,KAC/BT,IAAI,GAAG;UAAEzuC,IAAI,EAAEusB,QAAQ,CAACsD;SAAe;;MAG9C,IAAItD,QAAQ,CAACsC,cAAc,KAAK9iB,SAAS,IAAIwgB,QAAQ,CAACsC,cAAc,KAAK,IAAI,EAAE;QAC7E,MAAMsgB,MAAM,GAAG3zC,MAAM,CAAC+wB,QAAQ,CAACsC,cAAc,CAAC,CAACvoB,WAAW,EAAE;QAC5D,IAAI6oC,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,KAAK,EAAET,OAAO,GAAG;UAAE1uC,IAAI,EAAE;SAAO,CAAC,KAChE0uC,OAAO,GAAG;UAAE1uC,IAAI,EAAE;SAAM;;MAG/B,IAAIusB,QAAQ,CAAC6iB,oBAAoB,EAAE;QACjC,MAAMC,SAAS,GAAG9iB,QAAQ,CAAC6iB,oBAAoB,CAACppC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QACjE,MAAMspC,WAAW,GAAGD,SAAS,CAAChzC,KAAK,CAAC,GAAG,CAAC;QACxC,IAAIizC,WAAW,CAACrzC,MAAM,KAAK,CAAC,EAAE;UAC5B,MAAMszC,GAAG,GAAGv2B,QAAQ,CAACs2B,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;UACxC,MAAME,EAAE,GAAGx2B,QAAQ,CAACs2B,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;UACvCX,SAAS,GAAG;YAAE3uC,IAAI,EAAKuvC,GAAG,SAAIC;WAAM;SACrC,MAAM;UACLb,SAAS,GAAG;YAAE3uC,IAAI,EAAEusB,QAAQ,CAAC6iB;WAAsB;;;MAIvD,IAAI7iB,QAAQ,CAAC8hB,aAAa,KAAKtiC,SAAS,IAAIwgB,QAAQ,CAAC8hB,aAAa,KAAK,IAAI,EAAE;QAC3E,MAAMc,MAAM,GAAG3zC,MAAM,CAAC+wB,QAAQ,CAAC8hB,aAAa,CAAC,CAAC/nC,WAAW,EAAE;QAC3D,IAAI6oC,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,KAAK,EAAEP,UAAU,GAAG;UAAE5uC,IAAI,EAAE;SAAO,CAAC,KACnE4uC,UAAU,GAAG;UAAE5uC,IAAI,EAAE;SAAM;;MAGlC,IAAIusB,QAAQ,CAACkhB,eAAe,KAAK1hC,SAAS,IAAIwgB,QAAQ,CAACkhB,eAAe,KAAK,IAAI,EAAE;QAC/E,MAAM0B,MAAM,GAAG3zC,MAAM,CAAC+wB,QAAQ,CAACkhB,eAAe,CAAC,CAACnnC,WAAW,EAAE;QAC7D,IAAI6oC,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,KAAK,EAAEN,SAAS,GAAG;UAAE7uC,IAAI,EAAE;SAAO,CAAC,KAClE6uC,SAAS,GAAG;UAAE7uC,IAAI,EAAE;SAAM;;MAGjC,IAAIusB,QAAQ,CAAC+hB,UAAU,KAAKviC,SAAS,IAAIwgB,QAAQ,CAAC+hB,UAAU,KAAK,IAAI,EAAE;QACrE,MAAMa,MAAM,GAAG3zC,MAAM,CAAC+wB,QAAQ,CAAC+hB,UAAU,CAAC,CAAChoC,WAAW,EAAE;QACxD,IAAI6oC,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,KAAK,EAAEL,OAAO,GAAG;UAAE9uC,IAAI,EAAE;SAAO,CAAC,KAChE8uC,OAAO,GAAG;UAAE9uC,IAAI,EAAE;SAAM;;MAG/B,MAAM23B,eAAe,GAAG;QACtBjL,kBAAkB,EAAE2I,SAAS,CAAC3I,kBAAkB,IAAIH,QAAQ,CAACG,kBAAkB,IAAI,EAAE;QACrFohB,MAAM,EAAEzY,SAAS,CAACyY,MAAM,IAAIvhB,QAAQ,CAACuhB,MAAM,IAAI,EAAE;QACjDr2C,MAAM,EAAE49B,SAAS,CAAC59B,MAAM,IAAI80B,QAAQ,CAACjK,UAAU,IAAI,EAAE;QACrDyrB,MAAM,EAAE1Y,SAAS,CAAC0Y,MAAM,KAAKxhB,QAAQ,CAACkjB,MAAM,GAAGj0C,MAAM,CAAC+wB,QAAQ,CAACkjB,MAAM,CAAC,GAAG,EAAE,CAAC;QAC5EzB,QAAQ,EAAE3Y,SAAS,CAAC2Y,QAAQ,KAAKzhB,QAAQ,CAACmjB,QAAQ,GAAGl0C,MAAM,CAAC+wB,QAAQ,CAACmjB,QAAQ,CAAC,GAAG,EAAE,CAAC;QACpFzB,KAAK,EAAE5Y,SAAS,CAAC4Y,KAAK,KAAK1hB,QAAQ,CAAC5Y,KAAK,GAAGnY,MAAM,CAAC+wB,QAAQ,CAAC5Y,KAAK,CAAC,GAAG,EAAE,CAAC;QACxE6O,WAAW,EAAE6S,SAAS,CAAC7S,WAAW,IAAI+J,QAAQ,CAAC/J,WAAW,IAAI,EAAE;QAChE0rB,UAAU,EAAE7Y,SAAS,CAAC6Y,UAAU,IAAI3hB,QAAQ,CAACiC,SAAS,IAAI,EAAE;QAC5DD,WAAW,EAAE8G,SAAS,CAAC9G,WAAW,GAAG;UAAEvuB,IAAI,EAAEq1B,SAAS,CAAC9G;SAAa,GAAGggB,OAAO;QAC9EJ,cAAc,EAAE9Y,SAAS,CAAC8Y,cAAc,GAAG;UAAEnuC,IAAI,EAAEq1B,SAAS,CAAC8Y;SAAgB,GAAGK,UAAU;QAC1F3e,aAAa,EAAEwF,SAAS,CAACxF,aAAa,GAAG;UAAE7vB,IAAI,EAAEq1B,SAAS,CAACxF;SAAe,GAAG4e,IAAI;QACjFjB,gBAAgB,EAAEnY,SAAS,CAACmY,gBAAgB,GAAG;UAAExtC,IAAI,EAAEq1B,SAAS,CAACmY;SAAkB,GAAGkB,OAAO;QAC7FN,aAAa,EAAE/Y,SAAS,CAAC+Y,aAAa,GAAG;UAAEpuC,IAAI,EAAEq1B,SAAS,CAAC+Y;SAAe,GAAGO,SAAS;QACtFrM,MAAM,EAAEjN,SAAS,CAACiN,MAAM,IAAI/V,QAAQ,CAACojB,uBAAuB,IAAI,EAAE;QAClEtB,aAAa,EAAEhZ,SAAS,CAACgZ,aAAa,GAAG;UAAEruC,IAAI,EAAEq1B,SAAS,CAACgZ;SAAe,GAAGO,UAAU;QACvFnB,eAAe,EAAEpY,SAAS,CAACoY,eAAe,GAAG;UAAEztC,IAAI,EAAEq1B,SAAS,CAACoY;SAAiB,GAAGoB,SAAS;QAC5FP,UAAU,EAAEjZ,SAAS,CAACiZ,UAAU,GAAG;UAAEtuC,IAAI,EAAEq1B,SAAS,CAACiZ;SAAY,GAAGQ,OAAO;QAC3E9B,UAAU,EAAE3X,SAAS,CAAC4X,YAAY,IAAI1gB,QAAQ,CAACwC,qBAAqB,IAAI;OACzE;MAEDgI,gBAAgB,CAACY,eAAe,CAAC;MACjCV,gBAAgB,CAACU,eAAe,CAAC;MACjC,IAAIA,eAAe,CAACqV,UAAU,EAAE;QAC9BG,eAAe,CAACxV,eAAe,CAACqV,UAAU,CAAC;;MAE7CtX,eAAe,CAAC,IAAI,CAAC;;GAExB,EAAE,CAACpa,UAAU,EAAE8X,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEzX,iBAAiB,EAAE8Z,YAAY,CAAC,CAAC;EAG3D,MAAMqW,YAAY,aAAUjyC,CAAC,EAAEH,QAAQ;IAAA,IAAK;MAC1C,MAAMo+B,IAAI,GAAGj+B,CAAC,CAACoB,MAAM,CAAC88B,KAAK,CAAC,CAAC,CAAC;MAC9B,IAAI,CAACD,IAAI,EAAE,OAAAhrB,OAAA,CAAAC,OAAA;MAEX,IAAI+qB,IAAI,CAACE,IAAI,GAAG,OAAO,EAAE;QACvBzY,QAAQ,CAAC;UAAEltB,IAAI,EAAE,OAAO;UAAE8mB,OAAO,EAAExqB,CAAC,CAAC,uBAAuB;SAAG,CAAC;QAChE,OAAAme,OAAA,CAAAC,OAAA;;MACD,MAAAqkB,KAAA,GAAAhoB,MAAA,aAEG;QAAA,OAAA0D,OAAA,CAAAC,OAAA,CACgBle,KAAK,CAACopC,cAAc,CAACC,WAAW,CAAC,MAAM,EAAEJ,IAAI,EAAElpC,QAAQ,CAAC,EAAA4a,IAAA,WAApE2uB,GAAG;UAAA,IAAAC,SAAA,EAAAC,eAAA,EAAAC,gBAAA;UACT,MAAMvG,WAAW,GAAGoG,GAAG,aAAHA,GAAG,wBAAAC,SAAA,GAAHD,GAAG,CAAE3oC,IAAI,cAAA4oC,SAAA,wBAAAC,eAAA,GAATD,SAAA,CAAWL,KAAK,cAAAM,eAAA,wBAAAC,gBAAA,GAAhBD,eAAA,CAAmB,CAAC,CAAC,cAAAC,gBAAA,uBAArBA,gBAAA,CAAuBvG,WAAW;UAAC,IAEnDA,WAAW;YACbr4B,QAAQ,CAACo+B,IAAI,CAAC93B,IAAI,CAAC;YACnBmtC,eAAe,CAACpb,WAAW,CAAC;YAE5B,MAAMga,MAAM,GAAG,IAAIC,UAAU,EAAE;YAC/BD,MAAM,CAACE,SAAS,GAAG,MAAMiB,aAAa,CAACnB,MAAM,CAACxiC,MAAM,CAAC;YACrDwiC,MAAM,CAACG,aAAa,CAACpU,IAAI,CAAC;YAE1BvY,QAAQ,CAAC;cAAEltB,IAAI,EAAE,SAAS;cAAE8mB,OAAO,EAAExqB,CAAC,CAAC,mBAAmB;aAAG,CAAC;;;OAEjE,cAAO;QACN4wB,QAAQ,CAAC;UAAEltB,IAAI,EAAE,OAAO;UAAE8mB,OAAO,EAAExqB,CAAC,CAAC,eAAe;SAAG,CAAC;OACzD;MAAA,OAAAme,OAAA,CAAAC,OAAA,CAAAqkB,KAAA,IAAAA,KAAA,CAAA5nB,IAAA,GAAA4nB,KAAA,CAAA5nB,IAAA;KACF,QAAA3P,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EAED,MAAM0+B,iBAAiB,GAAGA,CAACC,QAAQ,EAAEhpC,IAAI,KAAK;IAAA,IAAAogD,iBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;IAC5C,MAAMC,kBAAkB,GACtB,CAAC,CAAA1gD,IAAI,aAAJA,IAAI,wBAAAogD,iBAAA,GAAJpgD,IAAI,CAAE++B,WAAW,cAAAqhB,iBAAA,uBAAjBA,iBAAA,CAAmB5vC,IAAI,MAAIxQ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE++B,WAAW,QAC5C,CAAAyI,aAAa,aAAbA,aAAa,wBAAA6Y,qBAAA,GAAb7Y,aAAa,CAAEzI,WAAW,cAAAshB,qBAAA,uBAA1BA,qBAAA,CAA4B7vC,IAAI,MAAIg3B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEzI,WAAW,EAAC;IAElE,MAAM4hB,uBAAuB,GAC3B,CAAC,CAAA3gD,IAAI,aAAJA,IAAI,wBAAAsgD,qBAAA,GAAJtgD,IAAI,CAAEg+C,gBAAgB,cAAAsC,qBAAA,uBAAtBA,qBAAA,CAAwB9vC,IAAI,MAAIxQ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEg+C,gBAAgB,QACtD,CAAAxW,aAAa,aAAbA,aAAa,wBAAA+Y,qBAAA,GAAb/Y,aAAa,CAAEwW,gBAAgB,cAAAuC,qBAAA,uBAA/BA,qBAAA,CAAiC/vC,IAAI,MAAIg3B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEwW,gBAAgB,EAAC;IAE5E,MAAM4C,sBAAsB,GAC1B,CAAC,CAAA5gD,IAAI,aAAJA,IAAI,wBAAAwgD,qBAAA,GAAJxgD,IAAI,CAAEi+C,eAAe,cAAAuC,qBAAA,uBAArBA,qBAAA,CAAuBhwC,IAAI,MAAIxQ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEi+C,eAAe,QACpD,CAAAzW,aAAa,aAAbA,aAAa,wBAAAiZ,qBAAA,GAAbjZ,aAAa,CAAEyW,eAAe,cAAAwC,qBAAA,uBAA9BA,qBAAA,CAAgCjwC,IAAI,MAAIg3B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEyW,eAAe,EAAC;IAE1E,IAAIyC,kBAAkB,IAAIC,uBAAuB,IAAIC,sBAAsB,EAAE;MAC3EnZ,gBAAgB,CAAEt9B,IAAI,IAAAJ,QAAA,KACjBI,IAAI,EACJnK,IAAI,CACP,CAAC;;IAIL,MAAM6gD,UAAU,GAAG7gD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEk9B,kBAAkB;IAC3C,MAAM4jB,UAAU,GAAG9gD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE++B,WAAW;IACpC,MAAMgiB,OAAO,GAAG/gD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEqgC,aAAa;IACnC,MAAM2gB,UAAU,GAAGhhD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEg+C,gBAAgB;IACzC,MAAMiD,YAAY,GAAGjhD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEi+C,eAAe;IAC1C,MAAMiD,QAAQ,GAAGzD,YAAY,KAAIz9C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEw9C,UAAU;IACjD,MAAM2D,SAAS,GAAGnhD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE8yC,MAAM;IAC9B,MAAMsO,YAAY,GAAGphD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE4+C,aAAa;IACxC,MAAMyC,UAAU,GAAGrhD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE8+C,UAAU;IAEnC,IAAI5U,KAAK,GAAG,IAAI;IAChB,IAAI,CAAC2W,UAAU,EAAE3W,KAAK,GAAG,KAAK;IAC9B,IAAI,CAAC4W,UAAU,EAAE5W,KAAK,GAAG,KAAK;IAC9B,IAAI,CAAC6W,OAAO,EAAE7W,KAAK,GAAG,KAAK;IAC3B,IAAI,CAAC8W,UAAU,EAAE9W,KAAK,GAAG,KAAK;IAC9B,IAAI,CAAC+W,YAAY,EAAE/W,KAAK,GAAG,KAAK;IAEhC,IAAI,CAAA4W,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEtwC,IAAI,MAAK,SAAS,IAAI,CAAC0wC,QAAQ,EAAEhX,KAAK,GAAG,KAAK;IAC9D,IAAI,CAAA8W,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAExwC,IAAI,MAAK,IAAI,IAAI,CAAC2wC,SAAS,EAAEjX,KAAK,GAAG,KAAK;IAC1D,IAAI,CAAA8W,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAExwC,IAAI,MAAK,KAAK,IAAI,CAAC4wC,YAAY,EAAElX,KAAK,GAAG,KAAK;IAC9D,IAAI,CAAA+W,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEzwC,IAAI,MAAK,IAAI,IAAI,CAAC6wC,UAAU,EAAEnX,KAAK,GAAG,KAAK;IAE7D,IAAIA,KAAK,KAAK/D,SAAS,EAAE;MACvBC,YAAY,CAAC8D,KAAK,CAAC;;GAEtB;EAED,MAAM9/B,QAAQ,aAAUpK,IAAI;IAAA,IAAK;MAAA,IAAAshD,kBAAA,EAAAC,oBAAA,EAAAC,mBAAA,EAAAC,sBAAA,EAAAC,mBAAA,EAAAC,mBAAA,EAAAC,sBAAA,EAAAC,gBAAA;MAC/B,MAAMnX,UAAU,GAAG;QACjBxN,kBAAkB,EAAEl9B,IAAI,CAACk9B,kBAAkB;QAC3CohB,MAAM,EAAEt+C,IAAI,CAACs+C,MAAM;QACnBr2C,MAAM,EAAEjI,IAAI,CAACiI,MAAM;QACnBs2C,MAAM,EAAEv+C,IAAI,CAACu+C,MAAM;QACnBC,QAAQ,EAAEx+C,IAAI,CAACw+C,QAAQ;QACvBC,KAAK,EAAEz+C,IAAI,CAACy+C,KAAK;QACjBzrB,WAAW,EAAEhzB,IAAI,CAACgzB,WAAW;QAC7B0rB,UAAU,EAAE1+C,IAAI,CAAC0+C,UAAU;QAC3B3f,WAAW,EAAE,EAAAuiB,kBAAA,GAAAthD,IAAI,CAAC++B,WAAW,cAAAuiB,kBAAA,uBAAhBA,kBAAA,CAAkB9wC,IAAI,KAAIxQ,IAAI,CAAC++B,WAAW;QACvD4f,cAAc,EAAE,EAAA4C,oBAAA,GAAAvhD,IAAI,CAAC2+C,cAAc,cAAA4C,oBAAA,uBAAnBA,oBAAA,CAAqB/wC,IAAI,KAAIxQ,IAAI,CAAC2+C,cAAc;QAChEte,aAAa,EAAE,EAAAmhB,mBAAA,GAAAxhD,IAAI,CAACqgC,aAAa,cAAAmhB,mBAAA,uBAAlBA,mBAAA,CAAoBhxC,IAAI,KAAIxQ,IAAI,CAACqgC,aAAa;QAC7D2d,gBAAgB,EAAE,EAAAyD,sBAAA,GAAAzhD,IAAI,CAACg+C,gBAAgB,cAAAyD,sBAAA,uBAArBA,sBAAA,CAAuBjxC,IAAI,KAAIxQ,IAAI,CAACg+C,gBAAgB;QACtEY,aAAa,EAAE,EAAA8C,mBAAA,GAAA1hD,IAAI,CAAC4+C,aAAa,cAAA8C,mBAAA,uBAAlBA,mBAAA,CAAoBlxC,IAAI,KAAIxQ,IAAI,CAAC4+C,aAAa;QAC7D9L,MAAM,EAAE9yC,IAAI,CAAC8yC,MAAM;QACnB+L,aAAa,EAAE,EAAA8C,mBAAA,GAAA3hD,IAAI,CAAC6+C,aAAa,cAAA8C,mBAAA,uBAAlBA,mBAAA,CAAoBnxC,IAAI,KAAIxQ,IAAI,CAAC6+C,aAAa;QAC7DZ,eAAe,EAAE,EAAA2D,sBAAA,GAAA5hD,IAAI,CAACi+C,eAAe,cAAA2D,sBAAA,uBAApBA,sBAAA,CAAsBpxC,IAAI,KAAIxQ,IAAI,CAACi+C,eAAe;QACnEa,UAAU,EAAE,EAAA+C,gBAAA,GAAA7hD,IAAI,CAAC8+C,UAAU,cAAA+C,gBAAA,uBAAfA,gBAAA,CAAiBrxC,IAAI,KAAIxQ,IAAI,CAAC8+C,UAAU;QACpDrB,YAAY,EAAEA;OACf;MAAC,MAAAvb,MAAA,GAAAtoB,MAAA,aAEE;QAAA,OAAA0D,OAAA,CAAAC,OAAA,CACIue,cAAc,CAAC+F,WAAW,CAAA93B,QAAA;UAC9Bk3B,WAAW,EAAE,EAAE;UACf+J,UAAU,EAAE,OAAO;UACnBnkC,GAAG,EAAE8+B;WACF+E,UAAU,CACd,CAAC,EAAA1wB,IAAA;UACF+V,QAAQ,CAAC;YAAEltB,IAAI,EAAE,SAAS;YAAE8mB,OAAO,EAAExqB,CAAC,CAAC,qCAAqC;WAAG,CAAC;UAChFu0B,QAAQ,CAAC6R,MAAM,CAACthC,GAAG,EAAEymC,UAAU,CAAC;;OACjC,cAAe;QACd3a,QAAQ,CAAC;UAAEltB,IAAI,EAAE,OAAO;UAAE8mB,OAAO,EAAExqB,CAAC,CAAC,gCAAgC;SAAG,CAAC;OAC1E;MAAA,OAAAme,OAAA,CAAAC,OAAA,CAAA2kB,MAAA,IAAAA,MAAA,CAAAloB,IAAA,GAAAkoB,MAAA,CAAAloB,IAAA;KACF,QAAA3P,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EAED,IAAIpK,SAAS,EAAE;IACb,oBAAOI,cAAA,CAAAC,aAAA,CAACwE,6BAAM,MAAE,CAAC;;EAGnB,MAAMmmC,MAAM,GAAGqS,kBAAkB,CAC/Bn+C,CAAC,EACDqoC,aAAa,EACb8U,YAAY,EACZkB,UAAU,EACVC,YAAY,EACZC,aAAa,EACbC,eACF,CAAC;EAED,oBACEt9C,cAAA,CAAAC,aAAA,CAAC+mB,cAAQ,qBACPhnB,cAAA,CAAAC,aAAA,CAAC4qC,mCAAY;IACXjnC,GAAG,EAAEgiC,YAAY,GAAG,QAAQ,GAAG,SAAU;IACzCkF,UAAU,EAAE,CAAChF,SAAU;IACvBxlC,KAAK,EAAExB,CAAC,CAAC,oBAAoB,CAAE;IAC/BomC,MAAM,EAAE0F,MAAM,CAAClnC,GAAG,CAAEC,IAAI,IAAA+F,QAAA,KACnB/F,IAAI;MACPonC,aAAa,EAAE,IAAI;MACnBC,aAAa,EAAE;MACf,CAAE;IACJjhC,QAAQ,EAAEA,QAAS;IACnBk9B,aAAa,EAAEA,aAAc;IAC7ByB,iBAAiB,EAAEA,iBAAkB;IACrCuC,MAAM,EAAE,KAAM;IACdC,YAAY,EAAE;GACf,CAAC,EACDzb,KAAK,iBACJzvB,cAAA,CAAAC,aAAA,CAAC0xB,4BAAK;IACJ3U,KAAK,EAAEyS,KAAK,CAACjtB,IAAI,KAAK,OAAQ;IAC9BlC,KAAK,EAAEmvB,KAAK,CAACnG,OAAQ;IACrB9b,OAAO,EAAEA,MAAMkiB,QAAQ,CAAC,IAAI;GAC7B,CAEK,CAAC;AAEf,CAAC;;ACzUD,MAAM+xB,IAAI,GAAGA,MAAM;EAAA,IAAAnjC,qBAAA,EAAA8G,sBAAA;EACjB,MAAAxmB,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAMgB,kBAAkB,GAAG;IACzBK,UAAU,EAAErB,CAAC,CAAC,kBAAkB,CAAC;IACjCsB,IAAI,EAAE,CACJ;MACEC,KAAK,EAAE,GAAG;MACVC,KAAK,EAAExB,CAAC,CAAC,YAAY,CAAC;MACtByB,IAAI;KACL,CACF;IACDC,KAAK,EAAE;GACR;EACD,MAAMkhD,WAAW,IAAApjC,qBAAA,GAAGtf,KAAK,CAACsb,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAA+D,qBAAA,wBAAA8G,sBAAA,GAAhC9G,qBAAA,CAAkCha,IAAI,cAAA8gB,sBAAA,uBAAtCA,sBAAA,CAAwC0W,KAAK;EACjE,MAAMA,KAAK,GAAGtzB,KAAK,CAACC,OAAO,CAACi5C,WAAW,CAAC,GAAGA,WAAW,CAACh+C,GAAG,CAAEq4B,GAAG,IAAKA,GAAG,CAACnhB,IAAI,CAAC,GAAG,EAAE;EAElF,IAAIkhB,KAAK,CAACplB,QAAQ,CAAC,eAAe,CAAC,EAAE;IACnC5W,kBAAkB,CAACU,KAAK,CAACiG,IAAI,CAAC;MAC5BnG,KAAK,EAAExB,CAAC,CAAC,oBAAoB,CAAC;MAC9ByB,IAAI;KACL,CAAC;;EAGJ,IAAIu7B,KAAK,CAACplB,QAAQ,CAAC,iBAAiB,CAAC,IAAIolB,KAAK,CAACplB,QAAQ,CAAC,aAAa,CAAC,EAAE;IACtE5W,kBAAkB,CAACU,KAAK,CAACiG,IAAI,CAC3B;MACEnG,KAAK,EAAExB,CAAC,CAAC,gBAAgB,CAAC;MAC1ByB,IAAI;KACL,EACD;MACED,KAAK,EAAExB,CAAC,CAAC,YAAY,CAAC;MACtByB,IAAI;KACL,EACD;MACED,KAAK,EAAExB,CAAC,CAAC,aAAa,CAAC;MACvByB,IAAI;KAER,CAAC;;EAGH,IAAIu7B,KAAK,CAACplB,QAAQ,CAAC,iBAAiB,CAAC,EAAE;IACrC5W,kBAAkB,CAACU,KAAK,CAACiG,IAAI,CAAC;MAC5BnG,KAAK,EAAExB,CAAC,CAAC,2BAA2B,CAAC;MACrCyB,IAAI;KACL,CAAC;;EAGJ,IAAIu7B,KAAK,CAACplB,QAAQ,CAAC,aAAa,CAAC,EAAE;IACjC5W,kBAAkB,CAACU,KAAK,CAACiG,IAAI,CAAC;MAC5BnG,KAAK,EAAExB,CAAC,CAAC,uBAAuB,CAAC;MACjCyB,IAAI;KACL,CAAC;;EAGJ,IAAIu7B,KAAK,CAACplB,QAAQ,CAAC,iBAAiB,CAAC,IAAIolB,KAAK,CAACplB,QAAQ,CAAC,aAAa,CAAC,EAAE;IACtE5W,kBAAkB,CAACU,KAAK,CAACiG,IAAI,CAAC;MAC5BnG,KAAK,EAAExB,CAAC,CAAC,yBAAyB,CAAC;MACnCyB,IAAI;KACL,CAAC;;EAGJ,IAAIu7B,KAAK,CAAC1vB,MAAM,KAAK,CAAC,IAAI0vB,KAAK,CAACplB,QAAQ,CAAC,SAAS,CAAC,EAAE;IACnD5W,kBAAkB,CAACU,KAAK,CAACiG,IAAI,CAS3B;MACEnG,KAAK,EAAExB,CAAC,CAAC,aAAa,CAAC;MACvByB,IAAI;KAER,CAAC;;EAGH,MAAMohD,cAAc,GAAG7hD,kBAAkB,CAACU,KAAK,CAACkD,GAAG,CAAEk+C,CAAC,KAAM;IAC1DC,OAAO,EAAED,CAAC,CAACthD,KAAK;IAChBC,IAAI,EAAEqhD,CAAC,CAACrhD,IAAI;IACZF,KAAK,EAAEuhD,CAAC,CAACvhD;GACV,CAAC,CAAC;EAEH,oBACEL,cAAA,CAAAC,aAAA,CAAC6hD,sCAAe;IACdxW,MAAM,EAAExsC,CAAC,CAAC,kBAAkB,CAAE;IAC9B0B,KAAK,EAAEmhD,cAAe;IACtB5hD,IAAI,EAAEA,mBAAMC,cAAA,CAAAC,aAAA,CAAC8hD,mCAAY;MAACt+C,SAAS,EAAC;KAA0B;GAC/D,CAAC;AAEN,CAAC;;ACvFD,MAAM6mB,OAAK,GAAGxpB,IAAA,IAAqB;EAAA,IAAAmoB,qBAAA,EAAAG,qBAAA,EAAAmB,sBAAA,EAAAC,sBAAA,EAAAwpB,qBAAA;EAAA,IAAlBzuC,WAAW,GAAAzE,IAAA,CAAXyE,WAAW;EAC1B,MAAMxG,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EACtD,MAAM8R,QAAQ,GAAG2E,0BAAW,EAAE;EAE9B,MAAM8U,aAAa,GAAG;IACpBC,UAAU,EAAE,EAAE;IACdrB,UAAU,EAAE,EAAE;IACdX,SAAS,EAAE;MACTlpB,KAAK,EAAE,EAAE;MACTD,MAAM,EAAE,CAAC;MACTorB,MAAM,EAAE,aAAa;MACrBC,SAAS,EAAE;;GAEd;EAED,MAAAC,WAAA,GAA8BC,gBAAU,CAACC,WAAW,EAAEN,aAAa,CAAC;IAA7DxC,SAAS,GAAA4C,WAAA;IAAE1C,QAAQ,GAAA0C,WAAA;EAE1B,MAAMG,WAAW,GAAG3mB,aAAO,CAAC,MAAM;IAAA,IAAAyjB,oBAAA,EAAAC,qBAAA;IAChC,OAAO;MACLhpB,QAAQ;MACRQ,MAAM,EAAE,CAAA0oB,SAAS,aAATA,SAAS,wBAAAH,oBAAA,GAATG,SAAS,CAAES,SAAS,cAAAZ,oBAAA,uBAApBA,oBAAA,CAAsBvoB,MAAM,KAAI,CAAC;MACzCC,KAAK,EAAE,CAAAyoB,SAAS,aAATA,SAAS,wBAAAF,qBAAA,GAATE,SAAS,CAAES,SAAS,cAAAX,qBAAA,uBAApBA,qBAAA,CAAsBvoB,KAAK,KAAI,EAAE;MACxC4lC,MAAM,EAAE,CAAAnd,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEoB,UAAU,KAAI;KAClC;GACF,EAAE,CAACtqB,QAAQ,EAAEkpB,SAAS,aAATA,SAAS,wBAAAgB,qBAAA,GAAThB,SAAS,CAAES,SAAS,cAAAO,qBAAA,uBAApBA,qBAAA,CAAsB1pB,MAAM,EAAE0oB,SAAS,aAATA,SAAS,wBAAAmB,qBAAA,GAATnB,SAAS,CAAES,SAAS,cAAAU,qBAAA,uBAApBA,qBAAA,CAAsB5pB,KAAK,EAAEyoB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEoB,UAAU,CAAC,CAAC;EAEhG,MAAMjT,OAAO,GAAG/R,aAAO,CAAC,MAAM;IAC5B,MAAMglB,UAAU,GAAG,CAAApB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEoB,UAAU,KAAI,EAAE;IAC9C,OAAA3f,QAAA,KACK2f,UAAU,EACTA,UAAU,CAAC3iB,OAAO,IAAI;MAAEF,GAAG,EAAE6iB,UAAU,CAAC3iB;KAAS;GAExD,EAAE,CAACuhB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEoB,UAAU,CAAC,CAAC;EAE3B,MAAAlqB,qBAAA,GAAgDH,KAAK,CAACI,KAAK,CAACC,IAAI,CAACC,sBAAsB,CAAC8W,OAAO,EAAE4U,WAAW,EAAE;MAC5GvrB,OAAO,EAAE,CAAC,CAACV,QAAQ;MACnB8f,gBAAgB,EAAE;KACnB,CAAC;IAHMjf,SAAS,GAAAT,qBAAA,CAATS,SAAS;IAAAsrB,sBAAA,GAAA/rB,qBAAA,CAAEQ,IAAI;IAAEyE,aAAa,GAAA8mB,sBAAA,cAAG,EAAE,GAAAA,sBAAA;EAK3C,MAAMC,aAAa,GAAG9mB,aAAO,CAC3B;IAAA,IAAA2jB,qBAAA,EAAAoD,sBAAA;IAAA,OAAO;MACL5kB,GAAG,EAAE,CAAAyhB,SAAS,aAATA,SAAS,wBAAAD,qBAAA,GAATC,SAAS,CAAEoB,UAAU,cAAArB,qBAAA,uBAArBA,qBAAA,CAAuBthB,OAAO,KAAI,EAAE;MACzCyJ,IAAI,EAAE,CAAA8X,SAAS,aAATA,SAAS,wBAAAmD,sBAAA,GAATnD,SAAS,CAAEoB,UAAU,cAAA+B,sBAAA,uBAArBA,sBAAA,CAAuBhhB,KAAK,KAAI;KACvC;GAAC,EACF,CAAC6d,SAAS,aAATA,SAAS,wBAAAsC,sBAAA,GAATtC,SAAS,CAAEoB,UAAU,cAAAkB,sBAAA,uBAArBA,sBAAA,CAAuB7jB,OAAO,EAAEuhB,SAAS,aAATA,SAAS,wBAAAuC,sBAAA,GAATvC,SAAS,CAAEoB,UAAU,cAAAmB,sBAAA,uBAArBA,sBAAA,CAAuBpgB,KAAK,CAC/D,CAAC;EAED,MAAMihB,cAAc,GAAG,CAAC,EAAEF,aAAa,CAAC3kB,GAAG,IAAI2kB,aAAa,CAAChb,IAAI,CAAC;EAElE,MAAAmb,sBAAA,GAAyDtsB,KAAK,CAACI,KAAK,CAACC,IAAI,CAACksB,mBAAmB,CAC3F;MACExsB,QAAQ;MACRod,OAAO,EAAEgP;KACV,EACD;MACE1rB,OAAO,EAAE,CAAC,CAACV,QAAQ,IAAI,CAAC,CAACosB,aAAa,CAAC3kB,GAAG;MAC1CqY,gBAAgB,EAAE;KAEtB,CAAC;IATkB2M,eAAe,GAAAF,sBAAA,CAA1B1rB,SAAS;IAAyB6rB,UAAU,GAAAH,sBAAA,CAAhB3rB,IAAI;EAWxC,MAAM+rB,UAAU,GAAGrnB,aAAO,CAAC,MAAM;IAC/B,IAAIgnB,cAAc,EAAE;MAClB,IAAI,CAACI,UAAU,EAAE,OAAO,EAAE;MAC1B,OAAO,CAACA,UAAU,CAAC;;IAGrB,OAAO,CAAArnB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE+e,YAAY,KAAI,EAAE;GACzC,EAAE,CAACkI,cAAc,EAAEI,UAAU,EAAErnB,aAAa,CAAC,CAAC;EAE/C,MAAMunB,YAAY,GAAGtnB,aAAO,CAAC,MAAM;IACjC,OAAO,CAACqnB,UAAU,IAAI,EAAE,EAAEhoB,GAAG,CAAEC,IAAI,IAAK;MAAA,IAAAioB,SAAA;MAEtC,MAAMC,YAAY,GAAG,CAAC,CAACloB,IAAI,CAACmoB,iBAAiB;MAE7C,IAAID,YAAY,EAAE;QAAA,IAAAE,kBAAA,EAAAC,mBAAA,EAAAE,mBAAA,EAAAD,qBAAA,EAAAE,sBAAA,EAAAC,sBAAA;QAChB,MAAMjB,aAAa,GAAGxnB,IAAI,CAACmoB,iBAAiB,IAAI,EAAE;QAClD,MAAM3H,QAAQ,GAAIgH,aAAa,CAAC5N,SAAS,IAAI4N,aAAa,CAAC7H,UAAU,IAAI6H,aAAa,CAAC1N,QAAQ,GAC3F,EAAG0N,aAAa,CAAC5N,SAAS,IAAI,EAAE,WAAI4N,aAAa,CAAC7H,UAAU,IAAI,EAAE,WAAI6H,aAAa,CAAC1N,QAAQ,IAAI,EAAE,GAAGoqB,IAAI,EAAE,CAAC1xB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GAChIgV,aAAa,CAACuB,YAAY,IAAI,EAAE;QAEpC,OAAO;UACLH,aAAa,EAAE,EAAAR,kBAAA,GAAApoB,IAAI,CAAC6oB,YAAY,cAAAT,kBAAA,uBAAjBA,kBAAA,CAAmBvlB,GAAG,KAAI,EAAE;UAC3CimB,YAAY,EAAE,EAAAT,mBAAA,GAAAroB,IAAI,CAAC6oB,YAAY,cAAAR,mBAAA,uBAAjBA,mBAAA,CAAmBxlB,GAAG,KAAI,EAAE;UAC1C2Z,KAAK,EAAEgE,QAAQ;UACf9c,iBAAiB,EAAE,EAAA6kB,mBAAA,GAAAvoB,IAAI,CAAC6oB,YAAY,cAAAN,mBAAA,uBAAjBA,mBAAA,CAAmB1lB,GAAG,KAAI,EAAE;UAC/CiB,WAAW,EAAE0c,QAAQ;UACrBvc,MAAM,EAAE,EAAAqkB,qBAAA,GAAAtoB,IAAI,CAACmoB,iBAAiB,cAAAG,qBAAA,uBAAtBA,qBAAA,CAAwBU,UAAU,KAAI,EAAE;UAChD3kB,UAAU,EAAE,CAAC,EAAAmkB,sBAAA,GAAAxoB,IAAI,CAACmoB,iBAAiB,cAAAK,sBAAA,uBAAtBA,sBAAA,CAAwBnkB,UAAU,OAAAokB,sBAAA,GAAIzoB,IAAI,CAACmoB,iBAAiB,cAAAM,sBAAA,uBAAtBA,sBAAA,CAAwBnkB,UAAU,KAAItE,IAAI,CAACqE,UAAU,IAAIrE,IAAI,CAACsE,UAAU,IAAI,IAAI,EAAEC,WAAW,EAAE;UAClJ0kB,GAAG,EAAE;SACN;;MAIH,MAAMzI,QAAQ,GAAIxgB,IAAI,CAAC4Z,SAAS,IAAI5Z,IAAI,CAAC2f,UAAU,IAAI3f,IAAI,CAAC8Z,QAAQ,GAChE,EAAG9Z,IAAI,CAAC4Z,SAAS,IAAI,EAAE,WAAI5Z,IAAI,CAAC2f,UAAU,IAAI,EAAE,WAAI3f,IAAI,CAAC8Z,QAAQ,IAAI,EAAE,GAAGoqB,IAAI,EAAE,CAAC1xB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GACrGxS,IAAI,CAAC+oB,YAAY,IAAI/oB,IAAI,CAAC8D,WAAW,IAAI,EAAE;MAE/C,OAAAiC,QAAA,KACK/F,IAAI;QACP4oB,aAAa,EAAE5oB,IAAI,CAAC6C,GAAG,IAAI7C,IAAI,CAAC0D,iBAAiB,IAAI,EAAE;QACvDolB,YAAY,EAAE9oB,IAAI,CAAC8oB,YAAY,IAAI,EAAE;QACrCtM,KAAK,EAAEgE,QAAQ;QACf9c,iBAAiB,EAAE1D,IAAI,CAAC6C,GAAG,IAAI7C,IAAI,CAAC0D,iBAAiB,IAAI,EAAE;QAC3DI,WAAW,EAAE0c,QAAQ;QACrBvc,MAAM,EAAEjE,IAAI,CAACiE,MAAM,IAAI,EAAE;QACzBI,UAAU,EAAE,CAACrE,IAAI,CAACqE,UAAU,IAAIrE,IAAI,CAACsE,UAAU,IAAI,IAAI,EAAEC,WAAW,EAAE;QACtE0kB,GAAG,GAAAhB,SAAA,GAAEjoB,IAAI,CAACipB,GAAG,YAAAhB,SAAA,GAAI;;KAEpB,CAAC;GACH,EAAE,CAACF,UAAU,CAAC,CAAC;EAEhB,MAAMhmB,YAAY,GAAG,CAAAtB,aAAa,aAAbA,aAAa,wBAAA4vC,qBAAA,GAAb5vC,aAAa,CAAEG,aAAa,cAAAyvC,qBAAA,uBAA5BA,qBAAA,CAA8BtuC,YAAY,MAAItB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEvE,UAAU,KAAI,CAAC;EAEjG,MAAMuoB,aAAa,GAAGpX,QAAQ,CAACkF,QAAQ,CAACQ,QAAQ,CAAC,YAAY,CAAC;EAK9D,MAAMmW,gBAAgB,GAAGC,iBAAW,CAClC9lB,KAAA;IAAA,IAAG+lB,WAAW,GAAA/lB,KAAA,CAAX+lB,WAAW;MAAEtD,eAAe,GAAAziB,KAAA,CAAfyiB,eAAe;MAAEC,iBAAiB,GAAA1iB,KAAA,CAAjB0iB,iBAAiB;IAAA,oBAChD1pB,cAAA,CAAAC,aAAA,CAACupB,0BAA0B;MAAOuD,WAAW;MAAEtD,eAAe;MAAEC,iBAAiB;MAAIC,UAAU,EAAC,KAAK;MAAClmB,SAAS,EAAC;KAAU,CAAC;GAC5H,EACD,EACF,CAAC;EAED,MAAMupB,2BAA2B,GAAG;IAClCrC,MAAM,EAAE,aAAa;IACrBnrB,KAAK,EAAE+c,MAAM,CAACvd,KAAK,CAACwd,KAAK,CAACyQ,OAAO,CAACC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE;IACtD3tB,MAAM,EAAE,CAAC;IACTqrB,SAAS,EAAE;GACZ;EAED,MAAMuC,kBAAkB,GAAIxtB,IAAI,IAAK;IACnCA,IAAI,CAACytB,cAAc,CAAC,EAAE,CAAC,KAAWztB,IAAI,aAAJA,IAAI,qBAAX,OAAOA,IAAI,CAAG,EAAE,CAAC;IAC5CwoB,QAAQ,CAAC;MAAEe,MAAM,EAAE,iBAAiB;MAAEvpB,IAAI,EAAA+J,QAAA,KAAOsjB,2BAA2B,CAAE;MAAE5E;KAAe,CAAC;IAChGD,QAAQ,CAAC;MAAEe,MAAM,EAAE,kBAAkB;MAAEvpB,IAAI;MAAEyoB;KAAe,CAAC;GAC9D;EAED,MAAMiF,uBAAuB,GAAG;IAC9B3mB,OAAO,EAAE,EAAE;IACXW,iBAAiB,EAAE,EAAE;IACrBimB,UAAU,EAAE;GACb;EAED,MAAMC,iBAAiB,GAAIC,kBAAkB,IAAK;IAChDA,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC;IACnCA,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,CAAC;IAC7CA,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC;IACtCrF,QAAQ,CAAC;MAAEe,MAAM,EAAE,kBAAkB;MAAEvpB,IAAI,EAAE0tB;KAAyB,CAAC;GACxE;EAED,MAAMI,kBAAkB,GAAG;IACzBZ,gBAAgB;IAChBM,kBAAkB;IAClBE,uBAAuB,EAAEpF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEoB,UAAU;IAC9CqE,4BAA4B,EAAEL,uBAAuB;IACrDE,iBAAiB;IACjB9pB,SAAS,EAAE;GACZ;EAeD,SAASsnB,WAAWA,CAAC4C,KAAK,EAAEC,OAAO,EAAE;IACnC,MAAM0pB,UAAU,GAAG1pB,OAAO,CAACxF,aAAa,GAAG,YAAY,GAAG,eAAe;IAGzE,QAAQwF,OAAO,CAAC1E,MAAM;MACpB,KAAK,kBAAkB;QACrBlqB,KAAK,CAACsb,cAAc,CAACuT,GAAG,CAACypB,UAAU,EAAA5tC,QAAA,KAAOikB,KAAK;UAAEtE,UAAU,EAAEuE,OAAO,CAACjuB;UAAM,CAAC;QAC5E,OAAA+J,QAAA,KAAYikB,KAAK;UAAEtE,UAAU,EAAEuE,OAAO,CAACjuB;;MAEzC,KAAK,kBAAkB;QACrBX,KAAK,CAACsb,cAAc,CAACuT,GAAG,CAACypB,UAAU,EAAA5tC,QAAA,KAAOikB,KAAK;UAAEjD,UAAU,EAAEkD,OAAO,CAACjuB;UAAM,CAAC;QAC5E,OAAA+J,QAAA,KAAYikB,KAAK;UAAEjD,UAAU,EAAEkD,OAAO,CAACjuB;;MAEzC,KAAK,iBAAiB;QACpBX,KAAK,CAACsb,cAAc,CAACuT,GAAG,CAACypB,UAAU,EAAA5tC,QAAA,KAAOikB,KAAK;UAAEjF,SAAS,EAAEkF,OAAO,CAACjuB;UAAM,CAAC;QAC3E,OAAA+J,QAAA,KAAYikB,KAAK;UAAEjF,SAAS,EAAEkF,OAAO,CAACjuB;;MAExC;QACE,OAAOguB,KAAK;;;EAIlB,MAAMroB,gBAAgB,GAAI0E,CAAC,IAAK;IAC9B,MAAM8jB,QAAQ,GAAGrN,MAAM,CAACzW,CAAC,CAACoB,MAAM,CAAC5H,KAAK,CAAC;IAEvC2kB,QAAQ,CAAC;MACPe,MAAM,EAAE,iBAAiB;MACzBvpB,IAAI,EAAA+J,QAAA,KACCue,SAAS,CAACS,SAAS;QACtBlpB,KAAK,EAAEsuB,QAAQ;QACfvuB,MAAM,EAAE;QACT;MACD6oB;KACD,CAAC;GACH;EAED,MAAMC,eAAe,GAAIre,CAAC,IAAK;IAC7B,IAAIA,CAAC,CAACoC,MAAM,GAAG,CAAC,EAAE;MAChB,MAAA2hB,GAAA,GAAuB/jB,CAAC;QAAfsD,EAAE,GAAAygB,GAAA,CAAFzgB,EAAE;QAAE0gB,IAAI,GAAAD,GAAA,CAAJC,IAAI;MACjB,MAAMpD,SAAS,GAAGoD,IAAI,GAAG,MAAM,GAAG,KAAK;MACvC,MAAMrD,MAAM,GAAGrd,EAAE;MAEjB,IAAI,EAAE2a,SAAS,CAACS,SAAS,CAACiC,MAAM,KAAKA,MAAM,IAAI1C,SAAS,CAACS,SAAS,CAACkC,SAAS,KAAKA,SAAS,CAAC,EAAE;QAC3FzC,QAAQ,CAAC;UACPe,MAAM,EAAE,iBAAiB;UACzBvpB,IAAI,EAAA+J,QAAA,KACCue,SAAS,CAACS,SAAS;YACtBiC,MAAM,EAAErd,EAAE;YACVsd,SAAS,EAAEoD,IAAI,GAAG,MAAM,GAAG;YAC5B;UACD5F;SACD,CAAC;;;GAGP;EAED,MAAM6F,kBAAkB,GAAGpG,mBAAmB,CAAAne,QAAA,KACzC;IACDnE,WAAW;IACXD,gBAAgB;IAChB2iB,SAAS;IACTpoB,UAAU,EAAE6F,YAAY;IACxBwiB,KAAK,EAAEyD,YAAY;IACnBxD,QAAQ;IACRE,eAAe;IACftpB,QAAQ;IACRqpB,aAAa;IACbG,WAAW,EAAE;MAAE2F,SAAS,EAAE,QAAQ;MAAEC,SAAS,EAAE;KAAU;IACzD1F,UAAU,EAAE;MAAEzkB,KAAK,EAAE;;GACtB,CACF,CAAC;EAEF,MAAMoqB,cAAc,GAAGxuB,SAAS,IAAI4rB,eAAe;EAEnD,oBACExrB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,CAACouB,oCAAa,EAAA3kB,QAAA;IAEV0kB;KAEGX,kBAAkB;IAGrBQ,kBAAkB;IAElBhG;IAEH,CACE,CAAC;AAEV,CAAC;;ACxQD,MAAM+5B,qBAAqB,GAAGA,MAAM;EAAA,IAAA1jC,qBAAA,EAAAy1B,gBAAA;EAChC,MAAAn1C,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAMC,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE,IAAI,QAAQ;EAClE,MAAAwf,UAAA,GAA6BC,wBAAS,EAAE;IAA5BsD,YAAY,GAAAvD,UAAA,CAAhBpR,EAAE;EACV,MAAMmS,YAAY,IAAAnB,qBAAA,GAAGtf,KAAK,CAACsb,cAAc,CAACC,GAAG,CAAC,MAAM,CAAC,cAAA+D,qBAAA,uBAAhCA,qBAAA,CAAkCha,IAAI;EAC3D,MAAA0B,SAAA,GAAsDC,cAAQ,CAAC,KAAK,CAAC;IAA9D2c,mBAAmB,GAAA5c,SAAA;IAAE6c,sBAAsB,GAAA7c,SAAA;EAGlD,MAAA7G,qBAAA,GAA6DH,KAAK,CAACI,KAAK,CAACC,IAAI,CAACuf,yBAAyB,CAAC;MACpGnf,OAAO,EAAE,CAAC,CAACV,QAAQ;MACnB8f,gBAAgB,EAAE;KACrB,CAAC;IAHiBC,iBAAiB,GAAA3f,qBAAA,CAA5BS,SAAS;IAA2Bmf,YAAY,GAAA5f,qBAAA,CAAlBQ,IAAI;EAK1C,MAAMsiD,UAAU,GAAG59C,aAAO,CAAC,MAAM;IAC7B,IAAI,EAAC0a,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEgD,gBAAgB,GAAE,OAAO,IAAI;IAChD,IAAIE,YAAY,EAAE;MACd,OAAOlD,YAAY,CAACgD,gBAAgB,CAACrH,IAAI,CAAE8G,CAAC,IAAKA,CAAC,CAACS,YAAY,KAAKA,YAAY,CAAC,IAAIlD,YAAY,CAACgD,gBAAgB,CAAC,CAAC,CAAC;;IAEzH,MAAMrC,QAAQ,GAAGD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEE,IAAI;IACnC,IAAID,QAAQ,EAAE;MACV,OAAOX,YAAY,CAACgD,gBAAgB,CAACrH,IAAI,CAAE8G,CAAC,IAAKA,CAAC,CAACS,YAAY,KAAKvC,QAAQ,CAAC,IAAIX,YAAY,CAACgD,gBAAgB,CAAC,CAAC,CAAC;;IAErH,OAAOhD,YAAY,CAACgD,gBAAgB,CAAC,CAAC,CAAC;GAC1C,EAAE,CAAChD,YAAY,EAAEkD,YAAY,EAAExC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEE,IAAI,CAAC,CAAC;EAEpD,MAAMwE,QAAQ,GAAG,CAAA89B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE7nC,cAAc,MAAIqF,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEtP,IAAI,KAAI,KAAK;EAC1E,MAAMnE,YAAY,GAAG,CAAAi2C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEzkC,QAAQ,MAAIiC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEzT,YAAY,KAAI,KAAK;EAChF,MAAMiP,KAAK,GAAG,CAAAwE,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEyC,OAAO,KAAI,KAAK;EAC5C,MAAMqB,MAAM,GAAG,CAAA9D,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE8D,MAAM,KAAI,KAAK;EAC5C,MAAM3b,MAAM,GAAGq6C,UAAU,GAAG,QAAQ,GAAG,KAAK;EAC5C,MAAMC,YAAY,GAAG,CAAAD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,cAAc,KAAI,KAAK;EACxD,MAAMhoC,UAAU,GAAG,KAAK;EAExB,MAAM86B,SAAS,GAAG5wC,aAAO,CAAC,MAAM;IAC5B,OAAO,CAAA49C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEhN,SAAS,KAAI,EAAE;GACrC,EAAE,CAACgN,UAAU,CAAC,CAAC;EAwChB,MAAAnsC,UAAA,GAAsC7P,cAAQ,CAAC,CAAC,CAAC;IAA1Cb,WAAW,GAAA0Q,UAAA;IAAE0M,cAAc,GAAA1M,UAAA;EAClC,MAAA6M,UAAA,GAAgC1c,cAAQ,CAAC,EAAE,CAAC;IAArCwc,QAAQ,GAAAE,UAAA;IAAED,WAAW,GAAAC,UAAA;EAE5B,MAAMy/B,kBAAkB,GAAG/9C,aAAO,CAAC,MAAM;IACrC,MAAM0gB,KAAK,GAAG3f,WAAW,GAAGqd,QAAQ;IACpC,MAAMuC,GAAG,GAAGD,KAAK,GAAGtC,QAAQ;IAC5B,OAAOwyB,SAAS,CAAC18B,KAAK,CAACwM,KAAK,EAAEC,GAAG,CAAC;GACrC,EAAE,CAACiwB,SAAS,EAAE7vC,WAAW,EAAEqd,QAAQ,CAAC,CAAC;EAEtC,MAAM4/B,eAAe,GAAGh+C,aAAO,CAC3B,MAAM,CACF;IACIwC,MAAM,EAAE/H,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;IAC7CgI,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE8S,YAAY,KAAI,KAAK;IAC7ClT,IAAI,EAAEjG,IAAA;MAAA,IAAAmG,aAAA;MAAA,IAAGE,GAAG,GAAArG,IAAA,CAAHqG,GAAG;MAAA,oBACRnH,cAAA,CAAAC,aAAA;QACIilB,IAAI,iDAA+C/d,GAAG,CAACC,QAAQ,CAAC0oB,UAAa;QAC7EjsB,KAAK,EAAE;UAAEN,KAAK,EAAE,SAAS;UAAEmK,UAAU,EAAE,KAAK;UAAEyX,cAAc,EAAE;;SAE7D,EAAAle,aAAA,GAAAE,GAAG,CAACC,QAAQ,cAAAH,aAAA,uBAAZA,aAAA,CAAcgT,YAAY,KAAI,KAChC,CAAC;;GAEX,EACD;IACIpT,MAAM,EAAE/H,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;IAC7CgI,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEqW,QAAQ,KAAI,KAAK;IACzClQ,EAAE,EAAE;GACP,EACD;IACIzG,MAAM,EAAE/H,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;IAC/BgI,QAAQ,EAAEA,MAAM,QAAQ;IACxBwG,EAAE,EAAE,QAAQ;IACZvG,IAAI,EAAEC,KAAA;MAAA,IAAGxD,KAAK,GAAAwD,KAAA,CAALxD,KAAK;MAAA,oBACVxD,cAAA,CAAAC,aAAA;QAAMwD,SAAS;SACV3E,CAAC,CAAC0E,KAAK,CAAC,IAAIA,KACX,CAAC;;GAEd,EACD;IACIqD,MAAM,EAAE/H,CAAC,CAAC,yBAAyB,CAAC,IAAI,yBAAyB;IACjEgI,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE8Z,SAAS,KAAI,CAAC;IACtC3T,EAAE,EAAE;GACP,EACD;IACIzG,MAAM,EAAE/H,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBAAgB;IAC/CgI,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEga,aAAa,KAAI,CAAC;IAC1C7T,EAAE,EAAE;GACP,EACD;IACIzG,MAAM,EAAE/H,CAAC,CAAC,sBAAsB,CAAC,IAAI,sBAAsB;IAC3DgI,QAAQ,EAAGK,GAAG,IAAK,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEia,WAAW,KAAI,CAAC;IACxC9T,EAAE,EAAE;GACP,EACD;IACIzG,MAAM,EAAE/H,CAAC,CAAC,kBAAkB,CAAC,IAAI,kBAAkB;IACnDgI,QAAQ,EAAGK,GAAG,KAAQ,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEka,eAAe,KAAI,CAAC,OAAG;IAClD/T,EAAE,EAAE;GACP,CACJ,EACD,CAACxO,CAAC,CACN,CAAC;EAGD,MAAA0mB,UAAA,GAA4Cvf,cAAQ,CAAC,KAAK,CAAC;IAApDwf,cAAc,GAAAD,UAAA;IAAEE,iBAAiB,GAAAF,UAAA;EACxC,MAAAG,UAAA,GAAoC1f,cAAQ,CAAC;MAAE8a,IAAI,EAAE,EAAE;MAAE7U,EAAE,EAAE;KAAI,CAAC;IAA3D0Z,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAChC,MAAAG,UAAA,GAAgD7f,cAAQ,CAAC,KAAK,CAAC;IAAxD8f,gBAAgB,GAAAD,UAAA;IAAEE,mBAAmB,GAAAF,UAAA;EAC5C,MAAAG,UAAA,GAA0ChgB,cAAQ,CAAC,KAAK,CAAC;IAAlDigB,aAAa,GAAAD,UAAA;EACpB,MAAMG,aAAa,GAAGnlB,YAAM,CAAC,IAAI,CAAC;EAElCiB,eAAS,CAAC,MAAM;IACZ,MAAMmkB,OAAO,GAAIrc,CAAC,IAAK;MACnB,IAAIoc,aAAa,CAACjkB,OAAO,IAAI,CAACikB,aAAa,CAACjkB,OAAO,CAACmkB,QAAQ,CAACtc,CAAC,CAACoB,MAAM,CAAC,EAAE;QACpEsa,iBAAiB,CAAC,KAAK,CAAC;QACxBM,mBAAmB,CAAC,KAAK,CAAC;;KAEjC;IACDO,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEH,OAAO,CAAC;IAC/C,OAAO,MAAME,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEJ,OAAO,CAAC;GAClE,EAAE,EAAE,CAAC;EAqCN,MAAMQ,oBAAoB,GAAIvQ,MAAM,IAAK;IACrCoQ,cAAc,EAAE;GACnB;EAED,MAAMI,oBAAoB,GAAGA,MAAM;IAC/B,IAAI,CAAClB,UAAU,CAAC7E,IAAI,IAAI,CAAC6E,UAAU,CAAC1Z,EAAE,EAAE;MACpC8M,KAAK,CAACla,CAAC,CAAC,mBAAmB,CAAC,IAAI,uCAAuC,CAAC;MACxE;;IAEJ4nB,cAAc,EAAE;GACnB;EAED,MAAM5D,sBAAsB;IAAA,IAAe;MACvC,IAAI,CAACmyB,SAAS,IAAIA,SAAS,CAAC7oC,MAAM,KAAK,CAAC,EAAE;QACtC4M,KAAK,CAACla,CAAC,CAAC,uBAAuB,CAAC,IAAI,2CAA2C,CAAC;QAChF,OAAAme,OAAA,CAAAC,OAAA;;MAGJ2F,sBAAsB,CAAC,IAAI,CAAC;MAAC,OAAA5F,OAAA,CAAAC,OAAA,CAAAtD,gBAAA;QAAA,OAAAL,MAAA,aACzB;UAEA,MAAM+oC,aAAa,GAAGrN,SAAS,CAACvxC,GAAG,CAAC8d,CAAC,IACjCxiB,KAAK,CAAC+jB,WAAW,CAACC,gBAAgB,CAAC;YAC/BjkB,QAAQ,EAAEA,QAAQ,IAAI,QAAQ;YAC9BQ,MAAM,EAAE,CAAC;YACTC,KAAK,EAAE,IAAI;YACXswB,UAAU,EAAEtO,CAAC,CAACsO,UAAU,IAAItO,CAAC,CAAClU,EAAE;YAChC2V,cAAc,EAAE;WACnB,CAAC,CAACs/B,KAAK,CAAC37B,GAAG,IAAI;YACZ7J,OAAO,CAACC,KAAK,+CAA6CwE,CAAC,CAACvH,YAAY,QAAK2M,GAAG,CAAC;YACjF,OAAO;cAAEzD,YAAY,EAAE;aAAI;WAC9B,CACL,CAAC;UAAC,OAAAlG,OAAA,CAAAC,OAAA,CAEoBD,OAAO,CAACulC,GAAG,CAACF,aAAa,CAAC,EAAA3oC,IAAA,WAA1C8oC,OAAO;YACb,MAAMt/B,YAAY,GAAGs/B,OAAO,CAAC1rC,OAAO,CAACuxB,GAAG,IAAI,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEnlB,YAAY,KAAI,EAAE,CAAC;YAEpE,IAAIA,YAAY,CAAC/W,MAAM,KAAK,CAAC,EAAE;cAC3B4M,KAAK,CAACla,CAAC,CAAC,eAAe,CAAC,IAAI,6BAA6B,CAAC;cAC1D;;YAGJ,MAAMskB,YAAY,GAAG,CACjB,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAC/E,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EACjF,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAC1E,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EACjF,YAAY,EAAE,cAAc,CAC/B;YAED,MAAMC,aAAa,GAAG;cAClB7c,GAAG,EAAE1H,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK;cACtBye,SAAS,EAAEze,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY;cAC1CwkB,UAAU,EAAExkB,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7C2e,QAAQ,EAAE3e,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;cACvCykB,MAAM,EAAEzkB,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC/BkN,YAAY,EAAElN,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe;cACnDojB,OAAO,EAAEpjB,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACpC0kB,mBAAmB,EAAE1kB,CAAC,CAAC,qBAAqB,CAAC,IAAI,qBAAqB;cACtE2kB,YAAY,EAAE3kB,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cACjD4kB,GAAG,EAAE5kB,CAAC,CAAC,KAAK,CAAC,IAAI,eAAe;cAChCkJ,UAAU,EAAElJ,CAAC,CAAC,aAAa,CAAC,IAAI,aAAa;cAC7C4e,QAAQ,EAAE5e,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cAC7B6kB,QAAQ,EAAE7kB,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU;cACrC8kB,IAAI,EAAE9kB,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM;cACzB+kB,OAAO,EAAE/kB,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS;cAClCglB,KAAK,EAAEhlB,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ;cAC9BilB,WAAW,EAAEjlB,CAAC,CAAC,cAAc,CAAC,IAAI,cAAc;cAChDklB,gBAAgB,EAAEllB,CAAC,CAAC,oBAAoB,CAAC,IAAI;aAChD;YAED,MAAMmlB,SAAS,GAAGd,YAAY,CAACzf,GAAG,CAAEC,IAAI,IAAK;cACzC,MAAMugB,QAAQ,GAAG,EAAE;cAEnB,MAAMC,QAAQ,GAAG,CAACxgB,IAAI,CAAC4Z,SAAS,EAAE5Z,IAAI,CAAC2f,UAAU,EAAE3f,IAAI,CAAC8Z,QAAQ,CAAC,CAACnH,MAAM,CAAC8N,OAAO,CAAC,CAAChM,IAAI,CAAC,GAAG,CAAC;cAC3F,IAAI+L,QAAQ,EAAE;gBACVD,QAAQ,CAACplB,CAAC,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,GAAGqlB,QAAQ;;cAG9DE,MAAM,CAACC,IAAI,CAAC3gB,IAAI,CAAC,CAAC4gB,OAAO,CAAC3gB,GAAG,IAAI;gBAC7B,IAAIwf,YAAY,CAAC1M,QAAQ,CAAC9S,GAAG,CAAC,EAAE;gBAEhC,MAAMqY,GAAG,GAAGtY,IAAI,CAACC,GAAG,CAAC;gBACrB,IAAI,OAAOqY,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,EAAE;kBACzC;;gBAGJ,MAAMuI,cAAc,GAAGnB,aAAa,CAACzf,GAAG,CAAC,IAAI9E,CAAC,CAAC8E,GAAG,CAACsE,WAAW,EAAE,CAAC,IAAItE,GAAG;gBACxEsgB,QAAQ,CAACM,cAAc,CAAC,GAAGvI,GAAG;eACjC,CAAC;cAEF,OAAOiI,QAAQ;aAClB,CAAC;YAEF,MAAMO,aAAa,6BAA2BN,QAAQ,CAAChO,OAAO,CAAC,eAAe,EAAE,GAAG,CAAG;YACtFnX,KAAK,CAAC0lB,QAAQ,CAACC,KAAK,CAACV,SAAS,EAAEQ,aAAa,CAAC;;SACjD,YAAQzH,KAAK,EAAE;UACZD,OAAO,CAACC,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;SACxD;mBAAA4H,UAAA,EAAAC,OAAA;QACGhC,sBAAsB,CAAC,KAAK,CAAC;QAAC,IAAA+B,UAAA,QAAAC,OAAA;QAAA,OAAAA,OAAA;;KAErC,QAAA7a,CAAA;MAAA,OAAAiT,OAAA,CAAAE,MAAA,CAAAnT,CAAA;;;EAmBD,IAAI8U,iBAAiB,EAAE;IACnB,oBAAO9e,cAAA,CAAAC,aAAA,CAACwE,6BAAM,MAAE,CAAC;;EAGrB,IAAI,CAACw9C,UAAU,EAAE;IACb,oBACIjiD,cAAA,CAAAC,aAAA,CAACyE,2BAAI,qBACD1E,cAAA,CAAAC,aAAA;MAAK4D,KAAK,EAAE;QAAEoF,OAAO,EAAE;;OAAWnK,CAAC,CAAC,qBAAqB,CAAO,CAC9D,CAAC;;EAIf,oBACIkB,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC;kBAEZzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAU0gB,QAAQ,aAARA,QAAQ,wBAAA4vB,gBAAA,GAAR5vB,QAAQ,CAAE+C,MAAM,CAAC,CAAC,CAAC,cAAA6sB,gBAAA,uBAAnBA,gBAAA,CAAqB7rC,WAAW,EAAQ,CAAC,eAElElI,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAIwD,SAAS,EAAC;KAAQ0gB,QAAa,CAAC,eACpCnkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KAAe3E,CAAC,CAAC,kBAAkB,CAAC,IAAI,kBAAwB,CAC9E,CACJ,CAAC,eAGNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC,iBAAiB;IAACM,GAAG,EAAEqiB;kBAClCpmB,cAAA,CAAAC,aAAA;IACIwD,SAAS,EAAC,cAAc;IACxB0jB,QAAQ,EAAEjB,aAAc;IACxB5e,OAAO,EAAEA,MAAM;MACXoe,iBAAiB,CAAE0B,CAAC,IAAK,CAACA,CAAC,CAAC;MAC5BpB,mBAAmB,CAAC,KAAK,CAAC;;KAG7BE,aAAa,GAAGpnB,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,GAAGA,CAAC,CAAC,iBAAiB,CAAC,IAAI,iBAC5E,CAAC,EAER2mB,cAAc,iBACXzlB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACV,CACG;IAAEnD,KAAK,EAAExB,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO;IAAE8E,GAAG,EAAE;GAAS,EAC9C;IAAEtD,KAAK,EAAExB,CAAC,CAAC,WAAW,CAAC,IAAI,WAAW;IAAE8E,GAAG,EAAE;GAAQ,EACrD;IAAEtD,KAAK,EAAExB,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY;IAAE8E,GAAG,EAAE;GAAS,CAC3D,CAACF,GAAG,CAAC6D,KAAA;IAAA,IAAGjH,KAAK,GAAAiH,KAAA,CAALjH,KAAK;MAAEsD,GAAG,GAAA2D,KAAA,CAAH3D,GAAG;IAAA,oBACf5D,cAAA,CAAAC,aAAA;MACI2D,GAAG,EAAEA,GAAI;MACTH,SAAS,EAAC,WAAW;MACrB6D,OAAO,EAAEA,MAAMuf,oBAAoB,CAACjjB,AAAG;OAEtCtD,KACA,CAAC;GACT,CAAC,eAEFN,cAAA,CAAAC,aAAA;IACIwD,SAAS,EAAC,qBAAqB;IAC/B6D,OAAO,EAAEA,MAAM0e,mBAAmB,CAAEoB,CAAC,IAAK,CAACA,CAAC;KAE3CtoB,CAAC,CAAC,aAAa,CAAC,IAAI,aACpB,CAAC,EAELinB,gBAAgB,iBACb/lB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAOwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,WAAW,CAAC,IAAI,MAChB,CAAC,eACRkB,cAAA,CAAAC,aAAA;IACIuC,IAAI,EAAC,MAAM;IACXiB,SAAS,EAAC,YAAY;IACtBD,KAAK,EAAEoiB,UAAU,CAAC7E,IAAK;IACvBlX,QAAQ,EAAGG,CAAC,IACR6b,aAAa,CAAEva,CAAC,IAAA5B,QAAA,KAAW4B,CAAC;MAAEyV,IAAI,EAAE/W,CAAC,CAACoB,MAAM,CAAC5H;MAAQ;GAE5D,CACA,CAAC,eAENxD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAOwD,SAAS,EAAC;KACZ3E,CAAC,CAAC,SAAS,CAAC,IAAI,IACd,CAAC,eACRkB,cAAA,CAAAC,aAAA;IACIuC,IAAI,EAAC,MAAM;IACXiB,SAAS,EAAC,YAAY;IACtBD,KAAK,EAAEoiB,UAAU,CAAC1Z,EAAG;IACrBrC,QAAQ,EAAGG,CAAC,IACR6b,aAAa,CAAEva,CAAC,IAAA5B,QAAA,KAAW4B,CAAC;MAAEY,EAAE,EAAElC,CAAC,CAACoB,MAAM,CAAC5H;MAAQ;GAE1D,CACA,CAAC,eAENxD,cAAA,CAAAC,aAAA;IACIwD,SAAS,EAAC,qBAAqB;IAC/B6D,OAAO,EAAEwf;KAERhoB,CAAC,CAAC,UAAU,CAAC,IAAI,UACd,CACP,CAER,CAER,CACJ,CAAC,eAiBNkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAASuI,YAAmB,CAC3C,CAAC,eAENhM,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,OAAO,CAAQ,CAAC,eAC3CkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAASwX,KAAY,CACpC,CAAC,eAENjb,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS8f,MAAa,CACrC,CAAC,eAENvjB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,QAAQ,CAAQ,CAAC,eAC5CkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAASmE,MAAa,CACrC,CAAC,eAEN5H,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,eAAe,CAAC,IAAI,eAAsB,CAAC,eACtEkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAASy+C,YAAmB,CAC3C,CAAC,eAENliD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS3E,CAAC,CAAC,aAAa,CAAC,IAAI,aAAoB,CAAC,eAClEkB,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KAAS0W,UAAiB,CACzC,CACJ,CACJ,CAAC,eAGNna,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACXzD,cAAA,CAAAC,aAAA,aAAKnB,CAAC,CAAC,oBAAoB,CAAC,IAAI,oBAAyB,CAAC,eAC1DkB,cAAA,CAAAC,aAAA,YACKnB,CAAC,CAAC,yBAAyB,CAAC,IACzB,iGACL,CAAC,eACJkB,cAAA,CAAAC,aAAA;IACIwD,SAAS,EAAC,oBAAoB;IAC9B0jB,QAAQ,EAAEvE,mBAAoB;IAC9Btb,OAAO,EAAEwb;kBAET9iB,cAAA,CAAAC,aAAA;IAAK+D,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC,IAAI;IAACqG,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAACC,MAAM,EAAC,cAAc;IAACC,WAAW,EAAC,KAAK;IAACC,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;kBACrI3K,cAAA,CAAAC,aAAA;IAAMqL,CAAC,EAAC;GAA6C,CAAC,eACtDtL,cAAA,CAAAC,aAAA;IAAUqnB,MAAM,EAAC;GAAoB,CAAC,eACtCtnB,cAAA,CAAAC,aAAA;IAAM8K,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC;GAAK,CACrC,CAAC,EACL0X,mBAAmB,GAAG9jB,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,GAAGA,CAAC,CAAC,gBAAgB,CAAC,IAAI,gBACjF,CACP,CACJ,CACJ,CACJ,CAAC,eAENkB,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC;kBACZzD,cAAA,CAAAC,aAAA,CAACiJ,4BAAK;IACFpK,CAAC,EAAEA,CAAE;IACLyoB,UAAU,EAAEzoB,CAAC,CAAC,qBAAqB,CAAC,IAAI,qBAAsB;IAC9D0oB,UAAU,EAAC,WAAW;IACtB7nB,IAAI,EAAEyiD,kBAAmB;IACzBx7C,OAAO,EAAEy7C,eAAgB;IACzBziD,SAAS,EAAEkf,iBAAkB;IAC7BpZ,YAAY,EAAEuvC,SAAS,CAAC7oC,MAAO;IAC/BhH,WAAW,EAAEA,WAAY;IACzBC,aAAa,EAAEod,QAAS;IACxBgF,oBAAoB,EAAE,IAAK;IAC3BviB,UAAU,EAAEA,MAAM;MACd,IAAIE,WAAW,GAAG1D,IAAI,CAACgmB,IAAI,CAACutB,SAAS,CAAC7oC,MAAM,GAAGqW,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC1DD,cAAc,CAAE1Y,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAExC;IACF3E,UAAU,EAAEA,MAAM;MACd,IAAIC,WAAW,GAAG,CAAC,EAAE;QACjBod,cAAc,CAAE1Y,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;;KAExC;IACF6d,WAAW,EAAEA,MAAM;MACfnF,cAAc,CAAC,CAAC,CAAC;KACnB;IACFoF,UAAU,EAAEA,MAAM;MACdpF,cAAc,CAAC9gB,IAAI,CAACqX,GAAG,CAACrX,IAAI,CAACgmB,IAAI,CAACutB,SAAS,CAAC7oC,MAAM,GAAGqW,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;KACzE;IACFnd,gBAAgB,EAAG0E,CAAC,IAAK;MACrB0Y,WAAW,CAACjC,MAAM,CAACzW,CAAC,CAACoB,MAAM,CAAC5H,KAAK,CAAC,CAAC;MACnCgf,cAAc,CAAC,CAAC,CAAC;;GAExB,CACC,CACJ,CAAC;AAEf,CAAC;;ACtgBD,MAAMkgC,UAAU,GAAGA,MAAM;EACvB,MAAA9jD,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAA4f,UAAA,GAAeC,wBAAS,EAAE;IAAlBrR,EAAE,GAAAoR,UAAA,CAAFpR,EAAE;EACV,MAAM3H,OAAO,GAAGC,yBAAU,EAAE;EAG5B,MAAAI,SAAA,GAAkCC,cAAQ,CAAC;MACzCojB,UAAU,EAAE;QACV3iB,OAAO,EAAE4G,EAAE,IAAIA,EAAE,KAAK,KAAK,GAAGA,EAAE,GAAG;OACpC;MACDod,UAAU,EAAE;KACb,CAAC;IALKzC,SAAS,GAAAjiB,SAAA;IAAE28C,YAAY,GAAA38C,SAAA;EAM9B,MAAA8P,UAAA,GAAsC7P,cAAQ,CAACqH,EAAE,IAAIA,EAAE,KAAK,KAAK,GAAGA,EAAE,GAAG,EAAE,CAAC;IAArEs1C,WAAW,GAAA9sC,UAAA;IAAE+sC,cAAc,GAAA/sC,UAAA;EAClC,MAAA6M,UAAA,GAAgC1c,cAAQ,CAAC,EAAE,CAAC;IAArC68C,QAAQ,GAAAngC,UAAA;IAAEogC,WAAW,GAAApgC,UAAA;EAE5B,MAAM5jB,QAAQ,GAAGC,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE;EAItDgD,eAAS,CAAC,MAAM;IAAA,IAAA8lB,qBAAA;IACd,MAAMg7B,cAAc,GAAG,CAAA/6B,SAAS,aAATA,SAAS,wBAAAD,qBAAA,GAATC,SAAS,CAAEoB,UAAU,cAAArB,qBAAA,uBAArBA,qBAAA,CAAuBthB,OAAO,KAAI,EAAE;IAC3D,MAAMu8C,aAAa,GAAG31C,EAAE,IAAIA,EAAE,KAAK,KAAK,GAAGA,EAAE,GAAG,EAAE;IAClD,IAAI01C,cAAc,KAAKC,aAAa,EAAE;MACpCN,YAAY,CAAC;QACXt5B,UAAU,EAAE;UAAE3iB,OAAO,EAAEu8C;SAAe;QACtCv4B,UAAU,EAAE;OACb,CAAC;MACFm4B,cAAc,CAACI,aAAa,CAAC;;GAEhC,EAAE,CAAC31C,EAAE,CAAC,CAAC;EAGR,MAAAnO,qBAAA,GAAyDH,KAAK,CAACI,KAAK,CAACC,IAAI,CAACs8B,mBAAmB,CAC3F;MAAEn1B,GAAG,EAAEo8C,WAAW;MAAEhnB,SAAS,EAAE;KAAU,EACzC78B,QAAQ,EACR;MACEU,OAAO,EAAE,CAAC,CAACmjD,WAAW;MACtBM,KAAK,EAAE,KAAK;MACZ5uB,OAAO,EAAG1N,GAAG,IAAK;QAChBm8B,WAAW,CAAC,CAAAn8B,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE0C,OAAO,KAAIxqB,CAAC,CAAC,uBAAuB,EAAE,6BAA6B,CAAC,CAAC;;KAG5F,CAAC;IAVa2sB,UAAU,GAAAtsB,qBAAA,CAAhBQ,IAAI;IAAyBwjD,eAAe,GAAAhkD,qBAAA,CAA1BS,SAAS;EAanC,MAAAsrB,sBAAA,GAAuElsB,KAAK,CAACI,KAAK,CAACC,IAAI,CAACksB,mBAAmB,CACzG;MAAExsB,QAAQ;MAAEod,OAAO,EAAE;QAAE3V,GAAG,EAAEo8C;;KAAe,EAC3C;MAAEnjD,OAAO,EAAE,CAAC,CAACmjD,WAAW;MAAEM,KAAK,EAAE;KACnC,CAAC;IAHaE,oBAAoB,GAAAl4B,sBAAA,CAA1BvrB,IAAI;IAAmC0jD,mBAAmB,GAAAn4B,sBAAA,CAA9BtrB,SAAS;EAK7C,MAAMA,SAAS,GAAGujD,eAAe,IAAIE,mBAAmB;EAExD,MAAMl2B,kBAAkB,GAAIxtB,IAAI,IAAK;IAAA,IAAA2jD,aAAA;IACnC,MAAMrnC,GAAG,GAAGtc,IAAI,aAAJA,IAAI,wBAAA2jD,aAAA,GAAJ3jD,IAAI,CAAE+G,OAAO,cAAA48C,aAAA,uBAAbA,aAAA,CAAezb,IAAI,EAAE;IACjC,IAAI,CAAC5rB,GAAG,EAAE;MACR8mC,WAAW,CAACjkD,CAAC,CAAC,uBAAuB,EAAE,gCAAgC,CAAC,CAAC;MACzE;;IAEFikD,WAAW,CAAC,EAAE,CAAC;IACfJ,YAAY,CAAC;MACXt5B,UAAU,EAAE1pB,IAAI;MAChB+qB,UAAU,EAAE;KACb,CAAC;IACFm4B,cAAc,CAAC5mC,GAAG,CAAC;IACnBtW,OAAO,CAACc,IAAI,6BAA2BwV,GAAK,CAAC;GAC9C;EAED,MAAMoR,uBAAuB,GAAG;IAC9B3mB,OAAO,EAAE;GACV;EAED,MAAM6mB,iBAAiB,GAAIC,kBAAkB,IAAK;IAChDA,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC;IACjCu1B,WAAW,CAAC,EAAE,CAAC;IACfJ,YAAY,CAAC;MACXt5B,UAAU,EAAE;QAAE3iB,OAAO,EAAE;OAAI;MAC3BgkB,UAAU,EAAE;KACb,CAAC;IACFm4B,cAAc,CAAC,EAAE,CAAC;IAClBl9C,OAAO,CAACc,IAAI,CAAC,4BAA4B,CAAC;GAC3C;EAED,MAAMomB,gBAAgB,GAAGC,iBAAW,CAClChsB,IAAA;IAAA,IAAGisB,WAAW,GAAAjsB,IAAA,CAAXisB,WAAW;MAAEtD,eAAe,GAAA3oB,IAAA,CAAf2oB,eAAe;MAAEC,iBAAiB,GAAA5oB,IAAA,CAAjB4oB,iBAAiB;IAAA,oBAChD1pB,cAAA,CAAAC,aAAA,CAACupB,0BAA0B;MAAOuD,WAAW;MAAEtD,eAAe;MAAEC,iBAAiB;MAAIC,UAAU,EAAC,KAAK;MAAClmB,SAAS,EAAC;KAAU,CAAC;GAC5H,EACD,EACF,CAAC;EAED,MAAMgqB,kBAAkB,GAAG;IACzBZ,gBAAgB;IAChBM,kBAAkB;IAClBE,uBAAuB,EAAEpF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEoB,UAAU;IAC9CqE,4BAA4B,EAAEL,uBAAuB;IACrDE,iBAAiB;IACjB9pB,SAAS,EAAE;GACZ;EAED,MAAMwqB,kBAAkB,GAAG;IACzBrnB,OAAO,EAAE,EAAE;IACXjH,IAAI,EAAE,EAAE;IACRH,KAAK,EAAE,EAAE;IACTD,MAAM,EAAE;GACT;EAED,MAAMgkD,wBAAwB,GAAG;IAC/B5jD,IAAI,EAAE;GACP;EAED,MAAM6jD,gBAAgB,GAAGA,MAAM;IAC7B,IAAI,CAAC/3B,UAAU,EAAE,OAAO,IAAI;IAC5B,MAAMqK,aAAa,GAAG,CAAArK,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEsK,qBAAqB,MAAItK,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEuK,iBAAiB,KAAIvK,UAAU;IACtG,MAAM6b,OAAO,GAAG,CAAC9+B,KAAK,CAACC,OAAO,CAACqtB,aAAa,CAAC,GAAGA,aAAa,CAAC,CAAC,CAAC,GAAGA,aAAa,KAAK,EAAE;IACvF,MAAMI,OAAO,GAAG,CAAAoR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEpR,OAAO,KAAIoR,OAAO;IAC3C,MAAM3K,UAAU,GAAG,CAAAzG,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEpK,iBAAiB,KAAIoK,OAAO,IAAI,EAAE;IAE9D,MAAMutB,MAAM,GAAG3kD,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC;IAChC,MAAM4kD,OAAO,GAAG,CAAAN,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEt3B,iBAAiB,KAAIs3B,oBAAoB,IAAI,EAAE;IACrF,MAAMO,OAAO,GAAG,CAAAP,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEroB,cAAc,KAAI,EAAE;IAC1D,MAAM6oB,OAAO,GAAG,CAAAR,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAE52B,YAAY,KAAI,EAAE;IACxD,MAAMq3B,QAAQ,GAAG,CAAAT,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAE/nB,YAAY,KAAI,EAAE;IAEzD,MAAMyoB,SAAS,GAAG,CAAC,CAAAnnB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE30B,UAAU,MAAI20B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE10B,UAAU,MAAIy7C,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE17C,UAAU,MAAI47C,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE57C,UAAU,MAAI67C,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE77C,UAAU,KAAI,IAAI,EAAEE,WAAW,EAAE;IAEhK,MAAM67C,UAAU,GAAG,CAAApnB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEjQ,YAAY,KAAI,CAACwJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE3Y,SAAS,EAAE2Y,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE5S,UAAU,EAAE4S,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEzY,QAAQ,CAAC,CAACnH,MAAM,CAAC8N,OAAO,CAAC,CAAChM,IAAI,CAAC,GAAG,CAAC;IACrI,MAAM4rC,QAAQ,GAAG,CAAAN,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEh3B,YAAY,KAAI,CAACg3B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEnmC,SAAS,EAAEmmC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEpgC,UAAU,EAAEogC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEjmC,QAAQ,CAAC,CAACnH,MAAM,CAAC8N,OAAO,CAAC,CAAChM,IAAI,CAAC,GAAG,CAAC;IAEhI,MAAM6rC,WAAW,GAAG,CAAAtnB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEzhB,WAAW,MAAIyhB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEnf,QAAQ,MAAImf,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE3wB,YAAY;IAC/F,MAAMk4C,SAAS,GAAG,CAAAR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAExoC,WAAW,MAAIwoC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAElmC,QAAQ,MAAIkmC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE13C,YAAY,MAAI23C,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEnmC,QAAQ,MAAImmC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEzoC,WAAW,MAAIyoC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE33C,YAAY;IAE1J,MAAMm4C,UAAU,GAAG,CAAAxnB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE/J,cAAc,MAAI+J,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,kBAAkB;IAC/E,MAAMunB,QAAQ,GAAG,CAAAV,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE9wB,cAAc,MAAI8wB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE7mB,kBAAkB,MAAI6mB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEW,WAAW,MAAIT,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEhxB,cAAc,MAAIgxB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE/mB,kBAAkB,MAAIgnB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEhnB,kBAAkB;IAEzL,OAAO;MACLr2B,GAAG,EAAE,CAAAm2B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEI,OAAO,MAAIJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEn2B,GAAG,MAAIk9C,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE3mB,OAAO,MAAI2mB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEl9C,GAAG,KAAIo8C,WAAW;MAC9Fl2B,YAAY,EAAGq3B,UAAU,IAAIA,UAAU,KAAKN,MAAM,IAAIM,UAAU,KAAK,EAAE,GAAIA,UAAU,GAAIC,QAAQ,IAAIP,MAAO;MAC5GvoC,WAAW,EAAG+oC,WAAW,IAAIA,WAAW,KAAKR,MAAM,IAAIQ,WAAW,KAAK,EAAE,GAAIA,WAAW,GAAIC,SAAS,IAAIT,MAAO;MAChH7wB,cAAc,EAAGuxB,UAAU,IAAIA,UAAU,KAAKV,MAAM,IAAIU,UAAU,KAAK,EAAE,GAAIA,UAAU,GAAIC,QAAQ,IAAIX,MAAO;MAC9G77C,MAAM,EAAEk8C;KACT;GACF;EAED,MAAM3nC,OAAO,GAAGqnC,gBAAgB,EAAE;EAGlC,MAAMc,cAAc,GAAG,CACrB;IACElZ,KAAK,EAAE,WAAW;IAClBI,QAAQ,EAAE,CACR;MACEC,WAAW,EAAE,CAAC;MACdC,OAAO,EAAE5sC,CAAC,CAAC,qBAAqB,EAAE,uBAAuB;KAC1D;GAEJ,EACD;IACEssC,KAAK,EAAE,cAAc;IACrBI,QAAQ,EAAE,CACR;MACEC,WAAW,EAAE,CAAC;MACdC,OAAO,EAAE5sC,CAAC,CAAC,8BAA8B,EAAE,oBAAoB;KAChE;GAEJ,EACD;IACEssC,KAAK,EAAE,cAAc;IACrBI,QAAQ,EAAE,CACR;MACEC,WAAW,EAAE,CAAC;MACdC,OAAO,EAAE5sC,CAAC,CAAC,wBAAwB,EAAE,cAAc;KACpD;GAEJ,CACF;EAED,IAAIylD,eAAe,GAAG,CAAC;EACvB,IAAIpoC,OAAO,EAAE;IACX,IAAIA,OAAO,CAACvU,MAAM,KAAK,UAAU,EAAE;MACjC28C,eAAe,GAAG,CAAC;KACpB,MAAM,IAAIpoC,OAAO,CAACvU,MAAM,KAAK,UAAU,EAAE;MACxC28C,eAAe,GAAG,CAAC;KACpB,MAAM,IAAIpoC,OAAO,CAACvU,MAAM,KAAK,0BAA0B,EAAE;MACxD28C,eAAe,GAAG,CAAC;KACpB,MAAM;MACLA,eAAe,GAAG,CAAC;;;EAIvB,MAAMC,aAAa,GAAI58C,MAAM,IAAK;IAChC,MAAMhE,GAAG,oBAAkBgE,MAAQ;IACnC,MAAMqU,GAAG,GAAGnd,CAAC,CAAC8E,GAAG,CAAC;IAClB,IAAIqY,GAAG,KAAKrY,GAAG,EAAE;MACf,IAAIgE,MAAM,KAAK,UAAU,EAAE,OAAO,UAAU;MAC5C,IAAIA,MAAM,KAAK,UAAU,EAAE,OAAO,UAAU;MAC5C,IAAIA,MAAM,KAAK,0BAA0B,EAAE,OAAO,0BAA0B;MAC5E,OAAOA,MAAM;;IAEf,OAAOqU,GAAG;GACX;EAED,oBACEjc,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACgnB,QAAQ,qBACbhnB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ,CAAC7D,SAAS,IAAIuc,OAAO,iBACpBnc,cAAA,CAAAC,aAAA,CAAC0tC,uCAAgB;IAACzI,MAAM,EAAEof,cAAe;IAACG,kBAAkB,EAAEF;GAAkB,CACjF,eACDvkD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBAEbzD,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC;kBACdzD,cAAA,CAAAC,aAAA,CAAC4wB,iCAAU;IAACptB,SAAS,EAAC;KACnB3E,CAAC,CAAC,iCAAiC,EAAE,yBAAyB,CACrD,CAAC,eACbkB,cAAA,CAAAC,aAAA,CAAC6wB,+BAAQ;IAACrtB,SAAS,EAAC;KACjB3E,CAAC,CAAC,+BAA+B,EAAE,mFAAmF,CAC/G,CAAC,eAEXkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,CAACouB,oCAAa,EAAA3kB,QAAA;IAEV0kB,cAAc,EAAE;KACbX,kBAAkB;IACrBQ,kBAAkB;IAClBs1B,wBAAwB;IACxBt7B;IAEH,CACE,CACD,CAAC,EAEN66B,QAAQ,iBACP9iD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZq/C,QACE,CACN,EAGAljD,SAAS,iBAAII,cAAA,CAAAC,aAAA,CAACwE,6BAAM,MAAE,CAAC,EAEvB,CAAC7E,SAAS,IAAIuc,OAAO,iBACpBnc,cAAA,CAAAC,aAAA,CAACyE,2BAAI;IAACjB,SAAS,EAAC;kBAEdzD,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA;IAAMwD,SAAS,EAAC;KACb3E,CAAC,CAAC,qBAAqB,EAAE,gBAAgB,CACtC,CAAC,eACPkB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;KACZ+gD,aAAa,CAACroC,OAAO,CAACvU,MAAM,CAC1B,CACF,CAAC,eACN5H,cAAA,CAAAC,aAAA;IAAMwD,SAAS,yBAAuB0Y,OAAO,CAACvU,MAAM,CAAC6O,WAAW;KAC7D0F,OAAO,CAACvU,MACL,CACH,CAAC,eAGN5H,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA;IAAIwD,SAAS,EAAC;KACX3E,CAAC,CAAC,yBAAyB,EAAE,oBAAoB,CAChD,CAAC,eACLkB,cAAA,CAAAC,aAAA,CAACqiC,kCAAW,qBACVtiC,cAAA,CAAAC,aAAA,CAACuiC,0BAAG;IAACliC,KAAK,EAAExB,CAAC,CAAC,eAAe,EAAE,UAAU,CAAE;IAAC2N,IAAI,EAAE0P,OAAO,CAAC3V;GAAM,CAAC,eACjExG,cAAA,CAAAC,aAAA,CAACuiC,0BAAG;IAACliC,KAAK,EAAExB,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAE;IAAC2N,IAAI,EAAE0P,OAAO,CAACuQ;GAAe,CAAC,eACpF1sB,cAAA,CAAAC,aAAA,CAACuiC,0BAAG;IAACliC,KAAK,EAAExB,CAAC,CAAC,gBAAgB,EAAE,eAAe,CAAE;IAAC2N,IAAI,EAAE0P,OAAO,CAACjB;GAAc,CAAC,eAC/Elb,cAAA,CAAAC,aAAA,CAACuiC,0BAAG;IAACliC,KAAK,EAAExB,CAAC,CAAC,sBAAsB,EAAE,iBAAiB,CAAE;IAAC2N,IAAI,EAAE0P,OAAO,CAACyW;GAAiB,CAC9E,CACV,CAAC,eAGN5yB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC,4BAA4B;IAACI,KAAK,EAAE;MAAE2R,SAAS,EAAE,MAAM;MAAErS,OAAO,EAAE,MAAM;MAAE8tB,cAAc,EAAE;;kBACvGjxB,cAAA,CAAAC,aAAA,CAACkM,gCAAS;IACR7L,KAAK,EAAExB,CAAC,CAAC,uBAAuB,EAAE,kBAAkB,CAAE;IACtDiL,QAAQ,EAAEA,MAAMpE,OAAO,CAACc,IAAI,oCAAkC0V,OAAO,CAAC3V,GAAK;GAC5E,CACE,CACD,CAEL,CACF,CACF,CACS,CAAC;AAIrB,CAAC;;AC7RD,MAAMk+C,UAAU,GAAGA,MAAM;EACvB,MAAA9lD,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAMkS,QAAQ,GAAG2E,0BAAW,EAAE;EAC9B,MAAAoc,cAAA,GAAiBC,4BAAa,EAAE;IAAxBC,IAAI,GAAAF,cAAA,CAAJE,IAAI;EACZ,MAAA0yB,qBAAA,GAAqC3lD,KAAK,CAACI,KAAK,CAACwlD,QAAQ,CAACC,WAAW,EAAE;IAAAC,sBAAA,GAAAH,qBAAA,CAA/DhlD,IAAI;IAAAolD,sBAAA,GAAAD,sBAAA,cAAkB,EAAE,GAAAA,sBAAA;IAAhBE,SAAS,GAAAD,sBAAA,CAATC,SAAS;EAEzBtxB,cAAc,CAACkB,UAAU,CAAC,iBAAiB,CAAC;EAE5C,MAAM8kB,qBAAqB,GAAGA,MAAM;IAClC,MAAMxjC,QAAQ,GAAGlF,QAAQ,CAACkF,QAAQ;IAGlC,MAAMyjC,MAAM,GAAG,CACb;MAAEtiC,IAAI,EAAEhN,+BAAQ;MAAE4nB,IAAI,EAAE;KAAqB,EAC7C;MAAE3xB,KAAK,EAAExB,CAAC,CAAC,kBAAkB,CAAC;MAAEmzB,IAAI;KAA4B,CACjE;IAGD,IAAI/b,QAAQ,CAACQ,QAAQ,CAAC,aAAa,CAAC,EAAE;MACpCijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,iBAAiB;OAAG,CAAC;KAC7C,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,uBAAuB,CAAC,EAAE;MACrDijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,2BAA2B;OAAG,CAAC;KACvD,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,kBAAkB,CAAC,EAAE;MAChDijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,sBAAsB;OAAG,CAAC;KAClD,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,gBAAgB,CAAC,EAAE;MAC9CijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,oBAAoB;OAAG,CAAC;KAChD,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,gBAAgB,CAAC,EAAE;MAC9CijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,oBAAoB;OAAG,CAAC;KAChD,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,SAAS,CAAC,EAAE;MACvCijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,YAAY,CAAC;QAAEmzB,IAAI;OAAkC,CAAC;MAC7E0nB,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,aAAa;OAAG,CAAC;KACzC,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,0BAA0B,CAAC,EAAE;MACxDijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,aAAa,CAAC;QAAEmzB,IAAI;OAAmC,CAAC;MAC/E0nB,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,uBAAuB;OAAG,CAAC;KACnD,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,QAAQ,CAAC,EAAE;MACtCijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,YAAY;OAAG,CAAC;KACxC,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,uBAAuB,CAAC,EAAE;MACrDijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,2BAA2B;OAAG,CAAC;KACvD,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,qBAAqB,CAAC,EAAE;MACnDijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,yBAAyB;OAAG,CAAC;KACrD,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,mBAAmB,CAAC,EAAE;MACjDijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,uBAAuB,CAAC,IAAI;OAAoB,CAAC;KACzE,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,YAAY,CAAC,EAAE;MAC1CijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,gBAAgB;OAAG,CAAC;KAC5C,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,SAAS,CAAC,EAAE;MACvCijC,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAExB,CAAC,CAAC,aAAa;OAAG,CAAC;KACzC,MAAM,IAAIoX,QAAQ,CAACQ,QAAQ,CAAC,UAAU,CAAC,IAAI,oCAAoC,CAACozB,IAAI,CAAC5zB,QAAQ,CAAC,EAAE;MAC/F,MAAM+uC,WAAW,GAAGnmD,CAAC,CAAC,aAAa,CAAC;MACpC66C,MAAM,CAAClzC,IAAI,CAAC;QAAEnG,KAAK,EAAE2kD,WAAW,KAAK,aAAa,IAAIA,WAAW,KAAK,QAAQ,GAAG,aAAa,GAAGA;OAAa,CAAC;;IAIjH,OAAOtL,MAAM;GACd;EAID,MAAMuL,UAAU,GAAGl0C,QAAQ,CAACkF,QAAQ,KAAK,wBAAwB,IAAIlF,QAAQ,CAACkF,QAAQ,KAAK,yBAAyB;EAEpH,IAAIgvC,UAAU,EAAE;IACd,MAAMh4B,QAAQ,GAAG3Q,MAAM,CAACvd,KAAK,CAACwd,KAAK,CAACyQ,OAAO,CAACC,QAAQ,EAAE;IACtD;;MAyBEltB,cAAA,CAAAC,aAAA;QAAKwD,SAAS,EAAC;sBACbzD,cAAA,CAAAC,aAAA;QAAK4D,KAAK,EAAE;UAAEk/B,QAAQ,EAAE;;sBACtB/iC,cAAA,CAAAC,aAAA;QAAKijC,GAAG,EAAE8hB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,SAAU;QAAChiB,GAAG,EAAC;OAAgB,CAAC,eACrDnjC,cAAA,CAAAC,aAAA,CAACmlD,iCAAU;QAAC3hD,SAAS,EAAC;OAAgC,CAAC,eACvDzD,cAAA,CAAAC,aAAA;QAAKwD,SAAS,EAAC;SACZypB,QAAQ,gBAAGltB,cAAA,CAAAC,aAAA,aAAKnB,CAAC,CAAC,aAAa,CAAM,CAAC,gBAAGkB,cAAA,CAAAC,aAAA,aAAKnB,CAAC,CAAC,aAAa,CAAM,CACjE,CACF,CAAC,eAENkB,cAAA,CAAAC,aAAA;QAAKwD,SAAS,EAAC;sBACbzD,cAAA,CAAAC,aAAA,CAACwhD,IAAI,MAAE,CACJ,CACF;;;EAIT,oBACEzhD,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACgnB,QAAQ,qBACbhnB,cAAA,CAAAC,aAAA;IAAKwD,SAAS,EAAC;kBACbzD,cAAA,CAAAC,aAAA,CAAC45C,mCAAY;IACXC,WAAW,eACT95C,cAAA,CAAAC,aAAA,CAACD,cAAK,CAACgnB,QAAQ,qBACbhnB,cAAA,CAAAC,aAAA,CAAC85C,gCAAS;MAACt2C,SAAS,EAAC;KAAQ,CAAC,EAC7B3E,CAAC,CAAC,gBAAgB,CACL,CACjB;IACDk7C,WAAW,EAAEA,MAAMz9B,MAAM,CAAC5W,OAAO,CAACs0C,IAAI,EAAG;IACzCC,WAAW,EAAER,qBAAqB;GACnC,CAAC,eAEF15C,cAAA,CAAAC,aAAA,CAAC4tC,qBAAM,qBACL7tC,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXK,KAAK;IACLvoB,IAAI,OAAKA,IAAO;IAChBuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACwhD,IAAI,MAAE,CACM;GAElB,CAAC,eACFzhD,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAE,CAAIA,IAAI,kCAAkCA,IAAI,wBAAwBA,IAAI,gBAAc;IAC9FuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACoe,iBAAiB,MAAE,CACP;GAElB,CAAC,eACFre,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,WAAS;IACtBuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACqqB,OAAK,MAAE,CACK;GAElB,CAAC,eAEFtqB,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,0BAAwB;IACrCuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACglC,mBAAmB,MAAE,CACT;GAElB,CAAC,eAWFjlC,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,mBAAiB;IAC9BuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACm7C,YAAY,MAAE,CACF;GAElB,CAAC,eAEFp7C,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,mBAAiB;IAC9BuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAAC+9C,YAAY,MAAE,CACF;GAElB,CAAC,eAEFh+C,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,YAAU;IACvBuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACm3B,MAAM,MAAE,CACI;GAElB,CAAC,eACFp3B,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,YAAU;IACvBuoB,KAAK;IACLhW,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACw3C,UAAU,MAAE,CACA;GAElB,CAAC,eACFz3C,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,iCAA+B;IAC5CuoB,KAAK;IACLhW,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACw6C,wBAAmB,MAAE,CACT;GAElB,CAAC,eACFz6C,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,4BAA0B;IACvCuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACw6C,wBAAmB,MAAE,CACT;GAElB,CAAC,eACFz6C,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,wBAAsB;IACnCuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACw6C,wBAAmB,MAAE,CACT;GAElB,CAAC,eACFz6C,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,2BAAyB;IACtCuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACm3B,MAAM,MAAE,CACI;GAElB,CAAC,eACFp3B,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,0BAAwB;IACrCuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAAC+hD,qBAAqB,MAAE,CACX;GAElB,CAAC,eACFhiD,cAAA,CAAAC,aAAA,CAACk6C,mCAAY;IACXloB,IAAI,EAAKA,IAAI,SAAO;IACpBuS,SAAS,EAAEA,mBACTxkC,cAAA,CAAAC,aAAA,CAACm6C,oCAAa;MAACC,WAAW,EAAC;oBACzBr6C,cAAA,CAAAC,aAAA,CAACyiD,UAAU,MAAE,CACA;GAElB,CACK,CACL,CACS,CAAC;AAErB,CAAC;;MC1PY2C,UAAU,GAAGvkD,IAAA,IAAsC;EAAA,IAAnCwkD,SAAS,GAAAxkD,IAAA,CAATwkD,SAAS;IAAE//B,QAAQ,GAAAzkB,IAAA,CAARykB,QAAQ;IAAE/K,OAAO,GAAA1Z,IAAA,CAAP0Z,OAAO;EACvD,MAAAuX,cAAA,GAAsBC,4BAAa,EAAE;IAA7BC,IAAI,GAAAF,cAAA,CAAJE,IAAI;IAAEszB,GAAG,GAAAxzB,cAAA,CAAHwzB,GAAG;EACjB,MAAM38C,UAAU,GAAG,MAAM;EACzB,MAAM48C,QAAQ,GAAGxmD,KAAK,CAACymD,SAAS,CAACC,kBAAkB,EAAE;EACrD,MAAAC,qBAAA,GAAsB3mD,KAAK,CAAC4mD,QAAQ,CAAChB,QAAQ,CAAC;MAAEU,SAAS;MAAE18C,UAAU;MAAE48C;KAAU,CAAC;IAA1E5lD,SAAS,GAAA+lD,qBAAA,CAAT/lD,SAAS;EAEjBZ,KAAK,CAACsb,cAAc,CAACuT,GAAG,CAAC,cAAc,EAAErT,OAAO,CAAC;EAEjDtY,eAAS,CACP,MACElD,KAAK,CAAC6mD,mBAAmB,CAACC,SAAS,CAAC;IAClCC,OAAO,EAAE,kCAAgC/mD,KAAK,CAACC,UAAU,CAACC,kBAAkB,EAAE,CAAG;IACjF8mD,MAAM,EAAEhnD,KAAK,CAACymD,SAAS,CAACC,kBAAkB,EAAE;IAC5C3mD,QAAQ,EAAEC,KAAK,CAACC,UAAU,CAACC,kBAAkB;GAC9C,CAAC,EACJ,EACF,CAAC;EAED,IAAIU,SAAS,EAAE;IACb,oBAAOI,cAAA,CAAAC,aAAA,CAACwE,6BAAM;MAACwhD,IAAI,EAAE;KAAO,CAAC;;EAG/B,IAAI1gC,QAAQ,KAAK,UAAU,EAAE;IAC3B,oBAAOvlB,cAAA,CAAAC,aAAA,CAACw5C,WAAW;MAACxnB,IAAI,EAAEA,IAAK;MAACszB,GAAG,EAAEA,GAAI;MAAChgC,QAAQ,EAAEA,QAAS;MAAC/K,OAAO,EAAEA;KAAU,CAAC;GACnF,MAAM,oBAAOxa,cAAA,CAAAC,aAAA,CAACykD,UAAU,MAAE,CAAC;AAC9B,CAAC;AAED,MAAawB,SAAS,GAAGl/C,KAAA,IAA6B;EAAA,IAA1Bm/C,SAAS,GAAAn/C,KAAA,CAATm/C,SAAS;EACnC,MAAAvnD,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,MAAM0B,KAAK,GAAG,CACZ;IACED,IAAI,EAAK4lD,SAAS,gBAAa;IAC/BtE,OAAO,EAAE/iD,CAAC,CAAC,iBAAiB;GAC7B,EACD;IACEyB,IAAI,EAAK4lD,SAAS,gBAAa;IAC/BtE,OAAO,EAAE/iD,CAAC,CAAC,iBAAiB;GAC7B,CACF;EAED,oBAAOkB,cAAA,CAAAC,aAAA,CAAC6hD,sCAAe;IAACxW,MAAM,EAAExsC,CAAC,CAAC,kBAAkB,CAAE;IAAC0B,KAAK,EAAEA,KAAM;IAACT,IAAI,EAAEA,mBAAMC,cAAA,CAAAC,aAAA,CAAC8hD,mCAAY;MAACt+C,SAAS,EAAC;KAA0B;GAAI,CAAC;AAC1I,CAAC;AAED,MAAM2iD,oBAAoB,GAAG;EAC3BC,UAAU,EAAEhB,UAAU;EACtB1mD,QAAQ;EACR2nD,SAAS,EAAEh8B,SAAK;EAChBi8B,gBAAgB,EAAE5hD,YAAY;EAC9B6hD,eAAe,EAAE36C,WAAW;EAC5B46C,iBAAiB,EAAG3hD,KAAK,iBAAK9E,cAAA,CAAAC,aAAA,CAAC2M,MAAM,EAAK9H,KAAQ,CAAC;EACnDohD,SAAS;EACTjhB,mBAAmB;EACnBmW,YAAY;EACZ4C;AACF,CAAC;AAED,MAAa0I,kBAAkB,GAAGA,MAAM;EACtCriC,MAAM,CAACsiC,OAAO,CAACP,oBAAoB,CAAC,CAAC7hC,OAAO,CAAChd,KAAA,IAAkB;IAAA,IAAhB3D,GAAG,GAAA2D,KAAA;MAAE/D,KAAK,GAAA+D,KAAA;IACvDvI,KAAK,CAAC8G,wBAAwB,CAAC8gD,YAAY,CAAChjD,GAAG,EAAEJ,KAAK,CAAC;GACxD,CAAC;AACJ,CAAC;;;;;;;"}