From 58cf6896bba22e88c54de1bc7b2ce7bb9e2497ac Mon Sep 17 00:00:00 2001 From: Prajjwal kumar Date: Sat, 25 Apr 2026 17:54:09 +0530 Subject: [PATCH 01/13] feat: add debit routing dashboard support Add debit-routing flag APIs, dashboard toggle, explorer tab, and Cypress coverage. Restore the merged analytics/login UI surfaces after the later Cypress PR regression. --- cypress/e2e/api/merchant-crud.cy.js | 32 + cypress/e2e/ui/auth-page.cy.js | 2 +- cypress/e2e/ui/debit-routing-page.cy.js | 37 + cypress/e2e/ui/decision-explorer.cy.js | 32 + cypress/support/commands.js | 13 + docs/openapi.json | 113 +++ src/app.rs | 4 + src/routes/merchant_account_config.rs | 58 +- website/dist/assets/index-Bofatz0Z.css | 1 - website/dist/assets/index-C4qWXqKe.css | 1 + website/dist/assets/index-DENU9YdG.js | 368 ------- website/dist/assets/index-Djr5XM95.js | 388 ++++++++ website/dist/index.html | 4 +- website/src/App.tsx | 2 + website/src/components/layout/AppShell.tsx | 6 +- website/src/components/layout/TopBar.tsx | 113 ++- .../src/components/pages/AnalyticsPage.tsx | 178 ++-- .../src/components/pages/DebitRoutingPage.tsx | 184 ++-- .../components/pages/DecisionExplorerPage.tsx | 488 ++++++++- website/src/components/pages/OverviewPage.tsx | 6 +- .../src/components/pages/PaymentAuditPage.tsx | 927 ++++++++++-------- website/src/hooks/useDebitRoutingFlag.ts | 27 + website/src/lib/api.ts | 27 +- website/src/pages/AuthPage.tsx | 475 +++++---- website/src/types/api.ts | 37 +- website/src/vite-env.d.ts | 10 + website/vite.config.ts | 8 +- 27 files changed, 2292 insertions(+), 1249 deletions(-) create mode 100644 cypress/e2e/ui/debit-routing-page.cy.js delete mode 100644 website/dist/assets/index-Bofatz0Z.css create mode 100644 website/dist/assets/index-C4qWXqKe.css delete mode 100644 website/dist/assets/index-DENU9YdG.js create mode 100644 website/dist/assets/index-Djr5XM95.js create mode 100644 website/src/hooks/useDebitRoutingFlag.ts diff --git a/cypress/e2e/api/merchant-crud.cy.js b/cypress/e2e/api/merchant-crud.cy.js index aa6cc8c1..8ed96cca 100644 --- a/cypress/e2e/api/merchant-crud.cy.js +++ b/cypress/e2e/api/merchant-crud.cy.js @@ -36,4 +36,36 @@ describe('Merchant CRUD API', () => { expect(status).to.not.eq(200) }) }) + + it('gets and updates the debit routing feature flag', () => { + const missingMerchantId = factory.merchantId('merchant_missing_debit') + + cy.createMerchantAccount(testMerchantId) + + cy.getDebitRoutingFlag(testMerchantId).then(({ response }) => { + expect(response.merchant_id).to.eq(testMerchantId) + expect(response.debit_routing_enabled).to.eq(false) + }) + + cy.updateDebitRoutingFlag(testMerchantId, true).then(({ response }) => { + expect(response.merchant_id).to.eq(testMerchantId) + expect(response.debit_routing_enabled).to.eq(true) + }) + + cy.getDebitRoutingFlag(testMerchantId).then(({ response }) => { + expect(response.debit_routing_enabled).to.eq(true) + }) + + cy.updateDebitRoutingFlag(testMerchantId, false).then(({ response }) => { + expect(response.debit_routing_enabled).to.eq(false) + }) + + cy.getDebitRoutingFlag(testMerchantId).then(({ response }) => { + expect(response.debit_routing_enabled).to.eq(false) + }) + + cy.getDebitRoutingFlag(missingMerchantId, { failOnStatusCode: false }).then(({ status }) => { + expect(status).to.eq(404) + }) + }) }) diff --git a/cypress/e2e/ui/auth-page.cy.js b/cypress/e2e/ui/auth-page.cy.js index 6e715947..ce35dac7 100644 --- a/cypress/e2e/ui/auth-page.cy.js +++ b/cypress/e2e/ui/auth-page.cy.js @@ -23,8 +23,8 @@ describe('Auth UI', () => { win.localStorage.removeItem('merchant-store') }) - cy.contains('h1', 'Decision Engine Console').should('be.visible') cy.contains('h2', 'Route, inspect, and iterate from one control surface.').should('be.visible') + cy.contains('Welcome back').should('be.visible') cy.contains('button', 'Enter workspace').should('be.visible') cy.visitWithSession('/', merchantId) cy.contains(email, { timeout: 20000 }).should('be.visible') diff --git a/cypress/e2e/ui/debit-routing-page.cy.js b/cypress/e2e/ui/debit-routing-page.cy.js new file mode 100644 index 00000000..80c6b66a --- /dev/null +++ b/cypress/e2e/ui/debit-routing-page.cy.js @@ -0,0 +1,37 @@ +const factory = require('../../support/test-data-factory') + +describe('Debit Routing UI', () => { + let merchantId + + beforeEach(() => { + cy.waitForService() + cy.viewport(1600, 1200) + merchantId = factory.merchantId('debit_ui') + cy.ensureMerchantAccount(merchantId) + }) + + afterEach(() => { + cy.cleanupTestData(merchantId) + }) + + it('toggles merchant debit routing access without exposing unsupported config editing', () => { + cy.visitWithMerchant('/routing/debit', merchantId) + + cy.contains('h1', 'Network / Debit Routing').should('be.visible') + cy.contains('Debit Routing Runtime Access').should('be.visible') + cy.contains('Save Config').should('not.exist') + cy.contains('Merchant Category Code (MCC)').should('not.exist') + + cy.contains('button', 'Enable Debit Routing').click() + cy.contains('Debit routing enabled for this merchant.').should('be.visible') + cy.getDebitRoutingFlag(merchantId).then(({ response }) => { + expect(response.debit_routing_enabled).to.eq(true) + }) + + cy.contains('button', 'Disable Debit Routing').click() + cy.contains('Debit routing disabled for this merchant.').should('be.visible') + cy.getDebitRoutingFlag(merchantId).then(({ response }) => { + expect(response.debit_routing_enabled).to.eq(false) + }) + }) +}) diff --git a/cypress/e2e/ui/decision-explorer.cy.js b/cypress/e2e/ui/decision-explorer.cy.js index 09cd61e0..ca9756fe 100644 --- a/cypress/e2e/ui/decision-explorer.cy.js +++ b/cypress/e2e/ui/decision-explorer.cy.js @@ -49,4 +49,36 @@ describe('Decision Explorer UI', () => { }) .then(() => cy.cleanupTestData(merchantId)) }) + + it('renders the debit routing surface with backend-valid defaults', () => { + const merchantId = factory.merchantId('decision_explorer_debit') + cy.ensureMerchantAccount(merchantId) + .then(() => cy.visitWithSession('/decisions', merchantId)) + .then(() => { + cy.contains('button', 'Debit Routing').click() + cy.contains('Debit Routing Parameters').should('be.visible') + cy.contains('Debit routing is disabled for this merchant.').should('be.visible') + cy.contains('button', 'Enable Debit Routing').should('be.visible') + cy.get('input[value="merchant_category_code_0001"]').should('be.visible') + cy.get('input[value="VISA, NYCE, PULSE, STAR"]').should('be.visible') + cy.contains('button', 'Run Debit Routing').should('be.disabled') + }) + .then(() => cy.cleanupTestData(merchantId)) + }) + + it('runs debit routing through decide-gateway when enabled', () => { + const merchantId = factory.merchantId('decision_explorer_debit_run') + cy.ensureMerchantAccount(merchantId) + .then(() => cy.updateDebitRoutingFlag(merchantId, true)) + .then(() => cy.visitWithSession('/decisions', merchantId)) + .then(() => { + cy.contains('button', 'Debit Routing').click() + cy.contains('Debit routing is enabled for this merchant.').should('be.visible') + cy.contains('button', 'Run Debit Routing').should('not.be.disabled').click() + cy.contains('Debit Routing Result', { timeout: 20000 }).should('be.visible') + cy.contains('Ranked Debit Networks').should('be.visible') + cy.contains('td', 'VISA').should('be.visible') + }) + .then(() => cy.cleanupTestData(merchantId)) + }) }) diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 36f0fede..4f7a2b3d 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -259,6 +259,19 @@ Cypress.Commands.add('getMerchantAccount', (merchantId, options = {}) => { ) }) +Cypress.Commands.add('getDebitRoutingFlag', (merchantId, options = {}) => { + return requestApi('GET', `/merchant-account/${merchantId}/debit-routing`, options).then((response) => + cy.wrap({ merchantId, response: response.body, status: response.status }), + ) +}) + +Cypress.Commands.add('updateDebitRoutingFlag', (merchantId, enabled, options = {}) => { + return requestApi('POST', `/merchant-account/${merchantId}/debit-routing`, { + ...options, + body: { enabled }, + }).then((response) => cy.wrap({ merchantId, response: response.body, status: response.status })) +}) + Cypress.Commands.add('deleteMerchantAccount', (merchantId, options = {}) => { return requestApi('DELETE', `/merchant-account/${merchantId}`, options).then((response) => cy.wrap({ merchantId, response: response.body, status: response.status }), diff --git a/docs/openapi.json b/docs/openapi.json index 2f4ea2e9..7c66388f 100644 --- a/docs/openapi.json +++ b/docs/openapi.json @@ -276,6 +276,85 @@ } } }, + "/merchant-account/{merchantId}/debit-routing": { + "get": { + "operationId": "getMerchantDebitRouting", + "tags": ["Merchant Account"], + "summary": "Get debit routing flag", + "description": "Return whether debit/network routing is enabled for a merchant. Missing flag configuration is treated as disabled.", + "parameters": [ + { + "name": "merchantId", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "example": "my_merchant" + } + ], + "responses": { + "200": { + "description": "Debit routing flag", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/DebitRoutingResponse" }, + "example": { "merchant_id": "my_merchant", "debit_routing_enabled": false } + } + } + }, + "404": { + "description": "Merchant not found", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/ErrorResponse" } + } + } + } + } + }, + "post": { + "operationId": "updateMerchantDebitRouting", + "tags": ["Merchant Account"], + "summary": "Update debit routing flag", + "description": "Enable or disable runtime debit/network routing for a merchant.", + "parameters": [ + { + "name": "merchantId", + "in": "path", + "required": true, + "schema": { "type": "string" }, + "example": "my_merchant" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/DebitRoutingRequest" }, + "example": { "enabled": true } + } + } + }, + "responses": { + "200": { + "description": "Debit routing flag updated", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/DebitRoutingResponse" }, + "example": { "merchant_id": "my_merchant", "debit_routing_enabled": true } + } + } + }, + "404": { + "description": "Merchant not found", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/ErrorResponse" } + } + } + } + } + } + }, "/routing/create": { "post": { "operationId": "createRoutingRule", @@ -719,9 +798,29 @@ "reset_approach": { "type": "string" }, "is_scheduled_outage": { "type": "boolean" }, "is_rust_based_decider": { "type": "boolean" }, + "debit_routing_output": { "$ref": "#/components/schemas/DebitRoutingOutput" }, "latency": { "type": "number" } } }, + "DebitRoutingOutput": { + "type": "object", + "properties": { + "co_badged_card_networks_info": { + "type": "array", + "items": { + "type": "object", + "properties": { + "network": { "type": "string", "example": "NYCE" }, + "saving_percentage": { "type": "number", "example": 1.2 } + } + } + }, + "issuer_country": { "type": "string", "example": "US" }, + "is_regulated": { "type": "boolean", "example": false }, + "regulated_name": { "type": "string", "nullable": true }, + "card_type": { "type": "string", "example": "Debit" } + } + }, "UpdateGatewayScoreRequest": { "type": "object", "required": ["merchantId", "gateway", "paymentId", "status"], @@ -763,6 +862,20 @@ "gateway_success_rate_based_decider_input": { "type": "string", "nullable": true } } }, + "DebitRoutingRequest": { + "type": "object", + "required": ["enabled"], + "properties": { + "enabled": { "type": "boolean", "example": true } + } + }, + "DebitRoutingResponse": { + "type": "object", + "properties": { + "merchant_id": { "type": "string", "example": "my_merchant" }, + "debit_routing_enabled": { "type": "boolean", "example": true } + } + }, "CreateRoutingRuleRequest": { "type": "object", "required": ["name", "created_by", "algorithm"], diff --git a/src/app.rs b/src/app.rs index 7d8609a3..1f3f2b1c 100644 --- a/src/app.rs +++ b/src/app.rs @@ -388,6 +388,10 @@ where "/merchant-account/:merchant-id", delete(routes::merchant_account_config::delete_merchant_config), ) + .route( + "/merchant-account/:merchant-id/debit-routing", + get(routes::merchant_account_config::get_debit_routing), + ) .route( "/merchant-account/:merchant-id/debit-routing", post(routes::merchant_account_config::update_debit_routing), diff --git a/src/routes/merchant_account_config.rs b/src/routes/merchant_account_config.rs index 60a97825..384b1224 100644 --- a/src/routes/merchant_account_config.rs +++ b/src/routes/merchant_account_config.rs @@ -32,6 +32,62 @@ pub struct DebitRoutingResponse { pub debit_routing_enabled: bool, } +fn debit_routing_config_name(merchant_id: &str) -> String { + format!("DEBIT_ROUTING_ENABLED_{}", merchant_id) +} + +#[axum::debug_handler] +pub async fn get_debit_routing( + Path(merchant_id): Path, +) -> Result< + Json, + error::ContainerError, +> { + API_REQUEST_TOTAL_COUNTER + .with_label_values(&["merchant_debit_routing_get"]) + .inc(); + let timer = API_LATENCY_HISTOGRAM + .with_label_values(&["merchant_debit_routing_get"]) + .start_timer(); + + logger::debug!( + "Received request to get debit routing flag for merchant {}", + merchant_id + ); + + let response = async { + ETM::merchant_account::load_merchant_by_merchant_id(merchant_id.clone()) + .await + .ok_or(error::MerchantAccountConfigurationError::MerchantNotFound)?; + + let config_name = debit_routing_config_name(&merchant_id); + let debit_routing_enabled = service_configuration::find_config_by_name(config_name) + .await + .change_context(error::MerchantAccountConfigurationError::StorageError)? + .and_then(|config| config.value) + .and_then(|value| value.parse::().ok()) + .unwrap_or(false); + + Ok(Json(DebitRoutingResponse { + merchant_id, + debit_routing_enabled, + })) + } + .await; + + match &response { + Ok(_) => API_REQUEST_COUNTER + .with_label_values(&["merchant_debit_routing_get", "success"]) + .inc(), + Err(_) => API_REQUEST_COUNTER + .with_label_values(&["merchant_debit_routing_get", "failure"]) + .inc(), + } + + timer.observe_duration(); + response +} + #[axum::debug_handler] pub async fn get_merchant_config( Path(merchant_id): Path, @@ -184,7 +240,7 @@ pub async fn update_debit_routing( .await .ok_or(error::MerchantAccountConfigurationError::MerchantNotFound)?; - let config_name = format!("DEBIT_ROUTING_ENABLED_{}", merchant_id); + let config_name = debit_routing_config_name(&merchant_id); let config_value = payload.enabled.to_string(); // Check if config already exists diff --git a/website/dist/assets/index-Bofatz0Z.css b/website/dist/assets/index-Bofatz0Z.css deleted file mode 100644 index a38af086..00000000 --- a/website/dist/assets/index-Bofatz0Z.css +++ /dev/null @@ -1 +0,0 @@ -@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Menlo,Monaco,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{color-scheme:light}html.dark{color-scheme:dark}html,body{font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark html,.dark body{color:#f1f5f9}html,body{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}html:is(.dark *),body:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.dark p,.dark span,.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6{color:#f1f5f9}p,span,h1,h2,h3,h4,h5,h6{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}p:is(.dark *),span:is(.dark *),h1:is(.dark *),h2:is(.dark *),h3:is(.dark *),h4:is(.dark *),h5:is(.dark *),h6:is(.dark *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.dark p.text-slate-500,.dark span.text-slate-500,.dark div.text-slate-500{color:#94a3b8}.dark p.text-slate-600,.dark span.text-slate-600,.dark div.text-slate-600{color:#cbd5e1}.dark p.\!text-slate-600,.dark span.\!text-slate-600,.dark div.\!text-slate-600{color:#cbd5e1!important}.dark .text-slate-900,.dark .text-slate-800{color:#f1f5f9!important}.dark .text-slate-700{color:#e2e8f0!important}.dark .text-slate-600,.dark .\!text-slate-600{color:#cbd5e1!important}.dark .text-slate-500{color:#94a3b8!important}.dark .text-slate-400{color:#64748b!important}.dark .text-blue-800,.dark .text-blue-700{color:#93c5fd!important}.dark .text-blue-600{color:#60a5fa!important}.dark .text-brand-500{color:#818cf8!important}.dark .bg-slate-50{--tw-bg-opacity: 1 !important;background-color:rgb(26 26 29 / var(--tw-bg-opacity, 1))!important}.dark .bg-slate-100,.dark .\!bg-slate-100{--tw-bg-opacity: 1 !important;background-color:rgb(34 34 38 / var(--tw-bg-opacity, 1))!important}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1));-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-thumb{--tw-bg-opacity: 1;background-color:rgb(34 34 34 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(51 51 51 / var(--tw-bg-opacity, 1))}.dark :where(input:not([type=checkbox]):not([type=radio]):not([type=range])),.dark :where(select),.dark :where(textarea){color:#f1f5f9}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])),:where(select),:where(textarea){border-radius:9999px;--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]))::-moz-placeholder,:where(select)::-moz-placeholder,:where(textarea)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]))::placeholder,:where(select)::placeholder,:where(textarea)::placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])),:where(select),:where(textarea){transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):focus,:where(select):focus,:where(textarea):focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(99 102 241 / .2)}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):is(.dark *),:where(select):is(.dark *),:where(textarea):is(.dark *){border-color:transparent;--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):is(.dark *)::-moz-placeholder,:where(select):is(.dark *)::-moz-placeholder,:where(textarea):is(.dark *)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(102 102 110 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):is(.dark *)::placeholder,:where(select):is(.dark *)::placeholder,:where(textarea):is(.dark *)::placeholder{--tw-placeholder-opacity: 1;color:rgb(102 102 110 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):focus:is(.dark *),:where(select):focus:is(.dark *),:where(textarea):focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(51 51 56 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(21 21 24 / var(--tw-bg-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])),:where(select),:where(textarea){box-shadow:0 1px 2px #0000000d!important;font-family:Outfit,sans-serif}:where(select){appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:3rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.5L8 10.5L12 6.5' stroke='%236b7280' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px 16px}.dark input:not([type=checkbox]):not([type=radio]):not([type=range]),.dark select,.dark textarea{box-shadow:none!important}.dark select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.5L8 10.5L12 6.5' stroke='%2394a3b8' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.dark select option{color:#f1f5f9}select option{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}select option:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}input[type=range]{accent-color:#6366f1}input[type=range]:is(.dark *){accent-color:#fff}input[type=radio],input[type=checkbox]{height:1rem;width:1rem;--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));accent-color:#6366f1;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}input[type=radio]:is(.dark *),input[type=checkbox]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 38 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1));accent-color:#fff}input[type=radio]{border-radius:50%}input[type=checkbox]{border-radius:4px}input[type=radio]:checked,input[type=checkbox]:checked{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}input[type=radio]:checked:is(.dark *),input[type=checkbox]:checked:is(.dark *){--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.-left-16{left:-4rem}.-left-\[25px\]{left:-25px}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-10{left:2.5rem}.left-4{left:1rem}.left-64{left:16rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-12{top:3rem}.top-6{top:1.5rem}.top-\[76px\]{top:76px}.top-\[calc\(100\%\+10px\)\]{top:calc(100% + 10px)}.-z-10{z-index:-10}.z-10{z-index:10}.z-20{z-index:20}.z-\[120\]{z-index:120}.z-\[130\]{z-index:130}.z-\[80\]{z-index:80}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-7{margin-bottom:1.75rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\[78px\]{height:78px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:12rem}.max-h-64{max-height:16rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.min-h-0{min-height:0px}.min-h-\[150px\]{min-height:150px}.min-h-\[158px\]{min-height:158px}.min-h-\[42vh\]{min-height:42vh}.min-h-\[58vh\]{min-height:58vh}.min-h-screen{min-height:100vh}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[284px\]{width:284px}.w-\[3px\]{width:3px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[108px\]{min-width:108px}.min-w-\[124px\]{min-width:124px}.min-w-\[220px\]{min-width:220px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-\[10ch\]{max-width:10ch}.max-w-\[1380px\]{max-width:1380px}.max-w-\[38rem\]{max-width:38rem}.max-w-\[520px\]{max-width:520px}.max-w-\[540px\]{max-width:540px}.max-w-\[620px\]{max-width:620px}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.origin-left{transform-origin:left}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[analytics-progress_1\.8s_ease-in-out_infinite\]{animation:analytics-progress 1.8s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[1fr_1fr_100px_32px\]{grid-template-columns:1fr 1fr 100px 32px}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-\[\#1c1c24\]>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(28 28 36 / var(--tw-divide-opacity, 1))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(241 245 249 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[28px\]{border-radius:28px}.rounded-\[30px\]{border-radius:30px}.rounded-\[32px\]{border-radius:32px}.rounded-\[34px\]{border-radius:34px}.rounded-\[40px\]{border-radius:40px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.\!border-slate-200{--tw-border-opacity: 1 !important;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))!important}.\!border-transparent{border-color:transparent!important}.border-\[\#1c2d50\]{--tw-border-opacity: 1;border-color:rgb(28 45 80 / var(--tw-border-opacity, 1))}.border-\[\#1d1d23\]{--tw-border-opacity: 1;border-color:rgb(29 29 35 / var(--tw-border-opacity, 1))}.border-\[\#e6e6ee\]{--tw-border-opacity: 1;border-color:rgb(230 230 238 / var(--tw-border-opacity, 1))}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-brand-500\/20{border-color:#6366f133}.border-brand-500\/30{border-color:#6366f14d}.border-brand-500\/50{border-color:#6366f180}.border-emerald-400\/20{border-color:#34d39933}.border-emerald-500\/20{border-color:#10b98133}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-500\/20{border-color:#ef444433}.border-sky-300\/15{border-color:#7dd3fc26}.border-sky-300\/20{border-color:#7dd3fc33}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-200\/70{border-color:#e2e8f0b3}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.\!bg-slate-100{--tw-bg-opacity: 1 !important;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))!important}.\!bg-white{--tw-bg-opacity: 1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))!important}.bg-\[\#030507\]{--tw-bg-opacity: 1;background-color:rgb(3 5 7 / var(--tw-bg-opacity, 1))}.bg-\[\#050913\]{--tw-bg-opacity: 1;background-color:rgb(5 9 19 / var(--tw-bg-opacity, 1))}.bg-\[\#07070b\]{--tw-bg-opacity: 1;background-color:rgb(7 7 11 / var(--tw-bg-opacity, 1))}.bg-\[\#0d0d12\]{--tw-bg-opacity: 1;background-color:rgb(13 13 18 / var(--tw-bg-opacity, 1))}.bg-\[\#111318\]{--tw-bg-opacity: 1;background-color:rgb(17 19 24 / var(--tw-bg-opacity, 1))}.bg-\[\#e6e6ee\]{--tw-bg-opacity: 1;background-color:rgb(230 230 238 / var(--tw-bg-opacity, 1))}.bg-\[\#f8fbff\]{--tw-bg-opacity: 1;background-color:rgb(248 251 255 / var(--tw-bg-opacity, 1))}.bg-\[\#ffffff\]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-black\/20{background-color:#0003}.bg-black\/25{background-color:#00000040}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-brand-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.bg-brand-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-brand-500\/10{background-color:#6366f11a}.bg-brand-500\/15{background-color:#6366f126}.bg-brand-500\/20{background-color:#6366f133}.bg-brand-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-emerald-400\/10{background-color:#34d3991a}.bg-emerald-500\/10{background-color:#10b9811a}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-400{--tw-bg-opacity: 1;background-color:rgb(251 146 60 / var(--tw-bg-opacity, 1))}.bg-orange-500\/10{background-color:#f973161a}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-400{--tw-bg-opacity: 1;background-color:rgb(192 132 252 / var(--tw-bg-opacity, 1))}.bg-purple-500\/10{background-color:#a855f71a}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/\[0\.08\]{background-color:#ef444414}.bg-sky-300\/10{background-color:#7dd3fc1a}.bg-sky-400\/10{background-color:#38bdf81a}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-50\/70{background-color:#f8fafcb3}.bg-slate-50\/80{background-color:#f8fafccc}.bg-slate-50\/90{background-color:#f8fafce6}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/\[0\.04\]{background-color:#0f172a0a}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-slate-950\/70{background-color:#020617b3}.bg-slate-950\/95{background-color:#020617f2}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/45{background-color:#ffffff73}.bg-white\/5{background-color:#ffffff0d}.bg-white\/60{background-color:#fff9}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-white\/95{background-color:#fffffff2}.bg-white\/\[0\.035\]{background-color:#ffffff09}.bg-white\/\[0\.04\]{background-color:#ffffff0a}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-\[linear-gradient\(180deg\,\#ffffff_0\%\,\#f8fbff_100\%\)\]{background-image:linear-gradient(180deg,#fff,#f8fbff)}.bg-\[linear-gradient\(180deg\,_rgba\(255\,255\,255\,1\)\,_rgba\(248\,250\,252\,1\)\)\]{background-image:linear-gradient(180deg,#fff,#f8fafc)}.bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.55\)\,transparent_26\%\)\]{background-image:linear-gradient(180deg,rgba(255,255,255,.55),transparent 26%)}.bg-\[linear-gradient\(90deg\,\#4371ff_0\%\,\#3a63f4_100\%\)\]{background-image:linear-gradient(90deg,#4371ff,#3a63f4)}.bg-\[radial-gradient\(circle_at_18\%_18\%\,_rgba\(59\,130\,246\,0\.06\)\,_transparent_24\%\)\,radial-gradient\(circle_at_78\%_20\%\,_rgba\(14\,165\,233\,0\.04\)\,_transparent_18\%\)\,radial-gradient\(circle_at_50\%_100\%\,_rgba\(14\,165\,233\,0\.03\)\,_transparent_24\%\)\]{background-image:radial-gradient(circle at 18% 18%,rgba(59,130,246,.06),transparent 24%),radial-gradient(circle at 78% 20%,rgba(14,165,233,.04),transparent 18%),radial-gradient(circle at 50% 100%,rgba(14,165,233,.03),transparent 24%)}.bg-\[radial-gradient\(circle_at_top_left\,_rgba\(59\,130\,246\,0\.05\)\,_transparent_22\%\)\,radial-gradient\(circle_at_top_right\,_rgba\(14\,165\,233\,0\.04\)\,_transparent_20\%\)\,linear-gradient\(180deg\,_rgba\(255\,255\,255\,1\)\,_rgba\(255\,255\,255\,1\)\)\]{background-image:radial-gradient(circle at top left,rgba(59,130,246,.05),transparent 22%),radial-gradient(circle at top right,rgba(14,165,233,.04),transparent 20%),linear-gradient(180deg,#fff,#fff)}.bg-\[radial-gradient\(circle_at_top_left\,_rgba\(59\,130\,246\,0\.24\)\,_transparent_26\%\)\,radial-gradient\(circle_at_75\%_18\%\,_rgba\(14\,165\,233\,0\.14\)\,_transparent_24\%\)\,radial-gradient\(circle_at_bottom_right\,_rgba\(99\,102\,241\,0\.16\)\,_transparent_34\%\)\,linear-gradient\(180deg\,_\#07101d_0\%\,_\#050913_52\%\,_\#04070d_100\%\)\]{background-image:radial-gradient(circle at top left,rgba(59,130,246,.24),transparent 26%),radial-gradient(circle at 75% 18%,rgba(14,165,233,.14),transparent 24%),radial-gradient(circle at bottom right,rgba(99,102,241,.16),transparent 34%),linear-gradient(180deg,#07101d,#050913 52%,#04070d)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-sky-400{--tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#3b82f6\]\/25{--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(59 130 246 / .25) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-500{--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #3b82f6 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-cyan-300{--tw-gradient-to: #67e8f9 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-12{padding-left:3rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pr-12{padding-right:3rem}.pr-5{padding-right:1.25rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,Menlo,Monaco,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[2\.5rem\]{font-size:2.5rem}.text-\[30px\]{font-size:30px}.text-\[clamp\(2\.15rem\,3\.6vw\,3\.05rem\)\]{font-size:clamp(2.15rem,3.6vw,3.05rem)}.text-\[clamp\(3\.8rem\,6\.8vw\,6rem\)\]{font-size:clamp(3.8rem,6.8vw,6rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-9{line-height:2.25rem}.leading-\[0\.92\]{line-height:.92}.leading-\[1\.02\]{line-height:1.02}.leading-tight{line-height:1.25}.tracking-\[-0\.035em\]{letter-spacing:-.035em}.tracking-\[-0\.04em\]{letter-spacing:-.04em}.tracking-\[-0\.05em\]{letter-spacing:-.05em}.tracking-\[-0\.065em\]{letter-spacing:-.065em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.24em\]{letter-spacing:.24em}.tracking-\[0\.26em\]{letter-spacing:.26em}.tracking-\[0\.28em\]{letter-spacing:.28em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-slate-600{--tw-text-opacity: 1 !important;color:rgb(71 85 105 / var(--tw-text-opacity, 1))!important}.\!text-slate-950{--tw-text-opacity: 1 !important;color:rgb(2 6 23 / var(--tw-text-opacity, 1))!important}.text-\[\#7ea4ff\]{--tw-text-opacity: 1;color:rgb(126 164 255 / var(--tw-text-opacity, 1))}.text-\[\#c7cfdb\]{--tw-text-opacity: 1;color:rgb(199 207 219 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-brand-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-brand-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-brand-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-800{--tw-text-opacity: 1;color:rgb(154 52 18 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-sky-100{--tw-text-opacity: 1;color:rgb(224 242 254 / var(--tw-text-opacity, 1))}.text-sky-200\/75{color:#bae6fdbf}.text-sky-700{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.accent-brand-500{accent-color:#6366f1}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-\[0\.05\]{opacity:.05}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_18px_rgba\(74\,222\,128\,0\.7\)\]{--tw-shadow: 0 0 18px rgba(74,222,128,.7);--tw-shadow-colored: 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_10px_30px_-24px_rgba\(0\,105\,237\,0\.9\)\]{--tw-shadow: 0 10px 30px -24px rgba(0,105,237,.9);--tw-shadow-colored: 0 10px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-22px_rgba\(59\,130\,246\,0\.7\)\]{--tw-shadow: 0 12px 30px -22px rgba(59,130,246,.7);--tw-shadow-colored: 0 12px 30px -22px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-24px_rgba\(15\,23\,42\,0\.2\)\]{--tw-shadow: 0 12px 30px -24px rgba(15,23,42,.2);--tw-shadow-colored: 0 12px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-24px_rgba\(15\,23\,42\,0\.28\)\]{--tw-shadow: 0 12px 30px -24px rgba(15,23,42,.28);--tw-shadow-colored: 0 12px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_14px_30px_-28px_rgba\(15\,23\,42\,0\.18\)\]{--tw-shadow: 0 14px 30px -28px rgba(15,23,42,.18);--tw-shadow-colored: 0 14px 30px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_14px_30px_-28px_rgba\(15\,23\,42\,0\.25\)\]{--tw-shadow: 0 14px 30px -28px rgba(15,23,42,.25);--tw-shadow-colored: 0 14px 30px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_30px_-28px_rgba\(15\,23\,42\,0\.28\)\]{--tw-shadow: 0 16px 30px -28px rgba(15,23,42,.28);--tw-shadow-colored: 0 16px 30px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_30px_-28px_rgba\(15\,23\,42\,0\.4\)\]{--tw-shadow: 0 16px 30px -28px rgba(15,23,42,.4);--tw-shadow-colored: 0 16px 30px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_35px_-24px_rgba\(37\,99\,235\,0\.55\)\]{--tw-shadow: 0 18px 35px -24px rgba(37,99,235,.55);--tw-shadow-colored: 0 18px 35px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_40px_-28px_rgba\(15\,23\,42\,0\.55\)\]{--tw-shadow: 0 18px 40px -28px rgba(15,23,42,.55);--tw-shadow-colored: 0 18px 40px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_60px_-42px_rgba\(15\,23\,42\,0\.15\)\]{--tw-shadow: 0 18px 60px -42px rgba(15,23,42,.15);--tw-shadow-colored: 0 18px 60px -42px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_80px_-54px_rgba\(15\,23\,42\,0\.35\)\]{--tw-shadow: 0 20px 80px -54px rgba(15,23,42,.35);--tw-shadow-colored: 0 20px 80px -54px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_70px_-40px_rgba\(15\,23\,42\,0\.45\)\]{--tw-shadow: 0 24px 70px -40px rgba(15,23,42,.45);--tw-shadow-colored: 0 24px 70px -40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_28px_90px_-56px_rgba\(15\,23\,42\,0\.16\)\]{--tw-shadow: 0 28px 90px -56px rgba(15,23,42,.16);--tw-shadow-colored: 0 28px 90px -56px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_40px_140px_-48px_rgba\(8\,15\,28\,0\.72\)\]{--tw-shadow: 0 40px 140px -48px rgba(8,15,28,.72);--tw-shadow-colored: 0 40px 140px -48px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_24px_-18px_rgba\(15\,23\,42\,0\.45\)\]{--tw-shadow: 0 8px 24px -18px rgba(15,23,42,.45);--tw-shadow-colored: 0 8px 24px -18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-blue-500\/20{--tw-ring-color: rgb(59 130 246 / .2)}.ring-emerald-500\/20{--tw-ring-color: rgb(16 185 129 / .2)}.ring-orange-500\/20{--tw-ring-color: rgb(249 115 22 / .2)}.ring-purple-500\/20{--tw-ring-color: rgb(168 85 247 / .2)}.ring-red-500\/20{--tw-ring-color: rgb(239 68 68 / .2)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[1px\]{--tw-backdrop-blur: blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[background-image\:linear-gradient\(rgba\(148\,163\,184\,0\.08\)_1px\,transparent_1px\)\,linear-gradient\(90deg\,rgba\(148\,163\,184\,0\.08\)_1px\,transparent_1px\)\]{background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px)}.\[background-size\:56px_56px\]{background-size:56px 56px}.\[background-size\:64px_64px\]{background-size:64px 64px}.glass-panel{position:relative;overflow:hidden;border-radius:1rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 18px 50px -30px rgba(15,23,42,.12);--tw-shadow-colored: 0 18px 50px -30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.glass-panel:is(.dark *){--tw-border-opacity: 1;border-color:rgb(26 26 29 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(12 12 14 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.glass-panel-hover:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.glass-panel-hover:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 38 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(17 17 20 / var(--tw-bg-opacity, 1))}.text-gradient{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #a855f7 var(--tw-gradient-to-position);-webkit-background-clip:text;background-clip:text;color:transparent}.text-gradient:is(.dark *){--tw-gradient-from: #9b51e0 var(--tw-gradient-from-position);--tw-gradient-to: rgb(155 81 224 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #4f46e5 var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: #0ea5e9 var(--tw-gradient-to-position)}.aurora-top{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#9b51e0,#4f46e5,#0ea5e9,transparent);opacity:.8;z-index:100}@keyframes analytics-progress{0%{transform:scaleX(.18)}55%{transform:scaleX(.82)}to{transform:scaleX(.96)}}.dark .placeholder\:text-slate-400::-moz-placeholder{color:#64748b!important}.dark .placeholder\:text-slate-400::placeholder{color:#64748b!important}.dark .hover\:\!text-slate-900:hover,.dark .hover\:text-slate-900:hover{color:#f1f5f9!important}.dark .hover\:text-slate-700:hover{color:#e2e8f0!important}.dark .hover\:bg-slate-50:hover{--tw-bg-opacity: 1 !important;background-color:rgb(26 26 29 / var(--tw-bg-opacity, 1))!important}.dark .hover\:bg-slate-100:hover{--tw-bg-opacity: 1 !important;background-color:rgb(34 34 38 / var(--tw-bg-opacity, 1))!important}.dark .group:hover .group-hover\:text-slate-700{color:#e2e8f0!important}.dark .group:hover .group-hover\:text-brand-500{color:#818cf8!important}.dark .dark\:text-slate-500:is(.dark *)p,.dark .dark\:text-slate-500:is(.dark *)span,.dark .dark\:text-slate-500:is(.dark *)div{color:#94a3b8}.dark .dark\:text-slate-500:is(.dark *){color:#94a3b8!important}.dark .dark\:text-slate-400:is(.dark *){color:#64748b!important}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:bottom-2:before{content:var(--tw-content);bottom:.5rem}.before\:left-2:before{content:var(--tw-content);left:.5rem}.before\:top-2:before{content:var(--tw-content);top:.5rem}.before\:w-px:before{content:var(--tw-content);width:1px}.before\:bg-slate-200:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[\#3b82f6\]\/35:hover{border-color:#3b82f659}.hover\:border-slate-200:hover{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.hover\:border-slate-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.hover\:\!bg-slate-200:hover{--tw-bg-opacity: 1 !important;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))!important}.hover\:bg-brand-500\/15:hover{background-color:#6366f126}.hover\:bg-brand-600:hover{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.hover\:bg-brand-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50\/80:hover{background-color:#f8fafccc}.hover\:bg-slate-900\/\[0\.025\]:hover{background-color:#0f172a06}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:\!text-slate-900:hover{--tw-text-opacity: 1 !important;color:rgb(15 23 42 / var(--tw-text-opacity, 1))!important}.hover\:text-brand-600:hover{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.hover\:text-brand-700:hover{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-slate-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#28282f\]:focus{--tw-border-opacity: 1;border-color:rgb(40 40 47 / var(--tw-border-opacity, 1))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:border-brand-500:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:bg-white:focus{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500\/20:focus{--tw-ring-color: rgb(59 130 246 / .2)}.focus\:ring-brand-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1))}.focus\:ring-brand-500\/10:focus{--tw-ring-color: rgb(99 102 241 / .1)}.focus\:ring-brand-500\/20:focus{--tw-ring-color: rgb(99 102 241 / .2)}.focus\:ring-brand-500\/50:focus{--tw-ring-color: rgb(99 102 241 / .5)}.focus\:ring-offset-1:focus{--tw-ring-offset-width: 1px}.focus\:ring-offset-transparent:focus{--tw-ring-offset-color: transparent}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[\#3b82f6\]\/40:focus-visible{--tw-ring-color: rgb(59 130 246 / .4)}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-slate-400:disabled{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-brand-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-brand-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:divide-\[\#222226\]:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(34 34 38 / var(--tw-divide-opacity, 1))}.dark\:\!border-\[\#2a303a\]:is(.dark *){--tw-border-opacity: 1 !important;border-color:rgb(42 48 58 / var(--tw-border-opacity, 1))!important}.dark\:border-\[\#1a1a24\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(26 26 36 / var(--tw-border-opacity, 1))}.dark\:border-\[\#1c1c23\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(28 28 35 / var(--tw-border-opacity, 1))}.dark\:border-\[\#1c1c24\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(28 28 36 / var(--tw-border-opacity, 1))}.dark\:border-\[\#1d1d23\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(29 29 35 / var(--tw-border-opacity, 1))}.dark\:border-\[\#222226\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 38 / var(--tw-border-opacity, 1))}.dark\:border-\[\#222227\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 39 / var(--tw-border-opacity, 1))}.dark\:border-\[\#22262f\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 38 47 / var(--tw-border-opacity, 1))}.dark\:border-\[\#232933\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(35 41 51 / var(--tw-border-opacity, 1))}.dark\:border-\[\#27272a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(39 39 42 / var(--tw-border-opacity, 1))}.dark\:border-\[\#2a2d35\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 45 53 / var(--tw-border-opacity, 1))}.dark\:border-\[\#2a303a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 48 58 / var(--tw-border-opacity, 1))}.dark\:border-\[\#2a303a\]\/70:is(.dark *){border-color:#2a303ab3}.dark\:border-\[\#384152\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(56 65 82 / var(--tw-border-opacity, 1))}.dark\:border-\[\#5c1c1c\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(92 28 28 / var(--tw-border-opacity, 1))}.dark\:\!bg-\[\#161b24\]:is(.dark *){--tw-bg-opacity: 1 !important;background-color:rgb(22 27 36 / var(--tw-bg-opacity, 1))!important}.dark\:bg-\[\#030507\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 5 7 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#050507\]\/45:is(.dark *){background-color:#05050773}.dark\:bg-\[\#06080d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(6 8 13 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#08080b\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(8 8 11 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#09090b\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#09090d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(9 9 13 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#09090d\]\/95:is(.dark *){background-color:#09090df2}.dark\:bg-\[\#090c12\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(9 12 18 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0a0a0f\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(10 10 15 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0a0d12\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(10 13 18 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0b0b0d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(11 11 13 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0b0b10\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(11 11 16 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0b1017\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(11 16 23 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0c0c0e\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(12 12 14 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0c0c10\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(12 12 16 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0f0f11\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0f0f16\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 15 22 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#111114\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 17 20 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#111118\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 17 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#111318\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 19 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#11151d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 21 29 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#11151d\]\/95:is(.dark *){background-color:#11151df2}.dark\:bg-\[\#121214\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 18 20 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#121720\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 23 32 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#131923\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(19 25 35 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#141822\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 24 34 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#151518\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(21 21 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#161b24\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(22 27 36 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#161b24\]\/80:is(.dark *){background-color:#161b24cc}.dark\:bg-\[\#1a1a24\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 26 36 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1a1d25\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 29 37 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1a2332\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 35 50 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#202734\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(32 39 52 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#232933\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(35 41 51 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2a0505\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(42 5 5 / var(--tw-bg-opacity, 1))}.dark\:bg-brand-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.dark\:bg-brand-500\/10:is(.dark *){background-color:#6366f11a}.dark\:bg-sky-300:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(125 211 252 / var(--tw-bg-opacity, 1))}.dark\:bg-white:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.dark\:bg-white\/\[0\.05\]:is(.dark *){background-color:#ffffff0d}.dark\:bg-\[linear-gradient\(180deg\,_rgba\(3\,5\,7\,1\)\,_rgba\(5\,8\,12\,1\)\)\]:is(.dark *){background-image:linear-gradient(180deg,#030507,#05080c)}.dark\:bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.02\)\,transparent_26\%\)\]:is(.dark *){background-image:linear-gradient(180deg,rgba(255,255,255,.02),transparent 26%)}.dark\:bg-\[radial-gradient\(circle_at_20\%_22\%\,_rgba\(56\,189\,248\,0\.05\)\,_transparent_24\%\)\,radial-gradient\(circle_at_74\%_18\%\,_rgba\(59\,130\,246\,0\.04\)\,_transparent_18\%\)\,radial-gradient\(circle_at_50\%_100\%\,_rgba\(14\,165\,233\,0\.03\)\,_transparent_24\%\)\]:is(.dark *){background-image:radial-gradient(circle at 20% 22%,rgba(56,189,248,.05),transparent 24%),radial-gradient(circle at 74% 18%,rgba(59,130,246,.04),transparent 18%),radial-gradient(circle at 50% 100%,rgba(14,165,233,.03),transparent 24%)}.dark\:bg-\[radial-gradient\(circle_at_top_left\,_rgba\(56\,189\,248\,0\.06\)\,_transparent_22\%\)\,linear-gradient\(180deg\,_rgba\(3\,5\,7\,1\)\,_rgba\(5\,8\,12\,1\)\)\]:is(.dark *){background-image:radial-gradient(circle at top left,rgba(56,189,248,.06),transparent 22%),linear-gradient(180deg,#030507,#05080c)}.dark\:via-\[\#3b82f6\]\/30:is(.dark *){--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(59 130 246 / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:via-\[\#3b82f6\]\/35:is(.dark *){--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(59 130 246 / .35) var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:\!text-\[\#a7b2c6\]:is(.dark *){--tw-text-opacity: 1 !important;color:rgb(167 178 198 / var(--tw-text-opacity, 1))!important}.dark\:\!text-white:is(.dark *){--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1))!important}.dark\:text-\[\#4b5565\]:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 101 / var(--tw-text-opacity, 1))}.dark\:text-\[\#525866\]:is(.dark *){--tw-text-opacity: 1;color:rgb(82 88 102 / var(--tw-text-opacity, 1))}.dark\:text-\[\#667085\]:is(.dark *){--tw-text-opacity: 1;color:rgb(102 112 133 / var(--tw-text-opacity, 1))}.dark\:text-\[\#697387\]:is(.dark *){--tw-text-opacity: 1;color:rgb(105 115 135 / var(--tw-text-opacity, 1))}.dark\:text-\[\#6d768a\]:is(.dark *){--tw-text-opacity: 1;color:rgb(109 118 138 / var(--tw-text-opacity, 1))}.dark\:text-\[\#707786\]:is(.dark *){--tw-text-opacity: 1;color:rgb(112 119 134 / var(--tw-text-opacity, 1))}.dark\:text-\[\#798191\]:is(.dark *){--tw-text-opacity: 1;color:rgb(121 129 145 / var(--tw-text-opacity, 1))}.dark\:text-\[\#7d879b\]:is(.dark *){--tw-text-opacity: 1;color:rgb(125 135 155 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8390a7\]:is(.dark *){--tw-text-opacity: 1;color:rgb(131 144 167 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8a8a93\]:is(.dark *){--tw-text-opacity: 1;color:rgb(138 138 147 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8a94a7\]:is(.dark *){--tw-text-opacity: 1;color:rgb(138 148 167 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8d95a3\]:is(.dark *){--tw-text-opacity: 1;color:rgb(141 149 163 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8d96aa\]:is(.dark *){--tw-text-opacity: 1;color:rgb(141 150 170 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8ea0bb\]:is(.dark *){--tw-text-opacity: 1;color:rgb(142 160 187 / var(--tw-text-opacity, 1))}.dark\:text-\[\#98a3b8\]:is(.dark *){--tw-text-opacity: 1;color:rgb(152 163 184 / var(--tw-text-opacity, 1))}.dark\:text-\[\#9aa4b6\]:is(.dark *){--tw-text-opacity: 1;color:rgb(154 164 182 / var(--tw-text-opacity, 1))}.dark\:text-\[\#9dabc0\]:is(.dark *){--tw-text-opacity: 1;color:rgb(157 171 192 / var(--tw-text-opacity, 1))}.dark\:text-\[\#a1a1aa\]:is(.dark *){--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.dark\:text-\[\#a6b0c3\]:is(.dark *){--tw-text-opacity: 1;color:rgb(166 176 195 / var(--tw-text-opacity, 1))}.dark\:text-\[\#b2bdd1\]:is(.dark *){--tw-text-opacity: 1;color:rgb(178 189 209 / var(--tw-text-opacity, 1))}.dark\:text-\[\#b3b3bd\]:is(.dark *){--tw-text-opacity: 1;color:rgb(179 179 189 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d0d7e2\]:is(.dark *){--tw-text-opacity: 1;color:rgb(208 215 226 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d5dded\]:is(.dark *){--tw-text-opacity: 1;color:rgb(213 221 237 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d8e1ef\]:is(.dark *){--tw-text-opacity: 1;color:rgb(216 225 239 / var(--tw-text-opacity, 1))}.dark\:text-\[\#e5e7eb\]:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-\[\#e5ecf7\]:is(.dark *){--tw-text-opacity: 1;color:rgb(229 236 247 / var(--tw-text-opacity, 1))}.dark\:text-black:is(.dark *){--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-red-500:is(.dark *){--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.dark\:text-sky-200:is(.dark *){--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity, 1))}.dark\:text-sky-300:is(.dark *){--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.dark\:text-slate-200:is(.dark *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:text-slate-500:is(.dark *){--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:opacity-\[0\.08\]:is(.dark *){opacity:.08}.dark\:shadow-\[0_18px_60px_-42px_rgba\(0\,0\,0\,0\.7\)\]:is(.dark *){--tw-shadow: 0 18px 60px -42px rgba(0,0,0,.7);--tw-shadow-colored: 0 18px 60px -42px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-\[0_24px_70px_-40px_rgba\(0\,0\,0\,0\.7\)\]:is(.dark *){--tw-shadow: 0 24px 70px -40px rgba(0,0,0,.7);--tw-shadow-colored: 0 24px 70px -40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-\[0_28px_90px_-56px_rgba\(0\,0\,0\,0\.72\)\]:is(.dark *){--tw-shadow: 0 28px 90px -56px rgba(0,0,0,.72);--tw-shadow-colored: 0 28px 90px -56px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-none:is(.dark *){--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:placeholder\:text-\[\#6e7684\]:is(.dark *)::-moz-placeholder{--tw-text-opacity: 1;color:rgb(110 118 132 / var(--tw-text-opacity, 1))}.dark\:placeholder\:text-\[\#6e7684\]:is(.dark *)::placeholder{--tw-text-opacity: 1;color:rgb(110 118 132 / var(--tw-text-opacity, 1))}.dark\:before\:bg-\[\#23232a\]:is(.dark *):before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(35 35 42 / var(--tw-bg-opacity, 1))}.dark\:hover\:border-\[\#2a2a31\]:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 42 49 / var(--tw-border-opacity, 1))}.dark\:hover\:border-\[\#2a303a\]:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 48 58 / var(--tw-border-opacity, 1))}.dark\:hover\:\!bg-\[\#1c2330\]:hover:is(.dark *){--tw-bg-opacity: 1 !important;background-color:rgb(28 35 48 / var(--tw-bg-opacity, 1))!important}.dark\:hover\:bg-\[\#121214\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 18 20 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#141923\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 25 35 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#161b24\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(22 27 36 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#161b24\]\/75:hover:is(.dark *){background-color:#161b24bf}.dark\:hover\:bg-\[\#18181b\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#1a1a24\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 26 36 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#1a2130\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 33 48 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#380808\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(56 8 8 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-950\/30:hover:is(.dark *){background-color:#450a0a4d}.dark\:hover\:bg-slate-200:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-white\/\[0\.035\]:hover:is(.dark *){background-color:#ffffff09}.dark\:hover\:\!text-white:hover:is(.dark *){--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1))!important}.dark\:hover\:text-red-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:focus\:border-blue-500:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.group:hover .dark\:group-hover\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:block{display:block}.sm\:h-11{height:2.75rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:text-\[1\.3rem\]{font-size:1.3rem}}@media (min-width: 768px){.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:p-5{padding:1.25rem}.md\:p-7{padding:1.75rem}.md\:p-8{padding:2rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-\[3rem\]{font-size:3rem}.md\:text-\[4rem\]{font-size:4rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:min-h-\[700px\]{min-height:700px}.lg\:min-h-screen{min-height:100vh}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1\.05fr_0\.95fr\]{grid-template-columns:1.05fr .95fr}.lg\:grid-cols-\[1\.08fr_0\.92fr\]{grid-template-columns:1.08fr .92fr}.lg\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}.lg\:grid-cols-\[minmax\(0\,1fr\)_240px\]{grid-template-columns:minmax(0,1fr) 240px}.lg\:gap-12{gap:3rem}.lg\:border-b-0{border-bottom-width:0px}.lg\:border-r{border-right-width:1px}.lg\:border-\[\#1d1d23\]{--tw-border-opacity: 1;border-color:rgb(29 29 35 / var(--tw-border-opacity, 1))}.lg\:p-10{padding:2.5rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:px-14{padding-left:3.5rem;padding-right:3.5rem}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:text-\[64px\]{font-size:64px}}@media (min-width: 1280px){.xl\:sticky{position:sticky}.xl\:top-6{top:1.5rem}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[0\.86fr_1\.14fr\]{grid-template-columns:.86fr 1.14fr}.xl\:grid-cols-\[1\.02fr_0\.98fr\]{grid-template-columns:1.02fr .98fr}.xl\:grid-cols-\[1\.15fr_0\.85fr\]{grid-template-columns:1.15fr .85fr}.xl\:grid-cols-\[340px_minmax\(0\,1fr\)\]{grid-template-columns:340px minmax(0,1fr)}.xl\:grid-cols-\[360px_minmax\(0\,1fr\)\]{grid-template-columns:360px minmax(0,1fr)}.xl\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(320px\,0\.8fr\)\]{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.xl\:grid-cols-\[minmax\(0\,1fr\)_380px\]{grid-template-columns:minmax(0,1fr) 380px}.xl\:self-start{align-self:flex-start}.xl\:border-b-0{border-bottom-width:0px}.xl\:border-r{border-right-width:1px}.xl\:px-16{padding-left:4rem;padding-right:4rem}} diff --git a/website/dist/assets/index-C4qWXqKe.css b/website/dist/assets/index-C4qWXqKe.css new file mode 100644 index 00000000..76be62b1 --- /dev/null +++ b/website/dist/assets/index-C4qWXqKe.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Menlo,Monaco,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{color-scheme:light}html.dark{color-scheme:dark}html,body{font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark html,.dark body{color:#f1f5f9}html,body{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}html:is(.dark *),body:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.dark p,.dark span,.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6{color:#f1f5f9}p,span,h1,h2,h3,h4,h5,h6{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}p:is(.dark *),span:is(.dark *),h1:is(.dark *),h2:is(.dark *),h3:is(.dark *),h4:is(.dark *),h5:is(.dark *),h6:is(.dark *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.dark p.text-slate-500,.dark span.text-slate-500,.dark div.text-slate-500{color:#94a3b8}.dark p.text-slate-600,.dark span.text-slate-600,.dark div.text-slate-600{color:#cbd5e1}.dark p.\!text-slate-600,.dark span.\!text-slate-600,.dark div.\!text-slate-600{color:#cbd5e1!important}.dark .text-slate-900,.dark .text-slate-800{color:#f1f5f9!important}.dark .text-slate-700{color:#e2e8f0!important}.dark .text-slate-600,.dark .\!text-slate-600{color:#cbd5e1!important}.dark .text-slate-500{color:#94a3b8!important}.dark .text-slate-400{color:#64748b!important}.dark .text-blue-800,.dark .text-blue-700{color:#93c5fd!important}.dark .text-blue-600{color:#60a5fa!important}.dark .text-brand-500{color:#818cf8!important}.dark .bg-slate-50{--tw-bg-opacity: 1 !important;background-color:rgb(26 26 29 / var(--tw-bg-opacity, 1))!important}.dark .bg-slate-100,.dark .\!bg-slate-100{--tw-bg-opacity: 1 !important;background-color:rgb(34 34 38 / var(--tw-bg-opacity, 1))!important}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1));-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-thumb{--tw-bg-opacity: 1;background-color:rgb(34 34 34 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(51 51 51 / var(--tw-bg-opacity, 1))}.dark :where(input:not([type=checkbox]):not([type=radio]):not([type=range])),.dark :where(select),.dark :where(textarea){color:#f1f5f9}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])),:where(select),:where(textarea){border-radius:9999px;--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]))::-moz-placeholder,:where(select)::-moz-placeholder,:where(textarea)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]))::placeholder,:where(select)::placeholder,:where(textarea)::placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])),:where(select),:where(textarea){transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):focus,:where(select):focus,:where(textarea):focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(99 102 241 / .2)}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):is(.dark *),:where(select):is(.dark *),:where(textarea):is(.dark *){border-color:transparent;--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):is(.dark *)::-moz-placeholder,:where(select):is(.dark *)::-moz-placeholder,:where(textarea):is(.dark *)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(102 102 110 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):is(.dark *)::placeholder,:where(select):is(.dark *)::placeholder,:where(textarea):is(.dark *)::placeholder{--tw-placeholder-opacity: 1;color:rgb(102 102 110 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):focus:is(.dark *),:where(select):focus:is(.dark *),:where(textarea):focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(51 51 56 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(21 21 24 / var(--tw-bg-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])),:where(select),:where(textarea){box-shadow:0 1px 2px #0000000d!important;font-family:Outfit,sans-serif}:where(select){appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:3rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.5L8 10.5L12 6.5' stroke='%236b7280' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px 16px}.dark input:not([type=checkbox]):not([type=radio]):not([type=range]),.dark select,.dark textarea{box-shadow:none!important}.dark select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.5L8 10.5L12 6.5' stroke='%2394a3b8' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.dark select option{color:#f1f5f9}select option{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}select option:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}input[type=range]{accent-color:#6366f1}input[type=range]:is(.dark *){accent-color:#fff}input[type=radio],input[type=checkbox]{height:1rem;width:1rem;--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));accent-color:#6366f1;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}input[type=radio]:is(.dark *),input[type=checkbox]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 38 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1));accent-color:#fff}input[type=radio]{border-radius:50%}input[type=checkbox]{border-radius:4px}input[type=radio]:checked,input[type=checkbox]:checked{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}input[type=radio]:checked:is(.dark *),input[type=checkbox]:checked:is(.dark *){--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.-left-16{left:-4rem}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-4{left:1rem}.left-64{left:16rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-12{top:3rem}.top-\[76px\]{top:76px}.top-\[calc\(100\%\+10px\)\]{top:calc(100% + 10px)}.-z-10{z-index:-10}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[120\]{z-index:120}.z-\[130\]{z-index:130}.z-\[80\]{z-index:80}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\[78px\]{height:78px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:12rem}.max-h-64{max-height:16rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.min-h-0{min-height:0px}.min-h-\[150px\]{min-height:150px}.min-h-\[158px\]{min-height:158px}.min-h-\[42vh\]{min-height:42vh}.min-h-\[44vh\]{min-height:44vh}.min-h-\[56vh\]{min-height:56vh}.min-h-\[58vh\]{min-height:58vh}.min-h-screen{min-height:100vh}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[284px\]{width:284px}.w-\[3px\]{width:3px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[116px\]{min-width:116px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.min-w-\[240px\]{min-width:240px}.min-w-\[280px\]{min-width:280px}.min-w-\[98px\]{min-width:98px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-\[10ch\]{max-width:10ch}.max-w-\[1380px\]{max-width:1380px}.max-w-\[140px\]{max-width:140px}.max-w-\[1760px\]{max-width:1760px}.max-w-\[38rem\]{max-width:38rem}.max-w-\[520px\]{max-width:520px}.max-w-\[540px\]{max-width:540px}.max-w-\[620px\]{max-width:620px}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.origin-left{transform-origin:left}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[analytics-progress_1\.8s_ease-in-out_infinite\]{animation:analytics-progress 1.8s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[1fr_1fr_100px_32px\]{grid-template-columns:1fr 1fr 100px 32px}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-\[\#1c1c24\]>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(28 28 36 / var(--tw-divide-opacity, 1))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(241 245 249 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[28px\]{border-radius:28px}.rounded-\[30px\]{border-radius:30px}.rounded-\[40px\]{border-radius:40px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.\!border-slate-200{--tw-border-opacity: 1 !important;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))!important}.\!border-transparent{border-color:transparent!important}.border-\[\#1c2d50\]{--tw-border-opacity: 1;border-color:rgb(28 45 80 / var(--tw-border-opacity, 1))}.border-\[\#1d1d23\]{--tw-border-opacity: 1;border-color:rgb(29 29 35 / var(--tw-border-opacity, 1))}.border-\[\#e6e6ee\]{--tw-border-opacity: 1;border-color:rgb(230 230 238 / var(--tw-border-opacity, 1))}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-brand-500\/20{border-color:#6366f133}.border-brand-500\/30{border-color:#6366f14d}.border-brand-500\/50{border-color:#6366f180}.border-brand-500\/70{border-color:#6366f1b3}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-emerald-500\/20{border-color:#10b98133}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-500\/20{border-color:#ef444433}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-200\/70{border-color:#e2e8f0b3}.border-slate-200\/80{border-color:#e2e8f0cc}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.\!bg-slate-100{--tw-bg-opacity: 1 !important;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))!important}.\!bg-white{--tw-bg-opacity: 1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))!important}.bg-\[\#030507\]{--tw-bg-opacity: 1;background-color:rgb(3 5 7 / var(--tw-bg-opacity, 1))}.bg-\[\#07070b\]{--tw-bg-opacity: 1;background-color:rgb(7 7 11 / var(--tw-bg-opacity, 1))}.bg-\[\#0d0d12\]{--tw-bg-opacity: 1;background-color:rgb(13 13 18 / var(--tw-bg-opacity, 1))}.bg-\[\#111318\]{--tw-bg-opacity: 1;background-color:rgb(17 19 24 / var(--tw-bg-opacity, 1))}.bg-\[\#e6e6ee\]{--tw-bg-opacity: 1;background-color:rgb(230 230 238 / var(--tw-bg-opacity, 1))}.bg-\[\#ffffff\]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-brand-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.bg-brand-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-brand-500\/10{background-color:#6366f11a}.bg-brand-500\/15{background-color:#6366f126}.bg-brand-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-500\/10{background-color:#f973161a}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-500\/10{background-color:#a855f71a}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/\[0\.08\]{background-color:#ef444414}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-50\/70{background-color:#f8fafcb3}.bg-slate-50\/80{background-color:#f8fafccc}.bg-slate-50\/90{background-color:#f8fafce6}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/\[0\.04\]{background-color:#0f172a0a}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-slate-950\/70{background-color:#020617b3}.bg-slate-950\/95{background-color:#020617f2}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/40{background-color:#fff6}.bg-white\/45{background-color:#ffffff73}.bg-white\/5{background-color:#ffffff0d}.bg-white\/60{background-color:#fff9}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-white\/95{background-color:#fffffff2}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-\[linear-gradient\(180deg\,_rgba\(255\,255\,255\,1\)\,_rgba\(248\,250\,252\,1\)\)\]{background-image:linear-gradient(180deg,#fff,#f8fafc)}.bg-\[linear-gradient\(180deg\,_rgba\(255\,255\,255\,1\)\,_rgba\(255\,255\,255\,1\)\)\]{background-image:linear-gradient(180deg,#fff,#fff)}.bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.55\)\,transparent_26\%\)\]{background-image:linear-gradient(180deg,rgba(255,255,255,.55),transparent 26%)}.bg-\[linear-gradient\(90deg\,\#4371ff_0\%\,\#3a63f4_100\%\)\]{background-image:linear-gradient(90deg,#4371ff,#3a63f4)}.bg-\[radial-gradient\(circle_at_18\%_18\%\,_rgba\(59\,130\,246\,0\.06\)\,_transparent_24\%\)\,radial-gradient\(circle_at_78\%_20\%\,_rgba\(14\,165\,233\,0\.04\)\,_transparent_18\%\)\,radial-gradient\(circle_at_50\%_100\%\,_rgba\(14\,165\,233\,0\.03\)\,_transparent_24\%\)\]{background-image:radial-gradient(circle at 18% 18%,rgba(59,130,246,.06),transparent 24%),radial-gradient(circle at 78% 20%,rgba(14,165,233,.04),transparent 18%),radial-gradient(circle at 50% 100%,rgba(14,165,233,.03),transparent 24%)}.bg-\[radial-gradient\(circle_at_top_left\,_rgba\(59\,130\,246\,0\.05\)\,_transparent_22\%\)\,radial-gradient\(circle_at_top_right\,_rgba\(14\,165\,233\,0\.04\)\,_transparent_20\%\)\,linear-gradient\(180deg\,_rgba\(255\,255\,255\,1\)\,_rgba\(255\,255\,255\,1\)\)\]{background-image:radial-gradient(circle at top left,rgba(59,130,246,.05),transparent 22%),radial-gradient(circle at top right,rgba(14,165,233,.04),transparent 20%),linear-gradient(180deg,#fff,#fff)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-sky-400{--tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#3b82f6\]\/25{--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(59 130 246 / .25) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-500{--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #3b82f6 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-cyan-300{--tw-gradient-to: #67e8f9 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-12{padding-left:3rem}.pl-8{padding-left:2rem}.pr-12{padding-right:3rem}.pr-5{padding-right:1.25rem}.pt-1{padding-top:.25rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,Menlo,Monaco,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[2\.5rem\]{font-size:2.5rem}.text-\[clamp\(2\.15rem\,3\.6vw\,3\.05rem\)\]{font-size:clamp(2.15rem,3.6vw,3.05rem)}.text-\[clamp\(2\.25rem\,3\.6vw\,3\.15rem\)\]{font-size:clamp(2.25rem,3.6vw,3.15rem)}.text-\[clamp\(3\.8rem\,6\.8vw\,6rem\)\]{font-size:clamp(3.8rem,6.8vw,6rem)}.text-\[clamp\(4rem\,7vw\,6\.2rem\)\]{font-size:clamp(4rem,7vw,6.2rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-9{line-height:2.25rem}.leading-\[0\.92\]{line-height:.92}.leading-tight{line-height:1.25}.tracking-\[-0\.05em\]{letter-spacing:-.05em}.tracking-\[-0\.065em\]{letter-spacing:-.065em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.24em\]{letter-spacing:.24em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-slate-600{--tw-text-opacity: 1 !important;color:rgb(71 85 105 / var(--tw-text-opacity, 1))!important}.\!text-slate-950{--tw-text-opacity: 1 !important;color:rgb(2 6 23 / var(--tw-text-opacity, 1))!important}.text-\[\#7ea4ff\]{--tw-text-opacity: 1;color:rgb(126 164 255 / var(--tw-text-opacity, 1))}.text-\[\#c7cfdb\]{--tw-text-opacity: 1;color:rgb(199 207 219 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-brand-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-brand-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-brand-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-800{--tw-text-opacity: 1;color:rgb(154 52 18 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-sky-700{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.accent-brand-500{accent-color:#6366f1}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-\[0\.05\]{opacity:.05}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_10px_30px_-24px_rgba\(0\,105\,237\,0\.9\)\]{--tw-shadow: 0 10px 30px -24px rgba(0,105,237,.9);--tw-shadow-colored: 0 10px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-22px_rgba\(59\,130\,246\,0\.7\)\]{--tw-shadow: 0 12px 30px -22px rgba(59,130,246,.7);--tw-shadow-colored: 0 12px 30px -22px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-24px_rgba\(15\,23\,42\,0\.1\)\]{--tw-shadow: 0 12px 30px -24px rgba(15,23,42,.1);--tw-shadow-colored: 0 12px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-24px_rgba\(15\,23\,42\,0\.12\)\]{--tw-shadow: 0 12px 30px -24px rgba(15,23,42,.12);--tw-shadow-colored: 0 12px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-24px_rgba\(15\,23\,42\,0\.2\)\]{--tw-shadow: 0 12px 30px -24px rgba(15,23,42,.2);--tw-shadow-colored: 0 12px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-24px_rgba\(15\,23\,42\,0\.28\)\]{--tw-shadow: 0 12px 30px -24px rgba(15,23,42,.28);--tw-shadow-colored: 0 12px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_14px_30px_-28px_rgba\(15\,23\,42\,0\.18\)\]{--tw-shadow: 0 14px 30px -28px rgba(15,23,42,.18);--tw-shadow-colored: 0 14px 30px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_14px_30px_-28px_rgba\(59\,130\,246\,0\.35\)\]{--tw-shadow: 0 14px 30px -28px rgba(59,130,246,.35);--tw-shadow-colored: 0 14px 30px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_30px_-28px_rgba\(15\,23\,42\,0\.4\)\]{--tw-shadow: 0 16px 30px -28px rgba(15,23,42,.4);--tw-shadow-colored: 0 16px 30px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_60px_-42px_rgba\(15\,23\,42\,0\.15\)\]{--tw-shadow: 0 18px 60px -42px rgba(15,23,42,.15);--tw-shadow-colored: 0 18px 60px -42px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_70px_-40px_rgba\(15\,23\,42\,0\.45\)\]{--tw-shadow: 0 24px 70px -40px rgba(15,23,42,.45);--tw-shadow-colored: 0 24px 70px -40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_28px_90px_-56px_rgba\(15\,23\,42\,0\.16\)\]{--tw-shadow: 0 28px 90px -56px rgba(15,23,42,.16);--tw-shadow-colored: 0 28px 90px -56px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_24px_-18px_rgba\(15\,23\,42\,0\.45\)\]{--tw-shadow: 0 8px 24px -18px rgba(15,23,42,.45);--tw-shadow-colored: 0 8px 24px -18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-blue-500\/20{--tw-ring-color: rgb(59 130 246 / .2)}.ring-emerald-500\/20{--tw-ring-color: rgb(16 185 129 / .2)}.ring-orange-500\/20{--tw-ring-color: rgb(249 115 22 / .2)}.ring-purple-500\/20{--tw-ring-color: rgb(168 85 247 / .2)}.ring-red-500\/20{--tw-ring-color: rgb(239 68 68 / .2)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[1px\]{--tw-backdrop-blur: blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[background-image\:linear-gradient\(rgba\(148\,163\,184\,0\.08\)_1px\,transparent_1px\)\,linear-gradient\(90deg\,rgba\(148\,163\,184\,0\.08\)_1px\,transparent_1px\)\]{background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px)}.\[background-size\:56px_56px\]{background-size:56px 56px}.glass-panel{position:relative;overflow:hidden;border-radius:1rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 18px 50px -30px rgba(15,23,42,.12);--tw-shadow-colored: 0 18px 50px -30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.glass-panel:is(.dark *){--tw-border-opacity: 1;border-color:rgb(26 26 29 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(12 12 14 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.glass-panel-hover:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.glass-panel-hover:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 38 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(17 17 20 / var(--tw-bg-opacity, 1))}.text-gradient{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #a855f7 var(--tw-gradient-to-position);-webkit-background-clip:text;background-clip:text;color:transparent}.text-gradient:is(.dark *){--tw-gradient-from: #9b51e0 var(--tw-gradient-from-position);--tw-gradient-to: rgb(155 81 224 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #4f46e5 var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: #0ea5e9 var(--tw-gradient-to-position)}.aurora-top{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#9b51e0,#4f46e5,#0ea5e9,transparent);opacity:.8;z-index:100}@keyframes analytics-progress{0%{transform:scaleX(.18)}55%{transform:scaleX(.82)}to{transform:scaleX(.96)}}.dark .placeholder\:text-slate-400::-moz-placeholder{color:#64748b!important}.dark .placeholder\:text-slate-400::placeholder{color:#64748b!important}.dark .hover\:\!text-slate-900:hover,.dark .hover\:text-slate-900:hover{color:#f1f5f9!important}.dark .hover\:text-slate-700:hover{color:#e2e8f0!important}.dark .hover\:bg-slate-50:hover{--tw-bg-opacity: 1 !important;background-color:rgb(26 26 29 / var(--tw-bg-opacity, 1))!important}.dark .hover\:bg-slate-100:hover{--tw-bg-opacity: 1 !important;background-color:rgb(34 34 38 / var(--tw-bg-opacity, 1))!important}.dark .group:hover .group-hover\:text-slate-700{color:#e2e8f0!important}.dark .group:hover .group-hover\:text-brand-500{color:#818cf8!important}.dark .dark\:text-slate-500:is(.dark *)p,.dark .dark\:text-slate-500:is(.dark *)span,.dark .dark\:text-slate-500:is(.dark *)div{color:#94a3b8}.dark .dark\:text-slate-500:is(.dark *){color:#94a3b8!important}.dark .dark\:text-slate-400:is(.dark *){color:#64748b!important}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[\#3b82f6\]\/35:hover{border-color:#3b82f659}.hover\:border-slate-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.hover\:\!bg-slate-200:hover{--tw-bg-opacity: 1 !important;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))!important}.hover\:bg-brand-500\/15:hover{background-color:#6366f126}.hover\:bg-brand-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50\/80:hover{background-color:#f8fafccc}.hover\:bg-slate-900\/\[0\.025\]:hover{background-color:#0f172a06}.hover\:\!text-slate-900:hover{--tw-text-opacity: 1 !important;color:rgb(15 23 42 / var(--tw-text-opacity, 1))!important}.hover\:text-brand-600:hover{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.hover\:text-brand-700:hover{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-slate-200:hover{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.hover\:text-slate-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:text-slate-950:hover{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#28282f\]:focus{--tw-border-opacity: 1;border-color:rgb(40 40 47 / var(--tw-border-opacity, 1))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:border-brand-500:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500\/20:focus{--tw-ring-color: rgb(59 130 246 / .2)}.focus\:ring-brand-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1))}.focus\:ring-brand-500\/20:focus{--tw-ring-color: rgb(99 102 241 / .2)}.focus\:ring-brand-500\/50:focus{--tw-ring-color: rgb(99 102 241 / .5)}.focus\:ring-offset-1:focus{--tw-ring-offset-width: 1px}.focus\:ring-offset-transparent:focus{--tw-ring-offset-color: transparent}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[\#3b82f6\]\/40:focus-visible{--tw-ring-color: rgb(59 130 246 / .4)}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-brand-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-brand-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:divide-\[\#222226\]:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(34 34 38 / var(--tw-divide-opacity, 1))}.dark\:\!border-\[\#2a303a\]:is(.dark *){--tw-border-opacity: 1 !important;border-color:rgb(42 48 58 / var(--tw-border-opacity, 1))!important}.dark\:border-\[\#1a1a24\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(26 26 36 / var(--tw-border-opacity, 1))}.dark\:border-\[\#1c1c23\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(28 28 35 / var(--tw-border-opacity, 1))}.dark\:border-\[\#1c1c24\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(28 28 36 / var(--tw-border-opacity, 1))}.dark\:border-\[\#1d1d23\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(29 29 35 / var(--tw-border-opacity, 1))}.dark\:border-\[\#222226\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 38 / var(--tw-border-opacity, 1))}.dark\:border-\[\#222227\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 39 / var(--tw-border-opacity, 1))}.dark\:border-\[\#22262f\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 38 47 / var(--tw-border-opacity, 1))}.dark\:border-\[\#23232a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(35 35 42 / var(--tw-border-opacity, 1))}.dark\:border-\[\#232833\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(35 40 51 / var(--tw-border-opacity, 1))}.dark\:border-\[\#232933\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(35 41 51 / var(--tw-border-opacity, 1))}.dark\:border-\[\#27272a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(39 39 42 / var(--tw-border-opacity, 1))}.dark\:border-\[\#2a2d35\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 45 53 / var(--tw-border-opacity, 1))}.dark\:border-\[\#2a303a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 48 58 / var(--tw-border-opacity, 1))}.dark\:border-\[\#3a284f\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(58 40 79 / var(--tw-border-opacity, 1))}.dark\:border-\[\#5c1c1c\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(92 28 28 / var(--tw-border-opacity, 1))}.dark\:border-amber-500\/30:is(.dark *){border-color:#f59e0b4d}.dark\:border-brand-500:is(.dark *){--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.dark\:border-emerald-500\/30:is(.dark *){border-color:#10b9814d}.dark\:\!bg-\[\#161b24\]:is(.dark *){--tw-bg-opacity: 1 !important;background-color:rgb(22 27 36 / var(--tw-bg-opacity, 1))!important}.dark\:bg-\[\#030507\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 5 7 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#050507\]\/45:is(.dark *){background-color:#05050773}.dark\:bg-\[\#06080d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(6 8 13 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#08080b\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(8 8 11 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#09090b\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#09090d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(9 9 13 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#09090d\]\/95:is(.dark *){background-color:#09090df2}.dark\:bg-\[\#090c12\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(9 12 18 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0a0a0f\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(10 10 15 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0a0d12\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(10 13 18 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0b0b0d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(11 11 13 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0b0b10\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(11 11 16 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0b1017\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(11 16 23 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0c0c0e\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(12 12 14 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0c0c10\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(12 12 16 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0f0f11\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0f0f16\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 15 22 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#10131a\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(16 19 26 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#111114\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 17 20 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#111118\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 17 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#111318\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 19 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#11151d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 21 29 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#11151d\]\/95:is(.dark *){background-color:#11151df2}.dark\:bg-\[\#121214\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 18 20 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#121218\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 18 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#121720\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 23 32 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#131318\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(19 19 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#141822\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 24 34 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#151518\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(21 21 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#161b24\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(22 27 36 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#161b24\]\/80:is(.dark *){background-color:#161b24cc}.dark\:bg-\[\#1a1a24\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 26 36 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1a1d25\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 29 37 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1a2332\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 35 50 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#202734\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(32 39 52 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#232933\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(35 41 51 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2a0505\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(42 5 5 / var(--tw-bg-opacity, 1))}.dark\:bg-amber-500\/10:is(.dark *){background-color:#f59e0b1a}.dark\:bg-brand-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.dark\:bg-brand-500\/10:is(.dark *){background-color:#6366f11a}.dark\:bg-emerald-500\/10:is(.dark *){background-color:#10b9811a}.dark\:bg-sky-300:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(125 211 252 / var(--tw-bg-opacity, 1))}.dark\:bg-white:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.dark\:bg-white\/\[0\.05\]:is(.dark *){background-color:#ffffff0d}.dark\:bg-\[linear-gradient\(180deg\,_rgba\(3\,5\,7\,1\)\,_rgba\(5\,8\,12\,1\)\)\]:is(.dark *){background-image:linear-gradient(180deg,#030507,#05080c)}.dark\:bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.02\)\,transparent_26\%\)\]:is(.dark *){background-image:linear-gradient(180deg,rgba(255,255,255,.02),transparent 26%)}.dark\:bg-\[radial-gradient\(circle_at_18\%_18\%\,_rgba\(56\,189\,248\,0\.05\)\,_transparent_24\%\)\,radial-gradient\(circle_at_78\%_20\%\,_rgba\(59\,130\,246\,0\.04\)\,_transparent_18\%\)\,radial-gradient\(circle_at_50\%_100\%\,_rgba\(14\,165\,233\,0\.035\)\,_transparent_24\%\)\]:is(.dark *){background-image:radial-gradient(circle at 18% 18%,rgba(56,189,248,.05),transparent 24%),radial-gradient(circle at 78% 20%,rgba(59,130,246,.04),transparent 18%),radial-gradient(circle at 50% 100%,rgba(14,165,233,.035),transparent 24%)}.dark\:bg-\[radial-gradient\(circle_at_20\%_22\%\,_rgba\(56\,189\,248\,0\.05\)\,_transparent_24\%\)\,radial-gradient\(circle_at_74\%_18\%\,_rgba\(59\,130\,246\,0\.04\)\,_transparent_18\%\)\,radial-gradient\(circle_at_50\%_100\%\,_rgba\(14\,165\,233\,0\.03\)\,_transparent_24\%\)\]:is(.dark *){background-image:radial-gradient(circle at 20% 22%,rgba(56,189,248,.05),transparent 24%),radial-gradient(circle at 74% 18%,rgba(59,130,246,.04),transparent 18%),radial-gradient(circle at 50% 100%,rgba(14,165,233,.03),transparent 24%)}.dark\:bg-\[radial-gradient\(circle_at_top_left\,_rgba\(56\,189\,248\,0\.06\)\,_transparent_22\%\)\,linear-gradient\(180deg\,_rgba\(3\,5\,7\,1\)\,_rgba\(5\,8\,12\,1\)\)\]:is(.dark *){background-image:radial-gradient(circle at top left,rgba(56,189,248,.06),transparent 22%),linear-gradient(180deg,#030507,#05080c)}.dark\:via-\[\#3b82f6\]\/30:is(.dark *){--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(59 130 246 / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:via-\[\#3b82f6\]\/35:is(.dark *){--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(59 130 246 / .35) var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:\!text-\[\#a7b2c6\]:is(.dark *){--tw-text-opacity: 1 !important;color:rgb(167 178 198 / var(--tw-text-opacity, 1))!important}.dark\:\!text-white:is(.dark *){--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1))!important}.dark\:text-\[\#34d399\]:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-\[\#4b5565\]:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 101 / var(--tw-text-opacity, 1))}.dark\:text-\[\#525866\]:is(.dark *){--tw-text-opacity: 1;color:rgb(82 88 102 / var(--tw-text-opacity, 1))}.dark\:text-\[\#667085\]:is(.dark *){--tw-text-opacity: 1;color:rgb(102 112 133 / var(--tw-text-opacity, 1))}.dark\:text-\[\#697387\]:is(.dark *){--tw-text-opacity: 1;color:rgb(105 115 135 / var(--tw-text-opacity, 1))}.dark\:text-\[\#6d768a\]:is(.dark *){--tw-text-opacity: 1;color:rgb(109 118 138 / var(--tw-text-opacity, 1))}.dark\:text-\[\#707786\]:is(.dark *){--tw-text-opacity: 1;color:rgb(112 119 134 / var(--tw-text-opacity, 1))}.dark\:text-\[\#798191\]:is(.dark *){--tw-text-opacity: 1;color:rgb(121 129 145 / var(--tw-text-opacity, 1))}.dark\:text-\[\#7b8496\]:is(.dark *){--tw-text-opacity: 1;color:rgb(123 132 150 / var(--tw-text-opacity, 1))}.dark\:text-\[\#7d879b\]:is(.dark *){--tw-text-opacity: 1;color:rgb(125 135 155 / var(--tw-text-opacity, 1))}.dark\:text-\[\#7da6ff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(125 166 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8390a7\]:is(.dark *){--tw-text-opacity: 1;color:rgb(131 144 167 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8a8a93\]:is(.dark *){--tw-text-opacity: 1;color:rgb(138 138 147 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8a94a7\]:is(.dark *){--tw-text-opacity: 1;color:rgb(138 148 167 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8d95a3\]:is(.dark *){--tw-text-opacity: 1;color:rgb(141 149 163 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8d96aa\]:is(.dark *){--tw-text-opacity: 1;color:rgb(141 150 170 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8ea0bb\]:is(.dark *){--tw-text-opacity: 1;color:rgb(142 160 187 / var(--tw-text-opacity, 1))}.dark\:text-\[\#98a3b8\]:is(.dark *){--tw-text-opacity: 1;color:rgb(152 163 184 / var(--tw-text-opacity, 1))}.dark\:text-\[\#9aa4b6\]:is(.dark *){--tw-text-opacity: 1;color:rgb(154 164 182 / var(--tw-text-opacity, 1))}.dark\:text-\[\#9ca7ba\]:is(.dark *){--tw-text-opacity: 1;color:rgb(156 167 186 / var(--tw-text-opacity, 1))}.dark\:text-\[\#a1a1aa\]:is(.dark *){--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.dark\:text-\[\#a6b0c3\]:is(.dark *){--tw-text-opacity: 1;color:rgb(166 176 195 / var(--tw-text-opacity, 1))}.dark\:text-\[\#aab5c8\]:is(.dark *){--tw-text-opacity: 1;color:rgb(170 181 200 / var(--tw-text-opacity, 1))}.dark\:text-\[\#b2bdd1\]:is(.dark *){--tw-text-opacity: 1;color:rgb(178 189 209 / var(--tw-text-opacity, 1))}.dark\:text-\[\#b38cff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(179 140 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#b3b3bd\]:is(.dark *){--tw-text-opacity: 1;color:rgb(179 179 189 / var(--tw-text-opacity, 1))}.dark\:text-\[\#c6d0e1\]:is(.dark *){--tw-text-opacity: 1;color:rgb(198 208 225 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d0d7e2\]:is(.dark *){--tw-text-opacity: 1;color:rgb(208 215 226 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d5dded\]:is(.dark *){--tw-text-opacity: 1;color:rgb(213 221 237 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d8e1ef\]:is(.dark *){--tw-text-opacity: 1;color:rgb(216 225 239 / var(--tw-text-opacity, 1))}.dark\:text-\[\#e5e7eb\]:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-\[\#e5ecf7\]:is(.dark *){--tw-text-opacity: 1;color:rgb(229 236 247 / var(--tw-text-opacity, 1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-black:is(.dark *){--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-red-500:is(.dark *){--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.dark\:text-sky-200:is(.dark *){--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity, 1))}.dark\:text-sky-300:is(.dark *){--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.dark\:text-slate-200:is(.dark *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:text-slate-500:is(.dark *){--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.dark\:text-slate-950:is(.dark *){--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:opacity-\[0\.08\]:is(.dark *){opacity:.08}.dark\:shadow-\[0_18px_60px_-42px_rgba\(0\,0\,0\,0\.7\)\]:is(.dark *){--tw-shadow: 0 18px 60px -42px rgba(0,0,0,.7);--tw-shadow-colored: 0 18px 60px -42px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-\[0_24px_70px_-40px_rgba\(0\,0\,0\,0\.7\)\]:is(.dark *){--tw-shadow: 0 24px 70px -40px rgba(0,0,0,.7);--tw-shadow-colored: 0 24px 70px -40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-\[0_28px_90px_-56px_rgba\(0\,0\,0\,0\.72\)\]:is(.dark *){--tw-shadow: 0 28px 90px -56px rgba(0,0,0,.72);--tw-shadow-colored: 0 28px 90px -56px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-none:is(.dark *){--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:placeholder\:text-\[\#6e7684\]:is(.dark *)::-moz-placeholder{--tw-text-opacity: 1;color:rgb(110 118 132 / var(--tw-text-opacity, 1))}.dark\:placeholder\:text-\[\#6e7684\]:is(.dark *)::placeholder{--tw-text-opacity: 1;color:rgb(110 118 132 / var(--tw-text-opacity, 1))}.dark\:hover\:border-\[\#2a2a31\]:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 42 49 / var(--tw-border-opacity, 1))}.dark\:hover\:border-\[\#2a303a\]:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 48 58 / var(--tw-border-opacity, 1))}.dark\:hover\:\!bg-\[\#1c2330\]:hover:is(.dark *){--tw-bg-opacity: 1 !important;background-color:rgb(28 35 48 / var(--tw-bg-opacity, 1))!important}.dark\:hover\:bg-\[\#111114\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 17 20 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#121214\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 18 20 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#13131a\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(19 19 26 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#141923\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 25 35 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#161b24\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(22 27 36 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#17171d\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 23 29 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#18181b\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#18181f\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(24 24 31 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#1a1a24\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 26 36 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#1a2130\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 33 48 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#380808\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(56 8 8 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-950\/30:hover:is(.dark *){background-color:#450a0a4d}.dark\:hover\:bg-slate-200:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-white\/\[0\.035\]:hover:is(.dark *){background-color:#ffffff09}.dark\:hover\:\!text-white:hover:is(.dark *){--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1))!important}.dark\:hover\:text-red-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:focus\:border-blue-500:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.group:hover .dark\:group-hover\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:block{display:block}.sm\:h-11{height:2.75rem}.sm\:h-12{height:3rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:text-\[1\.35rem\]{font-size:1.35rem}.sm\:text-\[1\.3rem\]{font-size:1.3rem}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:justify-end{justify-content:flex-end}.md\:p-7{padding:1.75rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:text-\[3rem\]{font-size:3rem}.md\:text-\[4rem\]{font-size:4rem}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:min-h-screen{min-height:100vh}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1\.06fr_0\.94fr\]{grid-template-columns:1.06fr .94fr}.lg\:grid-cols-\[1\.08fr_0\.92fr\]{grid-template-columns:1.08fr .92fr}.lg\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}.lg\:grid-cols-\[minmax\(0\,1fr\)_240px\]{grid-template-columns:minmax(0,1fr) 240px}.lg\:border-b-0{border-bottom-width:0px}.lg\:border-r{border-right-width:1px}.lg\:border-\[\#1d1d23\]{--tw-border-opacity: 1;border-color:rgb(29 29 35 / var(--tw-border-opacity, 1))}.lg\:px-14{padding-left:3.5rem;padding-right:3.5rem}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}}@media (min-width: 1280px){.xl\:sticky{position:sticky}.xl\:top-6{top:1.5rem}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[0\.86fr_1\.14fr\]{grid-template-columns:.86fr 1.14fr}.xl\:grid-cols-\[1\.02fr_0\.98fr\]{grid-template-columns:1.02fr .98fr}.xl\:grid-cols-\[1\.15fr_0\.85fr\]{grid-template-columns:1.15fr .85fr}.xl\:grid-cols-\[280px_minmax\(0\,1fr\)_340px\]{grid-template-columns:280px minmax(0,1fr) 340px}.xl\:grid-cols-\[340px_minmax\(0\,1fr\)\]{grid-template-columns:340px minmax(0,1fr)}.xl\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(320px\,0\.8fr\)\]{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.xl\:self-start{align-self:flex-start}.xl\:border-b-0{border-bottom-width:0px}.xl\:border-r{border-right-width:1px}.xl\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xl\:px-16{padding-left:4rem;padding-right:4rem}.xl\:px-8{padding-left:2rem;padding-right:2rem}} diff --git a/website/dist/assets/index-DENU9YdG.js b/website/dist/assets/index-DENU9YdG.js deleted file mode 100644 index 80e477e5..00000000 --- a/website/dist/assets/index-DENU9YdG.js +++ /dev/null @@ -1,368 +0,0 @@ -var JR=Object.defineProperty;var QR=(e,t,r)=>t in e?JR(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var I1=(e,t,r)=>QR(e,typeof t!="symbol"?t+"":t,r);function eI(e,t){for(var r=0;rn[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))n(a);new MutationObserver(a=>{for(const i of a)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function r(a){const i={};return a.integrity&&(i.integrity=a.integrity),a.referrerPolicy&&(i.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?i.credentials="include":a.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(a){if(a.ep)return;a.ep=!0;const i=r(a);fetch(a.href,i)}})();var Xd=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function pt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var fN={exports:{}},Qh={},pN={exports:{}},Je={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var kd=Symbol.for("react.element"),tI=Symbol.for("react.portal"),rI=Symbol.for("react.fragment"),nI=Symbol.for("react.strict_mode"),aI=Symbol.for("react.profiler"),iI=Symbol.for("react.provider"),oI=Symbol.for("react.context"),sI=Symbol.for("react.forward_ref"),lI=Symbol.for("react.suspense"),uI=Symbol.for("react.memo"),cI=Symbol.for("react.lazy"),M1=Symbol.iterator;function dI(e){return e===null||typeof e!="object"?null:(e=M1&&e[M1]||e["@@iterator"],typeof e=="function"?e:null)}var hN={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},mN=Object.assign,vN={};function Wl(e,t,r){this.props=e,this.context=t,this.refs=vN,this.updater=r||hN}Wl.prototype.isReactComponent={};Wl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Wl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function yN(){}yN.prototype=Wl.prototype;function rb(e,t,r){this.props=e,this.context=t,this.refs=vN,this.updater=r||hN}var nb=rb.prototype=new yN;nb.constructor=rb;mN(nb,Wl.prototype);nb.isPureReactComponent=!0;var D1=Array.isArray,gN=Object.prototype.hasOwnProperty,ab={current:null},xN={key:!0,ref:!0,__self:!0,__source:!0};function bN(e,t,r){var n,a={},i=null,o=null;if(t!=null)for(n in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(i=""+t.key),t)gN.call(t,n)&&!xN.hasOwnProperty(n)&&(a[n]=t[n]);var s=arguments.length-2;if(s===1)a.children=r;else if(1>>1,q=M[H];if(0>>1;Ha(se,G))fea(Pe,se)?(M[H]=Pe,M[fe]=G,H=fe):(M[H]=se,M[X]=G,H=X);else if(fea(Pe,G))M[H]=Pe,M[fe]=G,H=fe;else break e}}return B}function a(M,B){var G=M.sortIndex-B.sortIndex;return G!==0?G:M.id-B.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var u=[],c=[],f=1,d=null,p=3,h=!1,b=!1,v=!1,g=typeof setTimeout=="function"?setTimeout:null,y=typeof clearTimeout=="function"?clearTimeout:null,m=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(M){for(var B=r(c);B!==null;){if(B.callback===null)n(c);else if(B.startTime<=M)n(c),B.sortIndex=B.expirationTime,t(u,B);else break;B=r(c)}}function j(M){if(v=!1,w(M),!b)if(r(u)!==null)b=!0,U(x);else{var B=r(c);B!==null&&W(j,B.startTime-M)}}function x(M,B){b=!1,v&&(v=!1,y(O),O=-1),h=!0;var G=p;try{for(w(B),d=r(u);d!==null&&(!(d.expirationTime>B)||M&&!$());){var H=d.callback;if(typeof H=="function"){d.callback=null,p=d.priorityLevel;var q=H(d.expirationTime<=B);B=e.unstable_now(),typeof q=="function"?d.callback=q:d===r(u)&&n(u),w(B)}else n(u);d=r(u)}if(d!==null)var ae=!0;else{var X=r(c);X!==null&&W(j,X.startTime-B),ae=!1}return ae}finally{d=null,p=G,h=!1}}var _=!1,k=null,O=-1,A=5,I=-1;function $(){return!(e.unstable_now()-IM||125H?(M.sortIndex=G,t(c,M),r(u)===null&&M===r(c)&&(v?(y(O),O=-1):v=!0,W(j,G-H))):(M.sortIndex=q,t(u,M),b||h||(b=!0,U(x))),M},e.unstable_shouldYield=$,e.unstable_wrapCallback=function(M){var B=p;return function(){var G=p;p=B;try{return M.apply(this,arguments)}finally{p=G}}}})(kN);SN.exports=kN;var jI=SN.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var SI=S,jn=jI;function oe(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),rg=Object.prototype.hasOwnProperty,kI=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,F1={},z1={};function OI(e){return rg.call(z1,e)?!0:rg.call(F1,e)?!1:kI.test(e)?z1[e]=!0:(F1[e]=!0,!1)}function NI(e,t,r,n){if(r!==null&&r.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function AI(e,t,r,n){if(t===null||typeof t>"u"||NI(e,t,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Xr(e,t,r,n,a,i,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=n,this.attributeNamespace=a,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var Or={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Or[e]=new Xr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Or[t]=new Xr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Or[e]=new Xr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Or[e]=new Xr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Or[e]=new Xr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Or[e]=new Xr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Or[e]=new Xr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Or[e]=new Xr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Or[e]=new Xr(e,5,!1,e.toLowerCase(),null,!1,!1)});var ob=/[\-:]([a-z])/g;function sb(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(ob,sb);Or[t]=new Xr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(ob,sb);Or[t]=new Xr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(ob,sb);Or[t]=new Xr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Or[e]=new Xr(e,1,!1,e.toLowerCase(),null,!1,!1)});Or.xlinkHref=new Xr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Or[e]=new Xr(e,1,!1,e.toLowerCase(),null,!0,!0)});function lb(e,t,r,n){var a=Or.hasOwnProperty(t)?Or[t]:null;(a!==null?a.type!==0:n||!(2s||a[o]!==i[s]){var u=` -`+a[o].replace(" at new "," at ");return e.displayName&&u.includes("")&&(u=u.replace("",e.displayName)),u}while(1<=o&&0<=s);break}}}finally{yv=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?Fu(e):""}function EI(e){switch(e.tag){case 5:return Fu(e.type);case 16:return Fu("Lazy");case 13:return Fu("Suspense");case 19:return Fu("SuspenseList");case 0:case 2:case 15:return e=gv(e.type,!1),e;case 11:return e=gv(e.type.render,!1),e;case 1:return e=gv(e.type,!0),e;default:return""}}function og(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case ks:return"Fragment";case Ss:return"Portal";case ng:return"Profiler";case ub:return"StrictMode";case ag:return"Suspense";case ig:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case AN:return(e.displayName||"Context")+".Consumer";case NN:return(e._context.displayName||"Context")+".Provider";case cb:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case db:return t=e.displayName||null,t!==null?t:og(e.type)||"Memo";case _i:t=e._payload,e=e._init;try{return og(e(t))}catch{}}return null}function PI(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return og(t);case 8:return t===ub?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ki(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function PN(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function CI(e){var t=PN(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var a=r.get,i=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(o){n=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(o){n=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Jd(e){e._valueTracker||(e._valueTracker=CI(e))}function CN(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=PN(e)?e.checked?"true":"false":e.value),e=n,e!==r?(t.setValue(e),!0):!1}function dp(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function sg(e,t){var r=t.checked;return Dt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function U1(e,t){var r=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;r=Ki(t.value!=null?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function TN(e,t){t=t.checked,t!=null&&lb(e,"checked",t,!1)}function lg(e,t){TN(e,t);var r=Ki(t.value),n=t.type;if(r!=null)n==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ug(e,t.type,r):t.hasOwnProperty("defaultValue")&&ug(e,t.type,Ki(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function V1(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!(n!=="submit"&&n!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function ug(e,t,r){(t!=="number"||dp(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var zu=Array.isArray;function Gs(e,t,r,n){if(e=e.options,t){t={};for(var a=0;a"+t.valueOf().toString()+"",t=Qd.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function bc(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var Ju={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},TI=["Webkit","ms","Moz","O"];Object.keys(Ju).forEach(function(e){TI.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ju[t]=Ju[e]})});function MN(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||Ju.hasOwnProperty(e)&&Ju[e]?(""+t).trim():t+"px"}function DN(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var n=r.indexOf("--")===0,a=MN(r,t[r],n);r==="float"&&(r="cssFloat"),n?e.setProperty(r,a):e[r]=a}}var $I=Dt({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function fg(e,t){if(t){if($I[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(oe(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(oe(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(oe(61))}if(t.style!=null&&typeof t.style!="object")throw Error(oe(62))}}function pg(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var hg=null;function fb(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var mg=null,qs=null,Ks=null;function G1(e){if(e=Ad(e)){if(typeof mg!="function")throw Error(oe(280));var t=e.stateNode;t&&(t=am(t),mg(e.stateNode,e.type,t))}}function LN(e){qs?Ks?Ks.push(e):Ks=[e]:qs=e}function FN(){if(qs){var e=qs,t=Ks;if(Ks=qs=null,G1(e),t)for(e=0;e>>=0,e===0?32:31-(WI(e)/HI|0)|0}var ef=64,tf=4194304;function Bu(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function mp(e,t){var r=e.pendingLanes;if(r===0)return 0;var n=0,a=e.suspendedLanes,i=e.pingedLanes,o=r&268435455;if(o!==0){var s=o&~a;s!==0?n=Bu(s):(i&=o,i!==0&&(n=Bu(i)))}else o=r&~a,o!==0?n=Bu(o):i!==0&&(n=Bu(i));if(n===0)return 0;if(t!==0&&t!==n&&!(t&a)&&(a=n&-n,i=t&-t,a>=i||a===16&&(i&4194240)!==0))return t;if(n&4&&(n|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=n;0r;r++)t.push(e);return t}function Od(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-sa(t),e[t]=r}function XI(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0=ec),t_=" ",r_=!1;function iA(e,t){switch(e){case"keyup":return jM.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function oA(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Os=!1;function kM(e,t){switch(e){case"compositionend":return oA(t);case"keypress":return t.which!==32?null:(r_=!0,t_);case"textInput":return e=t.data,e===t_&&r_?null:e;default:return null}}function OM(e,t){if(Os)return e==="compositionend"||!bb&&iA(e,t)?(e=nA(),Yf=yb=Ci=null,Os=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=o_(r)}}function cA(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?cA(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function dA(){for(var e=window,t=dp();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=dp(e.document)}return t}function wb(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function IM(e){var t=dA(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&cA(r.ownerDocument.documentElement,r)){if(n!==null&&wb(r)){if(t=n.start,e=n.end,e===void 0&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var a=r.textContent.length,i=Math.min(n.start,a);n=n.end===void 0?i:Math.min(n.end,a),!e.extend&&i>n&&(a=n,n=i,i=a),a=s_(r,i);var o=s_(r,n);a&&o&&(e.rangeCount!==1||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(a.node,a.offset),e.removeAllRanges(),i>n?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,Ns=null,wg=null,rc=null,_g=!1;function l_(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;_g||Ns==null||Ns!==dp(n)||(n=Ns,"selectionStart"in n&&wb(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),rc&&Oc(rc,n)||(rc=n,n=gp(wg,"onSelect"),0Ps||(e.current=Ag[Ps],Ag[Ps]=null,Ps--)}function St(e,t){Ps++,Ag[Ps]=e.current,e.current=t}var Xi={},Lr=to(Xi),on=to(!1),zo=Xi;function sl(e,t){var r=e.type.contextTypes;if(!r)return Xi;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var a={},i;for(i in r)a[i]=t[i];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function sn(e){return e=e.childContextTypes,e!=null}function bp(){Pt(on),Pt(Lr)}function m_(e,t,r){if(Lr.current!==Xi)throw Error(oe(168));St(Lr,t),St(on,r)}function bA(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var a in n)if(!(a in t))throw Error(oe(108,PI(e)||"Unknown",a));return Dt({},r,n)}function wp(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Xi,zo=Lr.current,St(Lr,e),St(on,on.current),!0}function v_(e,t,r){var n=e.stateNode;if(!n)throw Error(oe(169));r?(e=bA(e,t,zo),n.__reactInternalMemoizedMergedChildContext=e,Pt(on),Pt(Lr),St(Lr,e)):Pt(on),St(on,r)}var Va=null,im=!1,Tv=!1;function wA(e){Va===null?Va=[e]:Va.push(e)}function qM(e){im=!0,wA(e)}function ro(){if(!Tv&&Va!==null){Tv=!0;var e=0,t=vt;try{var r=Va;for(vt=1;e>=o,a-=o,Ha=1<<32-sa(t)+a|r<O?(A=k,k=null):A=k.sibling;var I=p(y,k,w[O],j);if(I===null){k===null&&(k=A);break}e&&k&&I.alternate===null&&t(y,k),m=i(I,m,O),_===null?x=I:_.sibling=I,_=I,k=A}if(O===w.length)return r(y,k),Ct&&yo(y,O),x;if(k===null){for(;OO?(A=k,k=null):A=k.sibling;var $=p(y,k,I.value,j);if($===null){k===null&&(k=A);break}e&&k&&$.alternate===null&&t(y,k),m=i($,m,O),_===null?x=$:_.sibling=$,_=$,k=A}if(I.done)return r(y,k),Ct&&yo(y,O),x;if(k===null){for(;!I.done;O++,I=w.next())I=d(y,I.value,j),I!==null&&(m=i(I,m,O),_===null?x=I:_.sibling=I,_=I);return Ct&&yo(y,O),x}for(k=n(y,k);!I.done;O++,I=w.next())I=h(k,y,O,I.value,j),I!==null&&(e&&I.alternate!==null&&k.delete(I.key===null?O:I.key),m=i(I,m,O),_===null?x=I:_.sibling=I,_=I);return e&&k.forEach(function(N){return t(y,N)}),Ct&&yo(y,O),x}function g(y,m,w,j){if(typeof w=="object"&&w!==null&&w.type===ks&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case Zd:e:{for(var x=w.key,_=m;_!==null;){if(_.key===x){if(x=w.type,x===ks){if(_.tag===7){r(y,_.sibling),m=a(_,w.props.children),m.return=y,y=m;break e}}else if(_.elementType===x||typeof x=="object"&&x!==null&&x.$$typeof===_i&&x_(x)===_.type){r(y,_.sibling),m=a(_,w.props),m.ref=gu(y,_,w),m.return=y,y=m;break e}r(y,_);break}else t(y,_);_=_.sibling}w.type===ks?(m=Ro(w.props.children,y.mode,j,w.key),m.return=y,y=m):(j=ap(w.type,w.key,w.props,null,y.mode,j),j.ref=gu(y,m,w),j.return=y,y=j)}return o(y);case Ss:e:{for(_=w.key;m!==null;){if(m.key===_)if(m.tag===4&&m.stateNode.containerInfo===w.containerInfo&&m.stateNode.implementation===w.implementation){r(y,m.sibling),m=a(m,w.children||[]),m.return=y,y=m;break e}else{r(y,m);break}else t(y,m);m=m.sibling}m=zv(w,y.mode,j),m.return=y,y=m}return o(y);case _i:return _=w._init,g(y,m,_(w._payload),j)}if(zu(w))return b(y,m,w,j);if(pu(w))return v(y,m,w,j);uf(y,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,m!==null&&m.tag===6?(r(y,m.sibling),m=a(m,w),m.return=y,y=m):(r(y,m),m=Fv(w,y.mode,j),m.return=y,y=m),o(y)):r(y,m)}return g}var ul=kA(!0),OA=kA(!1),Sp=to(null),kp=null,$s=null,kb=null;function Ob(){kb=$s=kp=null}function Nb(e){var t=Sp.current;Pt(Sp),e._currentValue=t}function Cg(e,t,r){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===r)break;e=e.return}}function Ys(e,t){kp=e,kb=$s=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(rn=!0),e.firstContext=null)}function Fn(e){var t=e._currentValue;if(kb!==e)if(e={context:e,memoizedValue:t,next:null},$s===null){if(kp===null)throw Error(oe(308));$s=e,kp.dependencies={lanes:0,firstContext:e}}else $s=$s.next=e;return t}var ko=null;function Ab(e){ko===null?ko=[e]:ko.push(e)}function NA(e,t,r,n){var a=t.interleaved;return a===null?(r.next=r,Ab(t)):(r.next=a.next,a.next=r),t.interleaved=r,ni(e,n)}function ni(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var ji=!1;function Eb(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function AA(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ja(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Bi(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,nt&2){var a=n.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),n.pending=t,ni(e,r)}return a=n.interleaved,a===null?(t.next=t,Ab(n)):(t.next=a.next,a.next=t),n.interleaved=t,ni(e,r)}function Jf(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,hb(e,r)}}function b_(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var a=null,i=null;if(r=r.firstBaseUpdate,r!==null){do{var o={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};i===null?a=i=o:i=i.next=o,r=r.next}while(r!==null);i===null?a=i=t:i=i.next=t}else a=i=t;r={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:n.shared,effects:n.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function Op(e,t,r,n){var a=e.updateQueue;ji=!1;var i=a.firstBaseUpdate,o=a.lastBaseUpdate,s=a.shared.pending;if(s!==null){a.shared.pending=null;var u=s,c=u.next;u.next=null,o===null?i=c:o.next=c,o=u;var f=e.alternate;f!==null&&(f=f.updateQueue,s=f.lastBaseUpdate,s!==o&&(s===null?f.firstBaseUpdate=c:s.next=c,f.lastBaseUpdate=u))}if(i!==null){var d=a.baseState;o=0,f=c=u=null,s=i;do{var p=s.lane,h=s.eventTime;if((n&p)===p){f!==null&&(f=f.next={eventTime:h,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var b=e,v=s;switch(p=t,h=r,v.tag){case 1:if(b=v.payload,typeof b=="function"){d=b.call(h,d,p);break e}d=b;break e;case 3:b.flags=b.flags&-65537|128;case 0:if(b=v.payload,p=typeof b=="function"?b.call(h,d,p):b,p==null)break e;d=Dt({},d,p);break e;case 2:ji=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,p=a.effects,p===null?a.effects=[s]:p.push(s))}else h={eventTime:h,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},f===null?(c=f=h,u=d):f=f.next=h,o|=p;if(s=s.next,s===null){if(s=a.shared.pending,s===null)break;p=s,s=p.next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}while(!0);if(f===null&&(u=d),a.baseState=u,a.firstBaseUpdate=c,a.lastBaseUpdate=f,t=a.shared.interleaved,t!==null){a=t;do o|=a.lane,a=a.next;while(a!==t)}else i===null&&(a.shared.lanes=0);Vo|=o,e.lanes=o,e.memoizedState=d}}function w_(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;tr?r:4,e(!0);var n=Rv.transition;Rv.transition={};try{e(!1),t()}finally{vt=r,Rv.transition=n}}function HA(){return zn().memoizedState}function ZM(e,t,r){var n=Vi(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},GA(e))qA(t,r);else if(r=NA(e,t,r,n),r!==null){var a=qr();la(r,e,n,a),KA(r,t,n)}}function JM(e,t,r){var n=Vi(e),a={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(GA(e))qA(t,a);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,s=i(o,r);if(a.hasEagerState=!0,a.eagerState=s,ca(s,o)){var u=t.interleaved;u===null?(a.next=a,Ab(t)):(a.next=u.next,u.next=a),t.interleaved=a;return}}catch{}finally{}r=NA(e,t,a,n),r!==null&&(a=qr(),la(r,e,n,a),KA(r,t,n))}}function GA(e){var t=e.alternate;return e===Mt||t!==null&&t===Mt}function qA(e,t){nc=Ap=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function KA(e,t,r){if(r&4194240){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,hb(e,r)}}var Ep={readContext:Fn,useCallback:Cr,useContext:Cr,useEffect:Cr,useImperativeHandle:Cr,useInsertionEffect:Cr,useLayoutEffect:Cr,useMemo:Cr,useReducer:Cr,useRef:Cr,useState:Cr,useDebugValue:Cr,useDeferredValue:Cr,useTransition:Cr,useMutableSource:Cr,useSyncExternalStore:Cr,useId:Cr,unstable_isNewReconciler:!1},QM={readContext:Fn,useCallback:function(e,t){return ga().memoizedState=[e,t===void 0?null:t],e},useContext:Fn,useEffect:j_,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,ep(4194308,4,zA.bind(null,t,e),r)},useLayoutEffect:function(e,t){return ep(4194308,4,e,t)},useInsertionEffect:function(e,t){return ep(4,2,e,t)},useMemo:function(e,t){var r=ga();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=ga();return t=r!==void 0?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=ZM.bind(null,Mt,e),[n.memoizedState,e]},useRef:function(e){var t=ga();return e={current:e},t.memoizedState=e},useState:__,useDebugValue:Db,useDeferredValue:function(e){return ga().memoizedState=e},useTransition:function(){var e=__(!1),t=e[0];return e=YM.bind(null,e[1]),ga().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=Mt,a=ga();if(Ct){if(r===void 0)throw Error(oe(407));r=r()}else{if(r=t(),vr===null)throw Error(oe(349));Uo&30||TA(n,t,r)}a.memoizedState=r;var i={value:r,getSnapshot:t};return a.queue=i,j_(RA.bind(null,n,i,e),[e]),n.flags|=2048,Rc(9,$A.bind(null,n,i,r,t),void 0,null),r},useId:function(){var e=ga(),t=vr.identifierPrefix;if(Ct){var r=Ga,n=Ha;r=(n&~(1<<32-sa(n)-1)).toString(32)+r,t=":"+t+"R"+r,r=Tc++,0<\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=o.createElement(r,{is:n.is}):(e=o.createElement(r),r==="select"&&(o=e,n.multiple?o.multiple=!0:n.size&&(o.size=n.size))):e=o.createElementNS(e,r),e[ba]=t,e[Ec]=n,aE(e,t,!1,!1),t.stateNode=e;e:{switch(o=pg(r,n),r){case"dialog":Ot("cancel",e),Ot("close",e),a=n;break;case"iframe":case"object":case"embed":Ot("load",e),a=n;break;case"video":case"audio":for(a=0;afl&&(t.flags|=128,n=!0,xu(i,!1),t.lanes=4194304)}else{if(!n)if(e=Np(o),e!==null){if(t.flags|=128,n=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),xu(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!Ct)return Tr(t),null}else 2*Gt()-i.renderingStartTime>fl&&r!==1073741824&&(t.flags|=128,n=!0,xu(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(r=i.last,r!==null?r.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Gt(),t.sibling=null,r=It.current,St(It,n?r&1|2:r&1),t):(Tr(t),null);case 22:case 23:return Vb(),n=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==n&&(t.flags|=8192),n&&t.mode&1?mn&1073741824&&(Tr(t),t.subtreeFlags&6&&(t.flags|=8192)):Tr(t),null;case 24:return null;case 25:return null}throw Error(oe(156,t.tag))}function sD(e,t){switch(jb(t),t.tag){case 1:return sn(t.type)&&bp(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return cl(),Pt(on),Pt(Lr),Tb(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Cb(t),null;case 13:if(Pt(It),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(oe(340));ll()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Pt(It),null;case 4:return cl(),null;case 10:return Nb(t.type._context),null;case 22:case 23:return Vb(),null;case 24:return null;default:return null}}var df=!1,Ir=!1,lD=typeof WeakSet=="function"?WeakSet:Set,ge=null;function Rs(e,t){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){zt(e,t,n)}else r.current=null}function zg(e,t,r){try{r()}catch(n){zt(e,t,n)}}var R_=!1;function uD(e,t){if(jg=vp,e=dA(),wb(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var a=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{r.nodeType,i.nodeType}catch{r=null;break e}var o=0,s=-1,u=-1,c=0,f=0,d=e,p=null;t:for(;;){for(var h;d!==r||a!==0&&d.nodeType!==3||(s=o+a),d!==i||n!==0&&d.nodeType!==3||(u=o+n),d.nodeType===3&&(o+=d.nodeValue.length),(h=d.firstChild)!==null;)p=d,d=h;for(;;){if(d===e)break t;if(p===r&&++c===a&&(s=o),p===i&&++f===n&&(u=o),(h=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=h}r=s===-1||u===-1?null:{start:s,end:u}}else r=null}r=r||{start:0,end:0}}else r=null;for(Sg={focusedElem:e,selectionRange:r},vp=!1,ge=t;ge!==null;)if(t=ge,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ge=e;else for(;ge!==null;){t=ge;try{var b=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(b!==null){var v=b.memoizedProps,g=b.memoizedState,y=t.stateNode,m=y.getSnapshotBeforeUpdate(t.elementType===t.type?v:Qn(t.type,v),g);y.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var w=t.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(oe(163))}}catch(j){zt(t,t.return,j)}if(e=t.sibling,e!==null){e.return=t.return,ge=e;break}ge=t.return}return b=R_,R_=!1,b}function ac(e,t,r){var n=t.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var a=n=n.next;do{if((a.tag&e)===e){var i=a.destroy;a.destroy=void 0,i!==void 0&&zg(t,r,i)}a=a.next}while(a!==n)}}function lm(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var n=r.create;r.destroy=n()}r=r.next}while(r!==t)}}function Bg(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t=="function"?t(e):t.current=e}}function sE(e){var t=e.alternate;t!==null&&(e.alternate=null,sE(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ba],delete t[Ec],delete t[Ng],delete t[HM],delete t[GM])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function lE(e){return e.tag===5||e.tag===3||e.tag===4}function I_(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||lE(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ug(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=xp));else if(n!==4&&(e=e.child,e!==null))for(Ug(e,t,r),e=e.sibling;e!==null;)Ug(e,t,r),e=e.sibling}function Vg(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(e=e.child,e!==null))for(Vg(e,t,r),e=e.sibling;e!==null;)Vg(e,t,r),e=e.sibling}var jr=null,ea=!1;function gi(e,t,r){for(r=r.child;r!==null;)uE(e,t,r),r=r.sibling}function uE(e,t,r){if(Sa&&typeof Sa.onCommitFiberUnmount=="function")try{Sa.onCommitFiberUnmount(em,r)}catch{}switch(r.tag){case 5:Ir||Rs(r,t);case 6:var n=jr,a=ea;jr=null,gi(e,t,r),jr=n,ea=a,jr!==null&&(ea?(e=jr,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):jr.removeChild(r.stateNode));break;case 18:jr!==null&&(ea?(e=jr,r=r.stateNode,e.nodeType===8?Cv(e.parentNode,r):e.nodeType===1&&Cv(e,r),Sc(e)):Cv(jr,r.stateNode));break;case 4:n=jr,a=ea,jr=r.stateNode.containerInfo,ea=!0,gi(e,t,r),jr=n,ea=a;break;case 0:case 11:case 14:case 15:if(!Ir&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){a=n=n.next;do{var i=a,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&zg(r,t,o),a=a.next}while(a!==n)}gi(e,t,r);break;case 1:if(!Ir&&(Rs(r,t),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(s){zt(r,t,s)}gi(e,t,r);break;case 21:gi(e,t,r);break;case 22:r.mode&1?(Ir=(n=Ir)||r.memoizedState!==null,gi(e,t,r),Ir=n):gi(e,t,r);break;default:gi(e,t,r)}}function M_(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new lD),t.forEach(function(n){var a=gD.bind(null,e,n);r.has(n)||(r.add(n),n.then(a,a))})}}function Yn(e,t){var r=t.deletions;if(r!==null)for(var n=0;na&&(a=o),n&=~i}if(n=a,n=Gt()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*dD(n/1960))-n,10e?16:e,Ti===null)var n=!1;else{if(e=Ti,Ti=null,Tp=0,nt&6)throw Error(oe(331));var a=nt;for(nt|=4,ge=e.current;ge!==null;){var i=ge,o=i.child;if(ge.flags&16){var s=i.deletions;if(s!==null){for(var u=0;uGt()-Bb?$o(e,0):zb|=r),ln(e,t)}function yE(e,t){t===0&&(e.mode&1?(t=tf,tf<<=1,!(tf&130023424)&&(tf=4194304)):t=1);var r=qr();e=ni(e,t),e!==null&&(Od(e,t,r),ln(e,r))}function yD(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),yE(e,r)}function gD(e,t){var r=0;switch(e.tag){case 13:var n=e.stateNode,a=e.memoizedState;a!==null&&(r=a.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(oe(314))}n!==null&&n.delete(t),yE(e,r)}var gE;gE=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||on.current)rn=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return rn=!1,iD(e,t,r);rn=!!(e.flags&131072)}else rn=!1,Ct&&t.flags&1048576&&_A(t,jp,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;tp(e,t),e=t.pendingProps;var a=sl(t,Lr.current);Ys(t,r),a=Rb(null,t,n,e,a,r);var i=Ib();return t.flags|=1,typeof a=="object"&&a!==null&&typeof a.render=="function"&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,sn(n)?(i=!0,wp(t)):i=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Eb(t),a.updater=sm,t.stateNode=a,a._reactInternals=t,$g(t,n,e,r),t=Mg(null,t,n,!0,i,r)):(t.tag=0,Ct&&i&&_b(t),zr(null,t,a,r),t=t.child),t;case 16:n=t.elementType;e:{switch(tp(e,t),e=t.pendingProps,a=n._init,n=a(n._payload),t.type=n,a=t.tag=bD(n),e=Qn(n,e),a){case 0:t=Ig(null,t,n,e,r);break e;case 1:t=C_(null,t,n,e,r);break e;case 11:t=E_(null,t,n,e,r);break e;case 14:t=P_(null,t,n,Qn(n.type,e),r);break e}throw Error(oe(306,n,""))}return t;case 0:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:Qn(n,a),Ig(e,t,n,a,r);case 1:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:Qn(n,a),C_(e,t,n,a,r);case 3:e:{if(tE(t),e===null)throw Error(oe(387));n=t.pendingProps,i=t.memoizedState,a=i.element,AA(e,t),Op(t,n,null,r);var o=t.memoizedState;if(n=o.element,i.isDehydrated)if(i={element:n,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){a=dl(Error(oe(423)),t),t=T_(e,t,n,r,a);break e}else if(n!==a){a=dl(Error(oe(424)),t),t=T_(e,t,n,r,a);break e}else for(gn=zi(t.stateNode.containerInfo.firstChild),bn=t,Ct=!0,na=null,r=OA(t,null,n,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(ll(),n===a){t=ai(e,t,r);break e}zr(e,t,n,r)}t=t.child}return t;case 5:return EA(t),e===null&&Pg(t),n=t.type,a=t.pendingProps,i=e!==null?e.memoizedProps:null,o=a.children,kg(n,a)?o=null:i!==null&&kg(n,i)&&(t.flags|=32),eE(e,t),zr(e,t,o,r),t.child;case 6:return e===null&&Pg(t),null;case 13:return rE(e,t,r);case 4:return Pb(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=ul(t,null,n,r):zr(e,t,n,r),t.child;case 11:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:Qn(n,a),E_(e,t,n,a,r);case 7:return zr(e,t,t.pendingProps,r),t.child;case 8:return zr(e,t,t.pendingProps.children,r),t.child;case 12:return zr(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(n=t.type._context,a=t.pendingProps,i=t.memoizedProps,o=a.value,St(Sp,n._currentValue),n._currentValue=o,i!==null)if(ca(i.value,o)){if(i.children===a.children&&!on.current){t=ai(e,t,r);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){o=i.child;for(var u=s.firstContext;u!==null;){if(u.context===n){if(i.tag===1){u=Ja(-1,r&-r),u.tag=2;var c=i.updateQueue;if(c!==null){c=c.shared;var f=c.pending;f===null?u.next=u:(u.next=f.next,f.next=u),c.pending=u}}i.lanes|=r,u=i.alternate,u!==null&&(u.lanes|=r),Cg(i.return,r,t),s.lanes|=r;break}u=u.next}}else if(i.tag===10)o=i.type===t.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(oe(341));o.lanes|=r,s=o.alternate,s!==null&&(s.lanes|=r),Cg(o,r,t),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===t){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}zr(e,t,a.children,r),t=t.child}return t;case 9:return a=t.type,n=t.pendingProps.children,Ys(t,r),a=Fn(a),n=n(a),t.flags|=1,zr(e,t,n,r),t.child;case 14:return n=t.type,a=Qn(n,t.pendingProps),a=Qn(n.type,a),P_(e,t,n,a,r);case 15:return JA(e,t,t.type,t.pendingProps,r);case 17:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:Qn(n,a),tp(e,t),t.tag=1,sn(n)?(e=!0,wp(t)):e=!1,Ys(t,r),XA(t,n,a),$g(t,n,a,r),Mg(null,t,n,!0,e,r);case 19:return nE(e,t,r);case 22:return QA(e,t,r)}throw Error(oe(156,t.tag))};function xE(e,t){return GN(e,t)}function xD(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Mn(e,t,r,n){return new xD(e,t,r,n)}function Hb(e){return e=e.prototype,!(!e||!e.isReactComponent)}function bD(e){if(typeof e=="function")return Hb(e)?1:0;if(e!=null){if(e=e.$$typeof,e===cb)return 11;if(e===db)return 14}return 2}function Wi(e,t){var r=e.alternate;return r===null?(r=Mn(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function ap(e,t,r,n,a,i){var o=2;if(n=e,typeof e=="function")Hb(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case ks:return Ro(r.children,a,i,t);case ub:o=8,a|=8;break;case ng:return e=Mn(12,r,t,a|2),e.elementType=ng,e.lanes=i,e;case ag:return e=Mn(13,r,t,a),e.elementType=ag,e.lanes=i,e;case ig:return e=Mn(19,r,t,a),e.elementType=ig,e.lanes=i,e;case EN:return cm(r,a,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case NN:o=10;break e;case AN:o=9;break e;case cb:o=11;break e;case db:o=14;break e;case _i:o=16,n=null;break e}throw Error(oe(130,e==null?e:typeof e,""))}return t=Mn(o,r,t,a),t.elementType=e,t.type=n,t.lanes=i,t}function Ro(e,t,r,n){return e=Mn(7,e,n,t),e.lanes=r,e}function cm(e,t,r,n){return e=Mn(22,e,n,t),e.elementType=EN,e.lanes=r,e.stateNode={isHidden:!1},e}function Fv(e,t,r){return e=Mn(6,e,null,t),e.lanes=r,e}function zv(e,t,r){return t=Mn(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function wD(e,t,r,n,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bv(0),this.expirationTimes=bv(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bv(0),this.identifierPrefix=n,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function Gb(e,t,r,n,a,i,o,s,u){return e=new wD(e,t,r,s,u),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Mn(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Eb(i),e}function _D(e,t,r){var n=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(jE)}catch(e){console.error(e)}}jE(),jN.exports=kn;var Ms=jN.exports,W_=Ms;tg.createRoot=W_.createRoot,tg.hydrateRoot=W_.hydrateRoot;/** - * @remix-run/router v1.23.2 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Mc(){return Mc=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function Yb(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function AD(){return Math.random().toString(36).substr(2,8)}function G_(e,t){return{usr:e.state,key:e.key,idx:t}}function Kg(e,t,r,n){return r===void 0&&(r=null),Mc({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?ql(t):t,{state:r,key:t&&t.key||n||AD()})}function SE(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&r!=="?"&&(t+=r.charAt(0)==="?"?r:"?"+r),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function ql(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function ED(e,t,r,n){n===void 0&&(n={});let{window:a=document.defaultView,v5Compat:i=!1}=n,o=a.history,s=$i.Pop,u=null,c=f();c==null&&(c=0,o.replaceState(Mc({},o.state,{idx:c}),""));function f(){return(o.state||{idx:null}).idx}function d(){s=$i.Pop;let g=f(),y=g==null?null:g-c;c=g,u&&u({action:s,location:v.location,delta:y})}function p(g,y){s=$i.Push;let m=Kg(v.location,g,y);c=f()+1;let w=G_(m,c),j=v.createHref(m);try{o.pushState(w,"",j)}catch(x){if(x instanceof DOMException&&x.name==="DataCloneError")throw x;a.location.assign(j)}i&&u&&u({action:s,location:v.location,delta:1})}function h(g,y){s=$i.Replace;let m=Kg(v.location,g,y);c=f();let w=G_(m,c),j=v.createHref(m);o.replaceState(w,"",j),i&&u&&u({action:s,location:v.location,delta:0})}function b(g){let y=a.location.origin!=="null"?a.location.origin:a.location.href,m=typeof g=="string"?g:SE(g);return m=m.replace(/ $/,"%20"),Jt(y,"No window.location.(origin|href) available to create URL for href: "+m),new URL(m,y)}let v={get action(){return s},get location(){return e(a,o)},listen(g){if(u)throw new Error("A history only accepts one active listener");return a.addEventListener(H_,d),u=g,()=>{a.removeEventListener(H_,d),u=null}},createHref(g){return t(a,g)},createURL:b,encodeLocation(g){let y=b(g);return{pathname:y.pathname,search:y.search,hash:y.hash}},push:p,replace:h,go(g){return o.go(g)}};return v}var q_;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(q_||(q_={}));function PD(e,t,r){return r===void 0&&(r="/"),CD(e,t,r)}function CD(e,t,r,n){let a=typeof t=="string"?ql(t):t,i=NE(a.pathname||"/",r);if(i==null)return null;let o=kE(e);TD(o);let s=null;for(let u=0;s==null&&u{let u={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:o,route:i};u.relativePath.startsWith("/")&&(Jt(u.relativePath.startsWith(n),'Absolute route path "'+u.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),u.relativePath=u.relativePath.slice(n.length));let c=Io([n,u.relativePath]),f=r.concat(u);i.children&&i.children.length>0&&(Jt(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+c+'".')),kE(i.children,t,f,c)),!(i.path==null&&!i.index)&&t.push({path:c,score:FD(c,i.index),routesMeta:f})};return e.forEach((i,o)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))a(i,o);else for(let u of OE(i.path))a(i,o,u)}),t}function OE(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,a=r.endsWith("?"),i=r.replace(/\?$/,"");if(n.length===0)return a?[i,""]:[i];let o=OE(n.join("/")),s=[];return s.push(...o.map(u=>u===""?i:[i,u].join("/"))),a&&s.push(...o),s.map(u=>e.startsWith("/")&&u===""?"/":u)}function TD(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:zD(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const $D=/^:[\w-]+$/,RD=3,ID=2,MD=1,DD=10,LD=-2,K_=e=>e==="*";function FD(e,t){let r=e.split("/"),n=r.length;return r.some(K_)&&(n+=LD),t&&(n+=ID),r.filter(a=>!K_(a)).reduce((a,i)=>a+($D.test(i)?RD:i===""?MD:DD),n)}function zD(e,t){return e.length===t.length&&e.slice(0,-1).every((n,a)=>n===t[a])?e[e.length-1]-t[t.length-1]:0}function BD(e,t,r){let{routesMeta:n}=e,a={},i="/",o=[];for(let s=0;s{let{paramName:p,isOptional:h}=f;if(p==="*"){let v=s[d]||"";o=i.slice(0,i.length-v.length).replace(/(.)\/+$/,"$1")}const b=s[d];return h&&!b?c[p]=void 0:c[p]=(b||"").replace(/%2F/g,"/"),c},{}),pathname:i,pathnameBase:o,pattern:e}}function VD(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),Yb(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,s,u)=>(n.push({paramName:s,isOptional:u!=null}),u?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function WD(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Yb(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function NE(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}const HD=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,GD=e=>HD.test(e);function qD(e,t){t===void 0&&(t="/");let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?ql(e):e,i;if(r)if(GD(r))i=r;else{if(r.includes("//")){let o=r;r=r.replace(/\/\/+/g,"/"),Yb(!1,"Pathnames cannot have embedded double slashes - normalizing "+(o+" -> "+r))}r.startsWith("/")?i=X_(r.substring(1),"/"):i=X_(r,t)}else i=t;return{pathname:i,search:YD(n),hash:ZD(a)}}function X_(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function Bv(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(n)+"]. Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function KD(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function AE(e,t){let r=KD(e);return t?r.map((n,a)=>a===r.length-1?n.pathname:n.pathnameBase):r.map(n=>n.pathnameBase)}function EE(e,t,r,n){n===void 0&&(n=!1);let a;typeof e=="string"?a=ql(e):(a=Mc({},e),Jt(!a.pathname||!a.pathname.includes("?"),Bv("?","pathname","search",a)),Jt(!a.pathname||!a.pathname.includes("#"),Bv("#","pathname","hash",a)),Jt(!a.search||!a.search.includes("#"),Bv("#","search","hash",a)));let i=e===""||a.pathname==="",o=i?"/":a.pathname,s;if(o==null)s=r;else{let d=t.length-1;if(!n&&o.startsWith("..")){let p=o.split("/");for(;p[0]==="..";)p.shift(),d-=1;a.pathname=p.join("/")}s=d>=0?t[d]:"/"}let u=qD(a,s),c=o&&o!=="/"&&o.endsWith("/"),f=(i||o===".")&&r.endsWith("/");return!u.pathname.endsWith("/")&&(c||f)&&(u.pathname+="/"),u}const Io=e=>e.join("/").replace(/\/\/+/g,"/"),XD=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),YD=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,ZD=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function JD(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const PE=["post","put","patch","delete"];new Set(PE);const QD=["get",...PE];new Set(QD);/** - * React Router v6.30.3 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Dc(){return Dc=Object.assign?Object.assign.bind():function(e){for(var t=1;t{s.current=!0}),S.useCallback(function(c,f){if(f===void 0&&(f={}),!s.current)return;if(typeof c=="number"){n.go(c);return}let d=EE(c,JSON.parse(o),i,f.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:Io([t,d.pathname])),(f.replace?n.replace:n.push)(d,f.state,f)},[t,n,o,i,e])}const r3=S.createContext(null);function n3(e){let t=S.useContext(no).outlet;return t&&S.createElement(r3.Provider,{value:e},t)}function a3(e,t){return i3(e,t)}function i3(e,t,r,n){Cd()||Jt(!1);let{navigator:a}=S.useContext(Pd),{matches:i}=S.useContext(no),o=i[i.length-1],s=o?o.params:{};o&&o.pathname;let u=o?o.pathnameBase:"/";o&&o.route;let c=Td(),f;if(t){var d;let g=typeof t=="string"?ql(t):t;u==="/"||(d=g.pathname)!=null&&d.startsWith(u)||Jt(!1),f=g}else f=c;let p=f.pathname||"/",h=p;if(u!=="/"){let g=u.replace(/^\//,"").split("/");h="/"+p.replace(/^\//,"").split("/").slice(g.length).join("/")}let b=PD(e,{pathname:h}),v=c3(b&&b.map(g=>Object.assign({},g,{params:Object.assign({},s,g.params),pathname:Io([u,a.encodeLocation?a.encodeLocation(g.pathname).pathname:g.pathname]),pathnameBase:g.pathnameBase==="/"?u:Io([u,a.encodeLocation?a.encodeLocation(g.pathnameBase).pathname:g.pathnameBase])})),i,r,n);return t&&v?S.createElement(mm.Provider,{value:{location:Dc({pathname:"/",search:"",hash:"",state:null,key:"default"},f),navigationType:$i.Pop}},v):v}function o3(){let e=h3(),t=JD(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,a={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return S.createElement(S.Fragment,null,S.createElement("h2",null,"Unexpected Application Error!"),S.createElement("h3",{style:{fontStyle:"italic"}},t),r?S.createElement("pre",{style:a},r):null,null)}const s3=S.createElement(o3,null);class l3 extends S.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location||r.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:r.error,location:r.location,revalidation:t.revalidation||r.revalidation}}componentDidCatch(t,r){console.error("React Router caught the following error during render",t,r)}render(){return this.state.error!==void 0?S.createElement(no.Provider,{value:this.props.routeContext},S.createElement(CE.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function u3(e){let{routeContext:t,match:r,children:n}=e,a=S.useContext(Zb);return a&&a.static&&a.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=r.route.id),S.createElement(no.Provider,{value:t},n)}function c3(e,t,r,n){var a;if(t===void 0&&(t=[]),r===void 0&&(r=null),n===void 0&&(n=null),e==null){var i;if(!r)return null;if(r.errors)e=r.matches;else if((i=n)!=null&&i.v7_partialHydration&&t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let o=e,s=(a=r)==null?void 0:a.errors;if(s!=null){let f=o.findIndex(d=>d.route.id&&(s==null?void 0:s[d.route.id])!==void 0);f>=0||Jt(!1),o=o.slice(0,Math.min(o.length,f+1))}let u=!1,c=-1;if(r&&n&&n.v7_partialHydration)for(let f=0;f=0?o=o.slice(0,c+1):o=[o[0]];break}}}return o.reduceRight((f,d,p)=>{let h,b=!1,v=null,g=null;r&&(h=s&&d.route.id?s[d.route.id]:void 0,v=d.route.errorElement||s3,u&&(c<0&&p===0?(v3("route-fallback"),b=!0,g=null):c===p&&(b=!0,g=d.route.hydrateFallbackElement||null)));let y=t.concat(o.slice(0,p+1)),m=()=>{let w;return h?w=v:b?w=g:d.route.Component?w=S.createElement(d.route.Component,null):d.route.element?w=d.route.element:w=f,S.createElement(u3,{match:d,routeContext:{outlet:f,matches:y,isDataRoute:r!=null},children:w})};return r&&(d.route.ErrorBoundary||d.route.errorElement||p===0)?S.createElement(l3,{location:r.location,revalidation:r.revalidation,component:v,error:h,children:m(),routeContext:{outlet:null,matches:y,isDataRoute:!0}}):m()},null)}var $E=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}($E||{}),RE=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(RE||{});function d3(e){let t=S.useContext(Zb);return t||Jt(!1),t}function f3(e){let t=S.useContext(e3);return t||Jt(!1),t}function p3(e){let t=S.useContext(no);return t||Jt(!1),t}function IE(e){let t=p3(),r=t.matches[t.matches.length-1];return r.route.id||Jt(!1),r.route.id}function h3(){var e;let t=S.useContext(CE),r=f3(),n=IE();return t!==void 0?t:(e=r.errors)==null?void 0:e[n]}function m3(){let{router:e}=d3($E.UseNavigateStable),t=IE(RE.UseNavigateStable),r=S.useRef(!1);return TE(()=>{r.current=!0}),S.useCallback(function(a,i){i===void 0&&(i={}),r.current&&(typeof a=="number"?e.navigate(a):e.navigate(a,Dc({fromRouteId:t},i)))},[e,t])}const Y_={};function v3(e,t,r){Y_[e]||(Y_[e]=!0)}function y3(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function Xg(e){let{to:t,replace:r,state:n,relative:a}=e;Cd()||Jt(!1);let{future:i,static:o}=S.useContext(Pd),{matches:s}=S.useContext(no),{pathname:u}=Td(),c=as(),f=EE(t,AE(s,i.v7_relativeSplatPath),u,a==="path"),d=JSON.stringify(f);return S.useEffect(()=>c(JSON.parse(d),{replace:r,state:n,relative:a}),[c,d,a,r,n]),null}function ME(e){return n3(e.context)}function Qr(e){Jt(!1)}function g3(e){let{basename:t="/",children:r=null,location:n,navigationType:a=$i.Pop,navigator:i,static:o=!1,future:s}=e;Cd()&&Jt(!1);let u=t.replace(/^\/*/,"/"),c=S.useMemo(()=>({basename:u,navigator:i,static:o,future:Dc({v7_relativeSplatPath:!1},s)}),[u,s,i,o]);typeof n=="string"&&(n=ql(n));let{pathname:f="/",search:d="",hash:p="",state:h=null,key:b="default"}=n,v=S.useMemo(()=>{let g=NE(f,u);return g==null?null:{location:{pathname:g,search:d,hash:p,state:h,key:b},navigationType:a}},[u,f,d,p,h,b,a]);return v==null?null:S.createElement(Pd.Provider,{value:c},S.createElement(mm.Provider,{children:r,value:v}))}function x3(e){let{children:t,location:r}=e;return a3(Yg(t),r)}new Promise(()=>{});function Yg(e,t){t===void 0&&(t=[]);let r=[];return S.Children.forEach(e,(n,a)=>{if(!S.isValidElement(n))return;let i=[...t,a];if(n.type===S.Fragment){r.push.apply(r,Yg(n.props.children,i));return}n.type!==Qr&&Jt(!1),!n.props.index||!n.props.children||Jt(!1);let o={id:n.props.id||i.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(o.children=Yg(n.props.children,i)),r.push(o)}),r}/** - * React Router DOM v6.30.3 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Zg(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map(a=>[r,a]):[[r,n]])},[]))}function b3(e,t){let r=Zg(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(i=>{r.append(a,i)})}),r}const w3="6";try{window.__reactRouterVersion=w3}catch{}const _3="startTransition",Z_=vI[_3];function j3(e){let{basename:t,children:r,future:n,window:a}=e,i=S.useRef();i.current==null&&(i.current=ND({window:a,v5Compat:!0}));let o=i.current,[s,u]=S.useState({action:o.action,location:o.location}),{v7_startTransition:c}=n||{},f=S.useCallback(d=>{c&&Z_?Z_(()=>u(d)):u(d)},[u,c]);return S.useLayoutEffect(()=>o.listen(f),[o,f]),S.useEffect(()=>y3(n),[n]),S.createElement(g3,{basename:t,children:r,location:s.location,navigationType:s.action,navigator:o,future:n})}var J_;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(J_||(J_={}));var Q_;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Q_||(Q_={}));function S3(e){let t=S.useRef(Zg(e)),r=S.useRef(!1),n=Td(),a=S.useMemo(()=>b3(n.search,r.current?null:t.current),[n.search]),i=as(),o=S.useCallback((s,u)=>{const c=Zg(typeof s=="function"?s(a):s);r.current=!0,i("?"+c,u)},[i,a]);return[a,o]}var DE={exports:{}},LE={};/** - * @license React - * use-sync-external-store-shim.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var pl=S;function k3(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var O3=typeof Object.is=="function"?Object.is:k3,N3=pl.useState,A3=pl.useEffect,E3=pl.useLayoutEffect,P3=pl.useDebugValue;function C3(e,t){var r=t(),n=N3({inst:{value:r,getSnapshot:t}}),a=n[0].inst,i=n[1];return E3(function(){a.value=r,a.getSnapshot=t,Uv(a)&&i({inst:a})},[e,r,t]),A3(function(){return Uv(a)&&i({inst:a}),e(function(){Uv(a)&&i({inst:a})})},[e]),P3(r),r}function Uv(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!O3(e,r)}catch{return!0}}function T3(e,t){return t()}var $3=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?T3:C3;LE.useSyncExternalStore=pl.useSyncExternalStore!==void 0?pl.useSyncExternalStore:$3;DE.exports=LE;var Jg=DE.exports;const FE=0,zE=1,BE=2,ej=3;var tj=Object.prototype.hasOwnProperty;function Qg(e,t){var r,n;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((n=e.length)===t.length)for(;n--&&Qg(e[n],t[n]););return n===-1}if(!r||typeof e=="object"){n=0;for(r in e)if(tj.call(e,r)&&++n&&!tj.call(t,r)||!(r in t)||!Qg(e[r],t[r]))return!1;return Object.keys(t).length===n}}return e!==e&&t!==t}const Wa=new WeakMap,qa=()=>{},Mr=qa(),ex=Object,Qe=e=>e===Mr,wa=e=>typeof e=="function",Yi=(e,t)=>({...e,...t}),UE=e=>wa(e.then),Vv={},hf={},Jb="undefined",$d=typeof window!=Jb,tx=typeof document!=Jb,R3=$d&&"Deno"in window,I3=()=>$d&&typeof window.requestAnimationFrame!=Jb,VE=(e,t)=>{const r=Wa.get(e);return[()=>!Qe(t)&&e.get(t)||Vv,n=>{if(!Qe(t)){const a=e.get(t);t in hf||(hf[t]=a),r[5](t,Yi(a,n),a||Vv)}},r[6],()=>!Qe(t)&&t in hf?hf[t]:!Qe(t)&&e.get(t)||Vv]};let rx=!0;const M3=()=>rx,[nx,ax]=$d&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[qa,qa],D3=()=>{const e=tx&&document.visibilityState;return Qe(e)||e!=="hidden"},L3=e=>(tx&&document.addEventListener("visibilitychange",e),nx("focus",e),()=>{tx&&document.removeEventListener("visibilitychange",e),ax("focus",e)}),F3=e=>{const t=()=>{rx=!0,e()},r=()=>{rx=!1};return nx("online",t),nx("offline",r),()=>{ax("online",t),ax("offline",r)}},z3={isOnline:M3,isVisible:D3},B3={initFocus:L3,initReconnect:F3},rj=!E.useId,Js=!$d||R3,U3=e=>I3()?window.requestAnimationFrame(e):setTimeout(e,1),Wv=Js?S.useEffect:S.useLayoutEffect,Hv=typeof navigator<"u"&&navigator.connection,nj=!Js&&Hv&&(["slow-2g","2g"].includes(Hv.effectiveType)||Hv.saveData),mf=new WeakMap,V3=e=>ex.prototype.toString.call(e),Gv=(e,t)=>e===`[object ${t}]`;let W3=0;const ix=e=>{const t=typeof e,r=V3(e),n=Gv(r,"Date"),a=Gv(r,"RegExp"),i=Gv(r,"Object");let o,s;if(ex(e)===e&&!n&&!a){if(o=mf.get(e),o)return o;if(o=++W3+"~",mf.set(e,o),Array.isArray(e)){for(o="@",s=0;s{if(wa(e))try{e=e()}catch{e=""}const t=e;return e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?ix(e):"",[e,t]};let H3=0;const ox=()=>++H3;async function WE(...e){const[t,r,n,a]=e,i=Yi({populateCache:!0,throwOnError:!0},typeof a=="boolean"?{revalidate:a}:a||{});let o=i.populateCache;const s=i.rollbackOnError;let u=i.optimisticData;const c=p=>typeof s=="function"?s(p):s!==!1,f=i.throwOnError;if(wa(r)){const p=r,h=[],b=t.keys();for(const v of b)!/^\$(inf|sub)\$/.test(v)&&p(t.get(v)._k)&&h.push(v);return Promise.all(h.map(d))}return d(r);async function d(p){const[h]=Qb(p);if(!h)return;const[b,v]=VE(t,h),[g,y,m,w]=Wa.get(t),j=()=>{const R=g[h];return(wa(i.revalidate)?i.revalidate(b().data,p):i.revalidate!==!1)&&(delete m[h],delete w[h],R&&R[0])?R[0](BE).then(()=>b().data):b().data};if(e.length<3)return j();let x=n,_,k=!1;const O=ox();y[h]=[O,0];const A=!Qe(u),I=b(),$=I.data,N=I._c,T=Qe(N)?$:N;if(A&&(u=wa(u)?u(T,$):u,v({data:u,_c:T})),wa(x))try{x=x(T)}catch(R){_=R,k=!0}if(x&&UE(x))if(x=await x.catch(R=>{_=R,k=!0}),O!==y[h][0]){if(k)throw _;return x}else k&&A&&c(_)&&(o=!0,v({data:T,_c:Mr}));if(o&&!k)if(wa(o)){const R=o(x,T);v({data:R,error:Mr,_c:Mr})}else v({data:x,error:Mr,_c:Mr});if(y[h][1]=ox(),Promise.resolve(j()).then(()=>{v({_c:Mr})}),k){if(f)throw _;return}return x}}const aj=(e,t)=>{for(const r in e)e[r][0]&&e[r][0](t)},G3=(e,t)=>{if(!Wa.has(e)){const r=Yi(B3,t),n=Object.create(null),a=WE.bind(Mr,e);let i=qa;const o=Object.create(null),s=(f,d)=>{const p=o[f]||[];return o[f]=p,p.push(d),()=>p.splice(p.indexOf(d),1)},u=(f,d,p)=>{e.set(f,d);const h=o[f];if(h)for(const b of h)b(d,p)},c=()=>{if(!Wa.has(e)&&(Wa.set(e,[n,Object.create(null),Object.create(null),Object.create(null),a,u,s]),!Js)){const f=r.initFocus(setTimeout.bind(Mr,aj.bind(Mr,n,FE))),d=r.initReconnect(setTimeout.bind(Mr,aj.bind(Mr,n,zE)));i=()=>{f&&f(),d&&d(),Wa.delete(e)}}};return c(),[e,a,c,i]}return[e,Wa.get(e)[4]]},q3=(e,t,r,n,a)=>{const i=r.errorRetryCount,o=a.retryCount,s=~~((Math.random()+.5)*(1<<(o<8?o:8)))*r.errorRetryInterval;!Qe(i)&&o>i||setTimeout(n,s,a)},K3=Qg,[HE,X3]=G3(new Map),Y3=Yi({onLoadingSlow:qa,onSuccess:qa,onError:qa,onErrorRetry:q3,onDiscarded:qa,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:nj?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:nj?5e3:3e3,compare:K3,isPaused:()=>!1,cache:HE,mutate:X3,fallback:{}},z3),Z3=(e,t)=>{const r=Yi(e,t);if(t){const{use:n,fallback:a}=e,{use:i,fallback:o}=t;n&&i&&(r.use=n.concat(i)),a&&o&&(r.fallback=Yi(a,o))}return r},J3=S.createContext({}),Q3="$inf$",GE=$d&&window.__SWR_DEVTOOLS_USE__,eL=GE?window.__SWR_DEVTOOLS_USE__:[],tL=()=>{GE&&(window.__SWR_DEVTOOLS_REACT__=E)},rL=e=>wa(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],qE=()=>{const e=S.useContext(J3);return S.useMemo(()=>Yi(Y3,e),[e])},nL=e=>(t,r,n)=>e(t,r&&((...i)=>{const[o]=Qb(t),[,,,s]=Wa.get(HE);if(o.startsWith(Q3))return r(...i);const u=s[o];return Qe(u)?r(...i):(delete s[o],u)}),n),aL=eL.concat(nL),iL=e=>function(...r){const n=qE(),[a,i,o]=rL(r),s=Z3(n,o);let u=e;const{use:c}=s,f=(c||[]).concat(aL);for(let d=f.length;d--;)u=f[d](u);return u(a,i||s.fetcher||null,s)},oL=(e,t,r)=>{const n=t[e]||(t[e]=[]);return n.push(r),()=>{const a=n.indexOf(r);a>=0&&(n[a]=n[n.length-1],n.pop())}};tL();const qv=E.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}}),Kv={dedupe:!0},ij=Promise.resolve(Mr),sL=()=>qa,lL=(e,t,r)=>{const{cache:n,compare:a,suspense:i,fallbackData:o,revalidateOnMount:s,revalidateIfStale:u,refreshInterval:c,refreshWhenHidden:f,refreshWhenOffline:d,keepPreviousData:p,strictServerPrefetchWarning:h}=r,[b,v,g,y]=Wa.get(n),[m,w]=Qb(e),j=S.useRef(!1),x=S.useRef(!1),_=S.useRef(m),k=S.useRef(t),O=S.useRef(r),A=()=>O.current,I=()=>A().isVisible()&&A().isOnline(),[$,N,T,R]=VE(n,m),L=S.useRef({}).current,U=Qe(o)?Qe(r.fallback)?Mr:r.fallback[m]:o,W=(_e,$e)=>{for(const Ae in L){const Ne=Ae;if(Ne==="data"){if(!a(_e[Ne],$e[Ne])&&(!Qe(_e[Ne])||!a(fe,$e[Ne])))return!1}else if($e[Ne]!==_e[Ne])return!1}return!0},M=!j.current,B=S.useMemo(()=>{const _e=$(),$e=R(),Ae=C=>{const F=Yi(C);return delete F._k,(()=>{if(!m||!t||A().isPaused())return!1;if(M&&!Qe(s))return s;const ne=Qe(U)?F.data:U;return Qe(ne)||u})()?{isValidating:!0,isLoading:!0,...F}:F},Ne=Ae(_e),Xe=_e===$e?Ne:Ae($e);let Ue=Ne;return[()=>{const C=Ae($());return W(C,Ue)?(Ue.data=C.data,Ue.isLoading=C.isLoading,Ue.isValidating=C.isValidating,Ue.error=C.error,Ue):(Ue=C,C)},()=>Xe]},[n,m]),G=Jg.useSyncExternalStore(S.useCallback(_e=>T(m,($e,Ae)=>{W(Ae,$e)||_e()}),[n,m]),B[0],B[1]),H=b[m]&&b[m].length>0,q=G.data,ae=Qe(q)?U&&UE(U)?qv(U):U:q,X=G.error,se=S.useRef(ae),fe=p?Qe(q)?Qe(se.current)?ae:se.current:q:ae,Pe=m&&Qe(ae),Te=S.useRef(null);!Js&&Jg.useSyncExternalStore(sL,()=>(Te.current=!1,Te),()=>(Te.current=!0,Te));const re=Te.current;h&&re&&!i&&Pe&&console.warn(`Missing pre-initiated data for serialized key "${m}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);const ce=!m||!t||A().isPaused()||H&&!Qe(X)?!1:M&&!Qe(s)?s:i?Qe(ae)?!1:u:Qe(ae)||u,we=M&&ce,Y=Qe(G.isValidating)?we:G.isValidating,Ce=Qe(G.isLoading)?we:G.isLoading,ve=S.useCallback(async _e=>{const $e=k.current;if(!m||!$e||x.current||A().isPaused())return!1;let Ae,Ne,Xe=!0;const Ue=_e||{},C=!g[m]||!Ue.dedupe,F=()=>rj?!x.current&&m===_.current&&j.current:m===_.current,V={isValidating:!1,isLoading:!1},ne=()=>{N(V)},te=()=>{const ee=g[m];ee&&ee[1]===Ne&&delete g[m]},Q={isValidating:!0};Qe($().data)&&(Q.isLoading=!0);try{if(C&&(N(Q),r.loadingTimeout&&Qe($().data)&&setTimeout(()=>{Xe&&F()&&A().onLoadingSlow(m,r)},r.loadingTimeout),g[m]=[$e(w),ox()]),[Ae,Ne]=g[m],Ae=await Ae,C&&setTimeout(te,r.dedupingInterval),!g[m]||g[m][1]!==Ne)return C&&F()&&A().onDiscarded(m),!1;V.error=Mr;const ee=v[m];if(!Qe(ee)&&(Ne<=ee[0]||Ne<=ee[1]||ee[1]===0))return ne(),C&&F()&&A().onDiscarded(m),!1;const Se=$().data;V.data=a(Se,Ae)?Se:Ae,C&&F()&&A().onSuccess(Ae,m,r)}catch(ee){te();const Se=A(),{shouldRetryOnError:Ee}=Se;Se.isPaused()||(V.error=ee,C&&F()&&(Se.onError(ee,m,Se),(Ee===!0||wa(Ee)&&Ee(ee))&&(!A().revalidateOnFocus||!A().revalidateOnReconnect||I())&&Se.onErrorRetry(ee,m,Se,st=>{const K=b[m];K&&K[0]&&K[0](ej,st)},{retryCount:(Ue.retryCount||0)+1,dedupe:!0})))}return Xe=!1,ne(),!0},[m,n]),Ke=S.useCallback((..._e)=>WE(n,_.current,..._e),[]);if(Wv(()=>{k.current=t,O.current=r,Qe(q)||(se.current=q)}),Wv(()=>{if(!m)return;const _e=ve.bind(Mr,Kv);let $e=0;A().revalidateOnFocus&&($e=Date.now()+A().focusThrottleInterval);const Ne=oL(m,b,(Xe,Ue={})=>{if(Xe==FE){const C=Date.now();A().revalidateOnFocus&&C>$e&&I()&&($e=C+A().focusThrottleInterval,_e())}else if(Xe==zE)A().revalidateOnReconnect&&I()&&_e();else{if(Xe==BE)return ve();if(Xe==ej)return ve(Ue)}});return x.current=!1,_.current=m,j.current=!0,N({_k:w}),ce&&(g[m]||(Qe(ae)||Js?_e():U3(_e))),()=>{x.current=!0,Ne()}},[m]),Wv(()=>{let _e;function $e(){const Ne=wa(c)?c($().data):c;Ne&&_e!==-1&&(_e=setTimeout(Ae,Ne))}function Ae(){!$().error&&(f||A().isVisible())&&(d||A().isOnline())?ve(Kv).then($e):$e()}return $e(),()=>{_e&&(clearTimeout(_e),_e=-1)}},[c,f,d,m]),S.useDebugValue(fe),i){if(!rj&&Js&&Pe)throw new Error("Fallback data is required when using Suspense in SSR.");Pe&&(k.current=t,O.current=r,x.current=!1);const _e=y[m],$e=!Qe(_e)&&Pe?Ke(_e):ij;if(qv($e),!Qe(X)&&Pe)throw X;const Ae=Pe?ve(Kv):ij;!Qe(fe)&&Pe&&(Ae.status="fulfilled",Ae.value=!0),qv(Ae)}return{mutate:Ke,get data(){return L.data=!0,fe},get error(){return L.error=!0,X},get isValidating(){return L.isValidating=!0,Y},get isLoading(){return L.isLoading=!0,Ce}}},Vt=iL(lL);function KE(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t-1}var s5=o5,l5=ym;function u5(e,t){var r=this.__data__,n=l5(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var c5=u5,d5=q4,f5=t5,p5=a5,h5=s5,m5=c5;function Zl(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t0?1:-1},No=function(t){return Ho(t)&&t.indexOf("%")===t.length-1},ie=function(t){return I6(t)&&!Ql(t)},F6=function(t){return Be(t)},sr=function(t){return ie(t)||Ho(t)},z6=0,os=function(t){var r=++z6;return"".concat(t||"").concat(r)},Hr=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!ie(t)&&!Ho(t))return n;var i;if(No(t)){var o=t.indexOf("%");i=r*parseFloat(t.slice(0,o))/100}else i=+t;return Ql(i)&&(i=n),a&&i>r&&(i=r),i},Ei=function(t){if(!t)return null;var r=Object.keys(t);return r&&r.length?t[r[0]]:null},B6=function(t){if(!Array.isArray(t))return!1;for(var r=t.length,n={},a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function K6(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function lx(e){"@babel/helpers - typeof";return lx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lx(e)}var yj={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},Qa=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},gj=null,Zv=null,dw=function e(t){if(t===gj&&Array.isArray(Zv))return Zv;var r=[];return S.Children.forEach(t,function(n){Be(n)||(P6.isFragment(n)?r=r.concat(e(n.props.children)):r.push(n))}),Zv=r,gj=t,r};function _n(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(function(a){return Qa(a)}):n=[Qa(t)],dw(e).forEach(function(a){var i=wn(a,"type.displayName")||wn(a,"type.name");n.indexOf(i)!==-1&&r.push(a)}),r}function vn(e,t){var r=_n(e,t);return r&&r[0]}var xj=function(t){if(!t||!t.props)return!1;var r=t.props,n=r.width,a=r.height;return!(!ie(n)||n<=0||!ie(a)||a<=0)},X6=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],Y6=function(t){return t&&t.type&&Ho(t.type)&&X6.indexOf(t.type)>=0},sP=function(t){return t&&lx(t)==="object"&&"clipDot"in t},Z6=function(t,r,n,a){var i,o=(i=Yv==null?void 0:Yv[a])!==null&&i!==void 0?i:[];return r.startsWith("data-")||!Me(t)&&(a&&o.includes(r)||W6.includes(r))||n&&cw.includes(r)},ke=function(t,r,n){if(!t||typeof t=="function"||typeof t=="boolean")return null;var a=t;if(S.isValidElement(t)&&(a=t.props),!Xl(a))return null;var i={};return Object.keys(a).forEach(function(o){var s;Z6((s=a)===null||s===void 0?void 0:s[o],o,r,n)&&(i[o]=a[o])}),i},ux=function e(t,r){if(t===r)return!0;var n=S.Children.count(t);if(n!==S.Children.count(r))return!1;if(n===0)return!0;if(n===1)return bj(Array.isArray(t)?t[0]:t,Array.isArray(r)?r[0]:r);for(var a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function r8(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function dx(e){var t=e.children,r=e.width,n=e.height,a=e.viewBox,i=e.className,o=e.style,s=e.title,u=e.desc,c=t8(e,e8),f=a||{width:r,height:n,x:0,y:0},d=Ge("recharts-surface",i);return E.createElement("svg",cx({},ke(c,!0,"svg"),{className:d,width:r,height:n,style:o,viewBox:"".concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height)}),E.createElement("title",null,s),E.createElement("desc",null,u),t)}var n8=["children","className"];function fx(){return fx=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function i8(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var Ze=E.forwardRef(function(e,t){var r=e.children,n=e.className,a=a8(e,n8),i=Ge("recharts-layer",n);return E.createElement("g",fx({className:i},ke(a,!0),{ref:t}),r)}),ua=function(t,r){for(var n=arguments.length,a=new Array(n>2?n-2:0),i=2;ia?0:a+t),r=r>a?a:r,r<0&&(r+=a),a=t>r?0:r-t>>>0,t>>>=0;for(var i=Array(a);++n=n?e:l8(e,t,r)}var c8=u8,d8="\\ud800-\\udfff",f8="\\u0300-\\u036f",p8="\\ufe20-\\ufe2f",h8="\\u20d0-\\u20ff",m8=f8+p8+h8,v8="\\ufe0e\\ufe0f",y8="\\u200d",g8=RegExp("["+y8+d8+m8+v8+"]");function x8(e){return g8.test(e)}var lP=x8;function b8(e){return e.split("")}var w8=b8,uP="\\ud800-\\udfff",_8="\\u0300-\\u036f",j8="\\ufe20-\\ufe2f",S8="\\u20d0-\\u20ff",k8=_8+j8+S8,O8="\\ufe0e\\ufe0f",N8="["+uP+"]",px="["+k8+"]",hx="\\ud83c[\\udffb-\\udfff]",A8="(?:"+px+"|"+hx+")",cP="[^"+uP+"]",dP="(?:\\ud83c[\\udde6-\\uddff]){2}",fP="[\\ud800-\\udbff][\\udc00-\\udfff]",E8="\\u200d",pP=A8+"?",hP="["+O8+"]?",P8="(?:"+E8+"(?:"+[cP,dP,fP].join("|")+")"+hP+pP+")*",C8=hP+pP+P8,T8="(?:"+[cP+px+"?",px,dP,fP,N8].join("|")+")",$8=RegExp(hx+"(?="+hx+")|"+T8+C8,"g");function R8(e){return e.match($8)||[]}var I8=R8,M8=w8,D8=lP,L8=I8;function F8(e){return D8(e)?L8(e):M8(e)}var z8=F8,B8=c8,U8=lP,V8=z8,W8=tP;function H8(e){return function(t){t=W8(t);var r=U8(t)?V8(t):void 0,n=r?r[0]:t.charAt(0),a=r?B8(r,1).join(""):t.slice(1);return n[e]()+a}}var G8=H8,q8=G8,K8=q8("toUpperCase"),X8=K8;const Cm=pt(X8);function jt(e){return function(){return e}}const mP=Math.cos,Dp=Math.sin,pa=Math.sqrt,Lp=Math.PI,Tm=2*Lp,mx=Math.PI,vx=2*mx,xo=1e-6,Y8=vx-xo;function vP(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return vP;const r=10**t;return function(n){this._+=n[0];for(let a=1,i=n.length;axo)if(!(Math.abs(d*u-c*f)>xo)||!i)this._append`L${this._x1=t},${this._y1=r}`;else{let h=n-o,b=a-s,v=u*u+c*c,g=h*h+b*b,y=Math.sqrt(v),m=Math.sqrt(p),w=i*Math.tan((mx-Math.acos((v+p-g)/(2*y*m)))/2),j=w/m,x=w/y;Math.abs(j-1)>xo&&this._append`L${t+j*f},${r+j*d}`,this._append`A${i},${i},0,0,${+(d*h>f*b)},${this._x1=t+x*u},${this._y1=r+x*c}`}}arc(t,r,n,a,i,o){if(t=+t,r=+r,n=+n,o=!!o,n<0)throw new Error(`negative radius: ${n}`);let s=n*Math.cos(a),u=n*Math.sin(a),c=t+s,f=r+u,d=1^o,p=o?a-i:i-a;this._x1===null?this._append`M${c},${f}`:(Math.abs(this._x1-c)>xo||Math.abs(this._y1-f)>xo)&&this._append`L${c},${f}`,n&&(p<0&&(p=p%vx+vx),p>Y8?this._append`A${n},${n},0,1,${d},${t-s},${r-u}A${n},${n},0,1,${d},${this._x1=c},${this._y1=f}`:p>xo&&this._append`A${n},${n},0,${+(p>=mx)},${d},${this._x1=t+n*Math.cos(i)},${this._y1=r+n*Math.sin(i)}`)}rect(t,r,n,a){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+a}h${-n}Z`}toString(){return this._}}function fw(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new J8(t)}function pw(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function yP(e){this._context=e}yP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function $m(e){return new yP(e)}function gP(e){return e[0]}function xP(e){return e[1]}function bP(e,t){var r=jt(!0),n=null,a=$m,i=null,o=fw(s);e=typeof e=="function"?e:e===void 0?gP:jt(e),t=typeof t=="function"?t:t===void 0?xP:jt(t);function s(u){var c,f=(u=pw(u)).length,d,p=!1,h;for(n==null&&(i=a(h=o())),c=0;c<=f;++c)!(c=h;--b)s.point(w[b],j[b]);s.lineEnd(),s.areaEnd()}y&&(w[p]=+e(g,p,d),j[p]=+t(g,p,d),s.point(n?+n(g,p,d):w[p],r?+r(g,p,d):j[p]))}if(m)return s=null,m+""||null}function f(){return bP().defined(a).curve(o).context(i)}return c.x=function(d){return arguments.length?(e=typeof d=="function"?d:jt(+d),n=null,c):e},c.x0=function(d){return arguments.length?(e=typeof d=="function"?d:jt(+d),c):e},c.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:jt(+d),c):n},c.y=function(d){return arguments.length?(t=typeof d=="function"?d:jt(+d),r=null,c):t},c.y0=function(d){return arguments.length?(t=typeof d=="function"?d:jt(+d),c):t},c.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:jt(+d),c):r},c.lineX0=c.lineY0=function(){return f().x(e).y(t)},c.lineY1=function(){return f().x(e).y(r)},c.lineX1=function(){return f().x(n).y(t)},c.defined=function(d){return arguments.length?(a=typeof d=="function"?d:jt(!!d),c):a},c.curve=function(d){return arguments.length?(o=d,i!=null&&(s=o(i)),c):o},c.context=function(d){return arguments.length?(d==null?i=s=null:s=o(i=d),c):i},c}class wP{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function Q8(e){return new wP(e,!0)}function eF(e){return new wP(e,!1)}const hw={draw(e,t){const r=pa(t/Lp);e.moveTo(r,0),e.arc(0,0,r,0,Tm)}},tF={draw(e,t){const r=pa(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}},_P=pa(1/3),rF=_P*2,nF={draw(e,t){const r=pa(t/rF),n=r*_P;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}},aF={draw(e,t){const r=pa(t),n=-r/2;e.rect(n,n,r,r)}},iF=.8908130915292852,jP=Dp(Lp/10)/Dp(7*Lp/10),oF=Dp(Tm/10)*jP,sF=-mP(Tm/10)*jP,lF={draw(e,t){const r=pa(t*iF),n=oF*r,a=sF*r;e.moveTo(0,-r),e.lineTo(n,a);for(let i=1;i<5;++i){const o=Tm*i/5,s=mP(o),u=Dp(o);e.lineTo(u*r,-s*r),e.lineTo(s*n-u*a,u*n+s*a)}e.closePath()}},Jv=pa(3),uF={draw(e,t){const r=-pa(t/(Jv*3));e.moveTo(0,r*2),e.lineTo(-Jv*r,-r),e.lineTo(Jv*r,-r),e.closePath()}},Nn=-.5,An=pa(3)/2,yx=1/pa(12),cF=(yx/2+1)*3,dF={draw(e,t){const r=pa(t/cF),n=r/2,a=r*yx,i=n,o=r*yx+r,s=-i,u=o;e.moveTo(n,a),e.lineTo(i,o),e.lineTo(s,u),e.lineTo(Nn*n-An*a,An*n+Nn*a),e.lineTo(Nn*i-An*o,An*i+Nn*o),e.lineTo(Nn*s-An*u,An*s+Nn*u),e.lineTo(Nn*n+An*a,Nn*a-An*n),e.lineTo(Nn*i+An*o,Nn*o-An*i),e.lineTo(Nn*s+An*u,Nn*u-An*s),e.closePath()}};function fF(e,t){let r=null,n=fw(a);e=typeof e=="function"?e:jt(e||hw),t=typeof t=="function"?t:jt(t===void 0?64:+t);function a(){let i;if(r||(r=i=n()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),i)return r=null,i+""||null}return a.type=function(i){return arguments.length?(e=typeof i=="function"?i:jt(i),a):e},a.size=function(i){return arguments.length?(t=typeof i=="function"?i:jt(+i),a):t},a.context=function(i){return arguments.length?(r=i??null,a):r},a}function Fp(){}function zp(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function SP(e){this._context=e}SP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:zp(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:zp(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function pF(e){return new SP(e)}function kP(e){this._context=e}kP.prototype={areaStart:Fp,areaEnd:Fp,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:zp(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function hF(e){return new kP(e)}function OP(e){this._context=e}OP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:zp(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function mF(e){return new OP(e)}function NP(e){this._context=e}NP.prototype={areaStart:Fp,areaEnd:Fp,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function vF(e){return new NP(e)}function _j(e){return e<0?-1:1}function jj(e,t,r){var n=e._x1-e._x0,a=t-e._x1,i=(e._y1-e._y0)/(n||a<0&&-0),o=(r-e._y1)/(a||n<0&&-0),s=(i*a+o*n)/(n+a);return(_j(i)+_j(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(s))||0}function Sj(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Qv(e,t,r){var n=e._x0,a=e._y0,i=e._x1,o=e._y1,s=(i-n)/3;e._context.bezierCurveTo(n+s,a+s*t,i-s,o-s*r,i,o)}function Bp(e){this._context=e}Bp.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Qv(this,this._t0,Sj(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Qv(this,Sj(this,r=jj(this,e,t)),r);break;default:Qv(this,this._t0,r=jj(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function AP(e){this._context=new EP(e)}(AP.prototype=Object.create(Bp.prototype)).point=function(e,t){Bp.prototype.point.call(this,t,e)};function EP(e){this._context=e}EP.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,a,i){this._context.bezierCurveTo(t,e,n,r,i,a)}};function yF(e){return new Bp(e)}function gF(e){return new AP(e)}function PP(e){this._context=e}PP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=kj(e),a=kj(t),i=0,o=1;o=0;--t)a[t]=(o[t]-a[t+1])/i[t];for(i[r-1]=(e[r]+a[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function bF(e){return new Rm(e,.5)}function wF(e){return new Rm(e,0)}function _F(e){return new Rm(e,1)}function hl(e,t){if((o=e.length)>1)for(var r=1,n,a,i=e[t[0]],o,s=i.length;r=0;)r[t]=t;return r}function jF(e,t){return e[t]}function SF(e){const t=[];return t.key=e,t}function kF(){var e=jt([]),t=gx,r=hl,n=jF;function a(i){var o=Array.from(e.apply(this,arguments),SF),s,u=o.length,c=-1,f;for(const d of i)for(s=0,++c;s0){for(var r,n,a=0,i=e[0].length,o;a0){for(var r=0,n=e[t[0]],a,i=n.length;r0)||!((i=(a=e[t[0]]).length)>0))){for(var r=0,n=1,a,i,o;n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function RF(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var CP={symbolCircle:hw,symbolCross:tF,symbolDiamond:nF,symbolSquare:aF,symbolStar:lF,symbolTriangle:uF,symbolWye:dF},IF=Math.PI/180,MF=function(t){var r="symbol".concat(Cm(t));return CP[r]||hw},DF=function(t,r,n){if(r==="area")return t;switch(n){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var a=18*IF;return 1.25*t*t*(Math.tan(a)-Math.tan(a*2)*Math.pow(Math.tan(a),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},LF=function(t,r){CP["symbol".concat(Cm(t))]=r},mw=function(t){var r=t.type,n=r===void 0?"circle":r,a=t.size,i=a===void 0?64:a,o=t.sizeType,s=o===void 0?"area":o,u=$F(t,EF),c=Nj(Nj({},u),{},{type:n,size:i,sizeType:s}),f=function(){var g=MF(n),y=fF().type(g).size(DF(i,s,n));return y()},d=c.className,p=c.cx,h=c.cy,b=ke(c,!0);return p===+p&&h===+h&&i===+i?E.createElement("path",xx({},b,{className:Ge("recharts-symbols",d),transform:"translate(".concat(p,", ").concat(h,")"),d:f()})):null};mw.registerSymbol=LF;function ml(e){"@babel/helpers - typeof";return ml=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ml(e)}function bx(){return bx=Object.assign?Object.assign.bind():function(e){for(var t=1;t`);var m=h.inactive?c:h.color;return E.createElement("li",bx({className:g,style:d,key:"legend-item-".concat(b)},Go(n.props,h,b)),E.createElement(dx,{width:o,height:o,viewBox:f,style:p},n.renderIcon(h)),E.createElement("span",{className:"recharts-legend-item-text",style:{color:m}},v?v(y,h,b):y))})}},{key:"render",value:function(){var n=this.props,a=n.payload,i=n.layout,o=n.align;if(!a||!a.length)return null;var s={padding:0,margin:0,textAlign:i==="horizontal"?o:"left"};return E.createElement("ul",{className:"recharts-default-legend",style:s},this.renderItems())}}])}(S.PureComponent);Fc(vw,"displayName","Legend");Fc(vw,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var KF=gm;function XF(){this.__data__=new KF,this.size=0}var YF=XF;function ZF(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var JF=ZF;function QF(e){return this.__data__.get(e)}var ez=QF;function tz(e){return this.__data__.has(e)}var rz=tz,nz=gm,az=nw,iz=aw,oz=200;function sz(e,t){var r=this.__data__;if(r instanceof nz){var n=r.__data__;if(!az||n.lengths))return!1;var c=i.get(e),f=i.get(t);if(c&&f)return c==t&&f==e;var d=-1,p=!0,h=r&Ez?new kz:void 0;for(i.set(e,t),i.set(t,e);++d-1&&e%1==0&&e-1&&e%1==0&&e<=$B}var bw=RB,IB=fi,MB=bw,DB=pi,LB="[object Arguments]",FB="[object Array]",zB="[object Boolean]",BB="[object Date]",UB="[object Error]",VB="[object Function]",WB="[object Map]",HB="[object Number]",GB="[object Object]",qB="[object RegExp]",KB="[object Set]",XB="[object String]",YB="[object WeakMap]",ZB="[object ArrayBuffer]",JB="[object DataView]",QB="[object Float32Array]",e9="[object Float64Array]",t9="[object Int8Array]",r9="[object Int16Array]",n9="[object Int32Array]",a9="[object Uint8Array]",i9="[object Uint8ClampedArray]",o9="[object Uint16Array]",s9="[object Uint32Array]",At={};At[QB]=At[e9]=At[t9]=At[r9]=At[n9]=At[a9]=At[i9]=At[o9]=At[s9]=!0;At[LB]=At[FB]=At[ZB]=At[zB]=At[JB]=At[BB]=At[UB]=At[VB]=At[WB]=At[HB]=At[GB]=At[qB]=At[KB]=At[XB]=At[YB]=!1;function l9(e){return DB(e)&&MB(e.length)&&!!At[IB(e)]}var u9=l9;function c9(e){return function(t){return e(t)}}var UP=c9,Hp={exports:{}};Hp.exports;(function(e,t){var r=XE,n=t&&!t.nodeType&&t,a=n&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===n,o=i&&r.process,s=function(){try{var u=a&&a.require&&a.require("util").types;return u||o&&o.binding&&o.binding("util")}catch{}}();e.exports=s})(Hp,Hp.exports);var d9=Hp.exports,f9=u9,p9=UP,Rj=d9,Ij=Rj&&Rj.isTypedArray,h9=Ij?p9(Ij):f9,VP=h9,m9=gB,v9=gw,y9=un,g9=BP,x9=xw,b9=VP,w9=Object.prototype,_9=w9.hasOwnProperty;function j9(e,t){var r=y9(e),n=!r&&v9(e),a=!r&&!n&&g9(e),i=!r&&!n&&!a&&b9(e),o=r||n||a||i,s=o?m9(e.length,String):[],u=s.length;for(var c in e)(t||_9.call(e,c))&&!(o&&(c=="length"||a&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||x9(c,u)))&&s.push(c);return s}var S9=j9,k9=Object.prototype;function O9(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||k9;return e===r}var N9=O9;function A9(e,t){return function(r){return e(t(r))}}var WP=A9,E9=WP,P9=E9(Object.keys,Object),C9=P9,T9=N9,$9=C9,R9=Object.prototype,I9=R9.hasOwnProperty;function M9(e){if(!T9(e))return $9(e);var t=[];for(var r in Object(e))I9.call(e,r)&&r!="constructor"&&t.push(r);return t}var D9=M9,L9=tw,F9=bw;function z9(e){return e!=null&&F9(e.length)&&!L9(e)}var Id=z9,B9=S9,U9=D9,V9=Id;function W9(e){return V9(e)?B9(e):U9(e)}var Im=W9,H9=oB,G9=vB,q9=Im;function K9(e){return H9(e,q9,G9)}var X9=K9,Mj=X9,Y9=1,Z9=Object.prototype,J9=Z9.hasOwnProperty;function Q9(e,t,r,n,a,i){var o=r&Y9,s=Mj(e),u=s.length,c=Mj(t),f=c.length;if(u!=f&&!o)return!1;for(var d=u;d--;){var p=s[d];if(!(o?p in t:J9.call(t,p)))return!1}var h=i.get(e),b=i.get(t);if(h&&b)return h==t&&b==e;var v=!0;i.set(e,t),i.set(t,e);for(var g=o;++d-1}var ZV=YV;function JV(e,t,r){for(var n=-1,a=e==null?0:e.length;++n=p7){var c=t?null:d7(e);if(c)return f7(c);o=!1,a=c7,u=new s7}else u=t?[]:s;e:for(;++n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function E7(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function P7(e){return e.value}function C7(e,t){if(E.isValidElement(e))return E.cloneElement(e,t);if(typeof e=="function")return E.createElement(e,t);t.ref;var r=A7(t,b7);return E.createElement(vw,r)}var Jj=1,oa=function(e){function t(){var r;w7(this,t);for(var n=arguments.length,a=new Array(n),i=0;iJj||Math.abs(a.height-this.lastBoundingBox.height)>Jj)&&(this.lastBoundingBox.width=a.width,this.lastBoundingBox.height=a.height,n&&n(a)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,n&&n(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?La({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(n){var a=this.props,i=a.layout,o=a.align,s=a.verticalAlign,u=a.margin,c=a.chartWidth,f=a.chartHeight,d,p;if(!n||(n.left===void 0||n.left===null)&&(n.right===void 0||n.right===null))if(o==="center"&&i==="vertical"){var h=this.getBBoxSnapshot();d={left:((c||0)-h.width)/2}}else d=o==="right"?{right:u&&u.right||0}:{left:u&&u.left||0};if(!n||(n.top===void 0||n.top===null)&&(n.bottom===void 0||n.bottom===null))if(s==="middle"){var b=this.getBBoxSnapshot();p={top:((f||0)-b.height)/2}}else p=s==="bottom"?{bottom:u&&u.bottom||0}:{top:u&&u.top||0};return La(La({},d),p)}},{key:"render",value:function(){var n=this,a=this.props,i=a.content,o=a.width,s=a.height,u=a.wrapperStyle,c=a.payloadUniqBy,f=a.payload,d=La(La({position:"absolute",width:o||"auto",height:s||"auto"},this.getDefaultPosition(u)),u);return E.createElement("div",{className:"recharts-legend-wrapper",style:d,ref:function(h){n.wrapperNode=h}},C7(i,La(La({},this.props),{},{payload:ZP(f,c,P7)})))}}],[{key:"getWithHeight",value:function(n,a){var i=La(La({},this.defaultProps),n.props),o=i.layout;return o==="vertical"&&ie(n.props.height)?{height:n.props.height}:o==="horizontal"?{width:n.props.width||a}:null}}])}(S.PureComponent);Mm(oa,"displayName","Legend");Mm(oa,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var Qj=Rd,T7=gw,$7=un,eS=Qj?Qj.isConcatSpreadable:void 0;function R7(e){return $7(e)||T7(e)||!!(eS&&e&&e[eS])}var I7=R7,M7=FP,D7=I7;function eC(e,t,r,n,a){var i=-1,o=e.length;for(r||(r=D7),a||(a=[]);++i0&&r(s)?t>1?eC(s,t-1,r,n,a):M7(a,s):n||(a[a.length]=s)}return a}var tC=eC;function L7(e){return function(t,r,n){for(var a=-1,i=Object(t),o=n(t),s=o.length;s--;){var u=o[e?s:++a];if(r(i[u],u,i)===!1)break}return t}}var F7=L7,z7=F7,B7=z7(),U7=B7,V7=U7,W7=Im;function H7(e,t){return e&&V7(e,t,W7)}var rC=H7,G7=Id;function q7(e,t){return function(r,n){if(r==null)return r;if(!G7(r))return e(r,n);for(var a=r.length,i=t?a:-1,o=Object(r);(t?i--:++it||i&&o&&u&&!s&&!c||n&&o&&u||!r&&u||!a)return 1;if(!n&&!i&&!c&&e=s)return u;var c=r[n];return u*(c=="desc"?-1:1)}}return e.index-t.index}var sW=oW,ny=ow,lW=sw,uW=Ma,cW=nC,dW=rW,fW=UP,pW=sW,hW=ru,mW=un;function vW(e,t,r){t.length?t=ny(t,function(i){return mW(i)?function(o){return lW(o,i.length===1?i[0]:i)}:i}):t=[hW];var n=-1;t=ny(t,fW(uW));var a=cW(e,function(i,o,s){var u=ny(t,function(c){return c(i)});return{criteria:u,index:++n,value:i}});return dW(a,function(i,o){return pW(i,o,r)})}var yW=vW;function gW(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}var xW=gW,bW=xW,rS=Math.max;function wW(e,t,r){return t=rS(t===void 0?e.length-1:t,0),function(){for(var n=arguments,a=-1,i=rS(n.length-t,0),o=Array(i);++a0){if(++t>=CW)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var IW=RW,MW=PW,DW=IW,LW=DW(MW),FW=LW,zW=ru,BW=_W,UW=FW;function VW(e,t){return UW(BW(e,t,zW),e+"")}var WW=VW,HW=rw,GW=Id,qW=xw,KW=ao;function XW(e,t,r){if(!KW(r))return!1;var n=typeof t;return(n=="number"?GW(r)&&qW(t,r.length):n=="string"&&t in r)?HW(r[t],e):!1}var Dm=XW,YW=tC,ZW=yW,JW=WW,aS=Dm,QW=JW(function(e,t){if(e==null)return[];var r=t.length;return r>1&&aS(e,t[0],t[1])?t=[]:r>2&&aS(t[0],t[1],t[2])&&(t=[t[0]]),ZW(e,YW(t,1),[])}),eH=QW;const jw=pt(eH);function zc(e){"@babel/helpers - typeof";return zc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zc(e)}function Ax(){return Ax=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=t.x),"".concat(_u,"-left"),ie(r)&&t&&ie(t.x)&&r=t.y),"".concat(_u,"-top"),ie(n)&&t&&ie(t.y)&&nv?Math.max(f,u[n]):Math.max(d,u[n])}function mH(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function vH(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTopLeft,a=e.position,i=e.reverseDirection,o=e.tooltipBox,s=e.useTranslate3d,u=e.viewBox,c,f,d;return o.height>0&&o.width>0&&r?(f=sS({allowEscapeViewBox:t,coordinate:r,key:"x",offsetTopLeft:n,position:a,reverseDirection:i,tooltipDimension:o.width,viewBox:u,viewBoxDimension:u.width}),d=sS({allowEscapeViewBox:t,coordinate:r,key:"y",offsetTopLeft:n,position:a,reverseDirection:i,tooltipDimension:o.height,viewBox:u,viewBoxDimension:u.height}),c=mH({translateX:f,translateY:d,useTranslate3d:s})):c=pH,{cssProperties:c,cssClasses:hH({translateX:f,translateY:d,coordinate:r})}}function yl(e){"@babel/helpers - typeof";return yl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yl(e)}function lS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function uS(e){for(var t=1;tcS||Math.abs(n.height-this.state.lastBoundingBox.height)>cS)&&this.setState({lastBoundingBox:{width:n.width,height:n.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var n,a;this.props.active&&this.updateBBox(),this.state.dismissed&&(((n=this.props.coordinate)===null||n===void 0?void 0:n.x)!==this.state.dismissedAtCoordinate.x||((a=this.props.coordinate)===null||a===void 0?void 0:a.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var n=this,a=this.props,i=a.active,o=a.allowEscapeViewBox,s=a.animationDuration,u=a.animationEasing,c=a.children,f=a.coordinate,d=a.hasPayload,p=a.isAnimationActive,h=a.offset,b=a.position,v=a.reverseDirection,g=a.useTranslate3d,y=a.viewBox,m=a.wrapperStyle,w=vH({allowEscapeViewBox:o,coordinate:f,offsetTopLeft:h,position:b,reverseDirection:v,tooltipBox:this.state.lastBoundingBox,useTranslate3d:g,viewBox:y}),j=w.cssClasses,x=w.cssProperties,_=uS(uS({transition:p&&i?"transform ".concat(s,"ms ").concat(u):void 0},x),{},{pointerEvents:"none",visibility:!this.state.dismissed&&i&&d?"visible":"hidden",position:"absolute",top:0,left:0},m);return E.createElement("div",{tabIndex:-1,className:j,style:_,ref:function(O){n.wrapperNode=O}},c)}}])}(S.PureComponent),OH=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},io={isSsr:OH()};function gl(e){"@babel/helpers - typeof";return gl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gl(e)}function dS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function fS(e){for(var t=1;t0;return E.createElement(kH,{allowEscapeViewBox:o,animationDuration:s,animationEasing:u,isAnimationActive:p,active:i,coordinate:f,hasPayload:_,offset:h,position:g,reverseDirection:y,useTranslate3d:m,viewBox:w,wrapperStyle:j},MH(c,fS(fS({},this.props),{},{payload:x})))}}])}(S.PureComponent);Sw(Sr,"displayName","Tooltip");Sw(Sr,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!io.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var DH=Ia,LH=function(){return DH.Date.now()},FH=LH,zH=/\s/;function BH(e){for(var t=e.length;t--&&zH.test(e.charAt(t)););return t}var UH=BH,VH=UH,WH=/^\s+/;function HH(e){return e&&e.slice(0,VH(e)+1).replace(WH,"")}var GH=HH,qH=GH,pS=ao,KH=Kl,hS=NaN,XH=/^[-+]0x[0-9a-f]+$/i,YH=/^0b[01]+$/i,ZH=/^0o[0-7]+$/i,JH=parseInt;function QH(e){if(typeof e=="number")return e;if(KH(e))return hS;if(pS(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=pS(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=qH(e);var r=YH.test(e);return r||ZH.test(e)?JH(e.slice(2),r?2:8):XH.test(e)?hS:+e}var uC=QH,eG=ao,iy=FH,mS=uC,tG="Expected a function",rG=Math.max,nG=Math.min;function aG(e,t,r){var n,a,i,o,s,u,c=0,f=!1,d=!1,p=!0;if(typeof e!="function")throw new TypeError(tG);t=mS(t)||0,eG(r)&&(f=!!r.leading,d="maxWait"in r,i=d?rG(mS(r.maxWait)||0,t):i,p="trailing"in r?!!r.trailing:p);function h(_){var k=n,O=a;return n=a=void 0,c=_,o=e.apply(O,k),o}function b(_){return c=_,s=setTimeout(y,t),f?h(_):o}function v(_){var k=_-u,O=_-c,A=t-k;return d?nG(A,i-O):A}function g(_){var k=_-u,O=_-c;return u===void 0||k>=t||k<0||d&&O>=i}function y(){var _=iy();if(g(_))return m(_);s=setTimeout(y,v(_))}function m(_){return s=void 0,p&&n?h(_):(n=a=void 0,o)}function w(){s!==void 0&&clearTimeout(s),c=0,n=u=a=s=void 0}function j(){return s===void 0?o:m(iy())}function x(){var _=iy(),k=g(_);if(n=arguments,a=this,u=_,k){if(s===void 0)return b(u);if(d)return clearTimeout(s),s=setTimeout(y,t),h(u)}return s===void 0&&(s=setTimeout(y,t)),o}return x.cancel=w,x.flush=j,x}var iG=aG,oG=iG,sG=ao,lG="Expected a function";function uG(e,t,r){var n=!0,a=!0;if(typeof e!="function")throw new TypeError(lG);return sG(r)&&(n="leading"in r?!!r.leading:n,a="trailing"in r?!!r.trailing:a),oG(e,t,{leading:n,maxWait:t,trailing:a})}var cG=uG;const cC=pt(cG);function Uc(e){"@babel/helpers - typeof";return Uc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Uc(e)}function vS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function xf(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&(T=cC(T,v,{trailing:!0,leading:!1}));var R=new ResizeObserver(T),L=x.current.getBoundingClientRect(),U=L.width,W=L.height;return $(U,W),R.observe(x.current),function(){R.disconnect()}},[$,v]);var N=S.useMemo(function(){var T=A.containerWidth,R=A.containerHeight;if(T<0||R<0)return null;ua(No(o)||No(u),`The width(%s) and height(%s) are both fixed numbers, - maybe you don't need to use a ResponsiveContainer.`,o,u),ua(!r||r>0,"The aspect(%s) must be greater than zero.",r);var L=No(o)?T:o,U=No(u)?R:u;r&&r>0&&(L?U=L/r:U&&(L=U*r),p&&U>p&&(U=p)),ua(L>0||U>0,`The width(%s) and height(%s) of chart should be greater than 0, - please check the style of container, or the props width(%s) and height(%s), - or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,L,U,o,u,f,d,r);var W=!Array.isArray(h)&&Qa(h.type).endsWith("Chart");return E.Children.map(h,function(M){return E.isValidElement(M)?S.cloneElement(M,xf({width:L,height:U},W?{style:xf({height:"100%",width:"100%",maxHeight:U,maxWidth:L},M.props.style)}:{})):M})},[r,h,u,p,d,f,A,o]);return E.createElement("div",{id:g?"".concat(g):void 0,className:Ge("recharts-responsive-container",y),style:xf(xf({},j),{},{width:o,height:u,minWidth:f,minHeight:d,maxHeight:p}),ref:x},N)}),Hi=function(t){return null};Hi.displayName="Cell";function Vc(e){"@babel/helpers - typeof";return Vc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vc(e)}function gS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Tx(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||io.isSsr)return{width:0,height:0};var n=SG(r),a=JSON.stringify({text:t,copyStyle:n});if(fs.widthCache[a])return fs.widthCache[a];try{var i=document.getElementById(xS);i||(i=document.createElement("span"),i.setAttribute("id",xS),i.setAttribute("aria-hidden","true"),document.body.appendChild(i));var o=Tx(Tx({},jG),n);Object.assign(i.style,o),i.textContent="".concat(t);var s=i.getBoundingClientRect(),u={width:s.width,height:s.height};return fs.widthCache[a]=u,++fs.cacheCount>_G&&(fs.cacheCount=0,fs.widthCache={}),u}catch{return{width:0,height:0}}},kG=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function Wc(e){"@babel/helpers - typeof";return Wc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wc(e)}function Xp(e,t){return EG(e)||AG(e,t)||NG(e,t)||OG()}function OG(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function NG(e,t){if(e){if(typeof e=="string")return bS(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bS(e,t)}}function bS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function VG(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function OS(e,t){return qG(e)||GG(e,t)||HG(e,t)||WG()}function WG(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function HG(e,t){if(e){if(typeof e=="string")return NS(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return NS(e,t)}}function NS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&arguments[0]!==void 0?arguments[0]:[];return L.reduce(function(U,W){var M=W.word,B=W.width,G=U[U.length-1];if(G&&(a==null||i||G.width+B+nW.width?U:W})};if(!f)return h;for(var v="…",g=function(L){var U=d.slice(0,L),W=hC({breakAll:c,style:u,children:U+v}).wordsWithComputedWidth,M=p(W),B=M.length>o||b(M).width>Number(a);return[B,M]},y=0,m=d.length-1,w=0,j;y<=m&&w<=d.length-1;){var x=Math.floor((y+m)/2),_=x-1,k=g(_),O=OS(k,2),A=O[0],I=O[1],$=g(x),N=OS($,1),T=N[0];if(!A&&!T&&(y=x+1),A&&T&&(m=x-1),!A&&T){j=I;break}w++}return j||h},AS=function(t){var r=Be(t)?[]:t.toString().split(pC);return[{words:r}]},XG=function(t){var r=t.width,n=t.scaleToFit,a=t.children,i=t.style,o=t.breakAll,s=t.maxLines;if((r||n)&&!io.isSsr){var u,c,f=hC({breakAll:o,children:a,style:i});if(f){var d=f.wordsWithComputedWidth,p=f.spaceWidth;u=d,c=p}else return AS(a);return KG({breakAll:o,children:a,maxLines:s,style:i},u,c,r,n)}return AS(a)},ES="#808080",qo=function(t){var r=t.x,n=r===void 0?0:r,a=t.y,i=a===void 0?0:a,o=t.lineHeight,s=o===void 0?"1em":o,u=t.capHeight,c=u===void 0?"0.71em":u,f=t.scaleToFit,d=f===void 0?!1:f,p=t.textAnchor,h=p===void 0?"start":p,b=t.verticalAnchor,v=b===void 0?"end":b,g=t.fill,y=g===void 0?ES:g,m=kS(t,BG),w=S.useMemo(function(){return XG({breakAll:m.breakAll,children:m.children,maxLines:m.maxLines,scaleToFit:d,style:m.style,width:m.width})},[m.breakAll,m.children,m.maxLines,d,m.style,m.width]),j=m.dx,x=m.dy,_=m.angle,k=m.className,O=m.breakAll,A=kS(m,UG);if(!sr(n)||!sr(i))return null;var I=n+(ie(j)?j:0),$=i+(ie(x)?x:0),N;switch(v){case"start":N=oy("calc(".concat(c,")"));break;case"middle":N=oy("calc(".concat((w.length-1)/2," * -").concat(s," + (").concat(c," / 2))"));break;default:N=oy("calc(".concat(w.length-1," * -").concat(s,")"));break}var T=[];if(d){var R=w[0].width,L=m.width;T.push("scale(".concat((ie(L)?L/R:1)/R,")"))}return _&&T.push("rotate(".concat(_,", ").concat(I,", ").concat($,")")),T.length&&(A.transform=T.join(" ")),E.createElement("text",$x({},ke(A,!0),{x:I,y:$,className:Ge("recharts-text",k),textAnchor:h,fill:y.includes("url")?ES:y}),w.map(function(U,W){var M=U.words.join(O?"":" ");return E.createElement("tspan",{x:I,dy:W===0?N:s,key:"".concat(M,"-").concat(W)},M)}))};function Gi(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function YG(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function kw(e){let t,r,n;e.length!==2?(t=Gi,r=(s,u)=>Gi(e(s),u),n=(s,u)=>e(s)-u):(t=e===Gi||e===YG?e:ZG,r=e,n=e);function a(s,u,c=0,f=s.length){if(c>>1;r(s[d],u)<0?c=d+1:f=d}while(c>>1;r(s[d],u)<=0?c=d+1:f=d}while(cc&&n(s[d-1],u)>-n(s[d],u)?d-1:d}return{left:a,center:o,right:i}}function ZG(){return 0}function mC(e){return e===null?NaN:+e}function*JG(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const QG=kw(Gi),Md=QG.right;kw(mC).center;class PS extends Map{constructor(t,r=rq){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,a]of t)this.set(n,a)}get(t){return super.get(CS(this,t))}has(t){return super.has(CS(this,t))}set(t,r){return super.set(eq(this,t),r)}delete(t){return super.delete(tq(this,t))}}function CS({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function eq({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function tq({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function rq(e){return e!==null&&typeof e=="object"?e.valueOf():e}function nq(e=Gi){if(e===Gi)return vC;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function vC(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const aq=Math.sqrt(50),iq=Math.sqrt(10),oq=Math.sqrt(2);function Yp(e,t,r){const n=(t-e)/Math.max(0,r),a=Math.floor(Math.log10(n)),i=n/Math.pow(10,a),o=i>=aq?10:i>=iq?5:i>=oq?2:1;let s,u,c;return a<0?(c=Math.pow(10,-a)/o,s=Math.round(e*c),u=Math.round(t*c),s/ct&&--u,c=-c):(c=Math.pow(10,a)*o,s=Math.round(e/c),u=Math.round(t/c),s*ct&&--u),u0))return[];if(e===t)return[e];const n=t=a))return[];const s=i-a+1,u=new Array(s);if(n)if(o<0)for(let c=0;c=n)&&(r=n);return r}function $S(e,t){let r;for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);return r}function yC(e,t,r=0,n=1/0,a){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(a=a===void 0?vC:nq(a);n>r;){if(n-r>600){const u=n-r+1,c=t-r+1,f=Math.log(u),d=.5*Math.exp(2*f/3),p=.5*Math.sqrt(f*d*(u-d)/u)*(c-u/2<0?-1:1),h=Math.max(r,Math.floor(t-c*d/u+p)),b=Math.min(n,Math.floor(t+(u-c)*d/u+p));yC(e,t,h,b,a)}const i=e[t];let o=r,s=n;for(ju(e,r,t),a(e[n],i)>0&&ju(e,r,n);o0;)--s}a(e[r],i)===0?ju(e,r,s):(++s,ju(e,s,n)),s<=t&&(r=s+1),t<=s&&(n=s-1)}return e}function ju(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function sq(e,t,r){if(e=Float64Array.from(JG(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return $S(e);if(t>=1)return TS(e);var n,a=(n-1)*t,i=Math.floor(a),o=TS(yC(e,i).subarray(0,i+1)),s=$S(e.subarray(i+1));return o+(s-o)*(a-i)}}function lq(e,t,r=mC){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,a=(n-1)*t,i=Math.floor(a),o=+r(e[i],i,e),s=+r(e[i+1],i+1,e);return o+(s-o)*(a-i)}}function uq(e,t,r){e=+e,t=+t,r=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+r;for(var n=-1,a=Math.max(0,Math.ceil((t-e)/r))|0,i=new Array(a);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?wf(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?wf(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=dq.exec(e))?new nn(t[1],t[2],t[3],1):(t=fq.exec(e))?new nn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=pq.exec(e))?wf(t[1],t[2],t[3],t[4]):(t=hq.exec(e))?wf(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=mq.exec(e))?zS(t[1],t[2]/100,t[3]/100,1):(t=vq.exec(e))?zS(t[1],t[2]/100,t[3]/100,t[4]):RS.hasOwnProperty(e)?DS(RS[e]):e==="transparent"?new nn(NaN,NaN,NaN,0):null}function DS(e){return new nn(e>>16&255,e>>8&255,e&255,1)}function wf(e,t,r,n){return n<=0&&(e=t=r=NaN),new nn(e,t,r,n)}function xq(e){return e instanceof Dd||(e=Kc(e)),e?(e=e.rgb(),new nn(e.r,e.g,e.b,e.opacity)):new nn}function Lx(e,t,r,n){return arguments.length===1?xq(e):new nn(e,t,r,n??1)}function nn(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}Nw(nn,Lx,xC(Dd,{brighter(e){return e=e==null?Zp:Math.pow(Zp,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Gc:Math.pow(Gc,e),new nn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new nn(Mo(this.r),Mo(this.g),Mo(this.b),Jp(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:LS,formatHex:LS,formatHex8:bq,formatRgb:FS,toString:FS}));function LS(){return`#${Ao(this.r)}${Ao(this.g)}${Ao(this.b)}`}function bq(){return`#${Ao(this.r)}${Ao(this.g)}${Ao(this.b)}${Ao((isNaN(this.opacity)?1:this.opacity)*255)}`}function FS(){const e=Jp(this.opacity);return`${e===1?"rgb(":"rgba("}${Mo(this.r)}, ${Mo(this.g)}, ${Mo(this.b)}${e===1?")":`, ${e})`}`}function Jp(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Mo(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ao(e){return e=Mo(e),(e<16?"0":"")+e.toString(16)}function zS(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new aa(e,t,r,n)}function bC(e){if(e instanceof aa)return new aa(e.h,e.s,e.l,e.opacity);if(e instanceof Dd||(e=Kc(e)),!e)return new aa;if(e instanceof aa)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),i=Math.max(t,r,n),o=NaN,s=i-a,u=(i+a)/2;return s?(t===i?o=(r-n)/s+(r0&&u<1?0:o,new aa(o,s,u,e.opacity)}function wq(e,t,r,n){return arguments.length===1?bC(e):new aa(e,t,r,n??1)}function aa(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}Nw(aa,wq,xC(Dd,{brighter(e){return e=e==null?Zp:Math.pow(Zp,e),new aa(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Gc:Math.pow(Gc,e),new aa(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,a=2*r-n;return new nn(sy(e>=240?e-240:e+120,a,n),sy(e,a,n),sy(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new aa(BS(this.h),_f(this.s),_f(this.l),Jp(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Jp(this.opacity);return`${e===1?"hsl(":"hsla("}${BS(this.h)}, ${_f(this.s)*100}%, ${_f(this.l)*100}%${e===1?")":`, ${e})`}`}}));function BS(e){return e=(e||0)%360,e<0?e+360:e}function _f(e){return Math.max(0,Math.min(1,e||0))}function sy(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const Aw=e=>()=>e;function _q(e,t){return function(r){return e+r*t}}function jq(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function Sq(e){return(e=+e)==1?wC:function(t,r){return r-t?jq(t,r,e):Aw(isNaN(t)?r:t)}}function wC(e,t){var r=t-e;return r?_q(e,r):Aw(isNaN(e)?t:e)}const US=function e(t){var r=Sq(t);function n(a,i){var o=r((a=Lx(a)).r,(i=Lx(i)).r),s=r(a.g,i.g),u=r(a.b,i.b),c=wC(a.opacity,i.opacity);return function(f){return a.r=o(f),a.g=s(f),a.b=u(f),a.opacity=c(f),a+""}}return n.gamma=e,n}(1);function kq(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),a;return function(i){for(a=0;ar&&(i=t.slice(r,i),s[o]?s[o]+=i:s[++o]=i),(n=n[0])===(a=a[0])?s[o]?s[o]+=a:s[++o]=a:(s[++o]=null,u.push({i:o,x:Qp(n,a)})),r=ly.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function Mq(e,t,r){var n=e[0],a=e[1],i=t[0],o=t[1];return a2?Dq:Mq,u=c=null,d}function d(p){return p==null||isNaN(p=+p)?i:(u||(u=s(e.map(n),t,r)))(n(o(p)))}return d.invert=function(p){return o(a((c||(c=s(t,e.map(n),Qp)))(p)))},d.domain=function(p){return arguments.length?(e=Array.from(p,eh),f()):e.slice()},d.range=function(p){return arguments.length?(t=Array.from(p),f()):t.slice()},d.rangeRound=function(p){return t=Array.from(p),r=Ew,f()},d.clamp=function(p){return arguments.length?(o=p?!0:Gr,f()):o!==Gr},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(i=p,d):i},function(p,h){return n=p,a=h,f()}}function Pw(){return Lm()(Gr,Gr)}function Lq(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function th(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function xl(e){return e=th(Math.abs(e)),e?e[1]:NaN}function Fq(e,t){return function(r,n){for(var a=r.length,i=[],o=0,s=e[0],u=0;a>0&&s>0&&(u+s+1>n&&(s=Math.max(1,n-u)),i.push(r.substring(a-=s,a+s)),!((u+=s+1)>n));)s=e[o=(o+1)%e.length];return i.reverse().join(t)}}function zq(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var Bq=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Xc(e){if(!(t=Bq.exec(e)))throw new Error("invalid format: "+e);var t;return new Cw({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Xc.prototype=Cw.prototype;function Cw(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Cw.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Uq(e){e:for(var t=e.length,r=1,n=-1,a;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(a+1):e}var rh;function Vq(e,t){var r=th(e,t);if(!r)return rh=void 0,e.toPrecision(t);var n=r[0],a=r[1],i=a-(rh=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,o=n.length;return i===o?n:i>o?n+new Array(i-o+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+th(e,Math.max(0,t+i-1))[0]}function WS(e,t){var r=th(e,t);if(!r)return e+"";var n=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+n:n.length>a+1?n.slice(0,a+1)+"."+n.slice(a+1):n+new Array(a-n.length+2).join("0")}const HS={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:Lq,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>WS(e*100,t),r:WS,s:Vq,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function GS(e){return e}var qS=Array.prototype.map,KS=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Wq(e){var t=e.grouping===void 0||e.thousands===void 0?GS:Fq(qS.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?GS:zq(qS.call(e.numerals,String)),o=e.percent===void 0?"%":e.percent+"",s=e.minus===void 0?"−":e.minus+"",u=e.nan===void 0?"NaN":e.nan+"";function c(d,p){d=Xc(d);var h=d.fill,b=d.align,v=d.sign,g=d.symbol,y=d.zero,m=d.width,w=d.comma,j=d.precision,x=d.trim,_=d.type;_==="n"?(w=!0,_="g"):HS[_]||(j===void 0&&(j=12),x=!0,_="g"),(y||h==="0"&&b==="=")&&(y=!0,h="0",b="=");var k=(p&&p.prefix!==void 0?p.prefix:"")+(g==="$"?r:g==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():""),O=(g==="$"?n:/[%p]/.test(_)?o:"")+(p&&p.suffix!==void 0?p.suffix:""),A=HS[_],I=/[defgprs%]/.test(_);j=j===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,j)):Math.max(0,Math.min(20,j));function $(N){var T=k,R=O,L,U,W;if(_==="c")R=A(N)+R,N="";else{N=+N;var M=N<0||1/N<0;if(N=isNaN(N)?u:A(Math.abs(N),j),x&&(N=Uq(N)),M&&+N==0&&v!=="+"&&(M=!1),T=(M?v==="("?v:s:v==="-"||v==="("?"":v)+T,R=(_==="s"&&!isNaN(N)&&rh!==void 0?KS[8+rh/3]:"")+R+(M&&v==="("?")":""),I){for(L=-1,U=N.length;++LW||W>57){R=(W===46?a+N.slice(L+1):N.slice(L))+R,N=N.slice(0,L);break}}}w&&!y&&(N=t(N,1/0));var B=T.length+N.length+R.length,G=B>1)+T+N+R+G.slice(B);break;default:N=G+T+N+R;break}return i(N)}return $.toString=function(){return d+""},$}function f(d,p){var h=Math.max(-8,Math.min(8,Math.floor(xl(p)/3)))*3,b=Math.pow(10,-h),v=c((d=Xc(d),d.type="f",d),{suffix:KS[8+h/3]});return function(g){return v(b*g)}}return{format:c,formatPrefix:f}}var jf,Tw,_C;Hq({thousands:",",grouping:[3],currency:["$",""]});function Hq(e){return jf=Wq(e),Tw=jf.format,_C=jf.formatPrefix,jf}function Gq(e){return Math.max(0,-xl(Math.abs(e)))}function qq(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(xl(t)/3)))*3-xl(Math.abs(e)))}function Kq(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,xl(t)-xl(e))+1}function jC(e,t,r,n){var a=Mx(e,t,r),i;switch(n=Xc(n??",f"),n.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(i=qq(a,o))&&(n.precision=i),_C(n,o)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(i=Kq(a,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=i-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(i=Gq(a))&&(n.precision=i-(n.type==="%")*2);break}}return Tw(n)}function oo(e){var t=e.domain;return e.ticks=function(r){var n=t();return Rx(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var a=t();return jC(a[0],a[a.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),a=0,i=n.length-1,o=n[a],s=n[i],u,c,f=10;for(s0;){if(c=Ix(o,s,r),c===u)return n[a]=o,n[i]=s,t(n);if(c>0)o=Math.floor(o/c)*c,s=Math.ceil(s/c)*c;else if(c<0)o=Math.ceil(o*c)/c,s=Math.floor(s*c)/c;else break;u=c}return e},e}function nh(){var e=Pw();return e.copy=function(){return Ld(e,nh())},Vn.apply(e,arguments),oo(e)}function SC(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,eh),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return SC(e).unknown(t)},e=arguments.length?Array.from(e,eh):[0,1],oo(r)}function kC(e,t){e=e.slice();var r=0,n=e.length-1,a=e[r],i=e[n],o;return iMath.pow(e,t)}function Qq(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function ZS(e){return(t,r)=>-e(-t,r)}function $w(e){const t=e(XS,YS),r=t.domain;let n=10,a,i;function o(){return a=Qq(n),i=Jq(n),r()[0]<0?(a=ZS(a),i=ZS(i),e(Xq,Yq)):e(XS,YS),t}return t.base=function(s){return arguments.length?(n=+s,o()):n},t.domain=function(s){return arguments.length?(r(s),o()):r()},t.ticks=s=>{const u=r();let c=u[0],f=u[u.length-1];const d=f0){for(;p<=h;++p)for(b=1;bf)break;y.push(v)}}else for(;p<=h;++p)for(b=n-1;b>=1;--b)if(v=p>0?b/i(-p):b*i(p),!(vf)break;y.push(v)}y.length*2{if(s==null&&(s=10),u==null&&(u=n===10?"s":","),typeof u!="function"&&(!(n%1)&&(u=Xc(u)).precision==null&&(u.trim=!0),u=Tw(u)),s===1/0)return u;const c=Math.max(1,n*s/t.ticks().length);return f=>{let d=f/i(Math.round(a(f)));return d*nr(kC(r(),{floor:s=>i(Math.floor(a(s))),ceil:s=>i(Math.ceil(a(s)))})),t}function OC(){const e=$w(Lm()).domain([1,10]);return e.copy=()=>Ld(e,OC()).base(e.base()),Vn.apply(e,arguments),e}function JS(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function QS(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Rw(e){var t=1,r=e(JS(t),QS(t));return r.constant=function(n){return arguments.length?e(JS(t=+n),QS(t)):t},oo(r)}function NC(){var e=Rw(Lm());return e.copy=function(){return Ld(e,NC()).constant(e.constant())},Vn.apply(e,arguments)}function ek(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function eK(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function tK(e){return e<0?-e*e:e*e}function Iw(e){var t=e(Gr,Gr),r=1;function n(){return r===1?e(Gr,Gr):r===.5?e(eK,tK):e(ek(r),ek(1/r))}return t.exponent=function(a){return arguments.length?(r=+a,n()):r},oo(t)}function Mw(){var e=Iw(Lm());return e.copy=function(){return Ld(e,Mw()).exponent(e.exponent())},Vn.apply(e,arguments),e}function rK(){return Mw.apply(null,arguments).exponent(.5)}function tk(e){return Math.sign(e)*e*e}function nK(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function AC(){var e=Pw(),t=[0,1],r=!1,n;function a(i){var o=nK(e(i));return isNaN(o)?n:r?Math.round(o):o}return a.invert=function(i){return e.invert(tk(i))},a.domain=function(i){return arguments.length?(e.domain(i),a):e.domain()},a.range=function(i){return arguments.length?(e.range((t=Array.from(i,eh)).map(tk)),a):t.slice()},a.rangeRound=function(i){return a.range(i).round(!0)},a.round=function(i){return arguments.length?(r=!!i,a):r},a.clamp=function(i){return arguments.length?(e.clamp(i),a):e.clamp()},a.unknown=function(i){return arguments.length?(n=i,a):n},a.copy=function(){return AC(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},Vn.apply(a,arguments),oo(a)}function EC(){var e=[],t=[],r=[],n;function a(){var o=0,s=Math.max(1,t.length);for(r=new Array(s-1);++o0?r[s-1]:e[0],s=r?[n[r-1],t]:[n[c-1],n[c]]},o.unknown=function(u){return arguments.length&&(i=u),o},o.thresholds=function(){return n.slice()},o.copy=function(){return PC().domain([e,t]).range(a).unknown(i)},Vn.apply(oo(o),arguments)}function CC(){var e=[.5],t=[0,1],r,n=1;function a(i){return i!=null&&i<=i?t[Md(e,i,0,n)]:r}return a.domain=function(i){return arguments.length?(e=Array.from(i),n=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(i){return arguments.length?(t=Array.from(i),n=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(i){var o=t.indexOf(i);return[e[o-1],e[o]]},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return CC().domain(e).range(t).unknown(r)},Vn.apply(a,arguments)}const uy=new Date,cy=new Date;function lr(e,t,r,n){function a(i){return e(i=arguments.length===0?new Date:new Date(+i)),i}return a.floor=i=>(e(i=new Date(+i)),i),a.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),a.round=i=>{const o=a(i),s=a.ceil(i);return i-o(t(i=new Date(+i),o==null?1:Math.floor(o)),i),a.range=(i,o,s)=>{const u=[];if(i=a.ceil(i),s=s==null?1:Math.floor(s),!(i0))return u;let c;do u.push(c=new Date(+i)),t(i,s),e(i);while(clr(o=>{if(o>=o)for(;e(o),!i(o);)o.setTime(o-1)},(o,s)=>{if(o>=o)if(s<0)for(;++s<=0;)for(;t(o,-1),!i(o););else for(;--s>=0;)for(;t(o,1),!i(o););}),r&&(a.count=(i,o)=>(uy.setTime(+i),cy.setTime(+o),e(uy),e(cy),Math.floor(r(uy,cy))),a.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a.filter(n?o=>n(o)%i===0:o=>a.count(0,o)%i===0):a)),a}const ah=lr(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);ah.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?lr(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):ah);ah.range;const Ka=1e3,Dn=Ka*60,Xa=Dn*60,ii=Xa*24,Dw=ii*7,rk=ii*30,dy=ii*365,Eo=lr(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Ka)},(e,t)=>(t-e)/Ka,e=>e.getUTCSeconds());Eo.range;const Lw=lr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ka)},(e,t)=>{e.setTime(+e+t*Dn)},(e,t)=>(t-e)/Dn,e=>e.getMinutes());Lw.range;const Fw=lr(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Dn)},(e,t)=>(t-e)/Dn,e=>e.getUTCMinutes());Fw.range;const zw=lr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ka-e.getMinutes()*Dn)},(e,t)=>{e.setTime(+e+t*Xa)},(e,t)=>(t-e)/Xa,e=>e.getHours());zw.range;const Bw=lr(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Xa)},(e,t)=>(t-e)/Xa,e=>e.getUTCHours());Bw.range;const Fd=lr(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Dn)/ii,e=>e.getDate()-1);Fd.range;const Fm=lr(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ii,e=>e.getUTCDate()-1);Fm.range;const TC=lr(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ii,e=>Math.floor(e/ii));TC.range;function ss(e){return lr(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Dn)/Dw)}const zm=ss(0),ih=ss(1),aK=ss(2),iK=ss(3),bl=ss(4),oK=ss(5),sK=ss(6);zm.range;ih.range;aK.range;iK.range;bl.range;oK.range;sK.range;function ls(e){return lr(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/Dw)}const Bm=ls(0),oh=ls(1),lK=ls(2),uK=ls(3),wl=ls(4),cK=ls(5),dK=ls(6);Bm.range;oh.range;lK.range;uK.range;wl.range;cK.range;dK.range;const Uw=lr(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Uw.range;const Vw=lr(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());Vw.range;const oi=lr(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());oi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:lr(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});oi.range;const si=lr(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());si.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:lr(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});si.range;function $C(e,t,r,n,a,i){const o=[[Eo,1,Ka],[Eo,5,5*Ka],[Eo,15,15*Ka],[Eo,30,30*Ka],[i,1,Dn],[i,5,5*Dn],[i,15,15*Dn],[i,30,30*Dn],[a,1,Xa],[a,3,3*Xa],[a,6,6*Xa],[a,12,12*Xa],[n,1,ii],[n,2,2*ii],[r,1,Dw],[t,1,rk],[t,3,3*rk],[e,1,dy]];function s(c,f,d){const p=fg).right(o,p);if(h===o.length)return e.every(Mx(c/dy,f/dy,d));if(h===0)return ah.every(Math.max(Mx(c,f,d),1));const[b,v]=o[p/o[h-1][2]53)return null;"w"in Y||(Y.w=1),"Z"in Y?(ve=py(Su(Y.y,0,1)),Ke=ve.getUTCDay(),ve=Ke>4||Ke===0?oh.ceil(ve):oh(ve),ve=Fm.offset(ve,(Y.V-1)*7),Y.y=ve.getUTCFullYear(),Y.m=ve.getUTCMonth(),Y.d=ve.getUTCDate()+(Y.w+6)%7):(ve=fy(Su(Y.y,0,1)),Ke=ve.getDay(),ve=Ke>4||Ke===0?ih.ceil(ve):ih(ve),ve=Fd.offset(ve,(Y.V-1)*7),Y.y=ve.getFullYear(),Y.m=ve.getMonth(),Y.d=ve.getDate()+(Y.w+6)%7)}else("W"in Y||"U"in Y)&&("w"in Y||(Y.w="u"in Y?Y.u%7:"W"in Y?1:0),Ke="Z"in Y?py(Su(Y.y,0,1)).getUTCDay():fy(Su(Y.y,0,1)).getDay(),Y.m=0,Y.d="W"in Y?(Y.w+6)%7+Y.W*7-(Ke+5)%7:Y.w+Y.U*7-(Ke+6)%7);return"Z"in Y?(Y.H+=Y.Z/100|0,Y.M+=Y.Z%100,py(Y)):fy(Y)}}function O(re,ce,we,Y){for(var Ce=0,ve=ce.length,Ke=we.length,Le,_e;Ce=Ke)return-1;if(Le=ce.charCodeAt(Ce++),Le===37){if(Le=ce.charAt(Ce++),_e=x[Le in nk?ce.charAt(Ce++):Le],!_e||(Y=_e(re,we,Y))<0)return-1}else if(Le!=we.charCodeAt(Y++))return-1}return Y}function A(re,ce,we){var Y=c.exec(ce.slice(we));return Y?(re.p=f.get(Y[0].toLowerCase()),we+Y[0].length):-1}function I(re,ce,we){var Y=h.exec(ce.slice(we));return Y?(re.w=b.get(Y[0].toLowerCase()),we+Y[0].length):-1}function $(re,ce,we){var Y=d.exec(ce.slice(we));return Y?(re.w=p.get(Y[0].toLowerCase()),we+Y[0].length):-1}function N(re,ce,we){var Y=y.exec(ce.slice(we));return Y?(re.m=m.get(Y[0].toLowerCase()),we+Y[0].length):-1}function T(re,ce,we){var Y=v.exec(ce.slice(we));return Y?(re.m=g.get(Y[0].toLowerCase()),we+Y[0].length):-1}function R(re,ce,we){return O(re,t,ce,we)}function L(re,ce,we){return O(re,r,ce,we)}function U(re,ce,we){return O(re,n,ce,we)}function W(re){return o[re.getDay()]}function M(re){return i[re.getDay()]}function B(re){return u[re.getMonth()]}function G(re){return s[re.getMonth()]}function H(re){return a[+(re.getHours()>=12)]}function q(re){return 1+~~(re.getMonth()/3)}function ae(re){return o[re.getUTCDay()]}function X(re){return i[re.getUTCDay()]}function se(re){return u[re.getUTCMonth()]}function fe(re){return s[re.getUTCMonth()]}function Pe(re){return a[+(re.getUTCHours()>=12)]}function Te(re){return 1+~~(re.getUTCMonth()/3)}return{format:function(re){var ce=_(re+="",w);return ce.toString=function(){return re},ce},parse:function(re){var ce=k(re+="",!1);return ce.toString=function(){return re},ce},utcFormat:function(re){var ce=_(re+="",j);return ce.toString=function(){return re},ce},utcParse:function(re){var ce=k(re+="",!0);return ce.toString=function(){return re},ce}}}var nk={"-":"",_:" ",0:"0"},yr=/^\s*\d+/,yK=/^%/,gK=/[\\^$*+?|[\]().{}]/g;function ot(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",i=a.length;return n+(i[t.toLowerCase(),r]))}function bK(e,t,r){var n=yr.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function wK(e,t,r){var n=yr.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function _K(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function jK(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function SK(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function ak(e,t,r){var n=yr.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function ik(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function kK(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function OK(e,t,r){var n=yr.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function NK(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function ok(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function AK(e,t,r){var n=yr.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function sk(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function EK(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function PK(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function CK(e,t,r){var n=yr.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function TK(e,t,r){var n=yr.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function $K(e,t,r){var n=yK.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function RK(e,t,r){var n=yr.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function IK(e,t,r){var n=yr.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function lk(e,t){return ot(e.getDate(),t,2)}function MK(e,t){return ot(e.getHours(),t,2)}function DK(e,t){return ot(e.getHours()%12||12,t,2)}function LK(e,t){return ot(1+Fd.count(oi(e),e),t,3)}function RC(e,t){return ot(e.getMilliseconds(),t,3)}function FK(e,t){return RC(e,t)+"000"}function zK(e,t){return ot(e.getMonth()+1,t,2)}function BK(e,t){return ot(e.getMinutes(),t,2)}function UK(e,t){return ot(e.getSeconds(),t,2)}function VK(e){var t=e.getDay();return t===0?7:t}function WK(e,t){return ot(zm.count(oi(e)-1,e),t,2)}function IC(e){var t=e.getDay();return t>=4||t===0?bl(e):bl.ceil(e)}function HK(e,t){return e=IC(e),ot(bl.count(oi(e),e)+(oi(e).getDay()===4),t,2)}function GK(e){return e.getDay()}function qK(e,t){return ot(ih.count(oi(e)-1,e),t,2)}function KK(e,t){return ot(e.getFullYear()%100,t,2)}function XK(e,t){return e=IC(e),ot(e.getFullYear()%100,t,2)}function YK(e,t){return ot(e.getFullYear()%1e4,t,4)}function ZK(e,t){var r=e.getDay();return e=r>=4||r===0?bl(e):bl.ceil(e),ot(e.getFullYear()%1e4,t,4)}function JK(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+ot(t/60|0,"0",2)+ot(t%60,"0",2)}function uk(e,t){return ot(e.getUTCDate(),t,2)}function QK(e,t){return ot(e.getUTCHours(),t,2)}function eX(e,t){return ot(e.getUTCHours()%12||12,t,2)}function tX(e,t){return ot(1+Fm.count(si(e),e),t,3)}function MC(e,t){return ot(e.getUTCMilliseconds(),t,3)}function rX(e,t){return MC(e,t)+"000"}function nX(e,t){return ot(e.getUTCMonth()+1,t,2)}function aX(e,t){return ot(e.getUTCMinutes(),t,2)}function iX(e,t){return ot(e.getUTCSeconds(),t,2)}function oX(e){var t=e.getUTCDay();return t===0?7:t}function sX(e,t){return ot(Bm.count(si(e)-1,e),t,2)}function DC(e){var t=e.getUTCDay();return t>=4||t===0?wl(e):wl.ceil(e)}function lX(e,t){return e=DC(e),ot(wl.count(si(e),e)+(si(e).getUTCDay()===4),t,2)}function uX(e){return e.getUTCDay()}function cX(e,t){return ot(oh.count(si(e)-1,e),t,2)}function dX(e,t){return ot(e.getUTCFullYear()%100,t,2)}function fX(e,t){return e=DC(e),ot(e.getUTCFullYear()%100,t,2)}function pX(e,t){return ot(e.getUTCFullYear()%1e4,t,4)}function hX(e,t){var r=e.getUTCDay();return e=r>=4||r===0?wl(e):wl.ceil(e),ot(e.getUTCFullYear()%1e4,t,4)}function mX(){return"+0000"}function ck(){return"%"}function dk(e){return+e}function fk(e){return Math.floor(+e/1e3)}var ps,LC,FC;vX({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function vX(e){return ps=vK(e),LC=ps.format,ps.parse,FC=ps.utcFormat,ps.utcParse,ps}function yX(e){return new Date(e)}function gX(e){return e instanceof Date?+e:+new Date(+e)}function Ww(e,t,r,n,a,i,o,s,u,c){var f=Pw(),d=f.invert,p=f.domain,h=c(".%L"),b=c(":%S"),v=c("%I:%M"),g=c("%I %p"),y=c("%a %d"),m=c("%b %d"),w=c("%B"),j=c("%Y");function x(_){return(u(_)<_?h:s(_)<_?b:o(_)<_?v:i(_)<_?g:n(_)<_?a(_)<_?y:m:r(_)<_?w:j)(_)}return f.invert=function(_){return new Date(d(_))},f.domain=function(_){return arguments.length?p(Array.from(_,gX)):p().map(yX)},f.ticks=function(_){var k=p();return e(k[0],k[k.length-1],_??10)},f.tickFormat=function(_,k){return k==null?x:c(k)},f.nice=function(_){var k=p();return(!_||typeof _.range!="function")&&(_=t(k[0],k[k.length-1],_??10)),_?p(kC(k,_)):f},f.copy=function(){return Ld(f,Ww(e,t,r,n,a,i,o,s,u,c))},f}function xX(){return Vn.apply(Ww(hK,mK,oi,Uw,zm,Fd,zw,Lw,Eo,LC).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function bX(){return Vn.apply(Ww(fK,pK,si,Vw,Bm,Fm,Bw,Fw,Eo,FC).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Um(){var e=0,t=1,r,n,a,i,o=Gr,s=!1,u;function c(d){return d==null||isNaN(d=+d)?u:o(a===0?.5:(d=(i(d)-r)*a,s?Math.max(0,Math.min(1,d)):d))}c.domain=function(d){return arguments.length?([e,t]=d,r=i(e=+e),n=i(t=+t),a=r===n?0:1/(n-r),c):[e,t]},c.clamp=function(d){return arguments.length?(s=!!d,c):s},c.interpolator=function(d){return arguments.length?(o=d,c):o};function f(d){return function(p){var h,b;return arguments.length?([h,b]=p,o=d(h,b),c):[o(0),o(1)]}}return c.range=f(nu),c.rangeRound=f(Ew),c.unknown=function(d){return arguments.length?(u=d,c):u},function(d){return i=d,r=d(e),n=d(t),a=r===n?0:1/(n-r),c}}function so(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function zC(){var e=oo(Um()(Gr));return e.copy=function(){return so(e,zC())},hi.apply(e,arguments)}function BC(){var e=$w(Um()).domain([1,10]);return e.copy=function(){return so(e,BC()).base(e.base())},hi.apply(e,arguments)}function UC(){var e=Rw(Um());return e.copy=function(){return so(e,UC()).constant(e.constant())},hi.apply(e,arguments)}function Hw(){var e=Iw(Um());return e.copy=function(){return so(e,Hw()).exponent(e.exponent())},hi.apply(e,arguments)}function wX(){return Hw.apply(null,arguments).exponent(.5)}function VC(){var e=[],t=Gr;function r(n){if(n!=null&&!isNaN(n=+n))return t((Md(e,n,1)-1)/(e.length-1))}return r.domain=function(n){if(!arguments.length)return e.slice();e=[];for(let a of n)a!=null&&!isNaN(a=+a)&&e.push(a);return e.sort(Gi),r},r.interpolator=function(n){return arguments.length?(t=n,r):t},r.range=function(){return e.map((n,a)=>t(a/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(a,i)=>sq(e,i/n))},r.copy=function(){return VC(t).domain(e)},hi.apply(r,arguments)}function Vm(){var e=0,t=.5,r=1,n=1,a,i,o,s,u,c=Gr,f,d=!1,p;function h(v){return isNaN(v=+v)?p:(v=.5+((v=+f(v))-i)*(n*vt}var qC=kX,OX=Wm,NX=qC,AX=ru;function EX(e){return e&&e.length?OX(e,AX,NX):void 0}var PX=EX;const Ii=pt(PX);function CX(e,t){return ee.e^i.s<0?1:-1;for(n=i.d.length,a=e.d.length,t=0,r=ne.d[t]^i.s<0?1:-1;return n===a?0:n>a^i.s<0?1:-1};xe.decimalPlaces=xe.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*Et;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};xe.dividedBy=xe.div=function(e){return ei(this,new this.constructor(e))};xe.dividedToIntegerBy=xe.idiv=function(e){var t=this,r=t.constructor;return wt(ei(t,new r(e),0,1),r.precision)};xe.equals=xe.eq=function(e){return!this.cmp(e)};xe.exponent=function(){return Qt(this)};xe.greaterThan=xe.gt=function(e){return this.cmp(e)>0};xe.greaterThanOrEqualTo=xe.gte=function(e){return this.cmp(e)>=0};xe.isInteger=xe.isint=function(){return this.e>this.d.length-2};xe.isNegative=xe.isneg=function(){return this.s<0};xe.isPositive=xe.ispos=function(){return this.s>0};xe.isZero=function(){return this.s===0};xe.lessThan=xe.lt=function(e){return this.cmp(e)<0};xe.lessThanOrEqualTo=xe.lte=function(e){return this.cmp(e)<1};xe.logarithm=xe.log=function(e){var t,r=this,n=r.constructor,a=n.precision,i=a+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(yn))throw Error(Bn+"NaN");if(r.s<1)throw Error(Bn+(r.s?"NaN":"-Infinity"));return r.eq(yn)?new n(0):($t=!1,t=ei(Yc(r,i),Yc(e,i),i),$t=!0,wt(t,a))};xe.minus=xe.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?JC(t,e):YC(t,(e.s=-e.s,e))};xe.modulo=xe.mod=function(e){var t,r=this,n=r.constructor,a=n.precision;if(e=new n(e),!e.s)throw Error(Bn+"NaN");return r.s?($t=!1,t=ei(r,e,0,1).times(e),$t=!0,r.minus(t)):wt(new n(r),a)};xe.naturalExponential=xe.exp=function(){return ZC(this)};xe.naturalLogarithm=xe.ln=function(){return Yc(this)};xe.negated=xe.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};xe.plus=xe.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?YC(t,e):JC(t,(e.s=-e.s,e))};xe.precision=xe.sd=function(e){var t,r,n,a=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Do+e);if(t=Qt(a)+1,n=a.d.length-1,r=n*Et+1,n=a.d[n],n){for(;n%10==0;n/=10)r--;for(n=a.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};xe.squareRoot=xe.sqrt=function(){var e,t,r,n,a,i,o,s=this,u=s.constructor;if(s.s<1){if(!s.s)return new u(0);throw Error(Bn+"NaN")}for(e=Qt(s),$t=!1,a=Math.sqrt(+s),a==0||a==1/0?(t=_a(s.d),(t.length+e)%2==0&&(t+="0"),a=Math.sqrt(t),e=iu((e+1)/2)-(e<0||e%2),a==1/0?t="5e"+e:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new u(t)):n=new u(a.toString()),r=u.precision,a=o=r+3;;)if(i=n,n=i.plus(ei(s,i,o+2)).times(.5),_a(i.d).slice(0,o)===(t=_a(n.d)).slice(0,o)){if(t=t.slice(o-3,o+1),a==o&&t=="4999"){if(wt(i,r+1,0),i.times(i).eq(s)){n=i;break}}else if(t!="9999")break;o+=4}return $t=!0,wt(n,r)};xe.times=xe.mul=function(e){var t,r,n,a,i,o,s,u,c,f=this,d=f.constructor,p=f.d,h=(e=new d(e)).d;if(!f.s||!e.s)return new d(0);for(e.s*=f.s,r=f.e+e.e,u=p.length,c=h.length,u=0;){for(t=0,a=u+n;a>n;)s=i[a]+h[n]*p[a-n-1]+t,i[a--]=s%fr|0,t=s/fr|0;i[a]=(i[a]+t)%fr|0}for(;!i[--o];)i.pop();return t?++r:i.shift(),e.d=i,e.e=r,$t?wt(e,d.precision):e};xe.toDecimalPlaces=xe.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:($a(e,0,au),t===void 0?t=n.rounding:$a(t,0,8),wt(r,e+Qt(r)+1,t))};xe.toExponential=function(e,t){var r,n=this,a=n.constructor;return e===void 0?r=Xo(n,!0):($a(e,0,au),t===void 0?t=a.rounding:$a(t,0,8),n=wt(new a(n),e+1,t),r=Xo(n,!0,e+1)),r};xe.toFixed=function(e,t){var r,n,a=this,i=a.constructor;return e===void 0?Xo(a):($a(e,0,au),t===void 0?t=i.rounding:$a(t,0,8),n=wt(new i(a),e+Qt(a)+1,t),r=Xo(n.abs(),!1,e+Qt(n)+1),a.isneg()&&!a.isZero()?"-"+r:r)};xe.toInteger=xe.toint=function(){var e=this,t=e.constructor;return wt(new t(e),Qt(e)+1,t.rounding)};xe.toNumber=function(){return+this};xe.toPower=xe.pow=function(e){var t,r,n,a,i,o,s=this,u=s.constructor,c=12,f=+(e=new u(e));if(!e.s)return new u(yn);if(s=new u(s),!s.s){if(e.s<1)throw Error(Bn+"Infinity");return s}if(s.eq(yn))return s;if(n=u.precision,e.eq(yn))return wt(s,n);if(t=e.e,r=e.d.length-1,o=t>=r,i=s.s,o){if((r=f<0?-f:f)<=XC){for(a=new u(yn),t=Math.ceil(n/Et+4),$t=!1;r%2&&(a=a.times(s),mk(a.d,t)),r=iu(r/2),r!==0;)s=s.times(s),mk(s.d,t);return $t=!0,e.s<0?new u(yn).div(a):wt(a,n)}}else if(i<0)throw Error(Bn+"NaN");return i=i<0&&e.d[Math.max(t,r)]&1?-1:1,s.s=1,$t=!1,a=e.times(Yc(s,n+c)),$t=!0,a=ZC(a),a.s=i,a};xe.toPrecision=function(e,t){var r,n,a=this,i=a.constructor;return e===void 0?(r=Qt(a),n=Xo(a,r<=i.toExpNeg||r>=i.toExpPos)):($a(e,1,au),t===void 0?t=i.rounding:$a(t,0,8),a=wt(new i(a),e,t),r=Qt(a),n=Xo(a,e<=r||r<=i.toExpNeg,e)),n};xe.toSignificantDigits=xe.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):($a(e,1,au),t===void 0?t=n.rounding:$a(t,0,8)),wt(new n(r),e,t)};xe.toString=xe.valueOf=xe.val=xe.toJSON=xe[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=Qt(e),r=e.constructor;return Xo(e,t<=r.toExpNeg||t>=r.toExpPos)};function YC(e,t){var r,n,a,i,o,s,u,c,f=e.constructor,d=f.precision;if(!e.s||!t.s)return t.s||(t=new f(e)),$t?wt(t,d):t;if(u=e.d,c=t.d,o=e.e,a=t.e,u=u.slice(),i=o-a,i){for(i<0?(n=u,i=-i,s=c.length):(n=c,a=o,s=u.length),o=Math.ceil(d/Et),s=o>s?o+1:s+1,i>s&&(i=s,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(s=u.length,i=c.length,s-i<0&&(i=s,n=c,c=u,u=n),r=0;i;)r=(u[--i]=u[i]+c[i]+r)/fr|0,u[i]%=fr;for(r&&(u.unshift(r),++a),s=u.length;u[--s]==0;)u.pop();return t.d=u,t.e=a,$t?wt(t,d):t}function $a(e,t,r){if(e!==~~e||er)throw Error(Do+e)}function _a(e){var t,r,n,a=e.length-1,i="",o=e[0];if(a>0){for(i+=o,t=1;to?1:-1;else for(s=u=0;sa[s]?1:-1;break}return u}function r(n,a,i){for(var o=0;i--;)n[i]-=o,o=n[i]1;)n.shift()}return function(n,a,i,o){var s,u,c,f,d,p,h,b,v,g,y,m,w,j,x,_,k,O,A=n.constructor,I=n.s==a.s?1:-1,$=n.d,N=a.d;if(!n.s)return new A(n);if(!a.s)throw Error(Bn+"Division by zero");for(u=n.e-a.e,k=N.length,x=$.length,h=new A(I),b=h.d=[],c=0;N[c]==($[c]||0);)++c;if(N[c]>($[c]||0)&&--u,i==null?m=i=A.precision:o?m=i+(Qt(n)-Qt(a))+1:m=i,m<0)return new A(0);if(m=m/Et+2|0,c=0,k==1)for(f=0,N=N[0],m++;(c1&&(N=e(N,f),$=e($,f),k=N.length,x=$.length),j=k,v=$.slice(0,k),g=v.length;g=fr/2&&++_;do f=0,s=t(N,v,k,g),s<0?(y=v[0],k!=g&&(y=y*fr+(v[1]||0)),f=y/_|0,f>1?(f>=fr&&(f=fr-1),d=e(N,f),p=d.length,g=v.length,s=t(d,v,p,g),s==1&&(f--,r(d,k16)throw Error(qw+Qt(e));if(!e.s)return new f(yn);for($t=!1,s=d,o=new f(.03125);e.abs().gte(.1);)e=e.times(o),c+=5;for(n=Math.log(wo(2,c))/Math.LN10*2+5|0,s+=n,r=a=i=new f(yn),f.precision=s;;){if(a=wt(a.times(e),s),r=r.times(++u),o=i.plus(ei(a,r,s)),_a(o.d).slice(0,s)===_a(i.d).slice(0,s)){for(;c--;)i=wt(i.times(i),s);return f.precision=d,t==null?($t=!0,wt(i,d)):i}i=o}}function Qt(e){for(var t=e.e*Et,r=e.d[0];r>=10;r/=10)t++;return t}function hy(e,t,r){if(t>e.LN10.sd())throw $t=!0,r&&(e.precision=r),Error(Bn+"LN10 precision limit exceeded");return wt(new e(e.LN10),t)}function Si(e){for(var t="";e--;)t+="0";return t}function Yc(e,t){var r,n,a,i,o,s,u,c,f,d=1,p=10,h=e,b=h.d,v=h.constructor,g=v.precision;if(h.s<1)throw Error(Bn+(h.s?"NaN":"-Infinity"));if(h.eq(yn))return new v(0);if(t==null?($t=!1,c=g):c=t,h.eq(10))return t==null&&($t=!0),hy(v,c);if(c+=p,v.precision=c,r=_a(b),n=r.charAt(0),i=Qt(h),Math.abs(i)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)h=h.times(e),r=_a(h.d),n=r.charAt(0),d++;i=Qt(h),n>1?(h=new v("0."+r),i++):h=new v(n+"."+r.slice(1))}else return u=hy(v,c+2,g).times(i+""),h=Yc(new v(n+"."+r.slice(1)),c-p).plus(u),v.precision=g,t==null?($t=!0,wt(h,g)):h;for(s=o=h=ei(h.minus(yn),h.plus(yn),c),f=wt(h.times(h),c),a=3;;){if(o=wt(o.times(f),c),u=s.plus(ei(o,new v(a),c)),_a(u.d).slice(0,c)===_a(s.d).slice(0,c))return s=s.times(2),i!==0&&(s=s.plus(hy(v,c+2,g).times(i+""))),s=ei(s,new v(d),c),v.precision=g,t==null?($t=!0,wt(s,g)):s;s=u,a+=2}}function hk(e,t){var r,n,a;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(n,a),t){if(a-=n,r=r-n-1,e.e=iu(r/Et),e.d=[],n=(r+1)%Et,r<0&&(n+=Et),nsh||e.e<-sh))throw Error(qw+r)}else e.s=0,e.e=0,e.d=[0];return e}function wt(e,t,r){var n,a,i,o,s,u,c,f,d=e.d;for(o=1,i=d[0];i>=10;i/=10)o++;if(n=t-o,n<0)n+=Et,a=t,c=d[f=0];else{if(f=Math.ceil((n+1)/Et),i=d.length,f>=i)return e;for(c=i=d[f],o=1;i>=10;i/=10)o++;n%=Et,a=n-Et+o}if(r!==void 0&&(i=wo(10,o-a-1),s=c/i%10|0,u=t<0||d[f+1]!==void 0||c%i,u=r<4?(s||u)&&(r==0||r==(e.s<0?3:2)):s>5||s==5&&(r==4||u||r==6&&(n>0?a>0?c/wo(10,o-a):0:d[f-1])%10&1||r==(e.s<0?8:7))),t<1||!d[0])return u?(i=Qt(e),d.length=1,t=t-i-1,d[0]=wo(10,(Et-t%Et)%Et),e.e=iu(-t/Et)||0):(d.length=1,d[0]=e.e=e.s=0),e;if(n==0?(d.length=f,i=1,f--):(d.length=f+1,i=wo(10,Et-n),d[f]=a>0?(c/wo(10,o-a)%wo(10,a)|0)*i:0),u)for(;;)if(f==0){(d[0]+=i)==fr&&(d[0]=1,++e.e);break}else{if(d[f]+=i,d[f]!=fr)break;d[f--]=0,i=1}for(n=d.length;d[--n]===0;)d.pop();if($t&&(e.e>sh||e.e<-sh))throw Error(qw+Qt(e));return e}function JC(e,t){var r,n,a,i,o,s,u,c,f,d,p=e.constructor,h=p.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new p(e),$t?wt(t,h):t;if(u=e.d,d=t.d,n=t.e,c=e.e,u=u.slice(),o=c-n,o){for(f=o<0,f?(r=u,o=-o,s=d.length):(r=d,n=c,s=u.length),a=Math.max(Math.ceil(h/Et),s)+2,o>a&&(o=a,r.length=1),r.reverse(),a=o;a--;)r.push(0);r.reverse()}else{for(a=u.length,s=d.length,f=a0;--a)u[s++]=0;for(a=d.length;a>o;){if(u[--a]0?i=i.charAt(0)+"."+i.slice(1)+Si(n):o>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(a<0?"e":"e+")+a):a<0?(i="0."+Si(-a-1)+i,r&&(n=r-o)>0&&(i+=Si(n))):a>=o?(i+=Si(a+1-o),r&&(n=r-a-1)>0&&(i=i+"."+Si(n))):((n=a+1)0&&(a+1===o&&(i+="."),i+=Si(n))),e.s<0?"-"+i:i}function mk(e,t){if(e.length>t)return e.length=t,!0}function QC(e){var t,r,n;function a(i){var o=this;if(!(o instanceof a))return new a(i);if(o.constructor=a,i instanceof a){o.s=i.s,o.e=i.e,o.d=(i=i.d)?i.slice():i;return}if(typeof i=="number"){if(i*0!==0)throw Error(Do+i);if(i>0)o.s=1;else if(i<0)i=-i,o.s=-1;else{o.s=0,o.e=0,o.d=[0];return}if(i===~~i&&i<1e7){o.e=0,o.d=[i];return}return hk(o,i.toString())}else if(typeof i!="string")throw Error(Do+i);if(i.charCodeAt(0)===45?(i=i.slice(1),o.s=-1):o.s=1,JX.test(i))hk(o,i);else throw Error(Do+i)}if(a.prototype=xe,a.ROUND_UP=0,a.ROUND_DOWN=1,a.ROUND_CEIL=2,a.ROUND_FLOOR=3,a.ROUND_HALF_UP=4,a.ROUND_HALF_DOWN=5,a.ROUND_HALF_EVEN=6,a.ROUND_HALF_CEIL=7,a.ROUND_HALF_FLOOR=8,a.clone=QC,a.config=a.set=QX,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=a[t+1]&&n<=a[t+2])this[r]=n;else throw Error(Do+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(Do+r+": "+n);return this}var Kw=QC(ZX);yn=new Kw(1);const xt=Kw;function eY(e){return aY(e)||nY(e)||rY(e)||tY()}function tY(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rY(e,t){if(e){if(typeof e=="string")return Bx(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Bx(e,t)}}function nY(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function aY(e){if(Array.isArray(e))return Bx(e)}function Bx(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=t?r.apply(void 0,a):e(t-o,vk(function(){for(var s=arguments.length,u=new Array(s),c=0;ce.length)&&(t=e.length);for(var r=0,n=new Array(t);r"u"||!(Symbol.iterator in Object(e)))){var r=[],n=!0,a=!1,i=void 0;try{for(var o=e[Symbol.iterator](),s;!(n=(s=o.next()).done)&&(r.push(s.value),!(t&&r.length===t));n=!0);}catch(u){a=!0,i=u}finally{try{!n&&o.return!=null&&o.return()}finally{if(a)throw i}}return r}}function xY(e){if(Array.isArray(e))return e}function aT(e){var t=Zc(e,2),r=t[0],n=t[1],a=r,i=n;return r>n&&(a=n,i=r),[a,i]}function iT(e,t,r){if(e.lte(0))return new xt(0);var n=qm.getDigitCount(e.toNumber()),a=new xt(10).pow(n),i=e.div(a),o=n!==1?.05:.1,s=new xt(Math.ceil(i.div(o).toNumber())).add(r).mul(o),u=s.mul(a);return t?u:new xt(Math.ceil(u))}function bY(e,t,r){var n=1,a=new xt(e);if(!a.isint()&&r){var i=Math.abs(e);i<1?(n=new xt(10).pow(qm.getDigitCount(e)-1),a=new xt(Math.floor(a.div(n).toNumber())).mul(n)):i>1&&(a=new xt(Math.floor(e)))}else e===0?a=new xt(Math.floor((t-1)/2)):r||(a=new xt(Math.floor(e)));var o=Math.floor((t-1)/2),s=lY(sY(function(u){return a.add(new xt(u-o).mul(n)).toNumber()}),Ux);return s(0,t)}function oT(e,t,r,n){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(r-1)))return{step:new xt(0),tickMin:new xt(0),tickMax:new xt(0)};var i=iT(new xt(t).sub(e).div(r-1),n,a),o;e<=0&&t>=0?o=new xt(0):(o=new xt(e).add(t).div(2),o=o.sub(new xt(o).mod(i)));var s=Math.ceil(o.sub(e).div(i).toNumber()),u=Math.ceil(new xt(t).sub(o).div(i).toNumber()),c=s+u+1;return c>r?oT(e,t,r,n,a+1):(c0?u+(r-c):u,s=t>0?s:s+(r-c)),{step:i,tickMin:o.sub(new xt(s).mul(i)),tickMax:o.add(new xt(u).mul(i))})}function wY(e){var t=Zc(e,2),r=t[0],n=t[1],a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=Math.max(a,2),s=aT([r,n]),u=Zc(s,2),c=u[0],f=u[1];if(c===-1/0||f===1/0){var d=f===1/0?[c].concat(Wx(Ux(0,a-1).map(function(){return 1/0}))):[].concat(Wx(Ux(0,a-1).map(function(){return-1/0})),[f]);return r>n?Vx(d):d}if(c===f)return bY(c,a,i);var p=oT(c,f,o,i),h=p.step,b=p.tickMin,v=p.tickMax,g=qm.rangeStep(b,v.add(new xt(.1).mul(h)),h);return r>n?Vx(g):g}function _Y(e,t){var r=Zc(e,2),n=r[0],a=r[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=aT([n,a]),s=Zc(o,2),u=s[0],c=s[1];if(u===-1/0||c===1/0)return[n,a];if(u===c)return[u];var f=Math.max(t,2),d=iT(new xt(c).sub(u).div(f-1),i,0),p=[].concat(Wx(qm.rangeStep(new xt(u),new xt(c).sub(new xt(.99).mul(d)),d)),[c]);return n>a?Vx(p):p}var jY=rT(wY),SY=rT(_Y),kY="Invariant failed";function Yo(e,t){throw new Error(kY)}var OY=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function _l(e){"@babel/helpers - typeof";return _l=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_l(e)}function lh(){return lh=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function $Y(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function RY(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function IY(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&arguments[1]!==void 0?arguments[1]:[],a=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=-1,s=(r=n==null?void 0:n.length)!==null&&r!==void 0?r:0;if(s<=1)return 0;if(i&&i.axisType==="angleAxis"&&Math.abs(Math.abs(i.range[1]-i.range[0])-360)<=1e-6)for(var u=i.range,c=0;c0?a[c-1].coordinate:a[s-1].coordinate,d=a[c].coordinate,p=c>=s-1?a[0].coordinate:a[c+1].coordinate,h=void 0;if(Wr(d-f)!==Wr(p-d)){var b=[];if(Wr(p-d)===Wr(u[1]-u[0])){h=p;var v=d+u[1]-u[0];b[0]=Math.min(v,(v+f)/2),b[1]=Math.max(v,(v+f)/2)}else{h=f;var g=p+u[1]-u[0];b[0]=Math.min(d,(g+d)/2),b[1]=Math.max(d,(g+d)/2)}var y=[Math.min(d,(h+d)/2),Math.max(d,(h+d)/2)];if(t>y[0]&&t<=y[1]||t>=b[0]&&t<=b[1]){o=a[c].index;break}}else{var m=Math.min(f,p),w=Math.max(f,p);if(t>(m+d)/2&&t<=(w+d)/2){o=a[c].index;break}}}else for(var j=0;j0&&j(n[j].coordinate+n[j-1].coordinate)/2&&t<=(n[j].coordinate+n[j+1].coordinate)/2||j===s-1&&t>(n[j].coordinate+n[j-1].coordinate)/2){o=n[j].index;break}return o},Xw=function(t){var r,n=t,a=n.type.displayName,i=(r=t.type)!==null&&r!==void 0&&r.defaultProps?Ut(Ut({},t.type.defaultProps),t.props):t.props,o=i.stroke,s=i.fill,u;switch(a){case"Line":u=o;break;case"Area":case"Radar":u=o&&o!=="none"?o:s;break;default:u=s;break}return u},JY=function(t){var r=t.barSize,n=t.totalSize,a=t.stackGroups,i=a===void 0?{}:a;if(!i)return{};for(var o={},s=Object.keys(i),u=0,c=s.length;u=0});if(y&&y.length){var m=y[0].type.defaultProps,w=m!==void 0?Ut(Ut({},m),y[0].props):y[0].props,j=w.barSize,x=w[g];o[x]||(o[x]=[]);var _=Be(j)?r:j;o[x].push({item:y[0],stackList:y.slice(1),barSize:Be(_)?void 0:Hr(_,n,0)})}}return o},QY=function(t){var r=t.barGap,n=t.barCategoryGap,a=t.bandSize,i=t.sizeList,o=i===void 0?[]:i,s=t.maxBarSize,u=o.length;if(u<1)return null;var c=Hr(r,a,0,!0),f,d=[];if(o[0].barSize===+o[0].barSize){var p=!1,h=a/u,b=o.reduce(function(j,x){return j+x.barSize||0},0);b+=(u-1)*c,b>=a&&(b-=(u-1)*c,c=0),b>=a&&h>0&&(p=!0,h*=.9,b=u*h);var v=(a-b)/2>>0,g={offset:v-c,size:0};f=o.reduce(function(j,x){var _={item:x.item,position:{offset:g.offset+g.size+c,size:p?h:x.barSize}},k=[].concat(xk(j),[_]);return g=k[k.length-1].position,x.stackList&&x.stackList.length&&x.stackList.forEach(function(O){k.push({item:O,position:g})}),k},d)}else{var y=Hr(n,a,0,!0);a-2*y-(u-1)*c<=0&&(c=0);var m=(a-2*y-(u-1)*c)/u;m>1&&(m>>=0);var w=s===+s?Math.min(m,s):m;f=o.reduce(function(j,x,_){var k=[].concat(xk(j),[{item:x.item,position:{offset:y+(m+c)*_+(m-w)/2,size:w}}]);return x.stackList&&x.stackList.length&&x.stackList.forEach(function(O){k.push({item:O,position:k[k.length-1].position})}),k},d)}return f},eZ=function(t,r,n,a){var i=n.children,o=n.width,s=n.margin,u=o-(s.left||0)-(s.right||0),c=cT({children:i,legendWidth:u});if(c){var f=a||{},d=f.width,p=f.height,h=c.align,b=c.verticalAlign,v=c.layout;if((v==="vertical"||v==="horizontal"&&b==="middle")&&h!=="center"&&ie(t[h]))return Ut(Ut({},t),{},tl({},h,t[h]+(d||0)));if((v==="horizontal"||v==="vertical"&&h==="center")&&b!=="middle"&&ie(t[b]))return Ut(Ut({},t),{},tl({},b,t[b]+(p||0)))}return t},tZ=function(t,r,n){return Be(r)?!0:t==="horizontal"?r==="yAxis":t==="vertical"||n==="x"?r==="xAxis":n==="y"?r==="yAxis":!0},dT=function(t,r,n,a,i){var o=r.props.children,s=_n(o,zd).filter(function(c){return tZ(a,i,c.props.direction)});if(s&&s.length){var u=s.map(function(c){return c.props.dataKey});return t.reduce(function(c,f){var d=qt(f,n);if(Be(d))return c;var p=Array.isArray(d)?[Hm(d),Ii(d)]:[d,d],h=u.reduce(function(b,v){var g=qt(f,v,0),y=p[0]-Math.abs(Array.isArray(g)?g[0]:g),m=p[1]+Math.abs(Array.isArray(g)?g[1]:g);return[Math.min(y,b[0]),Math.max(m,b[1])]},[1/0,-1/0]);return[Math.min(h[0],c[0]),Math.max(h[1],c[1])]},[1/0,-1/0])}return null},rZ=function(t,r,n,a,i){var o=r.map(function(s){return dT(t,s,n,i,a)}).filter(function(s){return!Be(s)});return o&&o.length?o.reduce(function(s,u){return[Math.min(s[0],u[0]),Math.max(s[1],u[1])]},[1/0,-1/0]):null},fT=function(t,r,n,a,i){var o=r.map(function(u){var c=u.props.dataKey;return n==="number"&&c&&dT(t,u,c,a)||uc(t,c,n,i)});if(n==="number")return o.reduce(function(u,c){return[Math.min(u[0],c[0]),Math.max(u[1],c[1])]},[1/0,-1/0]);var s={};return o.reduce(function(u,c){for(var f=0,d=c.length;f=2?Wr(s[0]-s[1])*2*c:c,r&&(t.ticks||t.niceTicks)){var f=(t.ticks||t.niceTicks).map(function(d){var p=i?i.indexOf(d):d;return{coordinate:a(p)+c,value:d,offset:c}});return f.filter(function(d){return!Ql(d.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(d,p){return{coordinate:a(d)+c,value:d,index:p,offset:c}}):a.ticks&&!n?a.ticks(t.tickCount).map(function(d){return{coordinate:a(d)+c,value:d,offset:c}}):a.domain().map(function(d,p){return{coordinate:a(d)+c,value:i?i[d]:d,index:p,offset:c}})},my=new WeakMap,Sf=function(t,r){if(typeof r!="function")return t;my.has(t)||my.set(t,new WeakMap);var n=my.get(t);if(n.has(r))return n.get(r);var a=function(){t.apply(void 0,arguments),r.apply(void 0,arguments)};return n.set(r,a),a},mT=function(t,r,n){var a=t.scale,i=t.type,o=t.layout,s=t.axisType;if(a==="auto")return o==="radial"&&s==="radiusAxis"?{scale:Hc(),realScaleType:"band"}:o==="radial"&&s==="angleAxis"?{scale:nh(),realScaleType:"linear"}:i==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!n)?{scale:lc(),realScaleType:"point"}:i==="category"?{scale:Hc(),realScaleType:"band"}:{scale:nh(),realScaleType:"linear"};if(Ho(a)){var u="scale".concat(Cm(a));return{scale:(pk[u]||lc)(),realScaleType:pk[u]?u:"point"}}return Me(a)?{scale:a}:{scale:lc(),realScaleType:"point"}},wk=1e-4,vT=function(t){var r=t.domain();if(!(!r||r.length<=2)){var n=r.length,a=t.range(),i=Math.min(a[0],a[1])-wk,o=Math.max(a[0],a[1])+wk,s=t(r[0]),u=t(r[n-1]);(so||uo)&&t.domain([r[0],r[n-1]])}},nZ=function(t,r){if(!t)return null;for(var n=0,a=t.length;na)&&(i[1]=a),i[0]>a&&(i[0]=a),i[1]=0?(t[s][n][0]=i,t[s][n][1]=i+u,i=t[s][n][1]):(t[s][n][0]=o,t[s][n][1]=o+u,o=t[s][n][1])}},oZ=function(t){var r=t.length;if(!(r<=0))for(var n=0,a=t[0].length;n=0?(t[o][n][0]=i,t[o][n][1]=i+s,i=t[o][n][1]):(t[o][n][0]=0,t[o][n][1]=0)}},sZ={sign:iZ,expand:OF,none:hl,silhouette:NF,wiggle:AF,positive:oZ},lZ=function(t,r,n){var a=r.map(function(s){return s.props.dataKey}),i=sZ[n],o=kF().keys(a).value(function(s,u){return+qt(s,u,0)}).order(gx).offset(i);return o(t)},uZ=function(t,r,n,a,i,o){if(!t)return null;var s=o?r.reverse():r,u={},c=s.reduce(function(d,p){var h,b=(h=p.type)!==null&&h!==void 0&&h.defaultProps?Ut(Ut({},p.type.defaultProps),p.props):p.props,v=b.stackId,g=b.hide;if(g)return d;var y=b[n],m=d[y]||{hasStack:!1,stackGroups:{}};if(sr(v)){var w=m.stackGroups[v]||{numericAxisId:n,cateAxisId:a,items:[]};w.items.push(p),m.hasStack=!0,m.stackGroups[v]=w}else m.stackGroups[os("_stackId_")]={numericAxisId:n,cateAxisId:a,items:[p]};return Ut(Ut({},d),{},tl({},y,m))},u),f={};return Object.keys(c).reduce(function(d,p){var h=c[p];if(h.hasStack){var b={};h.stackGroups=Object.keys(h.stackGroups).reduce(function(v,g){var y=h.stackGroups[g];return Ut(Ut({},v),{},tl({},g,{numericAxisId:n,cateAxisId:a,items:y.items,stackedData:lZ(t,y.items,i)}))},b)}return Ut(Ut({},d),{},tl({},p,h))},f)},yT=function(t,r){var n=r.realScaleType,a=r.type,i=r.tickCount,o=r.originalDomain,s=r.allowDecimals,u=n||r.scale;if(u!=="auto"&&u!=="linear")return null;if(i&&a==="number"&&o&&(o[0]==="auto"||o[1]==="auto")){var c=t.domain();if(!c.length)return null;var f=jY(c,i,s);return t.domain([Hm(f),Ii(f)]),{niceTicks:f}}if(i&&a==="number"){var d=t.domain(),p=SY(d,i,s);return{niceTicks:p}}return null};function ch(e){var t=e.axis,r=e.ticks,n=e.bandSize,a=e.entry,i=e.index,o=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Be(a[t.dataKey])){var s=Ip(r,"value",a[t.dataKey]);if(s)return s.coordinate+n/2}return r[i]?r[i].coordinate+n/2:null}var u=qt(a,Be(o)?t.dataKey:o);return Be(u)?null:t.scale(u)}var _k=function(t){var r=t.axis,n=t.ticks,a=t.offset,i=t.bandSize,o=t.entry,s=t.index;if(r.type==="category")return n[s]?n[s].coordinate+a:null;var u=qt(o,r.dataKey,r.domain[s]);return Be(u)?null:r.scale(u)-i/2+a},cZ=function(t){var r=t.numericAxis,n=r.scale.domain();if(r.type==="number"){var a=Math.min(n[0],n[1]),i=Math.max(n[0],n[1]);return a<=0&&i>=0?0:i<0?i:a}return n[0]},dZ=function(t,r){var n,a=(n=t.type)!==null&&n!==void 0&&n.defaultProps?Ut(Ut({},t.type.defaultProps),t.props):t.props,i=a.stackId;if(sr(i)){var o=r[i];if(o){var s=o.items.indexOf(t);return s>=0?o.stackedData[s]:null}}return null},fZ=function(t){return t.reduce(function(r,n){return[Hm(n.concat([r[0]]).filter(ie)),Ii(n.concat([r[1]]).filter(ie))]},[1/0,-1/0])},gT=function(t,r,n){return Object.keys(t).reduce(function(a,i){var o=t[i],s=o.stackedData,u=s.reduce(function(c,f){var d=fZ(f.slice(r,n+1));return[Math.min(c[0],d[0]),Math.max(c[1],d[1])]},[1/0,-1/0]);return[Math.min(u[0],a[0]),Math.max(u[1],a[1])]},[1/0,-1/0]).map(function(a){return a===1/0||a===-1/0?0:a})},jk=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Sk=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Kx=function(t,r,n){if(Me(t))return t(r,n);if(!Array.isArray(t))return r;var a=[];if(ie(t[0]))a[0]=n?t[0]:Math.min(t[0],r[0]);else if(jk.test(t[0])){var i=+jk.exec(t[0])[1];a[0]=r[0]-i}else Me(t[0])?a[0]=t[0](r[0]):a[0]=r[0];if(ie(t[1]))a[1]=n?t[1]:Math.max(t[1],r[1]);else if(Sk.test(t[1])){var o=+Sk.exec(t[1])[1];a[1]=r[1]+o}else Me(t[1])?a[1]=t[1](r[1]):a[1]=r[1];return a},dh=function(t,r,n){if(t&&t.scale&&t.scale.bandwidth){var a=t.scale.bandwidth();if(!n||a>0)return a}if(t&&r&&r.length>=2){for(var i=jw(r,function(d){return d.coordinate}),o=1/0,s=1,u=i.length;se.length)&&(t=e.length);for(var r=0,n=new Array(t);r2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},wZ=function(t,r,n,a,i){var o=t.width,s=t.height,u=t.startAngle,c=t.endAngle,f=Hr(t.cx,o,o/2),d=Hr(t.cy,s,s/2),p=wT(o,s,n),h=Hr(t.innerRadius,p,0),b=Hr(t.outerRadius,p,p*.8),v=Object.keys(r);return v.reduce(function(g,y){var m=r[y],w=m.domain,j=m.reversed,x;if(Be(m.range))a==="angleAxis"?x=[u,c]:a==="radiusAxis"&&(x=[h,b]),j&&(x=[x[1],x[0]]);else{x=m.range;var _=x,k=mZ(_,2);u=k[0],c=k[1]}var O=mT(m,i),A=O.realScaleType,I=O.scale;I.domain(w).range(x),vT(I);var $=yT(I,Ua(Ua({},m),{},{realScaleType:A})),N=Ua(Ua(Ua({},m),$),{},{range:x,radius:b,realScaleType:A,scale:I,cx:f,cy:d,innerRadius:h,outerRadius:b,startAngle:u,endAngle:c});return Ua(Ua({},g),{},bT({},y,N))},{})},_Z=function(t,r){var n=t.x,a=t.y,i=r.x,o=r.y;return Math.sqrt(Math.pow(n-i,2)+Math.pow(a-o,2))},jZ=function(t,r){var n=t.x,a=t.y,i=r.cx,o=r.cy,s=_Z({x:n,y:a},{x:i,y:o});if(s<=0)return{radius:s};var u=(n-i)/s,c=Math.acos(u);return a>o&&(c=2*Math.PI-c),{radius:s,angle:bZ(c),angleInRadian:c}},SZ=function(t){var r=t.startAngle,n=t.endAngle,a=Math.floor(r/360),i=Math.floor(n/360),o=Math.min(a,i);return{startAngle:r-o*360,endAngle:n-o*360}},kZ=function(t,r){var n=r.startAngle,a=r.endAngle,i=Math.floor(n/360),o=Math.floor(a/360),s=Math.min(i,o);return t+s*360},Ak=function(t,r){var n=t.x,a=t.y,i=jZ({x:n,y:a},r),o=i.radius,s=i.angle,u=r.innerRadius,c=r.outerRadius;if(oc)return!1;if(o===0)return!0;var f=SZ(r),d=f.startAngle,p=f.endAngle,h=s,b;if(d<=p){for(;h>p;)h-=360;for(;h=d&&h<=p}else{for(;h>d;)h-=360;for(;h=p&&h<=d}return b?Ua(Ua({},r),{},{radius:o,angle:kZ(h,r)}):null},_T=function(t){return!S.isValidElement(t)&&!Me(t)&&typeof t!="boolean"?t.className:""};function td(e){"@babel/helpers - typeof";return td=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},td(e)}var OZ=["offset"];function NZ(e){return CZ(e)||PZ(e)||EZ(e)||AZ()}function AZ(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function EZ(e,t){if(e){if(typeof e=="string")return Xx(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Xx(e,t)}}function PZ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function CZ(e){if(Array.isArray(e))return Xx(e)}function Xx(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function $Z(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Ek(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function rr(e){for(var t=1;t=0?1:-1,w,j;a==="insideStart"?(w=h+m*o,j=v):a==="insideEnd"?(w=b-m*o,j=!v):a==="end"&&(w=b+m*o,j=v),j=y<=0?j:!j;var x=kt(c,f,g,w),_=kt(c,f,g,w+(j?1:-1)*359),k="M".concat(x.x,",").concat(x.y,` - A`).concat(g,",").concat(g,",0,1,").concat(j?0:1,`, - `).concat(_.x,",").concat(_.y),O=Be(t.id)?os("recharts-radial-line-"):t.id;return E.createElement("text",rd({},n,{dominantBaseline:"central",className:Ge("recharts-radial-bar-label",s)}),E.createElement("defs",null,E.createElement("path",{id:O,d:k})),E.createElement("textPath",{xlinkHref:"#".concat(O)},r))},zZ=function(t){var r=t.viewBox,n=t.offset,a=t.position,i=r,o=i.cx,s=i.cy,u=i.innerRadius,c=i.outerRadius,f=i.startAngle,d=i.endAngle,p=(f+d)/2;if(a==="outside"){var h=kt(o,s,c+n,p),b=h.x,v=h.y;return{x:b,y:v,textAnchor:b>=o?"start":"end",verticalAnchor:"middle"}}if(a==="center")return{x:o,y:s,textAnchor:"middle",verticalAnchor:"middle"};if(a==="centerTop")return{x:o,y:s,textAnchor:"middle",verticalAnchor:"start"};if(a==="centerBottom")return{x:o,y:s,textAnchor:"middle",verticalAnchor:"end"};var g=(u+c)/2,y=kt(o,s,g,p),m=y.x,w=y.y;return{x:m,y:w,textAnchor:"middle",verticalAnchor:"middle"}},BZ=function(t){var r=t.viewBox,n=t.parentViewBox,a=t.offset,i=t.position,o=r,s=o.x,u=o.y,c=o.width,f=o.height,d=f>=0?1:-1,p=d*a,h=d>0?"end":"start",b=d>0?"start":"end",v=c>=0?1:-1,g=v*a,y=v>0?"end":"start",m=v>0?"start":"end";if(i==="top"){var w={x:s+c/2,y:u-d*a,textAnchor:"middle",verticalAnchor:h};return rr(rr({},w),n?{height:Math.max(u-n.y,0),width:c}:{})}if(i==="bottom"){var j={x:s+c/2,y:u+f+p,textAnchor:"middle",verticalAnchor:b};return rr(rr({},j),n?{height:Math.max(n.y+n.height-(u+f),0),width:c}:{})}if(i==="left"){var x={x:s-g,y:u+f/2,textAnchor:y,verticalAnchor:"middle"};return rr(rr({},x),n?{width:Math.max(x.x-n.x,0),height:f}:{})}if(i==="right"){var _={x:s+c+g,y:u+f/2,textAnchor:m,verticalAnchor:"middle"};return rr(rr({},_),n?{width:Math.max(n.x+n.width-_.x,0),height:f}:{})}var k=n?{width:c,height:f}:{};return i==="insideLeft"?rr({x:s+g,y:u+f/2,textAnchor:m,verticalAnchor:"middle"},k):i==="insideRight"?rr({x:s+c-g,y:u+f/2,textAnchor:y,verticalAnchor:"middle"},k):i==="insideTop"?rr({x:s+c/2,y:u+p,textAnchor:"middle",verticalAnchor:b},k):i==="insideBottom"?rr({x:s+c/2,y:u+f-p,textAnchor:"middle",verticalAnchor:h},k):i==="insideTopLeft"?rr({x:s+g,y:u+p,textAnchor:m,verticalAnchor:b},k):i==="insideTopRight"?rr({x:s+c-g,y:u+p,textAnchor:y,verticalAnchor:b},k):i==="insideBottomLeft"?rr({x:s+g,y:u+f-p,textAnchor:m,verticalAnchor:h},k):i==="insideBottomRight"?rr({x:s+c-g,y:u+f-p,textAnchor:y,verticalAnchor:h},k):Xl(i)&&(ie(i.x)||No(i.x))&&(ie(i.y)||No(i.y))?rr({x:s+Hr(i.x,c),y:u+Hr(i.y,f),textAnchor:"end",verticalAnchor:"end"},k):rr({x:s+c/2,y:u+f/2,textAnchor:"middle",verticalAnchor:"middle"},k)},UZ=function(t){return"cx"in t&&ie(t.cx)};function mr(e){var t=e.offset,r=t===void 0?5:t,n=TZ(e,OZ),a=rr({offset:r},n),i=a.viewBox,o=a.position,s=a.value,u=a.children,c=a.content,f=a.className,d=f===void 0?"":f,p=a.textBreakAll;if(!i||Be(s)&&Be(u)&&!S.isValidElement(c)&&!Me(c))return null;if(S.isValidElement(c))return S.cloneElement(c,a);var h;if(Me(c)){if(h=S.createElement(c,a),S.isValidElement(h))return h}else h=DZ(a);var b=UZ(i),v=ke(a,!0);if(b&&(o==="insideStart"||o==="insideEnd"||o==="end"))return FZ(a,h,v);var g=b?zZ(a):BZ(a);return E.createElement(qo,rd({className:Ge("recharts-label",d)},v,g,{breakAll:p}),h)}mr.displayName="Label";var jT=function(t){var r=t.cx,n=t.cy,a=t.angle,i=t.startAngle,o=t.endAngle,s=t.r,u=t.radius,c=t.innerRadius,f=t.outerRadius,d=t.x,p=t.y,h=t.top,b=t.left,v=t.width,g=t.height,y=t.clockWise,m=t.labelViewBox;if(m)return m;if(ie(v)&&ie(g)){if(ie(d)&&ie(p))return{x:d,y:p,width:v,height:g};if(ie(h)&&ie(b))return{x:h,y:b,width:v,height:g}}return ie(d)&&ie(p)?{x:d,y:p,width:0,height:0}:ie(r)&&ie(n)?{cx:r,cy:n,startAngle:i||a||0,endAngle:o||a||0,innerRadius:c||0,outerRadius:f||u||s||0,clockWise:y}:t.viewBox?t.viewBox:{}},VZ=function(t,r){return t?t===!0?E.createElement(mr,{key:"label-implicit",viewBox:r}):sr(t)?E.createElement(mr,{key:"label-implicit",viewBox:r,value:t}):S.isValidElement(t)?t.type===mr?S.cloneElement(t,{key:"label-implicit",viewBox:r}):E.createElement(mr,{key:"label-implicit",content:t,viewBox:r}):Me(t)?E.createElement(mr,{key:"label-implicit",content:t,viewBox:r}):Xl(t)?E.createElement(mr,rd({viewBox:r},t,{key:"label-implicit"})):null:null},WZ=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&n&&!t.label)return null;var a=t.children,i=jT(t),o=_n(a,mr).map(function(u,c){return S.cloneElement(u,{viewBox:r||i,key:"label-".concat(c)})});if(!n)return o;var s=VZ(t.label,r||i);return[s].concat(NZ(o))};mr.parseViewBox=jT;mr.renderCallByParent=WZ;function HZ(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var GZ=HZ;const qZ=pt(GZ);function nd(e){"@babel/helpers - typeof";return nd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nd(e)}var KZ=["valueAccessor"],XZ=["data","dataKey","clockWise","id","textBreakAll"];function YZ(e){return eJ(e)||QZ(e)||JZ(e)||ZZ()}function ZZ(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function JZ(e,t){if(e){if(typeof e=="string")return Yx(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Yx(e,t)}}function QZ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function eJ(e){if(Array.isArray(e))return Yx(e)}function Yx(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function aJ(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var iJ=function(t){return Array.isArray(t.value)?qZ(t.value):t.value};function Na(e){var t=e.valueAccessor,r=t===void 0?iJ:t,n=Tk(e,KZ),a=n.data,i=n.dataKey,o=n.clockWise,s=n.id,u=n.textBreakAll,c=Tk(n,XZ);return!a||!a.length?null:E.createElement(Ze,{className:"recharts-label-list"},a.map(function(f,d){var p=Be(i)?r(f,d):qt(f&&f.payload,i),h=Be(s)?{}:{id:"".concat(s,"-").concat(d)};return E.createElement(mr,ph({},ke(f,!0),c,h,{parentViewBox:f.parentViewBox,value:p,textBreakAll:u,viewBox:mr.parseViewBox(Be(o)?f:Ck(Ck({},f),{},{clockWise:o})),key:"label-".concat(d),index:d}))}))}Na.displayName="LabelList";function oJ(e,t){return e?e===!0?E.createElement(Na,{key:"labelList-implicit",data:t}):E.isValidElement(e)||Me(e)?E.createElement(Na,{key:"labelList-implicit",data:t,content:e}):Xl(e)?E.createElement(Na,ph({data:t},e,{key:"labelList-implicit"})):null:null}function sJ(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&r&&!e.label)return null;var n=e.children,a=_n(n,Na).map(function(o,s){return S.cloneElement(o,{data:t,key:"labelList-".concat(s)})});if(!r)return a;var i=oJ(e.label,t);return[i].concat(YZ(a))}Na.renderCallByParent=sJ;function ad(e){"@babel/helpers - typeof";return ad=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ad(e)}function Zx(){return Zx=Object.assign?Object.assign.bind():function(e){for(var t=1;t180),",").concat(+(o>c),`, - `).concat(d.x,",").concat(d.y,` - `);if(a>0){var h=kt(r,n,a,o),b=kt(r,n,a,c);p+="L ".concat(b.x,",").concat(b.y,` - A `).concat(a,",").concat(a,`,0, - `).concat(+(Math.abs(u)>180),",").concat(+(o<=c),`, - `).concat(h.x,",").concat(h.y," Z")}else p+="L ".concat(r,",").concat(n," Z");return p},fJ=function(t){var r=t.cx,n=t.cy,a=t.innerRadius,i=t.outerRadius,o=t.cornerRadius,s=t.forceCornerRadius,u=t.cornerIsExternal,c=t.startAngle,f=t.endAngle,d=Wr(f-c),p=kf({cx:r,cy:n,radius:i,angle:c,sign:d,cornerRadius:o,cornerIsExternal:u}),h=p.circleTangency,b=p.lineTangency,v=p.theta,g=kf({cx:r,cy:n,radius:i,angle:f,sign:-d,cornerRadius:o,cornerIsExternal:u}),y=g.circleTangency,m=g.lineTangency,w=g.theta,j=u?Math.abs(c-f):Math.abs(c-f)-v-w;if(j<0)return s?"M ".concat(b.x,",").concat(b.y,` - a`).concat(o,",").concat(o,",0,0,1,").concat(o*2,`,0 - a`).concat(o,",").concat(o,",0,0,1,").concat(-o*2,`,0 - `):ST({cx:r,cy:n,innerRadius:a,outerRadius:i,startAngle:c,endAngle:f});var x="M ".concat(b.x,",").concat(b.y,` - A`).concat(o,",").concat(o,",0,0,").concat(+(d<0),",").concat(h.x,",").concat(h.y,` - A`).concat(i,",").concat(i,",0,").concat(+(j>180),",").concat(+(d<0),",").concat(y.x,",").concat(y.y,` - A`).concat(o,",").concat(o,",0,0,").concat(+(d<0),",").concat(m.x,",").concat(m.y,` - `);if(a>0){var _=kf({cx:r,cy:n,radius:a,angle:c,sign:d,isExternal:!0,cornerRadius:o,cornerIsExternal:u}),k=_.circleTangency,O=_.lineTangency,A=_.theta,I=kf({cx:r,cy:n,radius:a,angle:f,sign:-d,isExternal:!0,cornerRadius:o,cornerIsExternal:u}),$=I.circleTangency,N=I.lineTangency,T=I.theta,R=u?Math.abs(c-f):Math.abs(c-f)-A-T;if(R<0&&o===0)return"".concat(x,"L").concat(r,",").concat(n,"Z");x+="L".concat(N.x,",").concat(N.y,` - A`).concat(o,",").concat(o,",0,0,").concat(+(d<0),",").concat($.x,",").concat($.y,` - A`).concat(a,",").concat(a,",0,").concat(+(R>180),",").concat(+(d>0),",").concat(k.x,",").concat(k.y,` - A`).concat(o,",").concat(o,",0,0,").concat(+(d<0),",").concat(O.x,",").concat(O.y,"Z")}else x+="L".concat(r,",").concat(n,"Z");return x},pJ={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},kT=function(t){var r=Rk(Rk({},pJ),t),n=r.cx,a=r.cy,i=r.innerRadius,o=r.outerRadius,s=r.cornerRadius,u=r.forceCornerRadius,c=r.cornerIsExternal,f=r.startAngle,d=r.endAngle,p=r.className;if(o0&&Math.abs(f-d)<360?g=fJ({cx:n,cy:a,innerRadius:i,outerRadius:o,cornerRadius:Math.min(v,b/2),forceCornerRadius:u,cornerIsExternal:c,startAngle:f,endAngle:d}):g=ST({cx:n,cy:a,innerRadius:i,outerRadius:o,startAngle:f,endAngle:d}),E.createElement("path",Zx({},ke(r,!0),{className:h,d:g,role:"img"}))};function id(e){"@babel/helpers - typeof";return id=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},id(e)}function Jx(){return Jx=Object.assign?Object.assign.bind():function(e){for(var t=1;tOJ.call(e,t));function us(e,t){return e===t||!e&&!t&&e!==e&&t!==t}const EJ="__v",PJ="__o",CJ="_owner",{getOwnPropertyDescriptor:Fk,keys:zk}=Object;function TJ(e,t){return e.byteLength===t.byteLength&&hh(new Uint8Array(e),new Uint8Array(t))}function $J(e,t,r){let n=e.length;if(t.length!==n)return!1;for(;n-- >0;)if(!r.equals(e[n],t[n],n,n,e,t,r))return!1;return!0}function RJ(e,t){return e.byteLength===t.byteLength&&hh(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function IJ(e,t){return us(e.getTime(),t.getTime())}function MJ(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function DJ(e,t){return e===t}function Bk(e,t,r){const n=e.size;if(n!==t.size)return!1;if(!n)return!0;const a=new Array(n),i=e.entries();let o,s,u=0;for(;(o=i.next())&&!o.done;){const c=t.entries();let f=!1,d=0;for(;(s=c.next())&&!s.done;){if(a[d]){d++;continue}const p=o.value,h=s.value;if(r.equals(p[0],h[0],u,d,e,t,r)&&r.equals(p[1],h[1],p[0],h[0],e,t,r)){f=a[d]=!0;break}d++}if(!f)return!1;u++}return!0}const LJ=us;function FJ(e,t,r){const n=zk(e);let a=n.length;if(zk(t).length!==a)return!1;for(;a-- >0;)if(!ET(e,t,r,n[a]))return!1;return!0}function Eu(e,t,r){const n=Lk(e);let a=n.length;if(Lk(t).length!==a)return!1;let i,o,s;for(;a-- >0;)if(i=n[a],!ET(e,t,r,i)||(o=Fk(e,i),s=Fk(t,i),(o||s)&&(!o||!s||o.configurable!==s.configurable||o.enumerable!==s.enumerable||o.writable!==s.writable)))return!1;return!0}function zJ(e,t){return us(e.valueOf(),t.valueOf())}function BJ(e,t){return e.source===t.source&&e.flags===t.flags}function Uk(e,t,r){const n=e.size;if(n!==t.size)return!1;if(!n)return!0;const a=new Array(n),i=e.values();let o,s;for(;(o=i.next())&&!o.done;){const u=t.values();let c=!1,f=0;for(;(s=u.next())&&!s.done;){if(!a[f]&&r.equals(o.value,s.value,o.value,s.value,e,t,r)){c=a[f]=!0;break}f++}if(!c)return!1}return!0}function hh(e,t){let r=e.byteLength;if(t.byteLength!==r||e.byteOffset!==t.byteOffset)return!1;for(;r-- >0;)if(e[r]!==t[r])return!1;return!0}function UJ(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function ET(e,t,r,n){return(n===CJ||n===PJ||n===EJ)&&(e.$$typeof||t.$$typeof)?!0:AJ(t,n)&&r.equals(e[n],t[n],n,n,e,t,r)}const VJ="[object ArrayBuffer]",WJ="[object Arguments]",HJ="[object Boolean]",GJ="[object DataView]",qJ="[object Date]",KJ="[object Error]",XJ="[object Map]",YJ="[object Number]",ZJ="[object Object]",JJ="[object RegExp]",QJ="[object Set]",eQ="[object String]",tQ={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},rQ="[object URL]",nQ=Object.prototype.toString;function aQ({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:r,areDatesEqual:n,areErrorsEqual:a,areFunctionsEqual:i,areMapsEqual:o,areNumbersEqual:s,areObjectsEqual:u,arePrimitiveWrappersEqual:c,areRegExpsEqual:f,areSetsEqual:d,areTypedArraysEqual:p,areUrlsEqual:h,unknownTagComparators:b}){return function(g,y,m){if(g===y)return!0;if(g==null||y==null)return!1;const w=typeof g;if(w!==typeof y)return!1;if(w!=="object")return w==="number"?s(g,y,m):w==="function"?i(g,y,m):!1;const j=g.constructor;if(j!==y.constructor)return!1;if(j===Object)return u(g,y,m);if(Array.isArray(g))return t(g,y,m);if(j===Date)return n(g,y,m);if(j===RegExp)return f(g,y,m);if(j===Map)return o(g,y,m);if(j===Set)return d(g,y,m);const x=nQ.call(g);if(x===qJ)return n(g,y,m);if(x===JJ)return f(g,y,m);if(x===XJ)return o(g,y,m);if(x===QJ)return d(g,y,m);if(x===ZJ)return typeof g.then!="function"&&typeof y.then!="function"&&u(g,y,m);if(x===rQ)return h(g,y,m);if(x===KJ)return a(g,y,m);if(x===WJ)return u(g,y,m);if(tQ[x])return p(g,y,m);if(x===VJ)return e(g,y,m);if(x===GJ)return r(g,y,m);if(x===HJ||x===YJ||x===eQ)return c(g,y,m);if(b){let _=b[x];if(!_){const k=NJ(g);k&&(_=b[k])}if(_)return _(g,y,m)}return!1}}function iQ({circular:e,createCustomConfig:t,strict:r}){let n={areArrayBuffersEqual:TJ,areArraysEqual:r?Eu:$J,areDataViewsEqual:RJ,areDatesEqual:IJ,areErrorsEqual:MJ,areFunctionsEqual:DJ,areMapsEqual:r?vy(Bk,Eu):Bk,areNumbersEqual:LJ,areObjectsEqual:r?Eu:FJ,arePrimitiveWrappersEqual:zJ,areRegExpsEqual:BJ,areSetsEqual:r?vy(Uk,Eu):Uk,areTypedArraysEqual:r?vy(hh,Eu):hh,areUrlsEqual:UJ,unknownTagComparators:void 0};if(t&&(n=Object.assign({},n,t(n))),e){const a=Nf(n.areArraysEqual),i=Nf(n.areMapsEqual),o=Nf(n.areObjectsEqual),s=Nf(n.areSetsEqual);n=Object.assign({},n,{areArraysEqual:a,areMapsEqual:i,areObjectsEqual:o,areSetsEqual:s})}return n}function oQ(e){return function(t,r,n,a,i,o,s){return e(t,r,s)}}function sQ({circular:e,comparator:t,createState:r,equals:n,strict:a}){if(r)return function(s,u){const{cache:c=e?new WeakMap:void 0,meta:f}=r();return t(s,u,{cache:c,equals:n,meta:f,strict:a})};if(e)return function(s,u){return t(s,u,{cache:new WeakMap,equals:n,meta:void 0,strict:a})};const i={cache:void 0,equals:n,meta:void 0,strict:a};return function(s,u){return t(s,u,i)}}const lQ=lo();lo({strict:!0});lo({circular:!0});lo({circular:!0,strict:!0});lo({createInternalComparator:()=>us});lo({strict:!0,createInternalComparator:()=>us});lo({circular:!0,createInternalComparator:()=>us});lo({circular:!0,createInternalComparator:()=>us,strict:!0});function lo(e={}){const{circular:t=!1,createInternalComparator:r,createState:n,strict:a=!1}=e,i=iQ(e),o=aQ(i),s=r?r(o):oQ(o);return sQ({circular:t,comparator:o,createState:n,equals:s,strict:a})}function uQ(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function Vk(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=-1,n=function a(i){r<0&&(r=i),i-r>t?(e(i),r=-1):uQ(a)};requestAnimationFrame(n)}function Qx(e){"@babel/helpers - typeof";return Qx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qx(e)}function cQ(e){return hQ(e)||pQ(e)||fQ(e)||dQ()}function dQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fQ(e,t){if(e){if(typeof e=="string")return Wk(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Wk(e,t)}}function Wk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r1?1:y<0?0:y},v=function(y){for(var m=y>1?1:y,w=m,j=0;j<8;++j){var x=d(w)-m,_=h(w);if(Math.abs(x-m)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,a=t.damping,i=a===void 0?8:a,o=t.dt,s=o===void 0?17:o,u=function(f,d,p){var h=-(f-d)*n,b=p*i,v=p+(h-b)*s/1e3,g=p*s/1e3+f;return Math.abs(g-d)e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function HQ(e,t){if(e==null)return{};var r={},n=Object.keys(e),a,i;for(i=0;i=0)&&(r[a]=e[a]);return r}function yy(e){return XQ(e)||KQ(e)||qQ(e)||GQ()}function GQ(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qQ(e,t){if(e){if(typeof e=="string")return a0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return a0(e,t)}}function KQ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function XQ(e){if(Array.isArray(e))return a0(e)}function a0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function yh(e){return yh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},yh(e)}var da=function(e){eee(r,e);var t=tee(r);function r(n,a){var i;YQ(this,r),i=t.call(this,n,a);var o=i.props,s=o.isActive,u=o.attributeName,c=o.from,f=o.to,d=o.steps,p=o.children,h=o.duration;if(i.handleStyleChange=i.handleStyleChange.bind(s0(i)),i.changeStyle=i.changeStyle.bind(s0(i)),!s||h<=0)return i.state={style:{}},typeof p=="function"&&(i.state={style:f}),o0(i);if(d&&d.length)i.state={style:d[0].style};else if(c){if(typeof p=="function")return i.state={style:c},o0(i);i.state={style:u?Vu({},u,c):c}}else i.state={style:{}};return i}return JQ(r,[{key:"componentDidMount",value:function(){var a=this.props,i=a.isActive,o=a.canBegin;this.mounted=!0,!(!i||!o)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(a){var i=this.props,o=i.isActive,s=i.canBegin,u=i.attributeName,c=i.shouldReAnimate,f=i.to,d=i.from,p=this.state.style;if(s){if(!o){var h={style:u?Vu({},u,f):f};this.state&&p&&(u&&p[u]!==f||!u&&p!==f)&&this.setState(h);return}if(!(lQ(a.to,f)&&a.canBegin&&a.isActive)){var b=!a.canBegin||!a.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var v=b||c?d:a.to;if(this.state&&p){var g={style:u?Vu({},u,v):v};(u&&p[u]!==v||!u&&p!==v)&&this.setState(g)}this.runAnimation(Zn(Zn({},this.props),{},{from:v,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var a=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),a&&a()}},{key:"handleStyleChange",value:function(a){this.changeStyle(a)}},{key:"changeStyle",value:function(a){this.mounted&&this.setState({style:a})}},{key:"runJSAnimation",value:function(a){var i=this,o=a.from,s=a.to,u=a.duration,c=a.easing,f=a.begin,d=a.onAnimationEnd,p=a.onAnimationStart,h=UQ(o,s,CQ(c),u,this.changeStyle),b=function(){i.stopJSAnimation=h()};this.manager.start([p,f,b,u,d])}},{key:"runStepAnimation",value:function(a){var i=this,o=a.steps,s=a.begin,u=a.onAnimationStart,c=o[0],f=c.style,d=c.duration,p=d===void 0?0:d,h=function(v,g,y){if(y===0)return v;var m=g.duration,w=g.easing,j=w===void 0?"ease":w,x=g.style,_=g.properties,k=g.onAnimationEnd,O=y>0?o[y-1]:g,A=_||Object.keys(x);if(typeof j=="function"||j==="spring")return[].concat(yy(v),[i.runJSAnimation.bind(i,{from:O.style,to:x,duration:m,easing:j}),m]);var I=qk(A,m,j),$=Zn(Zn(Zn({},O.style),x),{},{transition:I});return[].concat(yy(v),[$,m,k]).filter(xQ)};return this.manager.start([u].concat(yy(o.reduce(h,[f,Math.max(p,s)])),[a.onAnimationEnd]))}},{key:"runAnimation",value:function(a){this.manager||(this.manager=mQ());var i=a.begin,o=a.duration,s=a.attributeName,u=a.to,c=a.easing,f=a.onAnimationStart,d=a.onAnimationEnd,p=a.steps,h=a.children,b=this.manager;if(this.unSubscribe=b.subscribe(this.handleStyleChange),typeof c=="function"||typeof h=="function"||c==="spring"){this.runJSAnimation(a);return}if(p.length>1){this.runStepAnimation(a);return}var v=s?Vu({},s,u):u,g=qk(Object.keys(v),o,c);b.start([f,i,Zn(Zn({},v),{},{transition:g}),o,d])}},{key:"render",value:function(){var a=this.props,i=a.children;a.begin;var o=a.duration;a.attributeName,a.easing;var s=a.isActive;a.steps,a.from,a.to,a.canBegin,a.onAnimationEnd,a.shouldReAnimate,a.onAnimationReStart;var u=WQ(a,VQ),c=S.Children.count(i),f=this.state.style;if(typeof i=="function")return i(f);if(!s||c===0||o<=0)return i;var d=function(h){var b=h.props,v=b.style,g=v===void 0?{}:v,y=b.className,m=S.cloneElement(h,Zn(Zn({},u),{},{style:Zn(Zn({},g),f),className:y}));return m};return c===1?d(S.Children.only(i)):E.createElement("div",null,S.Children.map(i,function(p){return d(p)}))}}]),r}(S.PureComponent);da.displayName="Animate";da.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};da.propTypes={from:dt.oneOfType([dt.object,dt.string]),to:dt.oneOfType([dt.object,dt.string]),attributeName:dt.string,duration:dt.number,begin:dt.number,easing:dt.oneOfType([dt.string,dt.func]),steps:dt.arrayOf(dt.shape({duration:dt.number.isRequired,style:dt.object.isRequired,easing:dt.oneOfType([dt.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),dt.func]),properties:dt.arrayOf("string"),onAnimationEnd:dt.func})),children:dt.oneOfType([dt.node,dt.func]),isActive:dt.bool,canBegin:dt.bool,onAnimationEnd:dt.func,shouldReAnimate:dt.bool,onAnimationStart:dt.func,onAnimationReStart:dt.func};function ld(e){"@babel/helpers - typeof";return ld=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ld(e)}function gh(){return gh=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0?1:-1,u=n>=0?1:-1,c=a>=0&&n>=0||a<0&&n<0?1:0,f;if(o>0&&i instanceof Array){for(var d=[0,0,0,0],p=0,h=4;po?o:i[p];f="M".concat(t,",").concat(r+s*d[0]),d[0]>0&&(f+="A ".concat(d[0],",").concat(d[0],",0,0,").concat(c,",").concat(t+u*d[0],",").concat(r)),f+="L ".concat(t+n-u*d[1],",").concat(r),d[1]>0&&(f+="A ".concat(d[1],",").concat(d[1],",0,0,").concat(c,`, - `).concat(t+n,",").concat(r+s*d[1])),f+="L ".concat(t+n,",").concat(r+a-s*d[2]),d[2]>0&&(f+="A ".concat(d[2],",").concat(d[2],",0,0,").concat(c,`, - `).concat(t+n-u*d[2],",").concat(r+a)),f+="L ".concat(t+u*d[3],",").concat(r+a),d[3]>0&&(f+="A ".concat(d[3],",").concat(d[3],",0,0,").concat(c,`, - `).concat(t,",").concat(r+a-s*d[3])),f+="Z"}else if(o>0&&i===+i&&i>0){var b=Math.min(o,i);f="M ".concat(t,",").concat(r+s*b,` - A `).concat(b,",").concat(b,",0,0,").concat(c,",").concat(t+u*b,",").concat(r,` - L `).concat(t+n-u*b,",").concat(r,` - A `).concat(b,",").concat(b,",0,0,").concat(c,",").concat(t+n,",").concat(r+s*b,` - L `).concat(t+n,",").concat(r+a-s*b,` - A `).concat(b,",").concat(b,",0,0,").concat(c,",").concat(t+n-u*b,",").concat(r+a,` - L `).concat(t+u*b,",").concat(r+a,` - A `).concat(b,",").concat(b,",0,0,").concat(c,",").concat(t,",").concat(r+a-s*b," Z")}else f="M ".concat(t,",").concat(r," h ").concat(n," v ").concat(a," h ").concat(-n," Z");return f},dee=function(t,r){if(!t||!r)return!1;var n=t.x,a=t.y,i=r.x,o=r.y,s=r.width,u=r.height;if(Math.abs(s)>0&&Math.abs(u)>0){var c=Math.min(i,i+s),f=Math.max(i,i+s),d=Math.min(o,o+u),p=Math.max(o,o+u);return n>=c&&n<=f&&a>=d&&a<=p}return!1},fee={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},Yw=function(t){var r=t2(t2({},fee),t),n=S.useRef(),a=S.useState(-1),i=nee(a,2),o=i[0],s=i[1];S.useEffect(function(){if(n.current&&n.current.getTotalLength)try{var j=n.current.getTotalLength();j&&s(j)}catch{}},[]);var u=r.x,c=r.y,f=r.width,d=r.height,p=r.radius,h=r.className,b=r.animationEasing,v=r.animationDuration,g=r.animationBegin,y=r.isAnimationActive,m=r.isUpdateAnimationActive;if(u!==+u||c!==+c||f!==+f||d!==+d||f===0||d===0)return null;var w=Ge("recharts-rectangle",h);return m?E.createElement(da,{canBegin:o>0,from:{width:f,height:d,x:u,y:c},to:{width:f,height:d,x:u,y:c},duration:v,animationEasing:b,isActive:m},function(j){var x=j.width,_=j.height,k=j.x,O=j.y;return E.createElement(da,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:g,duration:v,isActive:y,easing:b},E.createElement("path",gh({},ke(r,!0),{className:w,d:r2(k,O,x,_,p),ref:n})))}):E.createElement("path",gh({},ke(r,!0),{className:w,d:r2(u,c,f,d,p)}))},pee=["points","className","baseLinePoints","connectNulls"];function Ls(){return Ls=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function mee(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function n2(e){return xee(e)||gee(e)||yee(e)||vee()}function vee(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yee(e,t){if(e){if(typeof e=="string")return l0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return l0(e,t)}}function gee(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function xee(e){if(Array.isArray(e))return l0(e)}function l0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&arguments[0]!==void 0?arguments[0]:[],r=[[]];return t.forEach(function(n){a2(n)?r[r.length-1].push(n):r[r.length-1].length>0&&r.push([])}),a2(t[0])&&r[r.length-1].push(t[0]),r[r.length-1].length<=0&&(r=r.slice(0,-1)),r},dc=function(t,r){var n=bee(t);r&&(n=[n.reduce(function(i,o){return[].concat(n2(i),n2(o))},[])]);var a=n.map(function(i){return i.reduce(function(o,s,u){return"".concat(o).concat(u===0?"M":"L").concat(s.x,",").concat(s.y)},"")}).join("");return n.length===1?"".concat(a,"Z"):a},wee=function(t,r,n){var a=dc(t,n);return"".concat(a.slice(-1)==="Z"?a.slice(0,-1):a,"L").concat(dc(r.reverse(),n).slice(1))},_ee=function(t){var r=t.points,n=t.className,a=t.baseLinePoints,i=t.connectNulls,o=hee(t,pee);if(!r||!r.length)return null;var s=Ge("recharts-polygon",n);if(a&&a.length){var u=o.stroke&&o.stroke!=="none",c=wee(r,a,i);return E.createElement("g",{className:s},E.createElement("path",Ls({},ke(o,!0),{fill:c.slice(-1)==="Z"?o.fill:"none",stroke:"none",d:c})),u?E.createElement("path",Ls({},ke(o,!0),{fill:"none",d:dc(r,i)})):null,u?E.createElement("path",Ls({},ke(o,!0),{fill:"none",d:dc(a,i)})):null)}var f=dc(r,i);return E.createElement("path",Ls({},ke(o,!0),{fill:f.slice(-1)==="Z"?o.fill:"none",className:s,d:f}))};function u0(){return u0=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Eee(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var Pee=function(t,r,n,a,i,o){return"M".concat(t,",").concat(i,"v").concat(a,"M").concat(o,",").concat(r,"h").concat(n)},Cee=function(t){var r=t.x,n=r===void 0?0:r,a=t.y,i=a===void 0?0:a,o=t.top,s=o===void 0?0:o,u=t.left,c=u===void 0?0:u,f=t.width,d=f===void 0?0:f,p=t.height,h=p===void 0?0:p,b=t.className,v=Aee(t,jee),g=See({x:n,y:i,top:s,left:c,width:d,height:h},v);return!ie(n)||!ie(i)||!ie(d)||!ie(h)||!ie(s)||!ie(c)?null:E.createElement("path",c0({},ke(g,!0),{className:Ge("recharts-cross",b),d:Pee(n,i,d,h,s,c)}))},Tee=Wm,$ee=qC,Ree=Ma;function Iee(e,t){return e&&e.length?Tee(e,Ree(t),$ee):void 0}var Mee=Iee;const Dee=pt(Mee);var Lee=Wm,Fee=Ma,zee=KC;function Bee(e,t){return e&&e.length?Lee(e,Fee(t),zee):void 0}var Uee=Bee;const Vee=pt(Uee);var Wee=["cx","cy","angle","ticks","axisLine"],Hee=["ticks","tick","angle","tickFormatter","stroke"];function Sl(e){"@babel/helpers - typeof";return Sl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Sl(e)}function fc(){return fc=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Gee(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function qee(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l2(e,t){for(var r=0;rd2?o=a==="outer"?"start":"end":i<-d2?o=a==="outer"?"end":"start":o="middle",o}},{key:"renderAxisLine",value:function(){var n=this.props,a=n.cx,i=n.cy,o=n.radius,s=n.axisLine,u=n.axisLineType,c=mo(mo({},ke(this.props,!1)),{},{fill:"none"},ke(s,!1));if(u==="circle")return E.createElement(Bd,_o({className:"recharts-polar-angle-axis-line"},c,{cx:a,cy:i,r:o}));var f=this.props.ticks,d=f.map(function(p){return kt(a,i,o,p.coordinate)});return E.createElement(_ee,_o({className:"recharts-polar-angle-axis-line"},c,{points:d}))}},{key:"renderTicks",value:function(){var n=this,a=this.props,i=a.ticks,o=a.tick,s=a.tickLine,u=a.tickFormatter,c=a.stroke,f=ke(this.props,!1),d=ke(o,!1),p=mo(mo({},f),{},{fill:"none"},ke(s,!1)),h=i.map(function(b,v){var g=n.getTickLineCoord(b),y=n.getTickTextAnchor(b),m=mo(mo(mo({textAnchor:y},f),{},{stroke:"none",fill:c},d),{},{index:v,payload:b,x:g.x2,y:g.y2});return E.createElement(Ze,_o({className:Ge("recharts-polar-angle-axis-tick",_T(o)),key:"tick-".concat(b.coordinate)},Go(n.props,b,v)),s&&E.createElement("line",_o({className:"recharts-polar-angle-axis-tick-line"},p,g)),o&&t.renderTickItem(o,m,u?u(b.value,v):b.value))});return E.createElement(Ze,{className:"recharts-polar-angle-axis-ticks"},h)}},{key:"render",value:function(){var n=this.props,a=n.ticks,i=n.radius,o=n.axisLine;return i<=0||!a||!a.length?null:E.createElement(Ze,{className:Ge("recharts-polar-angle-axis",this.props.className)},o&&this.renderAxisLine(),this.renderTicks())}}],[{key:"renderTickItem",value:function(n,a,i){var o;return E.isValidElement(n)?o=E.cloneElement(n,a):Me(n)?o=n(a):o=E.createElement(qo,_o({},a,{className:"recharts-polar-angle-axis-tick-value"}),i),o}}])}(S.PureComponent);Ym(Zm,"displayName","PolarAngleAxis");Ym(Zm,"axisType","angleAxis");Ym(Zm,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var lte=WP,ute=lte(Object.getPrototypeOf,Object),cte=ute,dte=fi,fte=cte,pte=pi,hte="[object Object]",mte=Function.prototype,vte=Object.prototype,zT=mte.toString,yte=vte.hasOwnProperty,gte=zT.call(Object);function xte(e){if(!pte(e)||dte(e)!=hte)return!1;var t=fte(e);if(t===null)return!0;var r=yte.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&zT.call(r)==gte}var bte=xte;const wte=pt(bte);var _te=fi,jte=pi,Ste="[object Boolean]";function kte(e){return e===!0||e===!1||jte(e)&&_te(e)==Ste}var Ote=kte;const Nte=pt(Ote);function cd(e){"@babel/helpers - typeof";return cd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},cd(e)}function wh(){return wh=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0,from:{upperWidth:0,lowerWidth:0,height:p,x:u,y:c},to:{upperWidth:f,lowerWidth:d,height:p,x:u,y:c},duration:v,animationEasing:b,isActive:y},function(w){var j=w.upperWidth,x=w.lowerWidth,_=w.height,k=w.x,O=w.y;return E.createElement(da,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:g,duration:v,easing:b},E.createElement("path",wh({},ke(r,!0),{className:m,d:m2(k,O,j,x,_),ref:n})))}):E.createElement("g",null,E.createElement("path",wh({},ke(r,!0),{className:m,d:m2(u,c,f,d,p)})))},Lte=["option","shapeType","propTransformer","activeClassName","isActive"];function dd(e){"@babel/helpers - typeof";return dd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dd(e)}function Fte(e,t){if(e==null)return{};var r=zte(e,t),n,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function zte(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function v2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function _h(e){for(var t=1;t0?wn(w,"paddingAngle",0):0;if(x){var k=ir(x.endAngle-x.startAngle,w.endAngle-w.startAngle),O=_t(_t({},w),{},{startAngle:m+_,endAngle:m+k(v)+_});g.push(O),m=O.endAngle}else{var A=w.endAngle,I=w.startAngle,$=ir(0,A-I),N=$(v),T=_t(_t({},w),{},{startAngle:m+_,endAngle:m+N+_});g.push(T),m=T.endAngle}}),E.createElement(Ze,null,n.renderSectorsStatically(g))})}},{key:"attachKeyboardHandlers",value:function(n){var a=this;n.onkeydown=function(i){if(!i.altKey)switch(i.key){case"ArrowLeft":{var o=++a.state.sectorToFocus%a.sectorRefs.length;a.sectorRefs[o].focus(),a.setState({sectorToFocus:o});break}case"ArrowRight":{var s=--a.state.sectorToFocus<0?a.sectorRefs.length-1:a.state.sectorToFocus%a.sectorRefs.length;a.sectorRefs[s].focus(),a.setState({sectorToFocus:s});break}case"Escape":{a.sectorRefs[a.state.sectorToFocus].blur(),a.setState({sectorToFocus:0});break}}}}},{key:"renderSectors",value:function(){var n=this.props,a=n.sectors,i=n.isAnimationActive,o=this.state.prevSectors;return i&&a&&a.length&&(!o||!Ko(o,a))?this.renderSectorsWithAnimation():this.renderSectorsStatically(a)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var n=this,a=this.props,i=a.hide,o=a.sectors,s=a.className,u=a.label,c=a.cx,f=a.cy,d=a.innerRadius,p=a.outerRadius,h=a.isAnimationActive,b=this.state.isAnimationFinished;if(i||!o||!o.length||!ie(c)||!ie(f)||!ie(d)||!ie(p))return null;var v=Ge("recharts-pie",s);return E.createElement(Ze,{tabIndex:this.props.rootTabIndex,className:v,ref:function(y){n.pieRef=y}},this.renderSectors(),u&&this.renderLabels(o),mr.renderCallByParent(this.props,null,!1),(!h||b)&&Na.renderCallByParent(this.props,o,!1))}}],[{key:"getDerivedStateFromProps",value:function(n,a){return a.prevIsAnimationActive!==n.isAnimationActive?{prevIsAnimationActive:n.isAnimationActive,prevAnimationId:n.animationId,curSectors:n.sectors,prevSectors:[],isAnimationFinished:!0}:n.isAnimationActive&&n.animationId!==a.prevAnimationId?{prevAnimationId:n.animationId,curSectors:n.sectors,prevSectors:a.curSectors,isAnimationFinished:!0}:n.sectors!==a.curSectors?{curSectors:n.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(n,a){return n>a?"start":n=360?m:m-1)*u,j=g-m*h-w,x=a.reduce(function(O,A){var I=qt(A,y,0);return O+(ie(I)?I:0)},0),_;if(x>0){var k;_=a.map(function(O,A){var I=qt(O,y,0),$=qt(O,f,A),N=(ie(I)?I:0)/x,T;A?T=k.endAngle+Wr(v)*u*(I!==0?1:0):T=o;var R=T+Wr(v)*((I!==0?h:0)+N*j),L=(T+R)/2,U=(b.innerRadius+b.outerRadius)/2,W=[{name:$,value:I,payload:O,dataKey:y,type:p}],M=kt(b.cx,b.cy,U,L);return k=_t(_t(_t({percent:N,cornerRadius:i,name:$,tooltipPayload:W,midAngle:L,middleRadius:U,tooltipPosition:M},O),b),{},{value:qt(O,y),startAngle:T,endAngle:R,payload:O,paddingAngle:Wr(v)*u}),k})}return _t(_t({},b),{},{sectors:_,data:a})});var sre=Math.ceil,lre=Math.max;function ure(e,t,r,n){for(var a=-1,i=lre(sre((t-e)/(r||1)),0),o=Array(i);i--;)o[n?i:++a]=e,e+=r;return o}var cre=ure,dre=uC,b2=1/0,fre=17976931348623157e292;function pre(e){if(!e)return e===0?e:0;if(e=dre(e),e===b2||e===-b2){var t=e<0?-1:1;return t*fre}return e===e?e:0}var WT=pre,hre=cre,mre=Dm,gy=WT;function vre(e){return function(t,r,n){return n&&typeof n!="number"&&mre(t,r,n)&&(r=n=void 0),t=gy(t),r===void 0?(r=t,t=0):r=gy(r),n=n===void 0?t0&&n.handleDrag(a.changedTouches[0])}),hn(n,"handleDragEnd",function(){n.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var a=n.props,i=a.endIndex,o=a.onDragEnd,s=a.startIndex;o==null||o({endIndex:i,startIndex:s})}),n.detachDragEndListener()}),hn(n,"handleLeaveWrapper",function(){(n.state.isTravellerMoving||n.state.isSlideMoving)&&(n.leaveTimer=window.setTimeout(n.handleDragEnd,n.props.leaveTimeOut))}),hn(n,"handleEnterSlideOrTraveller",function(){n.setState({isTextActive:!0})}),hn(n,"handleLeaveSlideOrTraveller",function(){n.setState({isTextActive:!1})}),hn(n,"handleSlideDragStart",function(a){var i=k2(a)?a.changedTouches[0]:a;n.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:i.pageX}),n.attachDragEndListener()}),n.travellerDragStartHandlers={startX:n.handleTravellerDragStart.bind(n,"startX"),endX:n.handleTravellerDragStart.bind(n,"endX")},n.state={},n}return Pre(t,e),Ore(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(n){var a=n.startX,i=n.endX,o=this.state.scaleValues,s=this.props,u=s.gap,c=s.data,f=c.length-1,d=Math.min(a,i),p=Math.max(a,i),h=t.getIndexInRange(o,d),b=t.getIndexInRange(o,p);return{startIndex:h-h%u,endIndex:b===f?f:b-b%u}}},{key:"getTextOfTick",value:function(n){var a=this.props,i=a.data,o=a.tickFormatter,s=a.dataKey,u=qt(i[n],s,n);return Me(o)?o(u,n):u}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(n){var a=this.state,i=a.slideMoveStartX,o=a.startX,s=a.endX,u=this.props,c=u.x,f=u.width,d=u.travellerWidth,p=u.startIndex,h=u.endIndex,b=u.onChange,v=n.pageX-i;v>0?v=Math.min(v,c+f-d-s,c+f-d-o):v<0&&(v=Math.max(v,c-o,c-s));var g=this.getIndex({startX:o+v,endX:s+v});(g.startIndex!==p||g.endIndex!==h)&&b&&b(g),this.setState({startX:o+v,endX:s+v,slideMoveStartX:n.pageX})}},{key:"handleTravellerDragStart",value:function(n,a){var i=k2(a)?a.changedTouches[0]:a;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:n,brushMoveStartX:i.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(n){var a=this.state,i=a.brushMoveStartX,o=a.movingTravellerId,s=a.endX,u=a.startX,c=this.state[o],f=this.props,d=f.x,p=f.width,h=f.travellerWidth,b=f.onChange,v=f.gap,g=f.data,y={startX:this.state.startX,endX:this.state.endX},m=n.pageX-i;m>0?m=Math.min(m,d+p-h-c):m<0&&(m=Math.max(m,d-c)),y[o]=c+m;var w=this.getIndex(y),j=w.startIndex,x=w.endIndex,_=function(){var O=g.length-1;return o==="startX"&&(s>u?j%v===0:x%v===0)||su?x%v===0:j%v===0)||s>u&&x===O};this.setState(hn(hn({},o,c+m),"brushMoveStartX",n.pageX),function(){b&&_()&&b(w)})}},{key:"handleTravellerMoveKeyboard",value:function(n,a){var i=this,o=this.state,s=o.scaleValues,u=o.startX,c=o.endX,f=this.state[a],d=s.indexOf(f);if(d!==-1){var p=d+n;if(!(p===-1||p>=s.length)){var h=s[p];a==="startX"&&h>=c||a==="endX"&&h<=u||this.setState(hn({},a,h),function(){i.props.onChange(i.getIndex({startX:i.state.startX,endX:i.state.endX}))})}}}},{key:"renderBackground",value:function(){var n=this.props,a=n.x,i=n.y,o=n.width,s=n.height,u=n.fill,c=n.stroke;return E.createElement("rect",{stroke:c,fill:u,x:a,y:i,width:o,height:s})}},{key:"renderPanorama",value:function(){var n=this.props,a=n.x,i=n.y,o=n.width,s=n.height,u=n.data,c=n.children,f=n.padding,d=S.Children.only(c);return d?E.cloneElement(d,{x:a,y:i,width:o,height:s,margin:f,compact:!0,data:u}):null}},{key:"renderTravellerLayer",value:function(n,a){var i,o,s=this,u=this.props,c=u.y,f=u.travellerWidth,d=u.height,p=u.traveller,h=u.ariaLabel,b=u.data,v=u.startIndex,g=u.endIndex,y=Math.max(n,this.props.x),m=xy(xy({},ke(this.props,!1)),{},{x:y,y:c,width:f,height:d}),w=h||"Min value: ".concat((i=b[v])===null||i===void 0?void 0:i.name,", Max value: ").concat((o=b[g])===null||o===void 0?void 0:o.name);return E.createElement(Ze,{tabIndex:0,role:"slider","aria-label":w,"aria-valuenow":n,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[a],onTouchStart:this.travellerDragStartHandlers[a],onKeyDown:function(x){["ArrowLeft","ArrowRight"].includes(x.key)&&(x.preventDefault(),x.stopPropagation(),s.handleTravellerMoveKeyboard(x.key==="ArrowRight"?1:-1,a))},onFocus:function(){s.setState({isTravellerFocused:!0})},onBlur:function(){s.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(p,m))}},{key:"renderSlide",value:function(n,a){var i=this.props,o=i.y,s=i.height,u=i.stroke,c=i.travellerWidth,f=Math.min(n,a)+c,d=Math.max(Math.abs(a-n)-c,0);return E.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:u,fillOpacity:.2,x:f,y:o,width:d,height:s})}},{key:"renderText",value:function(){var n=this.props,a=n.startIndex,i=n.endIndex,o=n.y,s=n.height,u=n.travellerWidth,c=n.stroke,f=this.state,d=f.startX,p=f.endX,h=5,b={pointerEvents:"none",fill:c};return E.createElement(Ze,{className:"recharts-brush-texts"},E.createElement(qo,kh({textAnchor:"end",verticalAnchor:"middle",x:Math.min(d,p)-h,y:o+s/2},b),this.getTextOfTick(a)),E.createElement(qo,kh({textAnchor:"start",verticalAnchor:"middle",x:Math.max(d,p)+u+h,y:o+s/2},b),this.getTextOfTick(i)))}},{key:"render",value:function(){var n=this.props,a=n.data,i=n.className,o=n.children,s=n.x,u=n.y,c=n.width,f=n.height,d=n.alwaysShowText,p=this.state,h=p.startX,b=p.endX,v=p.isTextActive,g=p.isSlideMoving,y=p.isTravellerMoving,m=p.isTravellerFocused;if(!a||!a.length||!ie(s)||!ie(u)||!ie(c)||!ie(f)||c<=0||f<=0)return null;var w=Ge("recharts-brush",i),j=E.Children.count(o)===1,x=Sre("userSelect","none");return E.createElement(Ze,{className:w,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:x},this.renderBackground(),j&&this.renderPanorama(),this.renderSlide(h,b),this.renderTravellerLayer(h,"startX"),this.renderTravellerLayer(b,"endX"),(v||g||y||m||d)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(n){var a=n.x,i=n.y,o=n.width,s=n.height,u=n.stroke,c=Math.floor(i+s/2)-1;return E.createElement(E.Fragment,null,E.createElement("rect",{x:a,y:i,width:o,height:s,fill:u,stroke:"none"}),E.createElement("line",{x1:a+1,y1:c,x2:a+o-1,y2:c,fill:"none",stroke:"#fff"}),E.createElement("line",{x1:a+1,y1:c+2,x2:a+o-1,y2:c+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(n,a){var i;return E.isValidElement(n)?i=E.cloneElement(n,a):Me(n)?i=n(a):i=t.renderDefaultTraveller(a),i}},{key:"getDerivedStateFromProps",value:function(n,a){var i=n.data,o=n.width,s=n.x,u=n.travellerWidth,c=n.updateId,f=n.startIndex,d=n.endIndex;if(i!==a.prevData||c!==a.prevUpdateId)return xy({prevData:i,prevTravellerWidth:u,prevUpdateId:c,prevX:s,prevWidth:o},i&&i.length?Tre({data:i,width:o,x:s,travellerWidth:u,startIndex:f,endIndex:d}):{scale:null,scaleValues:null});if(a.scale&&(o!==a.prevWidth||s!==a.prevX||u!==a.prevTravellerWidth)){a.scale.range([s,s+o-u]);var p=a.scale.domain().map(function(h){return a.scale(h)});return{prevData:i,prevTravellerWidth:u,prevUpdateId:c,prevX:s,prevWidth:o,startX:a.scale(n.startIndex),endX:a.scale(n.endIndex),scaleValues:p}}return null}},{key:"getIndexInRange",value:function(n,a){for(var i=n.length,o=0,s=i-1;s-o>1;){var u=Math.floor((o+s)/2);n[u]>a?s=u:o=u}return a>=n[s]?s:o}}])}(S.PureComponent);hn(Al,"displayName","Brush");hn(Al,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var $re=_w;function Rre(e,t){var r;return $re(e,function(n,a,i){return r=t(n,a,i),!r}),!!r}var Ire=Rre,Mre=MP,Dre=Ma,Lre=Ire,Fre=un,zre=Dm;function Bre(e,t,r){var n=Fre(e)?Mre:Lre;return r&&zre(e,t,r)&&(t=void 0),n(e,Dre(t))}var Ure=Bre;const Vre=pt(Ure);var Aa=function(t,r){var n=t.alwaysShow,a=t.ifOverflow;return n&&(a="extendDomain"),a===r},O2=aC;function Wre(e,t,r){t=="__proto__"&&O2?O2(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var Hre=Wre,Gre=Hre,qre=rC,Kre=Ma;function Xre(e,t){var r={};return t=Kre(t),qre(e,function(n,a,i){Gre(r,a,t(n,a,i))}),r}var Yre=Xre;const Zre=pt(Yre);function Jre(e,t){for(var r=-1,n=e==null?0:e.length;++r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function mne(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function vne(e,t){var r=e.x,n=e.y,a=hne(e,cne),i="".concat(r),o=parseInt(i,10),s="".concat(n),u=parseInt(s,10),c="".concat(t.height||a.height),f=parseInt(c,10),d="".concat(t.width||a.width),p=parseInt(d,10);return Pu(Pu(Pu(Pu(Pu({},t),a),o?{x:o}:{}),u?{y:u}:{}),{},{height:f,width:p,name:t.name,radius:t.radius})}function A2(e){return E.createElement(BT,m0({shapeType:"rectangle",propTransformer:vne,activeClassName:"recharts-active-bar"},e))}var yne=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(n,a){if(typeof t=="number")return t;var i=ie(n)||F6(n);return i?t(n,a):(i||Yo(),r)}},gne=["value","background"],XT;function El(e){"@babel/helpers - typeof";return El=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},El(e)}function xne(e,t){if(e==null)return{};var r=bne(e,t),n,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function bne(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Nh(){return Nh=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs(L)0&&Math.abs(R)0&&(T=Math.min((X||0)-(R[se-1]||0),T))}),Number.isFinite(T)){var L=T/N,U=v.layout==="vertical"?n.height:n.width;if(v.padding==="gap"&&(k=L*U/2),v.padding==="no-gap"){var W=Hr(t.barCategoryGap,L*U),M=L*U/2;k=M-W-(M-W)/U*W}}}a==="xAxis"?O=[n.left+(w.left||0)+(k||0),n.left+n.width-(w.right||0)-(k||0)]:a==="yAxis"?O=u==="horizontal"?[n.top+n.height-(w.bottom||0),n.top+(w.top||0)]:[n.top+(w.top||0)+(k||0),n.top+n.height-(w.bottom||0)-(k||0)]:O=v.range,x&&(O=[O[1],O[0]]);var B=mT(v,i,p),G=B.scale,H=B.realScaleType;G.domain(y).range(O),vT(G);var q=yT(G,ta(ta({},v),{},{realScaleType:H}));a==="xAxis"?($=g==="top"&&!j||g==="bottom"&&j,A=n.left,I=d[_]-$*v.height):a==="yAxis"&&($=g==="left"&&!j||g==="right"&&j,A=d[_]-$*v.width,I=n.top);var ae=ta(ta(ta({},v),q),{},{realScaleType:H,x:A,y:I,scale:G,width:a==="xAxis"?n.width:v.width,height:a==="yAxis"?n.height:v.height});return ae.bandSize=dh(ae,q),!v.hide&&a==="xAxis"?d[_]+=($?-1:1)*ae.height:v.hide||(d[_]+=($?-1:1)*ae.width),ta(ta({},h),{},ev({},b,ae))},{})},QT=function(t,r){var n=t.x,a=t.y,i=r.x,o=r.y;return{x:Math.min(n,i),y:Math.min(a,o),width:Math.abs(i-n),height:Math.abs(o-a)}},Cne=function(t){var r=t.x1,n=t.y1,a=t.x2,i=t.y2;return QT({x:r,y:n},{x:a,y:i})},e$=function(){function e(t){Ane(this,e),this.scale=t}return Ene(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=n.bandAware,i=n.position;if(r!==void 0){if(i)switch(i){case"start":return this.scale(r);case"middle":{var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+o}case"end":{var s=this.bandwidth?this.bandwidth():0;return this.scale(r)+s}default:return this.scale(r)}if(a){var u=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+u}return this.scale(r)}}},{key:"isInRange",value:function(r){var n=this.range(),a=n[0],i=n[n.length-1];return a<=i?r>=a&&r<=i:r>=i&&r<=a}}],[{key:"create",value:function(r){return new e(r)}}])}();ev(e$,"EPS",1e-4);var Jw=function(t){var r=Object.keys(t).reduce(function(n,a){return ta(ta({},n),{},ev({},a,e$.create(t[a])))},{});return ta(ta({},r),{},{apply:function(a){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=i.bandAware,s=i.position;return Zre(a,function(u,c){return r[c].apply(u,{bandAware:o,position:s})})},isInRange:function(a){return KT(a,function(i,o){return r[o].isInRange(i)})}})};function Tne(e){return(e%180+180)%180}var $ne=function(t){var r=t.width,n=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=Tne(a),o=i*Math.PI/180,s=Math.atan(n/r),u=o>s&&o-1?a[i?t[o]:o]:void 0}}var Lne=Dne,Fne=WT;function zne(e){var t=Fne(e),r=t%1;return t===t?r?t-r:t:0}var Bne=zne,Une=YP,Vne=Ma,Wne=Bne,Hne=Math.max;function Gne(e,t,r){var n=e==null?0:e.length;if(!n)return-1;var a=r==null?0:Wne(r);return a<0&&(a=Hne(n+a,0)),Une(e,Vne(t),a)}var qne=Gne,Kne=Lne,Xne=qne,Yne=Kne(Xne),Zne=Yne;const Jne=pt(Zne);var Qne=H5(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),Qw=S.createContext(void 0),e1=S.createContext(void 0),t$=S.createContext(void 0),r$=S.createContext({}),n$=S.createContext(void 0),a$=S.createContext(0),i$=S.createContext(0),$2=function(t){var r=t.state,n=r.xAxisMap,a=r.yAxisMap,i=r.offset,o=t.clipPathId,s=t.children,u=t.width,c=t.height,f=Qne(i);return E.createElement(Qw.Provider,{value:n},E.createElement(e1.Provider,{value:a},E.createElement(r$.Provider,{value:i},E.createElement(t$.Provider,{value:f},E.createElement(n$.Provider,{value:o},E.createElement(a$.Provider,{value:c},E.createElement(i$.Provider,{value:u},s)))))))},eae=function(){return S.useContext(n$)},o$=function(t){var r=S.useContext(Qw);r==null&&Yo();var n=r[t];return n==null&&Yo(),n},tae=function(){var t=S.useContext(Qw);return Ei(t)},rae=function(){var t=S.useContext(e1),r=Jne(t,function(n){return KT(n.domain,Number.isFinite)});return r||Ei(t)},s$=function(t){var r=S.useContext(e1);r==null&&Yo();var n=r[t];return n==null&&Yo(),n},nae=function(){var t=S.useContext(t$);return t},aae=function(){return S.useContext(r$)},t1=function(){return S.useContext(i$)},r1=function(){return S.useContext(a$)};function Pl(e){"@babel/helpers - typeof";return Pl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pl(e)}function iae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function oae(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);re*a)return!1;var i=r();return e*(t-e*i/2-n)>=0&&e*(t+e*i/2-a)<=0}function Bae(e,t){return h$(e,t+1)}function Uae(e,t,r,n,a){for(var i=(n||[]).slice(),o=t.start,s=t.end,u=0,c=1,f=o,d=function(){var b=n==null?void 0:n[u];if(b===void 0)return{v:h$(n,c)};var v=u,g,y=function(){return g===void 0&&(g=r(b,v)),g},m=b.coordinate,w=u===0||Th(e,m,y,f,s);w||(u=0,f=o,c+=1),w&&(f=m+e*(y()/2+a),u+=c)},p;c<=i.length;)if(p=d(),p)return p.v;return[]}function vd(e){"@babel/helpers - typeof";return vd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vd(e)}function B2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Rr(e){for(var t=1;t0?h.coordinate-g*e:h.coordinate})}else i[p]=h=Rr(Rr({},h),{},{tickCoord:h.coordinate});var y=Th(e,h.tickCoord,v,s,u);y&&(u=h.tickCoord-e*(v()/2+a),i[p]=Rr(Rr({},h),{},{isShow:!0}))},f=o-1;f>=0;f--)c(f);return i}function qae(e,t,r,n,a,i){var o=(n||[]).slice(),s=o.length,u=t.start,c=t.end;if(i){var f=n[s-1],d=r(f,s-1),p=e*(f.coordinate+e*d/2-c);o[s-1]=f=Rr(Rr({},f),{},{tickCoord:p>0?f.coordinate-p*e:f.coordinate});var h=Th(e,f.tickCoord,function(){return d},u,c);h&&(c=f.tickCoord-e*(d/2+a),o[s-1]=Rr(Rr({},f),{},{isShow:!0}))}for(var b=i?s-1:s,v=function(m){var w=o[m],j,x=function(){return j===void 0&&(j=r(w,m)),j};if(m===0){var _=e*(w.coordinate-e*x()/2-u);o[m]=w=Rr(Rr({},w),{},{tickCoord:_<0?w.coordinate-_*e:w.coordinate})}else o[m]=w=Rr(Rr({},w),{},{tickCoord:w.coordinate});var k=Th(e,w.tickCoord,x,u,c);k&&(u=w.tickCoord+e*(x()/2+a),o[m]=Rr(Rr({},w),{},{isShow:!0}))},g=0;g=2?Wr(a[1].coordinate-a[0].coordinate):1,y=zae(i,g,h);return u==="equidistantPreserveStart"?Uae(g,y,v,a,o):(u==="preserveStart"||u==="preserveStartEnd"?p=qae(g,y,v,a,o,u==="preserveStartEnd"):p=Gae(g,y,v,a,o),p.filter(function(m){return m.isShow}))}var Kae=["viewBox"],Xae=["viewBox"],Yae=["ticks"];function $l(e){"@babel/helpers - typeof";return $l=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$l(e)}function zs(){return zs=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Zae(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Jae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function V2(e,t){for(var r=0;r0?u(this.props):u(h)),o<=0||s<=0||!b||!b.length?null:E.createElement(Ze,{className:Ge("recharts-cartesian-axis",c),ref:function(g){n.layerReference=g}},i&&this.renderAxisLine(),this.renderTicks(b,this.state.fontSize,this.state.letterSpacing),mr.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(n,a,i){var o,s=Ge(a.className,"recharts-cartesian-axis-tick-value");return E.isValidElement(n)?o=E.cloneElement(n,tr(tr({},a),{},{className:s})):Me(n)?o=n(tr(tr({},a),{},{className:s})):o=E.createElement(qo,zs({},a,{className:"recharts-cartesian-axis-tick-value"}),i),o}}])}(S.Component);o1(ou,"displayName","CartesianAxis");o1(ou,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var iie=["x1","y1","x2","y2","key"],oie=["offset"];function Zo(e){"@babel/helpers - typeof";return Zo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zo(e)}function W2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Dr(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function cie(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var die=function(t){var r=t.fill;if(!r||r==="none")return null;var n=t.fillOpacity,a=t.x,i=t.y,o=t.width,s=t.height,u=t.ry;return E.createElement("rect",{x:a,y:i,ry:u,width:o,height:s,stroke:"none",fill:r,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function y$(e,t){var r;if(E.isValidElement(e))r=E.cloneElement(e,t);else if(Me(e))r=e(t);else{var n=t.x1,a=t.y1,i=t.x2,o=t.y2,s=t.key,u=H2(t,iie),c=ke(u,!1);c.offset;var f=H2(c,oie);r=E.createElement("line",Po({},f,{x1:n,y1:a,x2:i,y2:o,fill:"none",key:s}))}return r}function fie(e){var t=e.x,r=e.width,n=e.horizontal,a=n===void 0?!0:n,i=e.horizontalPoints;if(!a||!i||!i.length)return null;var o=i.map(function(s,u){var c=Dr(Dr({},e),{},{x1:t,y1:s,x2:t+r,y2:s,key:"line-".concat(u),index:u});return y$(a,c)});return E.createElement("g",{className:"recharts-cartesian-grid-horizontal"},o)}function pie(e){var t=e.y,r=e.height,n=e.vertical,a=n===void 0?!0:n,i=e.verticalPoints;if(!a||!i||!i.length)return null;var o=i.map(function(s,u){var c=Dr(Dr({},e),{},{x1:s,y1:t,x2:s,y2:t+r,key:"line-".concat(u),index:u});return y$(a,c)});return E.createElement("g",{className:"recharts-cartesian-grid-vertical"},o)}function hie(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,a=e.y,i=e.width,o=e.height,s=e.horizontalPoints,u=e.horizontal,c=u===void 0?!0:u;if(!c||!t||!t.length)return null;var f=s.map(function(p){return Math.round(p+a-a)}).sort(function(p,h){return p-h});a!==f[0]&&f.unshift(0);var d=f.map(function(p,h){var b=!f[h+1],v=b?a+o-p:f[h+1]-p;if(v<=0)return null;var g=h%t.length;return E.createElement("rect",{key:"react-".concat(h),y:p,x:n,height:v,width:i,stroke:"none",fill:t[g],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return E.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function mie(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,a=e.fillOpacity,i=e.x,o=e.y,s=e.width,u=e.height,c=e.verticalPoints;if(!r||!n||!n.length)return null;var f=c.map(function(p){return Math.round(p+i-i)}).sort(function(p,h){return p-h});i!==f[0]&&f.unshift(0);var d=f.map(function(p,h){var b=!f[h+1],v=b?i+s-p:f[h+1]-p;if(v<=0)return null;var g=h%n.length;return E.createElement("rect",{key:"react-".concat(h),x:p,y:o,width:v,height:u,stroke:"none",fill:n[g],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return E.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var vie=function(t,r){var n=t.xAxis,a=t.width,i=t.height,o=t.offset;return hT(i1(Dr(Dr(Dr({},ou.defaultProps),n),{},{ticks:Ya(n,!0),viewBox:{x:0,y:0,width:a,height:i}})),o.left,o.left+o.width,r)},yie=function(t,r){var n=t.yAxis,a=t.width,i=t.height,o=t.offset;return hT(i1(Dr(Dr(Dr({},ou.defaultProps),n),{},{ticks:Ya(n,!0),viewBox:{x:0,y:0,width:a,height:i}})),o.top,o.top+o.height,r)},hs={horizontal:!0,vertical:!0,stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function op(e){var t,r,n,a,i,o,s=t1(),u=r1(),c=aae(),f=Dr(Dr({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:hs.stroke,fill:(r=e.fill)!==null&&r!==void 0?r:hs.fill,horizontal:(n=e.horizontal)!==null&&n!==void 0?n:hs.horizontal,horizontalFill:(a=e.horizontalFill)!==null&&a!==void 0?a:hs.horizontalFill,vertical:(i=e.vertical)!==null&&i!==void 0?i:hs.vertical,verticalFill:(o=e.verticalFill)!==null&&o!==void 0?o:hs.verticalFill,x:ie(e.x)?e.x:c.left,y:ie(e.y)?e.y:c.top,width:ie(e.width)?e.width:c.width,height:ie(e.height)?e.height:c.height}),d=f.x,p=f.y,h=f.width,b=f.height,v=f.syncWithTicks,g=f.horizontalValues,y=f.verticalValues,m=tae(),w=rae();if(!ie(h)||h<=0||!ie(b)||b<=0||!ie(d)||d!==+d||!ie(p)||p!==+p)return null;var j=f.verticalCoordinatesGenerator||vie,x=f.horizontalCoordinatesGenerator||yie,_=f.horizontalPoints,k=f.verticalPoints;if((!_||!_.length)&&Me(x)){var O=g&&g.length,A=x({yAxis:w?Dr(Dr({},w),{},{ticks:O?g:w.ticks}):void 0,width:s,height:u,offset:c},O?!0:v);ua(Array.isArray(A),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(Zo(A),"]")),Array.isArray(A)&&(_=A)}if((!k||!k.length)&&Me(j)){var I=y&&y.length,$=j({xAxis:m?Dr(Dr({},m),{},{ticks:I?y:m.ticks}):void 0,width:s,height:u,offset:c},I?!0:v);ua(Array.isArray($),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(Zo($),"]")),Array.isArray($)&&(k=$)}return E.createElement("g",{className:"recharts-cartesian-grid"},E.createElement(die,{fill:f.fill,fillOpacity:f.fillOpacity,x:f.x,y:f.y,width:f.width,height:f.height,ry:f.ry}),E.createElement(fie,Po({},f,{offset:c,horizontalPoints:_,xAxis:m,yAxis:w})),E.createElement(pie,Po({},f,{offset:c,verticalPoints:k,xAxis:m,yAxis:w})),E.createElement(hie,Po({},f,{horizontalPoints:_})),E.createElement(mie,Po({},f,{verticalPoints:k})))}op.displayName="CartesianGrid";var gie=["type","layout","connectNulls","ref"],xie=["key"];function Rl(e){"@babel/helpers - typeof";return Rl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rl(e)}function G2(e,t){if(e==null)return{};var r=bie(e,t),n,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function bie(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function pc(){return pc=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);rd){h=[].concat(ms(u.slice(0,b)),[d-v]);break}var g=h.length%2===0?[0,p]:[p];return[].concat(ms(t.repeat(u,f)),ms(h),g).map(function(y){return"".concat(y,"px")}).join(", ")}),ra(r,"id",os("recharts-line-")),ra(r,"pathRef",function(o){r.mainCurve=o}),ra(r,"handleAnimationEnd",function(){r.setState({isAnimationFinished:!0}),r.props.onAnimationEnd&&r.props.onAnimationEnd()}),ra(r,"handleAnimationStart",function(){r.setState({isAnimationFinished:!1}),r.props.onAnimationStart&&r.props.onAnimationStart()}),r}return Pie(t,e),Oie(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();this.setState({totalLength:n})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();n!==this.state.totalLength&&this.setState({totalLength:n})}}},{key:"getTotalLength",value:function(){var n=this.mainCurve;try{return n&&n.getTotalLength&&n.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(n,a){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var i=this.props,o=i.points,s=i.xAxis,u=i.yAxis,c=i.layout,f=i.children,d=_n(f,zd);if(!d)return null;var p=function(v,g){return{x:v.x,y:v.y,value:v.value,errorVal:qt(v.payload,g)}},h={clipPath:n?"url(#clipPath-".concat(a,")"):null};return E.createElement(Ze,h,d.map(function(b){return E.cloneElement(b,{key:"bar-".concat(b.props.dataKey),data:o,xAxis:s,yAxis:u,layout:c,dataPointFormatter:p})}))}},{key:"renderDots",value:function(n,a,i){var o=this.props.isAnimationActive;if(o&&!this.state.isAnimationFinished)return null;var s=this.props,u=s.dot,c=s.points,f=s.dataKey,d=ke(this.props,!1),p=ke(u,!0),h=c.map(function(v,g){var y=pn(pn(pn({key:"dot-".concat(g),r:3},d),p),{},{index:g,cx:v.x,cy:v.y,value:v.value,dataKey:f,payload:v.payload,points:c});return t.renderDotItem(u,y)}),b={clipPath:n?"url(#clipPath-".concat(a?"":"dots-").concat(i,")"):null};return E.createElement(Ze,pc({className:"recharts-line-dots",key:"dots"},b),h)}},{key:"renderCurveStatically",value:function(n,a,i,o){var s=this.props,u=s.type,c=s.layout,f=s.connectNulls;s.ref;var d=G2(s,gie),p=pn(pn(pn({},ke(d,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:a?"url(#clipPath-".concat(i,")"):null,points:n},o),{},{type:u,layout:c,connectNulls:f});return E.createElement(Lo,pc({},p,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(n,a){var i=this,o=this.props,s=o.points,u=o.strokeDasharray,c=o.isAnimationActive,f=o.animationBegin,d=o.animationDuration,p=o.animationEasing,h=o.animationId,b=o.animateNewValues,v=o.width,g=o.height,y=this.state,m=y.prevPoints,w=y.totalLength;return E.createElement(da,{begin:f,duration:d,isActive:c,easing:p,from:{t:0},to:{t:1},key:"line-".concat(h),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(j){var x=j.t;if(m){var _=m.length/s.length,k=s.map(function(N,T){var R=Math.floor(T*_);if(m[R]){var L=m[R],U=ir(L.x,N.x),W=ir(L.y,N.y);return pn(pn({},N),{},{x:U(x),y:W(x)})}if(b){var M=ir(v*2,N.x),B=ir(g/2,N.y);return pn(pn({},N),{},{x:M(x),y:B(x)})}return pn(pn({},N),{},{x:N.x,y:N.y})});return i.renderCurveStatically(k,n,a)}var O=ir(0,w),A=O(x),I;if(u){var $="".concat(u).split(/[,\s]+/gim).map(function(N){return parseFloat(N)});I=i.getStrokeDasharray(A,w,$)}else I=i.generateSimpleStrokeDasharray(w,A);return i.renderCurveStatically(s,n,a,{strokeDasharray:I})})}},{key:"renderCurve",value:function(n,a){var i=this.props,o=i.points,s=i.isAnimationActive,u=this.state,c=u.prevPoints,f=u.totalLength;return s&&o&&o.length&&(!c&&f>0||!Ko(c,o))?this.renderCurveWithAnimation(n,a):this.renderCurveStatically(o,n,a)}},{key:"render",value:function(){var n,a=this.props,i=a.hide,o=a.dot,s=a.points,u=a.className,c=a.xAxis,f=a.yAxis,d=a.top,p=a.left,h=a.width,b=a.height,v=a.isAnimationActive,g=a.id;if(i||!s||!s.length)return null;var y=this.state.isAnimationFinished,m=s.length===1,w=Ge("recharts-line",u),j=c&&c.allowDataOverflow,x=f&&f.allowDataOverflow,_=j||x,k=Be(g)?this.id:g,O=(n=ke(o,!1))!==null&&n!==void 0?n:{r:3,strokeWidth:2},A=O.r,I=A===void 0?3:A,$=O.strokeWidth,N=$===void 0?2:$,T=sP(o)?o:{},R=T.clipDot,L=R===void 0?!0:R,U=I*2+N;return E.createElement(Ze,{className:w},j||x?E.createElement("defs",null,E.createElement("clipPath",{id:"clipPath-".concat(k)},E.createElement("rect",{x:j?p:p-h/2,y:x?d:d-b/2,width:j?h:h*2,height:x?b:b*2})),!L&&E.createElement("clipPath",{id:"clipPath-dots-".concat(k)},E.createElement("rect",{x:p-U/2,y:d-U/2,width:h+U,height:b+U}))):null,!m&&this.renderCurve(_,k),this.renderErrorBar(_,k),(m||o)&&this.renderDots(_,L,k),(!v||y)&&Na.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(n,a){return n.animationId!==a.prevAnimationId?{prevAnimationId:n.animationId,curPoints:n.points,prevPoints:a.curPoints}:n.points!==a.curPoints?{curPoints:n.points}:null}},{key:"repeat",value:function(n,a){for(var i=n.length%2!==0?[].concat(ms(n),[0]):n,o=[],s=0;s=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Rie(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Co(){return Co=Object.assign?Object.assign.bind():function(e){for(var t=1;t0||!Ko(f,o)||!Ko(d,s))?this.renderAreaWithAnimation(n,a):this.renderAreaStatically(o,s,n,a)}},{key:"render",value:function(){var n,a=this.props,i=a.hide,o=a.dot,s=a.points,u=a.className,c=a.top,f=a.left,d=a.xAxis,p=a.yAxis,h=a.width,b=a.height,v=a.isAnimationActive,g=a.id;if(i||!s||!s.length)return null;var y=this.state.isAnimationFinished,m=s.length===1,w=Ge("recharts-area",u),j=d&&d.allowDataOverflow,x=p&&p.allowDataOverflow,_=j||x,k=Be(g)?this.id:g,O=(n=ke(o,!1))!==null&&n!==void 0?n:{r:3,strokeWidth:2},A=O.r,I=A===void 0?3:A,$=O.strokeWidth,N=$===void 0?2:$,T=sP(o)?o:{},R=T.clipDot,L=R===void 0?!0:R,U=I*2+N;return E.createElement(Ze,{className:w},j||x?E.createElement("defs",null,E.createElement("clipPath",{id:"clipPath-".concat(k)},E.createElement("rect",{x:j?f:f-h/2,y:x?c:c-b/2,width:j?h:h*2,height:x?b:b*2})),!L&&E.createElement("clipPath",{id:"clipPath-dots-".concat(k)},E.createElement("rect",{x:f-U/2,y:c-U/2,width:h+U,height:b+U}))):null,m?null:this.renderArea(_,k),(o||m)&&this.renderDots(_,L,k),(!v||y)&&Na.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(n,a){return n.animationId!==a.prevAnimationId?{prevAnimationId:n.animationId,curPoints:n.points,curBaseLine:n.baseLine,prevPoints:a.curPoints,prevBaseLine:a.curBaseLine}:n.points!==a.curPoints||n.baseLine!==a.curBaseLine?{curPoints:n.points,curBaseLine:n.baseLine}:null}}])}(S.PureComponent);b$=uo;ja(uo,"displayName","Area");ja(uo,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!io.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});ja(uo,"getBaseValue",function(e,t,r,n){var a=e.layout,i=e.baseValue,o=t.props.baseValue,s=o??i;if(ie(s)&&typeof s=="number")return s;var u=a==="horizontal"?n:r,c=u.scale.domain();if(u.type==="number"){var f=Math.max(c[0],c[1]),d=Math.min(c[0],c[1]);return s==="dataMin"?d:s==="dataMax"||f<0?f:Math.max(Math.min(c[0],c[1]),0)}return s==="dataMin"?c[0]:s==="dataMax"?c[1]:c[0]});ja(uo,"getComposedData",function(e){var t=e.props,r=e.item,n=e.xAxis,a=e.yAxis,i=e.xAxisTicks,o=e.yAxisTicks,s=e.bandSize,u=e.dataKey,c=e.stackedData,f=e.dataStartIndex,d=e.displayedData,p=e.offset,h=t.layout,b=c&&c.length,v=b$.getBaseValue(t,r,n,a),g=h==="horizontal",y=!1,m=d.map(function(j,x){var _;b?_=c[f+x]:(_=qt(j,u),Array.isArray(_)?y=!0:_=[v,_]);var k=_[1]==null||b&&qt(j,u)==null;return g?{x:ch({axis:n,ticks:i,bandSize:s,entry:j,index:x}),y:k?null:a.scale(_[1]),value:_,payload:j}:{x:k?null:n.scale(_[1]),y:ch({axis:a,ticks:o,bandSize:s,entry:j,index:x}),value:_,payload:j}}),w;return b||y?w=m.map(function(j){var x=Array.isArray(j.value)?j.value[0]:null;return g?{x:j.x,y:x!=null&&j.y!=null?a.scale(x):null}:{x:x!=null?n.scale(x):null,y:j.y}}):w=g?a.scale(v):n.scale(v),wi({points:m,baseLine:w,layout:h,isRange:y},p)});ja(uo,"renderDotItem",function(e,t){var r;if(E.isValidElement(e))r=E.cloneElement(e,t);else if(Me(e))r=e(t);else{var n=Ge("recharts-area-dot",typeof e!="boolean"?e.className:""),a=t.key,i=w$(t,$ie);r=E.createElement(Bd,Co({},i,{key:a,className:n}))}return r});function Ml(e){"@babel/helpers - typeof";return Ml=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ml(e)}function Uie(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Vie(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Eoe(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Poe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Coe(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?o:t&&t.length&&ie(a)&&ie(i)?t.slice(a,i+1):[]};function D$(e){return e==="number"?[0,"auto"]:void 0}var I0=function(t,r,n,a){var i=t.graphicalItems,o=t.tooltipAxis,s=iv(r,t);return n<0||!i||!i.length||n>=s.length?null:i.reduce(function(u,c){var f,d=(f=c.props.data)!==null&&f!==void 0?f:r;d&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=n&&(d=d.slice(t.dataStartIndex,t.dataEndIndex+1));var p;if(o.dataKey&&!o.allowDuplicatedCategory){var h=d===void 0?s:d;p=Ip(h,o.dataKey,a)}else p=d&&d[n]||s[n];return p?[].concat(Fl(u),[xT(c,p)]):u},[])},rO=function(t,r,n,a){var i=a||{x:t.chartX,y:t.chartY},o=Voe(i,n),s=t.orderedTooltipTicks,u=t.tooltipAxis,c=t.tooltipTicks,f=ZY(o,s,c,u);if(f>=0&&c){var d=c[f]&&c[f].value,p=I0(t,r,f,d),h=Woe(n,s,f,i);return{activeTooltipIndex:f,activeLabel:d,activePayload:p,activeCoordinate:h}}return null},Hoe=function(t,r){var n=r.axes,a=r.graphicalItems,i=r.axisType,o=r.axisIdKey,s=r.stackGroups,u=r.dataStartIndex,c=r.dataEndIndex,f=t.layout,d=t.children,p=t.stackOffset,h=pT(f,i);return n.reduce(function(b,v){var g,y=v.type.defaultProps!==void 0?Z(Z({},v.type.defaultProps),v.props):v.props,m=y.type,w=y.dataKey,j=y.allowDataOverflow,x=y.allowDuplicatedCategory,_=y.scale,k=y.ticks,O=y.includeHidden,A=y[o];if(b[A])return b;var I=iv(t.data,{graphicalItems:a.filter(function(q){var ae,X=o in q.props?q.props[o]:(ae=q.type.defaultProps)===null||ae===void 0?void 0:ae[o];return X===A}),dataStartIndex:u,dataEndIndex:c}),$=I.length,N,T,R;yoe(y.domain,j,m)&&(N=Kx(y.domain,null,j),h&&(m==="number"||_!=="auto")&&(R=uc(I,w,"category")));var L=D$(m);if(!N||N.length===0){var U,W=(U=y.domain)!==null&&U!==void 0?U:L;if(w){if(N=uc(I,w,m),m==="category"&&h){var M=B6(N);x&&M?(T=N,N=Sh(0,$)):x||(N=kk(W,N,v).reduce(function(q,ae){return q.indexOf(ae)>=0?q:[].concat(Fl(q),[ae])},[]))}else if(m==="category")x?N=N.filter(function(q){return q!==""&&!Be(q)}):N=kk(W,N,v).reduce(function(q,ae){return q.indexOf(ae)>=0||ae===""||Be(ae)?q:[].concat(Fl(q),[ae])},[]);else if(m==="number"){var B=rZ(I,a.filter(function(q){var ae,X,se=o in q.props?q.props[o]:(ae=q.type.defaultProps)===null||ae===void 0?void 0:ae[o],fe="hide"in q.props?q.props.hide:(X=q.type.defaultProps)===null||X===void 0?void 0:X.hide;return se===A&&(O||!fe)}),w,i,f);B&&(N=B)}h&&(m==="number"||_!=="auto")&&(R=uc(I,w,"category"))}else h?N=Sh(0,$):s&&s[A]&&s[A].hasStack&&m==="number"?N=p==="expand"?[0,1]:gT(s[A].stackGroups,u,c):N=fT(I,a.filter(function(q){var ae=o in q.props?q.props[o]:q.type.defaultProps[o],X="hide"in q.props?q.props.hide:q.type.defaultProps.hide;return ae===A&&(O||!X)}),m,f,!0);if(m==="number")N=T0(d,N,A,i,k),W&&(N=Kx(W,N,j));else if(m==="category"&&W){var G=W,H=N.every(function(q){return G.indexOf(q)>=0});H&&(N=G)}}return Z(Z({},b),{},Ie({},A,Z(Z({},y),{},{axisType:i,domain:N,categoricalDomain:R,duplicateDomain:T,originalDomain:(g=y.domain)!==null&&g!==void 0?g:L,isCategorical:h,layout:f})))},{})},Goe=function(t,r){var n=r.graphicalItems,a=r.Axis,i=r.axisType,o=r.axisIdKey,s=r.stackGroups,u=r.dataStartIndex,c=r.dataEndIndex,f=t.layout,d=t.children,p=iv(t.data,{graphicalItems:n,dataStartIndex:u,dataEndIndex:c}),h=p.length,b=pT(f,i),v=-1;return n.reduce(function(g,y){var m=y.type.defaultProps!==void 0?Z(Z({},y.type.defaultProps),y.props):y.props,w=m[o],j=D$("number");if(!g[w]){v++;var x;return b?x=Sh(0,h):s&&s[w]&&s[w].hasStack?(x=gT(s[w].stackGroups,u,c),x=T0(d,x,w,i)):(x=Kx(j,fT(p,n.filter(function(_){var k,O,A=o in _.props?_.props[o]:(k=_.type.defaultProps)===null||k===void 0?void 0:k[o],I="hide"in _.props?_.props.hide:(O=_.type.defaultProps)===null||O===void 0?void 0:O.hide;return A===w&&!I}),"number",f),a.defaultProps.allowDataOverflow),x=T0(d,x,w,i)),Z(Z({},g),{},Ie({},w,Z(Z({axisType:i},a.defaultProps),{},{hide:!0,orientation:wn(Boe,"".concat(i,".").concat(v%2),null),domain:x,originalDomain:j,isCategorical:b,layout:f})))}return g},{})},qoe=function(t,r){var n=r.axisType,a=n===void 0?"xAxis":n,i=r.AxisComp,o=r.graphicalItems,s=r.stackGroups,u=r.dataStartIndex,c=r.dataEndIndex,f=t.children,d="".concat(a,"Id"),p=_n(f,i),h={};return p&&p.length?h=Hoe(t,{axes:p,graphicalItems:o,axisType:a,axisIdKey:d,stackGroups:s,dataStartIndex:u,dataEndIndex:c}):o&&o.length&&(h=Goe(t,{Axis:i,graphicalItems:o,axisType:a,axisIdKey:d,stackGroups:s,dataStartIndex:u,dataEndIndex:c})),h},Koe=function(t){var r=Ei(t),n=Ya(r,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:jw(n,function(a){return a.coordinate}),tooltipAxis:r,tooltipAxisBandSize:dh(r,n)}},nO=function(t){var r=t.children,n=t.defaultShowTooltip,a=vn(r,Al),i=0,o=0;return t.data&&t.data.length!==0&&(o=t.data.length-1),a&&a.props&&(a.props.startIndex>=0&&(i=a.props.startIndex),a.props.endIndex>=0&&(o=a.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:i,dataEndIndex:o,activeTooltipIndex:-1,isTooltipActive:!!n}},Xoe=function(t){return!t||!t.length?!1:t.some(function(r){var n=Qa(r&&r.type);return n&&n.indexOf("Bar")>=0})},aO=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},Yoe=function(t,r){var n=t.props,a=t.graphicalItems,i=t.xAxisMap,o=i===void 0?{}:i,s=t.yAxisMap,u=s===void 0?{}:s,c=n.width,f=n.height,d=n.children,p=n.margin||{},h=vn(d,Al),b=vn(d,oa),v=Object.keys(u).reduce(function(x,_){var k=u[_],O=k.orientation;return!k.mirror&&!k.hide?Z(Z({},x),{},Ie({},O,x[O]+k.width)):x},{left:p.left||0,right:p.right||0}),g=Object.keys(o).reduce(function(x,_){var k=o[_],O=k.orientation;return!k.mirror&&!k.hide?Z(Z({},x),{},Ie({},O,wn(x,"".concat(O))+k.height)):x},{top:p.top||0,bottom:p.bottom||0}),y=Z(Z({},g),v),m=y.bottom;h&&(y.bottom+=h.props.height||Al.defaultProps.height),b&&r&&(y=eZ(y,a,n,r));var w=c-y.left-y.right,j=f-y.top-y.bottom;return Z(Z({brushBottom:m},y),{},{width:Math.max(w,0),height:Math.max(j,0)})},Zoe=function(t,r){if(r==="xAxis")return t[r].width;if(r==="yAxis")return t[r].height},ov=function(t){var r=t.chartName,n=t.GraphicalChild,a=t.defaultTooltipEventType,i=a===void 0?"axis":a,o=t.validateTooltipEventTypes,s=o===void 0?["axis"]:o,u=t.axisComponents,c=t.legendContent,f=t.formatAxisMap,d=t.defaultProps,p=function(y,m){var w=m.graphicalItems,j=m.stackGroups,x=m.offset,_=m.updateId,k=m.dataStartIndex,O=m.dataEndIndex,A=y.barSize,I=y.layout,$=y.barGap,N=y.barCategoryGap,T=y.maxBarSize,R=aO(I),L=R.numericAxisName,U=R.cateAxisName,W=Xoe(w),M=[];return w.forEach(function(B,G){var H=iv(y.data,{graphicalItems:[B],dataStartIndex:k,dataEndIndex:O}),q=B.type.defaultProps!==void 0?Z(Z({},B.type.defaultProps),B.props):B.props,ae=q.dataKey,X=q.maxBarSize,se=q["".concat(L,"Id")],fe=q["".concat(U,"Id")],Pe={},Te=u.reduce(function(Xe,Ue){var C=m["".concat(Ue.axisType,"Map")],F=q["".concat(Ue.axisType,"Id")];C&&C[F]||Ue.axisType==="zAxis"||Yo();var V=C[F];return Z(Z({},Xe),{},Ie(Ie({},Ue.axisType,V),"".concat(Ue.axisType,"Ticks"),Ya(V)))},Pe),re=Te[U],ce=Te["".concat(U,"Ticks")],we=j&&j[se]&&j[se].hasStack&&dZ(B,j[se].stackGroups),Y=Qa(B.type).indexOf("Bar")>=0,Ce=dh(re,ce),ve=[],Ke=W&&JY({barSize:A,stackGroups:j,totalSize:Zoe(Te,U)});if(Y){var Le,_e,$e=Be(X)?T:X,Ae=(Le=(_e=dh(re,ce,!0))!==null&&_e!==void 0?_e:$e)!==null&&Le!==void 0?Le:0;ve=QY({barGap:$,barCategoryGap:N,bandSize:Ae!==Ce?Ae:Ce,sizeList:Ke[fe],maxBarSize:$e}),Ae!==Ce&&(ve=ve.map(function(Xe){return Z(Z({},Xe),{},{position:Z(Z({},Xe.position),{},{offset:Xe.position.offset-Ae/2})})}))}var Ne=B&&B.type&&B.type.getComposedData;Ne&&M.push({props:Z(Z({},Ne(Z(Z({},Te),{},{displayedData:H,props:y,dataKey:ae,item:B,bandSize:Ce,barPosition:ve,offset:x,stackedData:we,layout:I,dataStartIndex:k,dataEndIndex:O}))),{},Ie(Ie(Ie({key:B.key||"item-".concat(G)},L,Te[L]),U,Te[U]),"animationId",_)),childIndex:Q6(B,y.children),item:B})}),M},h=function(y,m){var w=y.props,j=y.dataStartIndex,x=y.dataEndIndex,_=y.updateId;if(!xj({props:w}))return null;var k=w.children,O=w.layout,A=w.stackOffset,I=w.data,$=w.reverseStackOrder,N=aO(O),T=N.numericAxisName,R=N.cateAxisName,L=_n(k,n),U=uZ(I,L,"".concat(T,"Id"),"".concat(R,"Id"),A,$),W=u.reduce(function(q,ae){var X="".concat(ae.axisType,"Map");return Z(Z({},q),{},Ie({},X,qoe(w,Z(Z({},ae),{},{graphicalItems:L,stackGroups:ae.axisType===T&&U,dataStartIndex:j,dataEndIndex:x}))))},{}),M=Yoe(Z(Z({},W),{},{props:w,graphicalItems:L}),m==null?void 0:m.legendBBox);Object.keys(W).forEach(function(q){W[q]=f(w,W[q],M,q.replace("Map",""),r)});var B=W["".concat(R,"Map")],G=Koe(B),H=p(w,Z(Z({},W),{},{dataStartIndex:j,dataEndIndex:x,updateId:_,graphicalItems:L,stackGroups:U,offset:M}));return Z(Z({formattedGraphicalItems:H,graphicalItems:L,offset:M,stackGroups:U},G),W)},b=function(g){function y(m){var w,j,x;return Poe(this,y),x=$oe(this,y,[m]),Ie(x,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Ie(x,"accessibilityManager",new voe),Ie(x,"handleLegendBBoxUpdate",function(_){if(_){var k=x.state,O=k.dataStartIndex,A=k.dataEndIndex,I=k.updateId;x.setState(Z({legendBBox:_},h({props:x.props,dataStartIndex:O,dataEndIndex:A,updateId:I},Z(Z({},x.state),{},{legendBBox:_}))))}}),Ie(x,"handleReceiveSyncEvent",function(_,k,O){if(x.props.syncId===_){if(O===x.eventEmitterSymbol&&typeof x.props.syncMethod!="function")return;x.applySyncEvent(k)}}),Ie(x,"handleBrushChange",function(_){var k=_.startIndex,O=_.endIndex;if(k!==x.state.dataStartIndex||O!==x.state.dataEndIndex){var A=x.state.updateId;x.setState(function(){return Z({dataStartIndex:k,dataEndIndex:O},h({props:x.props,dataStartIndex:k,dataEndIndex:O,updateId:A},x.state))}),x.triggerSyncEvent({dataStartIndex:k,dataEndIndex:O})}}),Ie(x,"handleMouseEnter",function(_){var k=x.getMouseInfo(_);if(k){var O=Z(Z({},k),{},{isTooltipActive:!0});x.setState(O),x.triggerSyncEvent(O);var A=x.props.onMouseEnter;Me(A)&&A(O,_)}}),Ie(x,"triggeredAfterMouseMove",function(_){var k=x.getMouseInfo(_),O=k?Z(Z({},k),{},{isTooltipActive:!0}):{isTooltipActive:!1};x.setState(O),x.triggerSyncEvent(O);var A=x.props.onMouseMove;Me(A)&&A(O,_)}),Ie(x,"handleItemMouseEnter",function(_){x.setState(function(){return{isTooltipActive:!0,activeItem:_,activePayload:_.tooltipPayload,activeCoordinate:_.tooltipPosition||{x:_.cx,y:_.cy}}})}),Ie(x,"handleItemMouseLeave",function(){x.setState(function(){return{isTooltipActive:!1}})}),Ie(x,"handleMouseMove",function(_){_.persist(),x.throttleTriggeredAfterMouseMove(_)}),Ie(x,"handleMouseLeave",function(_){x.throttleTriggeredAfterMouseMove.cancel();var k={isTooltipActive:!1};x.setState(k),x.triggerSyncEvent(k);var O=x.props.onMouseLeave;Me(O)&&O(k,_)}),Ie(x,"handleOuterEvent",function(_){var k=J6(_),O=wn(x.props,"".concat(k));if(k&&Me(O)){var A,I;/.*touch.*/i.test(k)?I=x.getMouseInfo(_.changedTouches[0]):I=x.getMouseInfo(_),O((A=I)!==null&&A!==void 0?A:{},_)}}),Ie(x,"handleClick",function(_){var k=x.getMouseInfo(_);if(k){var O=Z(Z({},k),{},{isTooltipActive:!0});x.setState(O),x.triggerSyncEvent(O);var A=x.props.onClick;Me(A)&&A(O,_)}}),Ie(x,"handleMouseDown",function(_){var k=x.props.onMouseDown;if(Me(k)){var O=x.getMouseInfo(_);k(O,_)}}),Ie(x,"handleMouseUp",function(_){var k=x.props.onMouseUp;if(Me(k)){var O=x.getMouseInfo(_);k(O,_)}}),Ie(x,"handleTouchMove",function(_){_.changedTouches!=null&&_.changedTouches.length>0&&x.throttleTriggeredAfterMouseMove(_.changedTouches[0])}),Ie(x,"handleTouchStart",function(_){_.changedTouches!=null&&_.changedTouches.length>0&&x.handleMouseDown(_.changedTouches[0])}),Ie(x,"handleTouchEnd",function(_){_.changedTouches!=null&&_.changedTouches.length>0&&x.handleMouseUp(_.changedTouches[0])}),Ie(x,"handleDoubleClick",function(_){var k=x.props.onDoubleClick;if(Me(k)){var O=x.getMouseInfo(_);k(O,_)}}),Ie(x,"handleContextMenu",function(_){var k=x.props.onContextMenu;if(Me(k)){var O=x.getMouseInfo(_);k(O,_)}}),Ie(x,"triggerSyncEvent",function(_){x.props.syncId!==void 0&&wy.emit(_y,x.props.syncId,_,x.eventEmitterSymbol)}),Ie(x,"applySyncEvent",function(_){var k=x.props,O=k.layout,A=k.syncMethod,I=x.state.updateId,$=_.dataStartIndex,N=_.dataEndIndex;if(_.dataStartIndex!==void 0||_.dataEndIndex!==void 0)x.setState(Z({dataStartIndex:$,dataEndIndex:N},h({props:x.props,dataStartIndex:$,dataEndIndex:N,updateId:I},x.state)));else if(_.activeTooltipIndex!==void 0){var T=_.chartX,R=_.chartY,L=_.activeTooltipIndex,U=x.state,W=U.offset,M=U.tooltipTicks;if(!W)return;if(typeof A=="function")L=A(M,_);else if(A==="value"){L=-1;for(var B=0;B=0){var we,Y;if(T.dataKey&&!T.allowDuplicatedCategory){var Ce=typeof T.dataKey=="function"?ce:"payload.".concat(T.dataKey.toString());we=Ip(B,Ce,L),Y=G&&H&&Ip(H,Ce,L)}else we=B==null?void 0:B[R],Y=G&&H&&H[R];if(fe||se){var ve=_.props.activeIndex!==void 0?_.props.activeIndex:R;return[S.cloneElement(_,Z(Z(Z({},A.props),Te),{},{activeIndex:ve})),null,null]}if(!Be(we))return[re].concat(Fl(x.renderActivePoints({item:A,activePoint:we,basePoint:Y,childIndex:R,isRange:G})))}else{var Ke,Le=(Ke=x.getItemByXY(x.state.activeCoordinate))!==null&&Ke!==void 0?Ke:{graphicalItem:re},_e=Le.graphicalItem,$e=_e.item,Ae=$e===void 0?_:$e,Ne=_e.childIndex,Xe=Z(Z(Z({},A.props),Te),{},{activeIndex:Ne});return[S.cloneElement(Ae,Xe),null,null]}return G?[re,null,null]:[re,null]}),Ie(x,"renderCustomized",function(_,k,O){return S.cloneElement(_,Z(Z({key:"recharts-customized-".concat(O)},x.props),x.state))}),Ie(x,"renderMap",{CartesianGrid:{handler:Ef,once:!0},ReferenceArea:{handler:x.renderReferenceElement},ReferenceLine:{handler:Ef},ReferenceDot:{handler:x.renderReferenceElement},XAxis:{handler:Ef},YAxis:{handler:Ef},Brush:{handler:x.renderBrush,once:!0},Bar:{handler:x.renderGraphicChild},Line:{handler:x.renderGraphicChild},Area:{handler:x.renderGraphicChild},Radar:{handler:x.renderGraphicChild},RadialBar:{handler:x.renderGraphicChild},Scatter:{handler:x.renderGraphicChild},Pie:{handler:x.renderGraphicChild},Funnel:{handler:x.renderGraphicChild},Tooltip:{handler:x.renderCursor,once:!0},PolarGrid:{handler:x.renderPolarGrid,once:!0},PolarAngleAxis:{handler:x.renderPolarAxis},PolarRadiusAxis:{handler:x.renderPolarAxis},Customized:{handler:x.renderCustomized}}),x.clipPathId="".concat((w=m.id)!==null&&w!==void 0?w:os("recharts"),"-clip"),x.throttleTriggeredAfterMouseMove=cC(x.triggeredAfterMouseMove,(j=m.throttleDelay)!==null&&j!==void 0?j:1e3/60),x.state={},x}return Moe(y,g),Toe(y,[{key:"componentDidMount",value:function(){var w,j;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(w=this.props.margin.left)!==null&&w!==void 0?w:0,top:(j=this.props.margin.top)!==null&&j!==void 0?j:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var w=this.props,j=w.children,x=w.data,_=w.height,k=w.layout,O=vn(j,Sr);if(O){var A=O.props.defaultIndex;if(!(typeof A!="number"||A<0||A>this.state.tooltipTicks.length-1)){var I=this.state.tooltipTicks[A]&&this.state.tooltipTicks[A].value,$=I0(this.state,x,A,I),N=this.state.tooltipTicks[A].coordinate,T=(this.state.offset.top+_)/2,R=k==="horizontal",L=R?{x:N,y:T}:{y:N,x:T},U=this.state.formattedGraphicalItems.find(function(M){var B=M.item;return B.type.name==="Scatter"});U&&(L=Z(Z({},L),U.props.points[A].tooltipPosition),$=U.props.points[A].tooltipPayload);var W={activeTooltipIndex:A,isTooltipActive:!0,activeLabel:I,activePayload:$,activeCoordinate:L};this.setState(W),this.renderCursor(O),this.accessibilityManager.setIndex(A)}}}},{key:"getSnapshotBeforeUpdate",value:function(w,j){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==j.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==w.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==w.margin){var x,_;this.accessibilityManager.setDetails({offset:{left:(x=this.props.margin.left)!==null&&x!==void 0?x:0,top:(_=this.props.margin.top)!==null&&_!==void 0?_:0}})}return null}},{key:"componentDidUpdate",value:function(w){ux([vn(w.children,Sr)],[vn(this.props.children,Sr)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var w=vn(this.props.children,Sr);if(w&&typeof w.props.shared=="boolean"){var j=w.props.shared?"axis":"item";return s.indexOf(j)>=0?j:i}return i}},{key:"getMouseInfo",value:function(w){if(!this.container)return null;var j=this.container,x=j.getBoundingClientRect(),_=kG(x),k={chartX:Math.round(w.pageX-_.left),chartY:Math.round(w.pageY-_.top)},O=x.width/j.offsetWidth||1,A=this.inRange(k.chartX,k.chartY,O);if(!A)return null;var I=this.state,$=I.xAxisMap,N=I.yAxisMap,T=this.getTooltipEventType(),R=rO(this.state,this.props.data,this.props.layout,A);if(T!=="axis"&&$&&N){var L=Ei($).scale,U=Ei(N).scale,W=L&&L.invert?L.invert(k.chartX):null,M=U&&U.invert?U.invert(k.chartY):null;return Z(Z({},k),{},{xValue:W,yValue:M},R)}return R?Z(Z({},k),R):null}},{key:"inRange",value:function(w,j){var x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,_=this.props.layout,k=w/x,O=j/x;if(_==="horizontal"||_==="vertical"){var A=this.state.offset,I=k>=A.left&&k<=A.left+A.width&&O>=A.top&&O<=A.top+A.height;return I?{x:k,y:O}:null}var $=this.state,N=$.angleAxisMap,T=$.radiusAxisMap;if(N&&T){var R=Ei(N);return Ak({x:k,y:O},R)}return null}},{key:"parseEventsOfWrapper",value:function(){var w=this.props.children,j=this.getTooltipEventType(),x=vn(w,Sr),_={};x&&j==="axis"&&(x.props.trigger==="click"?_={onClick:this.handleClick}:_={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var k=Mp(this.props,this.handleOuterEvent);return Z(Z({},k),_)}},{key:"addListener",value:function(){wy.on(_y,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){wy.removeListener(_y,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(w,j,x){for(var _=this.state.formattedGraphicalItems,k=0,O=_.length;k{let t;const r=new Set,n=(f,d)=>{const p=typeof f=="function"?f(t):f;if(!Object.is(p,t)){const h=t;t=d??(typeof p!="object"||p===null)?p:Object.assign({},t,p),r.forEach(b=>b(t,h))}},a=()=>t,u={setState:n,getState:a,getInitialState:()=>c,subscribe:f=>(r.add(f),()=>r.delete(f)),destroy:()=>{(ese?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}},c=t=e(n,a,u);return u},tse=e=>e?iO(e):iO;var L$={exports:{}},F$={};/** - * @license React - * use-sync-external-store-shim/with-selector.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var sv=S,rse=Jg;function nse(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var ase=typeof Object.is=="function"?Object.is:nse,ise=rse.useSyncExternalStore,ose=sv.useRef,sse=sv.useEffect,lse=sv.useMemo,use=sv.useDebugValue;F$.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var i=ose(null);if(i.current===null){var o={hasValue:!1,value:null};i.current=o}else o=i.current;i=lse(function(){function u(h){if(!c){if(c=!0,f=h,h=n(h),a!==void 0&&o.hasValue){var b=o.value;if(a(b,h))return d=b}return d=h}if(b=d,ase(f,h))return b;var v=n(h);return a!==void 0&&a(b,v)?(f=h,b):(f=h,d=v)}var c=!1,f,d,p=r===void 0?null:r;return[function(){return u(t())},p===null?void 0:function(){return u(p())}]},[t,r,n,a]);var s=ise(e,i[0],i[1]);return sse(function(){o.hasValue=!0,o.value=s},[s]),use(s),s};L$.exports=F$;var cse=L$.exports;const dse=pt(cse),z$={},{useDebugValue:fse}=E,{useSyncExternalStoreWithSelector:pse}=dse;let oO=!1;const hse=e=>e;function mse(e,t=hse,r){(z$?"production":void 0)!=="production"&&r&&!oO&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),oO=!0);const n=pse(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return fse(n),n}const vse=e=>{(z$?"production":void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const t=typeof e=="function"?tse(e):e,r=(n,a)=>mse(t,n,a);return Object.assign(r,t),r},B$=e=>vse,yse={};function gse(e,t){let r;try{r=e()}catch{return}return{getItem:a=>{var i;const o=u=>u===null?null:JSON.parse(u,void 0),s=(i=r.getItem(a))!=null?i:null;return s instanceof Promise?s.then(o):o(s)},setItem:(a,i)=>r.setItem(a,JSON.stringify(i,void 0)),removeItem:a=>r.removeItem(a)}}const xd=e=>t=>{try{const r=e(t);return r instanceof Promise?r:{then(n){return xd(n)(r)},catch(n){return this}}}catch(r){return{then(n){return this},catch(n){return xd(n)(r)}}}},xse=(e,t)=>(r,n,a)=>{let i={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:g=>g,version:0,merge:(g,y)=>({...y,...g}),...t},o=!1;const s=new Set,u=new Set;let c;try{c=i.getStorage()}catch{}if(!c)return e((...g)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),r(...g)},n,a);const f=xd(i.serialize),d=()=>{const g=i.partialize({...n()});let y;const m=f({state:g,version:i.version}).then(w=>c.setItem(i.name,w)).catch(w=>{y=w});if(y)throw y;return m},p=a.setState;a.setState=(g,y)=>{p(g,y),d()};const h=e((...g)=>{r(...g),d()},n,a);let b;const v=()=>{var g;if(!c)return;o=!1,s.forEach(m=>m(n()));const y=((g=i.onRehydrateStorage)==null?void 0:g.call(i,n()))||void 0;return xd(c.getItem.bind(c))(i.name).then(m=>{if(m)return i.deserialize(m)}).then(m=>{if(m)if(typeof m.version=="number"&&m.version!==i.version){if(i.migrate)return i.migrate(m.state,m.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return m.state}).then(m=>{var w;return b=i.merge(m,(w=n())!=null?w:h),r(b,!0),d()}).then(()=>{y==null||y(b,void 0),o=!0,u.forEach(m=>m(b))}).catch(m=>{y==null||y(void 0,m)})};return a.persist={setOptions:g=>{i={...i,...g},g.getStorage&&(c=g.getStorage())},clearStorage:()=>{c==null||c.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>v(),hasHydrated:()=>o,onHydrate:g=>(s.add(g),()=>{s.delete(g)}),onFinishHydration:g=>(u.add(g),()=>{u.delete(g)})},v(),b||h},bse=(e,t)=>(r,n,a)=>{let i={storage:gse(()=>localStorage),partialize:v=>v,version:0,merge:(v,g)=>({...g,...v}),...t},o=!1;const s=new Set,u=new Set;let c=i.storage;if(!c)return e((...v)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),r(...v)},n,a);const f=()=>{const v=i.partialize({...n()});return c.setItem(i.name,{state:v,version:i.version})},d=a.setState;a.setState=(v,g)=>{d(v,g),f()};const p=e((...v)=>{r(...v),f()},n,a);a.getInitialState=()=>p;let h;const b=()=>{var v,g;if(!c)return;o=!1,s.forEach(m=>{var w;return m((w=n())!=null?w:p)});const y=((g=i.onRehydrateStorage)==null?void 0:g.call(i,(v=n())!=null?v:p))||void 0;return xd(c.getItem.bind(c))(i.name).then(m=>{if(m)if(typeof m.version=="number"&&m.version!==i.version){if(i.migrate)return[!0,i.migrate(m.state,m.version)];console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,m.state];return[!1,void 0]}).then(m=>{var w;const[j,x]=m;if(h=i.merge(x,(w=n())!=null?w:p),r(h,!0),j)return f()}).then(()=>{y==null||y(h,void 0),h=n(),o=!0,u.forEach(m=>m(h))}).catch(m=>{y==null||y(void 0,m)})};return a.persist={setOptions:v=>{i={...i,...v},v.storage&&(c=v.storage)},clearStorage:()=>{c==null||c.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>b(),hasHydrated:()=>o,onHydrate:v=>(s.add(v),()=>{s.delete(v)}),onFinishHydration:v=>(u.add(v),()=>{u.delete(v)})},i.skipHydration||b(),h||p},wse=(e,t)=>"getStorage"in t||"serialize"in t||"deserialize"in t?((yse?"production":void 0)!=="production"&&console.warn("[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead."),xse(e,t)):bse(e,t),U$=wse,ma=B$()(U$(e=>({merchantId:"",setMerchantId:t=>{console.log(` -[STORE] Merchant ID changed: "${t}"`),e({merchantId:t})}}),{name:"merchant-store"}));let sO=null;const Us={get:()=>sO,set:e=>{sO=e}},Ca=B$()(U$(e=>({token:null,user:null,merchants:[],setAuth:(t,r,n=[])=>{Us.set(t),e({token:t,user:r,merchants:n})},updateMerchant:(t,r,n)=>{Us.set(t),e(a=>({token:t,merchants:n,user:a.user?{...a.user,merchantId:r}:null}))},clearAuth:()=>{Us.set(null),e({token:null,user:null,merchants:[]})}}),{name:"auth-store",onRehydrateStorage:()=>e=>{e!=null&&e.token&&Us.set(e.token)}})),_se=Object.freeze(Object.defineProperty({__proto__:null,useAuthStore:Ca},Symbol.toStringTag,{value:"Module"})),jse="modulepreload",Sse=function(e){return"/dashboard/"+e},lO={},kse=function(t,r,n){let a=Promise.resolve();if(r&&r.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),s=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));a=Promise.allSettled(r.map(u=>{if(u=Sse(u),u in lO)return;lO[u]=!0;const c=u.endsWith(".css"),f=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${f}`))return;const d=document.createElement("link");if(d.rel=c?"stylesheet":jse,c||(d.as="script"),d.crossOrigin="",d.href=u,s&&d.setAttribute("nonce",s),document.head.appendChild(d),c)return new Promise((p,h)=>{d.addEventListener("load",p),d.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(o){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o}return a.then(o=>{for(const s of o||[])s.status==="rejected"&&i(s.reason);return t().catch(i)})},Ose="public";function Nse(e,t,r){console.log(` -`+"=".repeat(80)),console.log(`[API REQUEST] ${new Date().toISOString()}`),console.log(`Method: ${e}`),console.log(`Path: ${t}`),r!==void 0&&console.log("Body:",JSON.stringify(r,null,2)),console.log("=".repeat(80))}function Ase(e,t,r,n){console.log(` -`+"-".repeat(80)),console.log(`[API RESPONSE] ${new Date().toISOString()}`),console.log(`Path: ${e}`),console.log(`Status: ${t} ${r}`),console.log("Response Body:",n),console.log("-".repeat(80)+` -`)}function uO(e,t){console.log(` -`+"!".repeat(80)),console.log(`[API ERROR] ${new Date().toISOString()}`),console.log(`Path: ${e}`),t instanceof Error?(console.log("Error:",t.message),console.log("Stack:",t.stack)):console.log("Error:",t),console.log("!".repeat(80)+` -`)}async function Vd(e,t){const r=(t==null?void 0:t.method)||"GET",n=t!=null&&t.body?JSON.parse(t.body):void 0;Nse(r,e,n);try{const a=Us.get(),i=new Headers(t==null?void 0:t.headers);i.set("Content-Type","application/json"),i.set("x-tenant-id",Ose),a&&i.set("Authorization",`Bearer ${a}`);const o=await fetch(e,{...t,headers:i}),s=await o.text();let u;try{const c=JSON.parse(s);u=JSON.stringify(c,null,2)}catch{u=s}if(Ase(e,o.status,o.statusText,u),o.status===401&&!e.startsWith("/auth/")){let c=!1;try{const d=`${JSON.parse(s).message??""}`.toLowerCase();c=d.includes("expired")||d.includes("invalid or expired")}catch{}if(c)throw Us.set(null),kse(async()=>{const{useAuthStore:f}=await Promise.resolve().then(()=>_se);return{useAuthStore:f}},void 0).then(({useAuthStore:f})=>{f.getState().clearAuth()}),window.location.href="/dashboard/login",new Error("Session expired")}if(!o.ok){const c=new Error(`API error ${o.status}: ${s}`);throw uO(e,c),c}return s.trim()?JSON.parse(s):void 0}catch(a){throw uO(e,a),a}}async function Tt(e,t){return Vd(e,{method:"POST",body:t!==void 0?JSON.stringify(t):void 0})}async function xn(e){return Vd(e)}const Ese={primary:"bg-brand-600 text-white hover:bg-brand-700 disabled:opacity-50 shadow-sm border border-transparent dark:bg-white dark:text-black dark:hover:bg-slate-200",secondary:"bg-white text-slate-700 border border-slate-200 hover:bg-slate-50 hover:text-slate-900 disabled:opacity-40 shadow-sm dark:bg-[#121214] dark:text-[#a1a1aa] dark:border-[#27272a] dark:hover:bg-[#18181b] dark:hover:text-white",ghost:"text-slate-500 hover:text-slate-900 hover:bg-slate-100 disabled:opacity-40 dark:text-[#a1a1aa] dark:hover:text-white dark:hover:bg-[#121214]",danger:"bg-red-50 text-red-600 hover:bg-red-100 border border-red-200 disabled:opacity-40 dark:bg-[#2a0505] dark:text-red-500 dark:hover:bg-[#380808] dark:border-[#5c1c1c]"},Pse={sm:"px-4 py-1.5 text-xs font-semibold",md:"px-5 py-2.5 text-sm font-semibold"};function Re({variant:e="primary",size:t="md",className:r="",...n}){return l.jsx("button",{className:`relative inline-flex items-center justify-center gap-2 rounded-full transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-brand-500/50 focus:ring-offset-1 focus:ring-offset-transparent focus:border-transparent ${Ese[e]} ${Pse[t]} ${r}`,...n,children:n.children})}function Oe({children:e,className:t="",onClick:r}){const n=`relative overflow-hidden rounded-[30px] border border-slate-200 bg-white shadow-[0_18px_60px_-42px_rgba(15,23,42,0.15)] dark:border-[#2a303a] dark:bg-[#11151d] dark:shadow-[0_18px_60px_-42px_rgba(0,0,0,0.7)] ${r?"cursor-pointer text-left transition duration-300 hover:-translate-y-0.5 hover:border-[#3b82f6]/35 hover:bg-slate-50 dark:hover:bg-[#141923]":""} ${t}`,a=l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-[#3b82f6]/25 to-transparent dark:via-[#3b82f6]/30"}),l.jsx("div",{className:"absolute inset-0 bg-[linear-gradient(180deg,rgba(255,255,255,0.55),transparent_26%)] dark:bg-[linear-gradient(180deg,rgba(255,255,255,0.02),transparent_26%)]"}),l.jsx("div",{className:"relative",children:e})]});return r?l.jsx("button",{type:"button",onClick:r,className:n,children:a}):l.jsx("div",{className:n,children:a})}function rt({children:e,className:t=""}){return l.jsx("div",{className:`border-b border-slate-200 px-6 py-5 dark:border-[#2a303a] ${t}`,children:e})}function qe({children:e,className:t=""}){return l.jsx("div",{className:`px-6 py-5 ${t}`,children:e})}function Br({children:e,className:t=""}){return l.jsx("p",{className:`text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8390a7] ${t}`,children:e})}function V$({children:e,className:t=""}){return l.jsx("div",{className:`rounded-[22px] border border-slate-200 bg-white/80 px-4 py-4 shadow-[0_14px_30px_-28px_rgba(15,23,42,0.18)] dark:border-[#2a303a] dark:bg-[#161b24] dark:shadow-none ${t}`,children:e})}const Cse={green:"bg-emerald-500/10 text-emerald-600 ring-1 ring-inset ring-emerald-500/20 dark:text-emerald-300",gray:"bg-slate-900/[0.04] text-slate-700 ring-1 ring-inset ring-slate-900/8 dark:bg-white/[0.05] dark:text-slate-300 dark:ring-white/8",blue:"bg-sky-500/12 text-sky-700 ring-1 ring-inset ring-sky-500/22 dark:bg-sky-400/14 dark:text-sky-200 dark:ring-sky-400/28",red:"bg-red-500/10 text-red-600 ring-1 ring-inset ring-red-500/20 dark:text-red-300",orange:"bg-orange-500/10 text-orange-600 ring-1 ring-inset ring-orange-500/20 dark:text-orange-300",purple:"bg-purple-500/10 text-purple-600 ring-1 ring-inset ring-purple-500/20 dark:text-purple-300"};function Ve({variant:e="gray",children:t}){return l.jsx("span",{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-md text-xs font-medium tracking-wide ${Cse[e]}`,children:t})}function Bt({size:e=20}){return l.jsxs("svg",{className:"animate-spin text-brand-500",width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[l.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),l.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8v4a4 4 0 00-4 4H4z"})]})}function Ur({error:e}){return e?l.jsx("div",{className:"rounded-lg border border-red-500/20 bg-red-500/8 px-4 py-3 text-sm text-red-400 font-mono",children:e}):null}const cO=[{value:"15m",label:"Last 15 mins"},{value:"1h",label:"Last 1 hour"},{value:"12h",label:"Last 12 hours"},{value:"1d",label:"Last 1 day"},{value:"1w",label:"Last 1 week"},{value:"custom",label:"Custom window"}],Zr=["#0069ED","#14b8a6","#f97316","#e11d48","#8b5cf6","#22c55e"],Pf={backgroundColor:"#0d0d12",border:"1px solid #1c1c24",borderRadius:"14px",color:"#e8e8f4",boxShadow:"0 16px 40px rgba(0, 0, 0, 0.35)"},Cf={color:"#f8fafc",fontWeight:600,marginBottom:8},Tf={color:"#e2e8f0"},$f={zIndex:30,outline:"none"},dO={dimensions:{},gateways:[]},Cu=3,Sy=50,Tse=5,ky=10,vs={hits:{title:"API call counts",purpose:"Use these cards to see how much traffic each major decision-engine API handled in the selected window.",calculation:"Each request records one lightweight API-call event. The cards count those recorded calls for the endpoints surfaced in the current view.",source:"Counts come from ClickHouse-backed API analytics rows ingested from Kafka into `analytics_api_events`."},share:{title:"Gateway share over time",purpose:"Use this to see when traffic shifted from one connector to another for the selected merchant.",calculation:"Decision events are bucketed by time and grouped by chosen connector. The chart shows how many decisions each gateway captured in each bucket.",source:"Reads ClickHouse-backed domain analytics rows from `analytics_domain_events`."},sr:{title:"Connector success rate over time",purpose:"Use this to explain why a connector won routing at a given time, based on the recorded historical score trail.",calculation:"Stored `score_snapshot` events are bucketed over the selected window and averaged per connector. The line values are displayed as percentages.",source:"Reads ClickHouse-backed `score_snapshot` analytics rows from `analytics_domain_events`. The current score state still originates from Redis-backed scoring flows."},preview_hits:{title:"Rule-based summary",purpose:"Use these cards to distinguish preview request volume from the connector coverage produced by rule-based routing.",calculation:"Rule Evaluate counts come from request-hit analytics for `/routing/evaluate`. Gateway coverage counts the unique connectors selected in the fetched preview sample.",source:"Reads `request_hit` and `rule_evaluation_preview` analytics associated with preview routing activity."},preview_activity:{title:"Connector selections over time",purpose:"Use this to see which connectors were selected in each time bucket inside the selected preview window.",calculation:"Returned preview traces are bucketed by time using each trace's latest activity timestamp, then grouped by latest selected connector. The chart shows connector counts per bucket.",source:"Reads `rule_evaluation_preview` activity through `/analytics/preview-trace`."},preview_share:{title:"Rule-based gateway selection mix",purpose:"Use this to see which connectors dominate the fetched rule-preview sample, separate from real transaction decisions.",calculation:"Returned preview traces are grouped by latest selected connector and displayed as share of the fetched preview sample.",source:"Reads `rule_evaluation_preview` activity through `/analytics/preview-trace`."}};function W$(e){const t=new URLSearchParams;return Object.entries(e).forEach(([r,n])=>{n!==void 0&&n!==""&&t.set(r,String(n))}),t.toString()}function Oy(e,t,r,n){const a={range:t==="custom"?"1h":t,start_ms:r==null?void 0:r.start_ms,end_ms:r==null?void 0:r.end_ms,gateway:n!=null&&n.gateways.length?n.gateways.join(","):void 0};Object.entries((n==null?void 0:n.dimensions)||{}).forEach(([o,s])=>{s&&(a[o]=s)});const i=W$(a);return i?`${e}?${i}`:e}function D0(e,t,r,n){const a={range:e==="custom"?"1h":e,start_ms:n==null?void 0:n.start_ms,end_ms:n==null?void 0:n.end_ms,page:t,page_size:r},i=W$(a);return i?`/analytics/preview-trace?${i}`:"/analytics/preview-trace"}async function $se(e,t){const r=await xn(D0(e,1,Sy,t)),n=Math.min(Math.ceil(r.total_results/Sy),Tse);if(n<=1)return r;const a=await Promise.all(Array.from({length:n-1},(i,o)=>xn(D0(e,o+2,Sy,t))));return{...r,results:[r.results,...a.map(i=>i.results)].flat()}}function Fh(e,t=2){if(e==null||Number.isNaN(Number(e)))return"0";const r=Number(e);return Number.isInteger(r)?r.toString():r.toFixed(t)}function H$(e){return Number.isFinite(e)?e<=1?e*100:e:0}function Rf(e,t=1){return e==null||Number.isNaN(Number(e))?"0%":`${Fh(H$(Number(e)),t)}%`}function Rse(e,t){const r=Math.max(0,t.end_ms-t.start_ms);return r<=24*60*60*1e3?new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit"}).format(new Date(e)):r<=7*24*60*60*1e3?new Intl.DateTimeFormat(void 0,{day:"numeric",month:"short",hour:"2-digit"}).format(new Date(e)):new Intl.DateTimeFormat(void 0,{day:"numeric",month:"short"}).format(new Date(e))}function vo(e){return new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(e))}function Ise(e,t){const r=t?t.end_ms-t.start_ms:e==="15m"?9e5:e==="1h"?36e5:e==="12h"?432e5:e==="1d"?864e5:6048e5;return r<=15*60*1e3?60*1e3:r<=60*60*1e3?5*60*1e3:r<=12*60*60*1e3||r<=24*60*60*1e3?60*60*1e3:24*60*60*1e3}function L0(e,t){return e-e%Math.max(1,t)}function Ny(e,t){const r=[],n=Math.max(1,t),a=L0(e.start_ms,n),i=L0(e.end_ms,n);for(let o=a;o<=i;o+=n)r.push(o);return r}function fO(e){const t=Date.now(),r=e==="15m"?15*60*1e3:e==="1h"?60*60*1e3:e==="12h"?12*60*60*1e3:e==="1d"?24*60*60*1e3:7*24*60*60*1e3;return{start_ms:t-r,end_ms:t}}function If(e){const t=new Date(e),r=n=>n.toString().padStart(2,"0");return`${t.getFullYear()}-${r(t.getMonth()+1)}-${r(t.getDate())}T${r(t.getHours())}:${r(t.getMinutes())}`}function pO(e){const t=new Date(e).getTime();return Number.isFinite(t)?t:null}function xi({title:e,body:t}){return l.jsxs("div",{className:"rounded-[24px] border border-dashed border-slate-200 bg-white/60 px-6 py-12 text-center dark:border-[#222227] dark:bg-[#0b0b0d]",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:t})]})}function Tu({title:e,body:t}){return l.jsxs("div",{className:"rounded-[24px] border border-slate-200 bg-white/60 px-6 py-12 text-center dark:border-[#222227] dark:bg-[#0b0b0d]",children:[l.jsx("div",{className:"flex justify-center",children:l.jsx(Bt,{size:20})}),l.jsx("p",{className:"mt-4 text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:t})]})}function Mse({label:e}){return l.jsxs("div",{className:"overflow-hidden rounded-[22px] border border-brand-500/20 bg-white shadow-[0_10px_30px_-24px_rgba(0,105,237,0.9)] dark:bg-[#0c0c0e]",children:[l.jsx("div",{className:"h-2 w-full bg-brand-500/15",children:l.jsx("div",{className:"h-full origin-left animate-[analytics-progress_1.8s_ease-in-out_infinite] rounded-r-full bg-brand-500"})}),l.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-3",children:[l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:e}),l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-brand-600 dark:text-brand-300",children:"Loading"})]})]})}function Mf(){return"h-11 w-full rounded-2xl border border-slate-200 bg-white px-4 text-sm text-slate-700 shadow-sm outline-none transition focus:border-brand-500 focus:ring-2 focus:ring-brand-500/20 dark:border-[#27272a] dark:bg-[#121214] dark:text-[#e5e7eb]"}function ys({content:e}){const[t,r]=S.useState(!1),n=S.useRef(null),[a,i]=S.useState({top:0,left:0,width:320});return S.useEffect(()=>{if(!t)return;function o(s){var u;(u=n.current)!=null&&u.contains(s.target)||r(!1)}return document.addEventListener("mousedown",o),()=>document.removeEventListener("mousedown",o)},[t]),S.useLayoutEffect(()=>{if(!t||!n.current)return;const o=320,s=280,u=16,c=12;function f(){if(!n.current)return;const d=n.current.getBoundingClientRect(),p=Math.min(o,window.innerWidth-u*2),h=Math.min(Math.max(d.right-p,u),window.innerWidth-p-u),v=d.bottom+c+s>window.innerHeight-u?Math.max(d.top-s-c,u):d.bottom+c;i({top:v,left:h,width:p})}return f(),window.addEventListener("resize",f),window.addEventListener("scroll",f,!0),()=>{window.removeEventListener("resize",f),window.removeEventListener("scroll",f,!0)}},[t]),l.jsxs("div",{ref:n,className:"relative shrink-0",children:[l.jsx("button",{type:"button","aria-label":`About ${e.title}`,onClick:()=>r(o=>!o),className:`flex h-7 w-7 items-center justify-center rounded-full border text-xs font-semibold transition ${t?"border-brand-500/50 bg-brand-500/10 text-brand-700 dark:text-brand-200":"border-slate-200 bg-white text-slate-500 hover:border-slate-300 hover:text-slate-900 dark:border-[#27272a] dark:bg-[#121214] dark:text-[#8a8a93] dark:hover:text-white"}`,children:"i"}),t?l.jsxs("div",{style:{position:"fixed",top:a.top,left:a.left,width:a.width},className:"z-[120] rounded-[24px] border border-slate-200 bg-white/95 p-4 shadow-2xl backdrop-blur dark:border-[#1d1d23] dark:bg-[#09090d]/95",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e.title}),l.jsxs("div",{className:"mt-3 space-y-3 text-xs leading-6 text-slate-600 dark:text-[#b3b3bd]",children:[l.jsxs("div",{children:[l.jsx("p",{className:"font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Why it matters"}),l.jsx("p",{className:"mt-1",children:e.purpose})]}),l.jsxs("div",{children:[l.jsx("p",{className:"font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"How it is calculated"}),l.jsx("p",{className:"mt-1",children:e.calculation})]}),l.jsxs("div",{children:[l.jsx("p",{className:"font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Data source"}),l.jsx("p",{className:"mt-1",children:e.source})]})]})]}):null]})}function Ay({label:e,value:t,subtitle:r,eyebrow:n="Endpoint hits"}){return l.jsx(Oe,{className:"h-full overflow-hidden",children:l.jsxs(qe,{className:"flex h-full min-h-[150px] flex-col justify-between",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:n}),l.jsx("p",{className:"text-lg font-semibold text-slate-900 dark:text-white",children:e})]}),l.jsxs("div",{className:"flex items-end justify-between gap-4",children:[l.jsx("p",{className:"text-5xl font-semibold tracking-tight text-slate-950 dark:text-white",children:Fh(t,0)}),l.jsx(Ve,{variant:"blue",children:r})]})]})})}function Dse(e){return e==="/decide_gateway"?"Decide Gateway":e==="/update_gateway"?"Update Gateway":e==="/rule_evaluate"?"Rule Evaluate":e}function Lse(){var ur,cr,dn,dr,er,Fr,qn,Lt,Ar,gr,xr,Kn,va,Yr,Xn,mi,Er,ht,cu,fn,Pr,mt,du,Da;const{merchantId:e}=ma(),t=Ca(D=>{var J;return((J=D.user)==null?void 0:J.merchantId)||""}),r=e||t,[n,a]=S.useState("1h"),[i,o]=S.useState("transactions"),[s,u]=S.useState(dO),[c,f]=S.useState(!1),[d,p]=S.useState(1),[h,b]=S.useState(()=>If(Date.now()-2*60*60*1e3)),[v,g]=S.useState(()=>If(Date.now())),y=S.useMemo(()=>{if(n!=="custom")return;const D=pO(h),J=pO(v);if(!(D===null||J===null||J<=D))return{start_ms:D,end_ms:J}},[v,h,n]),m=n!=="custom"||y?Oy("/analytics/overview",n,y):null,w=n!=="custom"||y?Oy("/analytics/routing-stats",n,y):null,j=n!=="custom"||y?Oy("/analytics/routing-stats",n,y,s):null,x=n!=="custom"||y?["preview-trace-analytics",n,(y==null?void 0:y.start_ms)??null,(y==null?void 0:y.end_ms)??null]:null,_=n!=="custom"||y?D0(n,d,ky,y):null,k={refreshInterval:1e4,revalidateOnFocus:!0,revalidateIfStale:!1},O={refreshInterval:12e3,revalidateOnFocus:!0,revalidateIfStale:!1},A={...O,keepPreviousData:!0},I={refreshInterval:D=>{var J;return(J=D==null?void 0:D.results)!=null&&J.length?12e3:2e3},revalidateOnFocus:!0,revalidateIfStale:!1,keepPreviousData:!0},$=Vt(m,xn,k),N=Vt(w,xn,O),T=Vt(j,xn,A),R=Vt(x,async D=>{const[,J,me,ze]=D;return $se(J,me!==null&&ze!==null?{start_ms:Number(me),end_ms:Number(ze)}:void 0)},{refreshInterval:D=>{var J;return(J=D==null?void 0:D.results)!=null&&J.length?12e3:2e3},revalidateOnFocus:!0,revalidateIfStale:!1}),L=Vt(_,xn,I),U=!$.data&&$.isLoading||!N.data&&N.isLoading||!T.data&&T.isLoading,W=!$.data&&$.isLoading||!R.data&&R.isLoading,M=((ur=$.error)==null?void 0:ur.message)||((cr=N.error)==null?void 0:cr.message)||((dn=T.error)==null?void 0:dn.message)||null,B=((dr=$.error)==null?void 0:dr.message)||((er=R.error)==null?void 0:er.message)||((Fr=L.error)==null?void 0:Fr.message)||null,G=i==="transactions"?U:W,H=i==="transactions"?M:B,q=!U&&($.isValidating||N.isValidating||T.isValidating),ae=!W&&($.isValidating||R.isValidating||L.isValidating),X=i==="transactions"?q:ae,se={dimensions:((Lt=(qn=N.data)==null?void 0:qn.available_filters)==null?void 0:Lt.dimensions)||((gr=(Ar=T.data)==null?void 0:Ar.available_filters)==null?void 0:gr.dimensions)||[],missing_dimensions:((Kn=(xr=N.data)==null?void 0:xr.available_filters)==null?void 0:Kn.missing_dimensions)||((Yr=(va=T.data)==null?void 0:va.available_filters)==null?void 0:Yr.missing_dimensions)||[],gateways:((mi=(Xn=N.data)==null?void 0:Xn.available_filters)==null?void 0:mi.gateways)||((ht=(Er=T.data)==null?void 0:Er.available_filters)==null?void 0:ht.gateways)||[]},fe=S.useMemo(()=>new Map(se.dimensions.map(D=>[D.key,D])),[se.dimensions]);S.useEffect(()=>{u(D=>{const J=Object.fromEntries(Object.entries(D.dimensions).filter(([ze,Fe])=>{if(!Fe)return!1;const ut=fe.get(ze);return ut?ut.values.includes(Fe):!1})),me=D.gateways.filter(ze=>se.gateways.includes(ze));return Object.keys(J).length===Object.keys(D.dimensions).length&&Object.entries(J).every(([ze,Fe])=>D.dimensions[ze]===Fe)&&me.length===D.gateways.length&&me.every((ze,Fe)=>ze===D.gateways[Fe])?D:{dimensions:J,gateways:me}})},[fe,se.gateways]),S.useEffect(()=>{se.dimensions.length<=Cu&&c&&f(!1)},[se.dimensions.length,c]),S.useEffect(()=>{p(1)},[n,y==null?void 0:y.start_ms,y==null?void 0:y.end_ms]);const Pe=S.useMemo(()=>{var D;return n!=="custom"?((D=cO.find(J=>J.value===n))==null?void 0:D.label)||"Selected window":y?`${vo(y.start_ms)} to ${vo(y.end_ms)}`:"Custom window"},[y,n]),Te=S.useMemo(()=>y||fO(n),[y,n]),re=S.useMemo(()=>{var J,me;const D=[{route:"/decide_gateway",count:0},{route:"/update_gateway",count:0},{route:"/rule_evaluate",count:0}];return(me=(J=$.data)==null?void 0:J.route_hits)!=null&&me.length?D.map(ze=>{var Fe,ut;return{...ze,count:((ut=(Fe=$.data)==null?void 0:Fe.route_hits.find(br=>br.route===ze.route))==null?void 0:ut.count)||0}}):D},[$.data]),ce=S.useMemo(()=>re.filter(D=>D.route!=="/rule_evaluate"),[re]),we=S.useMemo(()=>{var D;return((D=re.find(J=>J.route==="/rule_evaluate"))==null?void 0:D.count)||0},[re]),Y=((cu=R.data)==null?void 0:cu.results)||[],Ce=((fn=L.data)==null?void 0:fn.results)||[],ve=S.useMemo(()=>{const D=new Map;for(const J of Y){const me=J.latest_gateway||"No gateway selected";D.set(me,(D.get(me)||0)+1)}return Array.from(D.entries()).map(([J,me])=>({gateway:J,count:me})).sort((J,me)=>me.count-J.count).slice(0,6)},[Y]),Ke=S.useMemo(()=>{const D=new Map;for(const J of Y){const me=J.latest_status||"unknown";D.set(me,(D.get(me)||0)+1)}return Array.from(D.entries()).map(([J,me])=>({status:J,count:me})).sort((J,me)=>me.count-J.count)},[Y]),Le=S.useMemo(()=>Ise(n,y),[y,n]),_e=S.useMemo(()=>D=>Rse(Number(D),Te),[Te]),$e=S.useMemo(()=>{const D=ve.map(me=>me.gateway).slice(0,6),J=new Map;for(const me of Ny(Te,Le))J.set(me,D.reduce((ze,Fe)=>(ze[Fe]=0,ze),{bucket_ms:me}));for(const me of Y){const ze=me.latest_gateway||"No gateway selected";if(!D.includes(ze))continue;const Fe=L0(me.last_seen_ms,Le),ut=J.get(Fe)||D.reduce((br,vi)=>(br[vi]=0,br),{bucket_ms:Fe});ut[ze]=(ut[ze]||0)+1,J.set(Fe,ut)}return{gateways:D,rows:Array.from(J.values()).sort((me,ze)=>me.bucket_ms-ze.bucket_ms)}},[Le,Te,Y,ve]),Ae=(Pr=Y[0])==null?void 0:Pr.last_seen_ms,Ne=((mt=L.data)==null?void 0:mt.total_results)||0,Xe=Math.max(1,Math.ceil(Ne/ky)),Ue=Ne?(d-1)*ky+1:0,C=Ne?Ue+Ce.length-1:0,F=ve.filter(D=>D.gateway!=="No gateway selected").length,V=((du=ve[0])==null?void 0:du.count)||1,ne=S.useMemo(()=>{const D=ve.reduce((J,me)=>J+me.count,0);return ve.map((J,me)=>({name:J.gateway,value:J.count,percentage:D?J.count/D*100:0,color:J.gateway==="No gateway selected"?"#64748b":Zr[me%Zr.length]}))},[ve]),te=we>0&&!R.error&&!L.error&&Y.length===0&&Ce.length===0;S.useEffect(()=>{if(!Ne&&d!==1){p(1);return}d>Xe&&p(Xe)},[d,Xe,Ne]);const Q=S.useMemo(()=>{var me,ze;const D=Array.from(new Set((((me=N.data)==null?void 0:me.gateway_share)||[]).map(Fe=>Fe.gateway))).slice(0,6);if(!D.length)return{gateways:D,rows:[]};const J=new Map;for(const Fe of Ny(Te,Le))J.set(Fe,D.reduce((ut,br)=>(ut[br]=0,ut),{bucket_ms:Fe}));for(const Fe of((ze=N.data)==null?void 0:ze.gateway_share)||[]){if(!D.includes(Fe.gateway))continue;const ut=J.get(Fe.bucket_ms)||D.reduce((br,vi)=>(br[vi]=0,br),{bucket_ms:Fe.bucket_ms});ut[Fe.gateway]=Fe.count,J.set(Fe.bucket_ms,ut)}return{gateways:D,rows:Array.from(J.values()).sort((Fe,ut)=>Fe.bucket_ms-ut.bucket_ms)}},[Le,Te,N.data]),ee=S.useMemo(()=>{var me,ze;const D=Array.from(new Set((((me=T.data)==null?void 0:me.sr_trend)||[]).map(Fe=>Fe.gateway))).slice(0,6);if(!D.length)return{gateways:D,rows:[]};const J=new Map;for(const Fe of Ny(Te,Le))J.set(Fe,D.reduce((ut,br)=>(ut[br]=null,ut),{bucket_ms:Fe}));for(const Fe of((ze=T.data)==null?void 0:ze.sr_trend)||[]){if(!D.includes(Fe.gateway))continue;const ut=J.get(Fe.bucket_ms)||D.reduce((br,vi)=>(br[vi]=null,br),{bucket_ms:Fe.bucket_ms});ut[Fe.gateway]=H$(Fe.score_value),J.set(Fe.bucket_ms,ut)}return{gateways:D,rows:Array.from(J.values()).sort((Fe,ut)=>Number(Fe.bucket_ms)-Number(ut.bucket_ms))}},[Le,Te,T.data]),Se=S.useMemo(()=>{if(!ee.rows.length)return[];const D=[...ee.rows].reverse().find(J=>ee.gateways.some(me=>typeof J[me]=="number"));return D?ee.gateways.map(J=>({gateway:J,value:typeof D[J]=="number"?D[J]:null})).filter(J=>J.value!==null):[]},[ee]),Ee=S.useMemo(()=>{const D=ee.rows.flatMap(Fe=>ee.gateways.map(ut=>Fe[ut]).filter(ut=>typeof ut=="number"));if(!D.length)return[0,100];const J=Math.min(...D),me=Math.max(...D),ze=J===me?5:Math.max(2,(me-J)*.35);return[Math.max(0,Math.floor(J-ze)),Math.min(100,Math.ceil(me+ze))]},[ee]),st=S.useMemo(()=>{const D=se.dimensions.flatMap(J=>{const me=s.dimensions[J.key];return me?[`${J.label}: ${me}`]:[]});return s.gateways.length&&D.push(s.gateways.join(", ")),D.length?D.join(" / "):"All routing dimensions"},[se.dimensions,s]),K=S.useMemo(()=>c||se.dimensions.length<=Cu?se.dimensions:se.dimensions.slice(0,Cu),[se.dimensions,c]),le=se.dimensions.length>Cu,De=le?se.dimensions.length-Cu:0,Nr=S.useMemo(()=>{const D=se.dimensions.flatMap(me=>{const ze=s.dimensions[me.key];return ze?[{key:`dimension:${me.key}`,label:`${me.label}: ${ze}`}]:[]}),J=s.gateways.map(me=>({key:`gateway:${me}`,label:`Connector: ${me}`}));return[...D,...J]},[se.dimensions,s]);function lt(D){if(a(D),D!=="custom"){const J=fO(D);b(If(J.start_ms)),g(If(J.end_ms))}}function Rt(){$.mutate(),N.mutate(),T.mutate(),R.mutate(),L.mutate()}function Hn(D){u(J=>{const me=J.gateways.includes(D);return{...J,gateways:me?J.gateways.filter(ze=>ze!==D):[...J.gateways,D]}})}function co(){u(dO)}function Gn(D){if(D.startsWith("dimension:")){Wt(D.replace("dimension:",""),"");return}D.startsWith("gateway:")&&Hn(D.replace("gateway:",""))}function Wt(D,J){u(me=>{const ze={...me.dimensions};return J?ze[D]=J:delete ze[D],{...me,dimensions:ze}})}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900 dark:text-white",children:"Analytics"}),l.jsx(Ve,{variant:"green",children:((Da=$.data)==null?void 0:Da.merchant_id)||r||"Signed-in merchant"})]}),l.jsx("p",{className:"text-sm text-slate-500 dark:text-[#8a8a93]",children:i==="transactions"?"One working surface for route volume, connector share, and historical connector success rate.":"Preview-only activity for rule-based routing, separate from transaction decisions and score updates."})]}),l.jsx("div",{className:"flex flex-wrap items-center gap-2",children:l.jsx(Re,{size:"sm",variant:"ghost",onClick:Rt,children:"Refresh"})})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(Re,{size:"sm",variant:"secondary",className:i==="transactions"?"!border-slate-200 !bg-white !text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.28)] dark:!border-[#2a303a] dark:!bg-[#161b24] dark:!text-white":"!border-transparent !bg-slate-100 !text-slate-600 hover:!bg-slate-200 hover:!text-slate-900 dark:!bg-[#161b24] dark:!text-[#a7b2c6] dark:hover:!bg-[#1c2330] dark:hover:!text-white",onClick:()=>o("transactions"),children:"Transactions"}),l.jsx(Re,{size:"sm",variant:"secondary",className:i==="rule_based"?"!border-slate-200 !bg-white !text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.28)] dark:!border-[#2a303a] dark:!bg-[#161b24] dark:!text-white":"!border-transparent !bg-slate-100 !text-slate-600 hover:!bg-slate-200 hover:!text-slate-900 dark:!bg-[#161b24] dark:!text-[#a7b2c6] dark:hover:!bg-[#1c2330] dark:hover:!text-white",onClick:()=>o("rule_based"),children:"Rule-Based"})]}),l.jsx(Oe,{className:"overflow-visible",children:l.jsxs(qe,{className:"flex flex-wrap items-end gap-4",children:[l.jsxs("label",{className:"min-w-[220px] flex-1 space-y-2",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Time window"}),l.jsx("select",{value:n,onChange:D=>lt(D.target.value),className:Mf(),children:cO.map(D=>l.jsx("option",{value:D.value,children:D.label},D.value))})]}),n==="custom"?l.jsxs(l.Fragment,{children:[l.jsxs("label",{className:"min-w-[220px] flex-1 space-y-2",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Start time"}),l.jsx("input",{type:"datetime-local",value:h,onChange:D=>b(D.target.value),className:Mf()})]}),l.jsxs("label",{className:"min-w-[220px] flex-1 space-y-2",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"End time"}),l.jsx("input",{type:"datetime-local",value:v,onChange:D=>g(D.target.value),className:Mf()})]})]}):null,l.jsxs("div",{className:"min-w-[220px] flex-1 rounded-[24px] border border-slate-200 bg-white px-4 py-3 dark:border-[#1d1d23] dark:bg-[#0c0c0e]",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Active window"}),l.jsx("p",{className:"mt-1 text-sm font-medium text-slate-900 dark:text-white",children:Pe}),n==="custom"&&!y?l.jsx("p",{className:"mt-1 text-xs text-red-500",children:"Choose an end time after the start time."}):null]})]})}),l.jsx(Ur,{error:H}),G?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Bt,{size:16}),"Loading analytics…"]}):null,X?l.jsx(Mse,{label:i==="transactions"?`Refreshing transaction analytics for ${Pe.toLowerCase()}`:`Refreshing rule-based analytics for ${Pe.toLowerCase()}`}):null,l.jsxs("div",{className:"relative",children:[X?l.jsx("div",{className:"pointer-events-none absolute inset-0 z-20 rounded-[28px] bg-white/45 backdrop-blur-[1px] dark:bg-[#050507]/45"}):null,i==="transactions"?l.jsxs("div",{className:X?"transition-opacity duration-200 opacity-60":"transition-opacity duration-200 opacity-100",children:[l.jsxs("section",{className:"space-y-4",children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-lg font-semibold text-slate-900 dark:text-white",children:"API calls"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#8a8a93]",children:"Counts for the decision and feedback surfaces tied to real transaction flow."})]}),l.jsx(ys,{content:vs.hits})]}),l.jsx("div",{className:"grid gap-4 lg:grid-cols-2",children:ce.map(D=>l.jsx(Ay,{label:Dse(D.route),value:D.count,subtitle:n==="custom"?"Custom window":Pe},D.route))})]}),l.jsxs(Oe,{className:"overflow-visible",children:[l.jsx(rt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Gateway share over time"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"How decision volume moved across connectors inside the selected merchant window."})]}),l.jsx(ys,{content:vs.share})]})}),l.jsx(qe,{children:Q.rows.length?l.jsx("div",{className:"h-80",children:l.jsx(Ri,{width:"100%",height:"100%",children:l.jsxs(Qoe,{data:Q.rows,children:[l.jsx(op,{strokeDasharray:"3 3",stroke:"#e2e8f0"}),l.jsx(Ea,{dataKey:"bucket_ms",tickFormatter:_e,tick:{fontSize:11}}),l.jsx(Pa,{tick:{fontSize:11}}),l.jsx(Sr,{labelFormatter:D=>vo(Number(D)),contentStyle:Pf,labelStyle:Cf,itemStyle:Tf,wrapperStyle:$f}),l.jsx(oa,{}),Q.gateways.map((D,J)=>l.jsx(uo,{type:"monotone",dataKey:D,stackId:"1",stroke:Zr[J%Zr.length],fill:Zr[J%Zr.length],fillOpacity:.24,name:D},D))]})})}):l.jsx(xi,{title:"No gateway share history yet",body:"Send real decide-gateway traffic in the selected window to populate connector share."})})]}),l.jsxs(Oe,{className:"overflow-visible",children:[l.jsx(rt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Connector success rate over time"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Historical connector score trend for the selected merchant window."}),l.jsxs("p",{className:"mt-2 text-xs font-medium text-slate-600 dark:text-[#b3b3bd]",children:["Active filters: ",st]})]}),l.jsx(ys,{content:vs.sr})]})}),l.jsxs(qe,{className:"space-y-4",children:[l.jsxs("div",{className:"rounded-[24px] border border-slate-200 bg-white p-4 dark:border-[#1d1d23] dark:bg-[#0c0c0e]",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Connector filters"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Narrow the success-rate line chart by the routing dimensions present for this merchant."})]}),l.jsx(Re,{size:"sm",variant:"secondary",onClick:co,disabled:!Object.values(s.dimensions).some(Boolean)&&!s.gateways.length,children:"Clear filters"})]}),se.dimensions.length?l.jsxs("div",{className:"mt-4 space-y-3",children:[l.jsx("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-3",children:K.map(D=>l.jsxs("label",{className:"space-y-2",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:D.label}),l.jsxs("select",{value:s.dimensions[D.key]||"",onChange:J=>Wt(D.key,J.target.value),className:Mf(),disabled:!D.values.length,children:[l.jsxs("option",{value:"",children:["All ",D.label.toLowerCase()]}),D.values.map(J=>l.jsx("option",{value:J,children:J},J))]})]},D.key))}),le?l.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-2xl border border-slate-200 bg-white px-4 py-3 dark:border-[#1d1d23] dark:bg-[#09090b]",children:[l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:c?"Showing all routing dimensions available for this merchant.":`${De} more routing dimension${De===1?"":"s"} available for this merchant.`}),l.jsx(Re,{size:"sm",variant:"secondary",onClick:()=>f(D=>!D),children:c?"Show fewer filters":"More filters"})]}):null]}):se.missing_dimensions.length?l.jsx(xi,{title:"No populated routing dimensions in this window",body:"The merchant has score history, but none of the dynamic routing dimensions have values recorded in the selected time window yet."}):null,se.missing_dimensions.length?l.jsxs("div",{className:"mt-4 rounded-2xl border border-dashed border-slate-200 bg-white px-4 py-3 dark:border-[#1d1d23] dark:bg-[#09090b]",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"No values in this window yet"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:se.missing_dimensions.map(D=>D.label).join(", ")})]}):null,Nr.length?l.jsxs("div",{className:"mt-4 space-y-2",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Active filters"}),l.jsx("div",{className:"flex flex-wrap gap-2",children:Nr.map(D=>l.jsxs("button",{type:"button",onClick:()=>Gn(D.key),className:"inline-flex items-center gap-2 rounded-full border border-brand-500/30 bg-brand-500/10 px-3 py-1.5 text-xs font-semibold text-brand-700 transition hover:bg-brand-500/15 dark:text-brand-200",children:[l.jsx("span",{children:D.label}),l.jsx("span",{"aria-hidden":"true",children:"×"})]},D.key))})]}):null,l.jsxs("div",{className:"mt-4 space-y-2",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Connectors"}),l.jsx("div",{className:"flex flex-wrap gap-2",children:se.gateways.length?se.gateways.map(D=>{const J=s.gateways.includes(D);return l.jsx("button",{type:"button",onClick:()=>Hn(D),className:`rounded-full border px-3 py-1.5 text-xs font-semibold transition ${J?"border-brand-500/50 bg-brand-500/10 text-brand-700 dark:text-brand-200":"border-slate-200 bg-white text-slate-600 hover:border-slate-300 hover:text-slate-900 dark:border-[#27272a] dark:bg-[#121214] dark:text-[#a1a1aa] dark:hover:text-white"}`,children:D},D)}):l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:"No connector history yet for the selected window."})})]})]}),Se.length?l.jsx("div",{className:"flex flex-wrap gap-2",children:Se.map(D=>l.jsxs(Ve,{variant:"blue",children:[D.gateway,": ",Rf(D.value)]},D.gateway))}):null,ee.rows.length?l.jsx("div",{className:"h-80",children:l.jsx(Ri,{width:"100%",height:"100%",children:l.jsxs(Joe,{data:ee.rows,children:[l.jsx(op,{strokeDasharray:"3 3",stroke:"#e2e8f0"}),l.jsx(Ea,{dataKey:"bucket_ms",tickFormatter:_e,tick:{fontSize:11}}),l.jsx(Pa,{domain:Ee,tick:{fontSize:11},tickFormatter:D=>`${Fh(Number(D),0)}%`}),l.jsx(Sr,{labelFormatter:D=>vo(Number(D)),formatter:(D,J)=>[Rf(D),String(J)],contentStyle:Pf,labelStyle:Cf,itemStyle:Tf,wrapperStyle:$f}),l.jsx(oa,{}),ee.gateways.map((D,J)=>l.jsx(Ud,{type:"monotone",dataKey:D,stroke:Zr[J%Zr.length],strokeWidth:3,dot:{r:3,strokeWidth:1,fill:Zr[J%Zr.length]},activeDot:{r:5},name:D},D))]})})}):l.jsx(xi,{title:"No connector score history yet",body:"Send decide-gateway and update-gateway-score traffic in the selected window to populate connector history."})]})]})]}):l.jsxs("div",{className:X?"transition-opacity duration-200 opacity-60":"transition-opacity duration-200 opacity-100",children:[l.jsxs("section",{className:"space-y-4",children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-lg font-semibold text-slate-900 dark:text-white",children:"Rule-based activity"}),l.jsxs("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#8a8a93]",children:["Preview-only routing activity from ",l.jsx("code",{children:"/routing/evaluate"}),", kept separate from transaction routing and gateway scoring."]})]}),l.jsx(ys,{content:vs.preview_hits})]}),l.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[l.jsx(Ay,{label:"Rule Evaluate",value:we,subtitle:n==="custom"?"Custom window":Pe}),l.jsx(Ay,{label:"Gateways touched",value:F,subtitle:"Across recent preview selections",eyebrow:"Preview coverage"})]})]}),l.jsxs("div",{className:"grid gap-4 xl:grid-cols-2",children:[l.jsxs(Oe,{className:"overflow-visible",children:[l.jsx(rt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Connector selections over time"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Time-bucketed connector counts from the fetched rule-preview sample."})]}),l.jsx(ys,{content:vs.preview_activity})]})}),l.jsx(qe,{children:$e.gateways.length?l.jsx("div",{className:"h-80",children:l.jsx(Ri,{width:"100%",height:"100%",children:l.jsxs(M0,{data:$e.rows,barGap:6,children:[l.jsx(op,{strokeDasharray:"3 3",stroke:"#e2e8f0"}),l.jsx(Ea,{dataKey:"bucket_ms",tickFormatter:_e,tick:{fontSize:11}}),l.jsx(Pa,{tick:{fontSize:11}}),l.jsx(Sr,{labelFormatter:D=>vo(Number(D)),contentStyle:Pf,labelStyle:Cf,itemStyle:Tf,wrapperStyle:$f}),l.jsx(oa,{}),$e.gateways.map((D,J)=>l.jsx(li,{dataKey:D,stackId:"preview-connectors",fill:D==="No gateway selected"?"#64748b":Zr[J%Zr.length],radius:[6,6,0,0],name:D},D))]})})}):te?l.jsx(Tu,{title:"Processing recent rule previews",body:"Rule evaluate calls have landed, but the preview sample has not been materialized yet. This panel is auto-refreshing and will fill in once analytics catches up."}):l.jsx(xi,{title:"No connector selections yet",body:"Send /routing/evaluate preview traffic in the selected window to populate connector time-series."})})]}),l.jsxs(Oe,{className:"overflow-visible",children:[l.jsx(rt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Gateway selection mix"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Connector share across the fetched rule-preview sample."})]}),l.jsx(ys,{content:vs.preview_share})]})}),l.jsx(qe,{children:ne.length?l.jsxs("div",{className:"grid gap-4 lg:grid-cols-[minmax(0,1fr)_240px]",children:[l.jsxs("div",{className:"relative h-80",children:[l.jsx(Ri,{width:"100%",height:"100%",children:l.jsxs(s1,{children:[l.jsx(Sr,{formatter:(D,J,me)=>{var ze;return[`${Fh(D,0)} previews`,`${String(J)} (${Rf(((ze=me.payload)==null?void 0:ze.percentage)||0)})`]},contentStyle:Pf,labelStyle:Cf,itemStyle:Tf,wrapperStyle:$f}),l.jsx(oa,{}),l.jsx(ha,{data:ne,dataKey:"value",nameKey:"name",innerRadius:72,outerRadius:108,paddingAngle:3,children:ne.map(D=>l.jsx(Hi,{fill:D.color},D.name))})]})}),l.jsxs("div",{className:"pointer-events-none absolute inset-0 flex flex-col items-center justify-center text-center",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Sample size"}),l.jsx("p",{className:"mt-2 text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:Y.length}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"preview groups"})]})]}),l.jsx("div",{className:"space-y-3",children:ne.map(D=>l.jsxs("div",{className:"rounded-[20px] border border-slate-200 bg-white/80 px-4 py-3 dark:border-[#1d1d23] dark:bg-[#0c0c0e]",children:[l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:D.color}}),l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:D.name})]}),l.jsx("p",{className:"text-xs font-semibold text-slate-500 dark:text-[#8a8a93]",children:D.value})]}),l.jsxs("p",{className:"mt-2 text-xs text-slate-500 dark:text-[#8a8a93]",children:[Rf(D.percentage)," of fetched previews"]})]},D.name))})]}):te?l.jsx(Tu,{title:"Building preview connector mix",body:"Recent rule-preview activity is still being folded into the fetched sample. This card will update automatically once the preview rows appear."}):l.jsx(xi,{title:"No preview connector mix yet",body:"Rule previews need to return gateway selections before the mix chart can render."})})]})]}),l.jsxs("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.2fr)_minmax(320px,0.8fr)]",children:[l.jsxs(Oe,{className:"overflow-visible",children:[l.jsx(rt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Recent rule previews"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:["Preview-only evaluations captured from ",l.jsx("code",{children:"/routing/evaluate"}),". This does not affect transaction scoring."]})]}),l.jsx(Ve,{variant:"purple",children:Ae?`Latest ${vo(Ae)}`:"No activity"})]})}),l.jsx(qe,{children:!L.data&&L.isLoading?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Bt,{size:16}),"Loading rule previews…"]}):L.error&&!L.data?l.jsx(Ur,{error:L.error.message}):Ce.length?l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:["Showing ",Ue,"-",C," of ",Ne]}),L.isLoading?l.jsxs("div",{className:"flex items-center gap-2 text-xs text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Bt,{size:14}),"Loading page…"]}):null]}),l.jsx("div",{className:"space-y-3",children:Ce.map(D=>l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-white/90 px-4 py-4 dark:border-[#1d1d23] dark:bg-[#0c0c0e]",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:D.payment_id||D.request_id||D.lookup_key}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:[D.merchant_id||"unknown merchant"," · ",vo(D.last_seen_ms)]})]}),l.jsx(Ve,{variant:"purple",children:D.latest_status||"preview"})]}),l.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[l.jsx(Ve,{variant:"blue",children:"Rule Evaluate"}),D.latest_gateway?l.jsx(Ve,{variant:"green",children:D.latest_gateway}):null,l.jsxs(Ve,{variant:"gray",children:[D.event_count," events"]})]})]},D.lookup_key))}),Xe>1?l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 border-t border-slate-200 pt-4 dark:border-[#1d1d23]",children:[l.jsxs("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:["Page ",d," of ",Xe]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Re,{size:"sm",variant:"secondary",onClick:()=>p(D=>Math.max(1,D-1)),disabled:d===1||L.isLoading,children:"Previous"}),l.jsx(Re,{size:"sm",variant:"secondary",onClick:()=>p(D=>Math.min(Xe,D+1)),disabled:d>=Xe||L.isLoading,children:"Next"})]})]}):null]}):te?l.jsx(Tu,{title:"Waiting for preview rows",body:"Recent /routing/evaluate calls were recorded, but the detailed rule-preview rows are still being flushed. This list is polling every few seconds."}):l.jsx(xi,{title:"No rule-based activity yet",body:"Send /routing/evaluate preview traffic in the selected window to populate rule-based activity."})})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsxs(Oe,{className:"overflow-visible",children:[l.jsx(rt,{children:l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Gateway activity"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Recent preview selections grouped by latest chosen gateway."})]})}),l.jsx(qe,{children:ve.length?l.jsx("div",{className:"space-y-3",children:ve.map((D,J)=>l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:D.gateway}),l.jsx("p",{className:"text-xs font-semibold text-slate-500 dark:text-[#8a8a93]",children:D.count})]}),l.jsx("div",{className:"h-2 overflow-hidden rounded-full bg-slate-100 dark:bg-[#141822]",children:l.jsx("div",{className:"h-full rounded-full",style:{width:`${D.count/V*100}%`,backgroundColor:Zr[J%Zr.length]}})})]},D.gateway))}):te?l.jsx(Tu,{title:"Waiting for gateway activity",body:"The preview sample is still being assembled from recent rule-evaluate calls. Gateway activity will appear here automatically once the rows are available."}):l.jsx(xi,{title:"No gateway activity yet",body:"Once rule previews are captured, this panel will show which connectors are being selected."})})]}),l.jsxs(Oe,{className:"overflow-visible",children:[l.jsx(rt,{children:l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Recent preview outcomes"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Status mix from the loaded preview sample."})]})}),l.jsx(qe,{children:Ke.length?l.jsx("div",{className:"flex flex-wrap gap-2",children:Ke.map(D=>l.jsxs(Ve,{variant:D.status.toLowerCase().includes("fail")?"red":D.status==="default_selection"?"orange":"purple",children:[D.status," · ",D.count]},D.status))}):te?l.jsx(Tu,{title:"Waiting for preview outcomes",body:"Recent preview traffic is still being ingested. Outcome summaries will appear here automatically once the preview rows land."}):l.jsx(xi,{title:"No preview outcomes yet",body:"Recent rule preview results will appear here once preview traffic is recorded."})})]})]})]})]})]})]})}const Fse={SR_SELECTION_V3_ROUTING:"bg-blue-100 text-blue-800",PRIORITY_LOGIC:"bg-purple-100 text-purple-800",NTW_BASED_ROUTING:"bg-green-100 text-green-800",SR_SELECTION_V3_ROUTING_WITH_HEDGING:"bg-orange-100 text-orange-800",HEDGING:"bg-orange-100 text-orange-800"},zse=["card","card_redirect","pay_later","wallet","bank_redirect","bank_transfer","crypto","bank_debit","reward","real_time_payment","upi","voucher","gift_card","open_banking","mobile_payment"],Bse={card:["credit","debit"],bank_debit:["ach","sepa","bacs","becs"],bank_transfer:["ach","sepa","sepa_bank_transfer","bacs","multibanco","pix","pse","permata_bank_transfer","bca_bank_transfer","bni_va","bri_va","cimb_va","danamon_va","mandiri_va","local_bank_transfer","instant_bank_transfer"],wallet:["amazon_pay","apple_pay","google_pay","paypal","ali_pay","ali_pay_hk","dana","mb_way","mobile_pay","samsung_pay","twint","vipps","touch_n_go","swish","we_chat_pay","go_pay","gcash","momo","kakao_pay","cashapp","mifinity","paze"],pay_later:["affirm","alma","afterpay_clearpay","klarna","pay_bright","atome","walley"],upi:["upi_collect","upi_intent"],voucher:["boleto","efecty","pago_efectivo","red_compra","red_pagos","indomaret","alfamart","oxxo","seven_eleven","lawson","mini_stop","family_mart","seicomart","pay_easy"],bank_redirect:["giropay","ideal","sofort","eft","eps","bancontact_card","blik","local_bank_redirect","online_banking_thailand","online_banking_czech_republic","online_banking_finland","online_banking_fpx","online_banking_poland","online_banking_slovakia","przelewy24","trustly","bizum","interac","open_banking_uk","open_banking_pis"],gift_card:["givex","pay_safe_card"],card_redirect:["knet","benefit","momo_atm","card_redirect"],real_time_payment:["fps","duit_now","prompt_pay","viet_qr"],crypto:["crypto_currency"],reward:["evoucher","classic_reward"],open_banking:["open_banking_pis"],mobile_payment:["direct_carrier_billing"]};function Use(e){var n;if(!e)return[];const t=a=>{if(!a||typeof a!="object")return{};const i=a.keys;return i&&typeof i=="object"?i:a},r={...t(e.keys),...t((n=e.routing_config)==null?void 0:n.keys)};return Object.keys(r).length===0?[]:Object.entries(r).map(([a,i])=>{const o=(i.type||i.data_type||"str_value").toString().toLowerCase(),s={key:a,type:o};return i.values&&(s.values=Array.isArray(i.values)?i.values.map(u=>u.trim()):i.values.split(",").map(u=>u.trim())),i.min_value!==void 0&&(s.min_value=i.min_value),i.max_value!==void 0&&(s.max_value=i.max_value),i.min_length!==void 0&&(s.min_length=i.min_length),i.max_length!==void 0&&(s.max_length=i.max_length),i.exact_length!==void 0&&(s.exact_length=i.exact_length),i.regex&&(s.regex=i.regex),s})}function G$(){const{data:e,error:t,isLoading:r}=Vt("/config/routing-keys",xn,{refreshInterval:0,revalidateOnFocus:!1}),n=S.useMemo(()=>Use(e||null),[e]),a=S.useMemo(()=>n.reduce((o,s)=>(o[s.key]=s,o),{}),[n]),i=S.useMemo(()=>{const o={};return n.forEach(s=>{o[s.key]={type:s.type,values:s.values||[]}}),o},[n]);return{config:e,keys:n,keysByName:a,routingKeysConfig:i,isLoading:r,error:t,getKeyValues:o=>{var s;return((s=a[o])==null?void 0:s.values)||[]},isIntegerKey:o=>{var s;return((s=a[o])==null?void 0:s.type)==="integer"},isEnumKey:o=>{var s;return((s=a[o])==null?void 0:s.type)==="enum"}}}/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var Vse={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Wse=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const et=(e,t)=>{const r=S.forwardRef(({color:n="currentColor",size:a=24,strokeWidth:i=2,absoluteStrokeWidth:o,className:s="",children:u,...c},f)=>S.createElement("svg",{ref:f,...Vse,width:a,height:a,stroke:n,strokeWidth:o?Number(i)*24/Number(a):i,className:["lucide",`lucide-${Wse(e)}`,s].join(" "),...c},[...t.map(([d,p])=>S.createElement(d,p)),...Array.isArray(u)?u:[u]]));return r.displayName=`${e}`,r};/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Fo=et("Activity",[["path",{d:"M22 12h-4l-3 9L9 3l-3 9H2",key:"d5dnw9"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const q$=et("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Hse=et("BadgeCheck",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const zh=et("BarChart3",[["path",{d:"M3 3v18h18",key:"1s2lah"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Gse=et("BookOpen",[["path",{d:"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z",key:"vv98re"}],["path",{d:"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z",key:"1cyq3y"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Vs=et("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Wu=et("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const qse=et("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Kse=et("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Xse=et("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const hO=et("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ey=et("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Yse=et("CreditCard",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Zse=et("EyeOff",[["path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24",key:"1jxqfv"}],["path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68",key:"9wicm4"}],["path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61",key:"1jreej"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Wd=et("Eye",[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const hc=et("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Jse=et("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Qse=et("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ele=et("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const K$=et("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const tle=et("LockKeyhole",[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const rle=et("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const nle=et("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ale=et("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const X$=et("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Bh=et("PieChart",[["path",{d:"M21.21 15.89A10 10 0 1 1 8 2.83",key:"k2fpak"}],["path",{d:"M22 12A10 10 0 0 0 12 2v10z",key:"1rfc4y"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Df=et("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Zi=et("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Lf=et("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ile=et("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Y$=et("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ole=et("Sparkles",[["path",{d:"m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z",key:"17u4zn"}],["path",{d:"M5 3v4",key:"bklmnn"}],["path",{d:"M19 17v4",key:"iiml17"}],["path",{d:"M3 5h4",key:"nem4j1"}],["path",{d:"M17 19h4",key:"lbex7p"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const sle=et("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ui=et("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Z$=et("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);/** - * @license lucide-react v0.363.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const mO=et("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),lle=["SR_BASED_ROUTING","PL_BASED_ROUTING","NTW_BASED_ROUTING"],ule={SR_BASED_ROUTING:"Success Rate Based",PL_BASED_ROUTING:"Priority List Based",NTW_BASED_ROUTING:"Network Based"};function cle(e){for(const[t,r]of Object.entries(Fse))if(e.includes(t)||t.includes(e))return r;return"bg-white/5 text-slate-600 ring-1 ring-inset ring-white/8"}const Jr=["#0069ED","#10b981","#f59e0b","#ef4444","#8b5cf6","#ec4899","#06b6d4","#84cc16"],J$="decision-explorer-state-v1",dle={amount:"1000",currency:"",payment_method_type:"",payment_method:"",card_brand:"",auth_type:"",eligible_gateways:"stripe, adyen",ranking_algorithm:"SR_BASED_ROUTING",elimination_enabled:!1},fle={totalPayments:"10",successCount:"7",failureCount:"3"},ple=[{key:"payment_method_type",type:"enum_variant",value:"",metadataKey:""},{key:"currency",type:"enum_variant",value:"",metadataKey:""}],hle=[{gateway_name:"stripe",gateway_id:"gateway_001"},{gateway_name:"adyen",gateway_id:"gateway_002"}];function Q$(e){return e.map(t=>({...t}))}function eR(e){return e.map(t=>({...t}))}function Hu(){return{activeTab:"batch",form:{...dle},simulationConfig:{...fle},ruleParams:Q$(ple),fallbackConnectors:eR(hle),volumePayments:"100",result:null,singleRunPaymentId:null,singleRunOutcome:"CHARGED",ruleResult:null,volumeDistribution:[],volumeEvaluationLog:[],volumeProgress:0,simulationResults:[],responseOpen:!1,volumeResponseOpen:!1}}function mle(){var e,t;if(typeof window>"u")return Hu();try{const r=window.localStorage.getItem(J$);if(!r)return Hu();const n=JSON.parse(r),a=Hu();return{...a,...n,activeTab:n.activeTab&&n.activeTab!=="single"?n.activeTab:a.activeTab,form:{...a.form,...n.form||{}},simulationConfig:{...a.simulationConfig,...n.simulationConfig||{}},ruleParams:(e=n.ruleParams)!=null&&e.length?Q$(n.ruleParams):a.ruleParams,fallbackConnectors:(t=n.fallbackConnectors)!=null&&t.length?eR(n.fallbackConnectors):a.fallbackConnectors,volumeDistribution:n.volumeDistribution||a.volumeDistribution,volumeEvaluationLog:n.volumeEvaluationLog||a.volumeEvaluationLog,simulationResults:n.simulationResults||a.simulationResults}}catch{return Hu()}}function sp(e=[]){return e.map(t=>t.trim()).filter(Boolean).map(t=>t.toUpperCase())}function Py(e=[]){return Array.from(new Set(sp(e)))}function vle(e){var t,r,n,a,i;return((r=(t=e.evaluated_output)==null?void 0:t[0])==null?void 0:r.gateway_name)||((n=e.output.connector)==null?void 0:n.gateway_name)||((i=(a=e.output.connectors)==null?void 0:a[0])==null?void 0:i.gateway_name)||null}function Cy(e){return e==="enum"?"enum_variant":e==="integer"?"number":e==="udf"||e==="global_ref"?"metadata_variant":"str_value"}function tR(e){const t=new URLSearchParams;return Object.entries(e).forEach(([r,n])=>{n!==void 0&&n!==""&&t.set(r,String(n))}),t.toString()}function Gu(e){return new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(e))}function Pn(e){return e?e.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().toLowerCase().replace(/\b\w/g,r=>r.toUpperCase()):""}function qu(e){return e?e==="decision_gateway"||e==="decide_gateway"?"Decide Gateway":e==="update_gateway_score"?"Update Gateway":e==="routing_evaluate"?"Rule Evaluate":Pn(e):"Unknown route"}function vO(e){return e?e==="decide_gateway_decision"?"Decide Gateway":e==="update_gateway_score_update"||e==="update_gateway_score_score_snapshot"||e==="update_score_legacy_score_snapshot"?"Update Gateway":e==="decide_gateway_rule_hit"?"Rule Evaluate":e.startsWith("routing_evaluate_")&&e!=="routing_evaluate_request_hit"?"Preview Result":e.endsWith("_error")?"Errors":Pn(e):"Unknown event"}function l1(e){return e.flow_type||""}function Ku(e){const t=l1(e);return e.event_stage==="gateway_decided"?"Decide Gateway":e.event_stage==="score_updated"?"Update Gateway":e.event_stage==="rule_applied"?"Rule Evaluate":e.event_stage==="preview_evaluated"||t.startsWith("routing_evaluate_")&&t!=="routing_evaluate_request_hit"?"Preview Result":t.endsWith("_error")?"Errors":Pn(e.event_stage||t)}function F0(e){const t=l1(e);return t.startsWith("decide_gateway_")&&t!=="decide_gateway_rule_hit"||e.event_stage==="gateway_decided"?"Decide Gateway":t==="decide_gateway_rule_hit"||e.event_stage==="rule_applied"?"Rule Evaluate":t.startsWith("update_gateway_score_")||t.startsWith("update_score_legacy_")||e.event_stage==="score_updated"?"Update Gateway":t.startsWith("routing_evaluate_")&&t!=="routing_evaluate_request_hit"||e.event_stage==="preview_evaluated"?"Preview":"Errors"}function Ff(e){const t=l1(e),r=(e.status||"").toUpperCase();return t.endsWith("_error")||r==="FAILURE"||r.includes("FAILED")||r.includes("DECLINED")?"red":t==="decide_gateway_rule_hit"?"purple":r==="CHARGED"||r==="AUTHORIZED"||r==="SUCCESS"?"green":t.startsWith("routing_evaluate_")&&t!=="routing_evaluate_request_hit"?"purple":t.startsWith("update_gateway_score_")||t.startsWith("update_score_legacy_")?"green":t.startsWith("decide_gateway_")?"blue":"orange"}function yO(e){const t=(e||"").toUpperCase();return t==="FAILURE"||t.includes("FAILED")||t.includes("DECLINED")?"red":t==="SUCCESS"||t==="CHARGED"||t==="AUTHORIZED"?"green":"gray"}function gO(e){return e==="Decide Gateway"?"blue":e==="Rule Evaluate"||e==="Preview"?"purple":e==="Update Gateway"?"green":e==="Errors"?"red":"gray"}function $u(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Ty(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""))}function rR(e){return typeof e=="string"?e:JSON.stringify(e,null,2)}function yle(e){return`/analytics/payment-audit?${tR({range:"1d",page:1,page_size:25,payment_id:e})}`}function gle(e){return`/analytics/preview-trace?${tR({range:"1d",page:1,page_size:25,payment_id:e})}`}function xO(e){if(!e)return null;const t=$u(e.details_json)?e.details_json:{},r=t.response??t.response_payload??t.result??t.output??null,n=t.request??t.request_payload??t.input??t.payload??Ty({payment_id:e.payment_id,request_id:e.request_id,payment_method_type:e.payment_method_type,payment_method:e.payment_method,gateway:e.gateway}),a=r??Ty({flow_type:e.flow_type,status:e.status,error_code:e.error_code,error_message:e.error_message,score_value:e.score_value,sigma_factor:e.sigma_factor,average_latency:e.average_latency,tp99_latency:e.tp99_latency,transaction_count:e.transaction_count,rule_name:e.rule_name,routing_approach:e.routing_approach}),i=$u(r)?r:null,o=$u(i==null?void 0:i.decided_gateway)?i.decided_gateway:null,s=t.score_context??(o?o.gateway_priority_map:null)??(i?i.gateway_priority_map:null)??null,u=t.selection_reason??null,c=[{label:"Phase",value:F0(e)},{label:"Stage",value:Ku(e)},{label:"Route",value:qu(e.route)},{label:"Timestamp",value:Gu(e.created_at_ms)},...e.merchant_id?[{label:"Merchant",value:e.merchant_id}]:[],...e.payment_id?[{label:"Payment ID",value:e.payment_id}]:[],...e.request_id?[{label:"Request ID",value:e.request_id}]:[],...e.gateway?[{label:"Gateway",value:e.gateway}]:[],...e.status?[{label:"Status",value:Pn(e.status)}]:[]],f=Ty(Object.fromEntries(Object.entries(t).filter(([d])=>!["request","request_payload","input","payload","response","response_payload","result","output","score_context","selection_reason"].includes(d))));return{summaryRows:c,requestPayload:$u(n)&&!Object.keys(n).length?null:n,responsePayload:$u(a)&&!Object.keys(a).length?null:a,scoreContext:s,selectionReason:u,signalRecord:Object.keys(f).length?f:null,rawEvent:{...e,details_json:e.details_json}}}function Ru(e){return e?"!border-slate-200 !bg-white !text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.28)] dark:!border-[#2a303a] dark:!bg-[#161b24] dark:!text-white":"!border-transparent !bg-slate-100 !text-slate-600 hover:!bg-slate-200 hover:!text-slate-900 dark:!bg-[#161b24] dark:!text-[#a7b2c6] dark:hover:!bg-[#1c2330] dark:hover:!text-white"}function Xu({title:e,body:t}){return l.jsxs("div",{className:"rounded-[22px] border border-dashed border-slate-200 bg-slate-50/80 px-6 py-12 text-center dark:border-[#2a303a] dark:bg-[#161b24]/80",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:t})]})}function bO({title:e,body:t}){return l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-slate-50/80 px-6 py-10 text-center dark:border-[#2a303a] dark:bg-[#161b24]/80",children:[l.jsx("div",{className:"flex justify-center",children:l.jsx(Bt,{size:18})}),l.jsx("p",{className:"mt-4 text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:t}),l.jsx("div",{className:"mt-5 h-2 overflow-hidden rounded-full bg-slate-200 dark:bg-[#202734]",children:l.jsx("div",{className:"h-full w-1/3 animate-pulse rounded-full bg-brand-500"})}),l.jsx("p",{className:"mt-3 text-[11px] uppercase tracking-[0.16em] text-slate-400 dark:text-[#8390a7]",children:"Polling every second"})]})}function wO({rows:e}){return e.length?l.jsx("div",{className:"grid gap-3 md:grid-cols-2",children:e.map(t=>l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-white/80 px-4 py-3 shadow-[0_14px_30px_-28px_rgba(15,23,42,0.18)] dark:border-[#2a303a] dark:bg-[#161b24] dark:shadow-none",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8390a7]",children:t.label}),l.jsx("p",{className:"mt-2 break-words text-sm text-slate-900 dark:text-white",children:t.value})]},`${t.label}-${t.value}`))}):null}function Fa({title:e,value:t,emptyMessage:r}){return l.jsxs("div",{className:"space-y-3",children:[l.jsx("div",{children:l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e})}),t?l.jsx("pre",{className:"overflow-x-auto rounded-[22px] border border-slate-200 bg-slate-950/95 px-4 py-4 text-xs leading-6 text-slate-200 shadow-[0_16px_30px_-28px_rgba(15,23,42,0.4)] dark:border-[#2a303a] dark:bg-[#0b1017] dark:text-[#d8e1ef] dark:shadow-none",children:rR(t)}):l.jsx(Xu,{title:`No ${e.toLowerCase()} captured`,body:r})]})}function xle(){var br,vi,O1,N1,A1,E1,P1,C1,T1,$1;const{merchantId:e}=ma(),t=Ca(P=>{var z;return((z=P.user)==null?void 0:z.merchantId)||""}),r=e||t,{routingKeysConfig:n,isLoading:a,error:i}=G$(),o=Object.keys(n).length>0,s=!a&&(!o||!!i),u=S.useMemo(()=>mle(),[]),[c,f]=S.useState(u.activeTab),[d,p]=S.useState(u.form),[h,b]=S.useState(u.simulationConfig),[v,g]=S.useState(u.ruleParams),[y,m]=S.useState(u.fallbackConnectors),[w,j]=S.useState(u.volumePayments),[x,_]=S.useState(u.result),[k,O]=S.useState(u.singleRunPaymentId),[A,I]=S.useState(u.singleRunOutcome),[$,N]=S.useState(u.ruleResult),[T,R]=S.useState(u.volumeDistribution),[L,U]=S.useState(u.volumeEvaluationLog),[W,M]=S.useState(u.volumeProgress),[B,G]=S.useState(u.simulationResults),[H,q]=S.useState(!1),[ae,X]=S.useState(null),[se,fe]=S.useState(!1),[Pe,Te]=S.useState(!1),[re,ce]=S.useState(u.responseOpen),[we,Y]=S.useState(u.volumeResponseOpen),[Ce,ve]=S.useState(null),[Ke,Le]=S.useState(null),[_e,$e]=S.useState("summary"),[Ae,Ne]=S.useState(null),[Xe,Ue]=S.useState(null),[C,F]=S.useState("summary"),[V,ne]=S.useState("Rule Evaluation Preview"),te=S.useDeferredValue(B),Q=S.useMemo(()=>Object.keys(n).sort(),[n]),ee=S.useMemo(()=>{var P;return sp(((P=n.payment_method)==null?void 0:P.values)||[])},[n]),Se=S.useMemo(()=>{var z;const P=d.payment_method_type.toLowerCase();return sp(((z=n[P])==null?void 0:z.values)||[])},[d.payment_method_type,n]),Ee=S.useMemo(()=>{var P;return Py(((P=n.currency)==null?void 0:P.values)||[])},[n]),st=S.useMemo(()=>{var P;return Py(((P=n.card_network)==null?void 0:P.values)||[])},[n]),K=S.useMemo(()=>{var P;return Py(((P=n.authentication_type)==null?void 0:P.values)||[])},[n]),le=Ce?yle(Ce):null,De=Vt(le,xn,{refreshInterval:Ce?12e3:0,revalidateOnFocus:!0}),Nr=Ae?gle(Ae):null,lt=Vt(Nr,xn,{refreshInterval:P=>{var z;return Ae?(((z=P==null?void 0:P.timeline)==null?void 0:z.length)||0)>0?12e3:1e3:0},revalidateOnFocus:!0});S.useEffect(()=>{s||a||(p(P=>{var ct;const z={...P};let de=!1;Ee.length>0&&!Ee.includes(z.currency)&&(z.currency=Ee[0],de=!0),ee.length>0&&!ee.includes(z.payment_method_type)&&(z.payment_method_type=ee[0],de=!0);const pe=sp(((ct=n[z.payment_method_type.toLowerCase()])==null?void 0:ct.values)||[]);return pe.length>0&&!pe.includes(z.payment_method)&&(z.payment_method=pe[0],de=!0),K.length>0&&!K.includes(z.auth_type)&&(z.auth_type=K[0],de=!0),st.length>0&&!st.includes(z.card_brand)&&(z.card_brand=st[0],de=!0),de?z:P}),g(P=>{let z=!1;const de=P.map(pe=>{if(!pe.key||!n[pe.key])return pe;const ct=n[pe.key],Ft=Cy(ct.type),gt=ct.values||[],wr=Ft==="enum_variant"?gt.includes(pe.value)?pe.value:gt[0]||"":pe.value;return pe.type!==Ft||pe.value!==wr?(z=!0,{...pe,type:Ft,value:wr}):pe});return z?de:P}))},[s,a,n,Ee,ee,K,st]),S.useEffect(()=>{if(!Ce&&!Ae)return;const P=document.body.style.overflow,z=de=>{de.key==="Escape"&&(ve(null),Le(null),$e("summary"),Ne(null),Ue(null),F("summary"))};return document.body.style.overflow="hidden",window.addEventListener("keydown",z),()=>{document.body.style.overflow=P,window.removeEventListener("keydown",z)}},[Ce,Ae]),S.useEffect(()=>{const P={activeTab:c,form:d,simulationConfig:h,ruleParams:v,fallbackConnectors:y,volumePayments:w,result:x,singleRunPaymentId:k,singleRunOutcome:A,ruleResult:$,volumeDistribution:T,volumeEvaluationLog:L,volumeProgress:W,simulationResults:B,responseOpen:re,volumeResponseOpen:we};typeof window<"u"&&window.localStorage.setItem(J$,JSON.stringify(P))},[c,d,h,v,y,w,x,k,A,$,T,L,W,B,re,we]);function Rt(P,z){p(de=>({...de,[P]:z}))}function Hn(){var ct;if(Q.length===0)return;const P=Q[0],z=n[P],de=Cy(z==null?void 0:z.type),pe=de==="enum_variant"&&((ct=z==null?void 0:z.values)==null?void 0:ct[0])||"";g([...v,{key:P,type:de,value:pe,metadataKey:""}])}function co(P){g(v.filter((z,de)=>de!==P))}function Gn(P,z,de){g(v.map((pe,ct)=>ct===P?{...pe,[z]:de}:pe))}function Wt(P,z){g(v.map((de,pe)=>pe===P?{...de,metadataKey:z}:de))}function ur(P,z){var Ft;const de=n[z],pe=Cy(de==null?void 0:de.type),ct=pe==="enum_variant"&&((Ft=de==null?void 0:de.values)==null?void 0:Ft[0])||"";g(v.map((gt,wr)=>wr===P?{...gt,key:z,type:pe,value:ct,metadataKey:""}:gt))}function cr(){m([...y,{gateway_name:"",gateway_id:""}])}function dn(P){m(y.filter((z,de)=>de!==P))}function dr(P,z,de){m(y.map((pe,ct)=>ct===P?{...pe,[z]:de}:pe))}async function er(){if(!r)return X("Sign in with a merchant-linked account to continue");if(s)return X("Routing key config unavailable. Fix /config/routing-keys and retry.");fe(!0),X(null),O(null);const P=d.eligible_gateways.split(",").map(de=>de.trim()).filter(Boolean),z=`explorer_${Date.now()}`;try{const de=await Tt("/decide-gateway",{merchantId:r,paymentInfo:{paymentId:z,amount:parseFloat(d.amount)||1e3,currency:d.currency,paymentType:"ORDER_PAYMENT",paymentMethodType:d.payment_method_type,paymentMethod:d.payment_method,authType:d.auth_type,cardBrand:d.card_brand},eligibleGatewayList:P,rankingAlgorithm:d.ranking_algorithm,eliminationEnabled:d.elimination_enabled});await Tt("/update-gateway-score",{merchantId:r,gateway:de.decided_gateway,gatewayReferenceId:null,status:A,paymentId:z,enforceDynamicRoutingFailure:null}),_(de),O(z)}catch(de){X(de instanceof Error?de.message:"Request failed")}finally{fe(!1)}}async function Fr(){if(!r)return X("Sign in with a merchant-linked account to continue");if(s)return X("Routing key config unavailable. Fix /config/routing-keys and retry.");const P=parseInt(h.totalPayments)||0,z=parseInt(h.successCount)||0,de=parseInt(h.failureCount)||0;if(P<=0)return X("Total Payments must be greater than 0");if(z+de!==P)return X("Success + Failure count must equal Total Payments");q(!0),X(null),G([]);const pe=d.eligible_gateways.split(",").map(gt=>gt.trim()).filter(Boolean),ct=[],Ft=[...Array(z).fill("CHARGED"),...Array(de).fill("FAILURE")];for(let gt=Ft.length-1;gt>0;gt--){const wr=Math.floor(Math.random()*(gt+1));[Ft[gt],Ft[wr]]=[Ft[wr],Ft[gt]]}try{for(let gt=0;gt{pe.key&&(pe.type==="metadata_variant"?z[pe.key]={type:pe.type,value:{key:pe.metadataKey||pe.key,value:pe.value}}:pe.type==="number"?z[pe.key]={type:pe.type,value:parseFloat(pe.value)||0}:z[pe.key]={type:pe.type,value:pe.value})});const de=await Tt("/routing/evaluate",{created_by:r||"test_user",payment_id:P,fallback_output:y.filter(pe=>pe.gateway_name),parameters:z});if(N(de),de.output.type==="volume_split"&&de.output.splits){const pe=parseInt(w)||100,ct=de.output.splits.map(Ft=>({name:Ft.connector.gateway_name,count:Math.round(Ft.split/100*pe),percentage:Ft.split}));R(ct)}}catch(z){X(z instanceof Error?z.message:"Request failed")}finally{fe(!1)}}async function Lt(){if(!r)return X("Sign in with a merchant-linked account to continue");fe(!0),X(null),N(null),R([]),U([]),M(0);const P=parseInt(w)||0;if(P<=0)return fe(!1),X("Total Payments must be greater than 0");try{const de=`volume_preview_${Date.now()}`,pe=[],ct=new Map;let Ft=null;for(let gt=0;gt{const cs=gt+yi,R1=`${de}_${cs}`,ZR=await Tt("/routing/evaluate",{created_by:r,payment_id:R1,fallback_output:[{gateway_name:"stripe",gateway_id:"gateway_001"},{gateway_name:"adyen",gateway_id:"gateway_002"}],parameters:{}});return{paymentId:R1,response:ZR}}));for(const{paymentId:fu,response:yi}of fo){if(yi.output.type!=="volume_split")throw new Error("Active routing algorithm is not a volume split rule.");const cs=vle(yi);if(!cs)throw new Error("Volume split evaluation did not return a connector.");ct.set(cs,(ct.get(cs)||0)+1),pe.push({paymentId:fu,connector:cs}),Ft=yi}M(pe.length)}if(Ft){const gt=Array.from(ct.entries()).map(([wr,fo])=>({name:wr,count:fo,percentage:Number((fo/P*100).toFixed(1))})).sort((wr,fo)=>fo.count-wr.count);N(Ft),U(pe),R(gt),Ne(Ft.payment_id)}}catch(z){X(z instanceof Error?z.message:"Request failed")}finally{fe(!1)}}const Ar=x!=null&&x.gateway_priority_map?Object.entries(x.gateway_priority_map).sort(([,P],[,z])=>z-P).map(([P,z])=>({name:P,score:Math.round(z*1e3)/10})):[],gr=parseInt(h.totalPayments)||0,xr=B.length,Kn=gr>0?Math.round(xr/gr*100):0,va=H||xr>0,Yr=te.reduce((P,z)=>(P[z.decidedGateway]||(P[z.decidedGateway]={total:0,success:0,failure:0}),P[z.decidedGateway].total++,z.status==="CHARGED"?P[z.decidedGateway].success++:P[z.decidedGateway].failure++,P),{}),Xn=T.map(P=>({name:P.name,value:P.count})),mi=S.useMemo(()=>new Map(T.map((P,z)=>[P.name,z])),[T]),Er=S.useMemo(()=>{var z;const P=((z=De.data)==null?void 0:z.results)||[];return P.find(de=>de.payment_id===Ce)||P[0]||null},[(br=De.data)==null?void 0:br.results,Ce]),ht=S.useMemo(()=>{var z;const P=((z=De.data)==null?void 0:z.timeline)||[];return P.find(de=>de.id===Ke)||P[0]||null},[(vi=De.data)==null?void 0:vi.timeline,Ke]);S.useEffect(()=>{var z,de;if(ht!=null&&ht.id){Le(ht.id);return}const P=(de=(z=De.data)==null?void 0:z.timeline)==null?void 0:de[0];P!=null&&P.id&&Le(P.id)},[(O1=De.data)==null?void 0:O1.timeline,ht==null?void 0:ht.id]);const cu=S.useMemo(()=>{var z;const P=[];for(const de of((z=De.data)==null?void 0:z.timeline)||[]){const pe=F0(de),ct=P[P.length-1];!ct||ct.phase!==pe?P.push({phase:pe,events:[de]}):ct.events.push(de)}return P},[(N1=De.data)==null?void 0:N1.timeline]),fn=S.useMemo(()=>xO(ht),[ht]),Pr=S.useMemo(()=>{var z;const P=((z=lt.data)==null?void 0:z.results)||[];return P.find(de=>de.payment_id===Ae)||P[0]||null},[(A1=lt.data)==null?void 0:A1.results,Ae]),mt=S.useMemo(()=>{var z;const P=((z=lt.data)==null?void 0:z.timeline)||[];return P.find(de=>de.id===Xe)||P[0]||null},[(E1=lt.data)==null?void 0:E1.timeline,Xe]);S.useEffect(()=>{var z,de;if(mt!=null&&mt.id){Ue(mt.id);return}const P=(de=(z=lt.data)==null?void 0:z.timeline)==null?void 0:de[0];P!=null&&P.id&&Ue(P.id)},[(P1=lt.data)==null?void 0:P1.timeline,mt==null?void 0:mt.id]);const du=S.useMemo(()=>{var z;const P=[];for(const de of((z=lt.data)==null?void 0:z.timeline)||[]){const pe=F0(de),ct=P[P.length-1];!ct||ct.phase!==pe?P.push({phase:pe,events:[de]}):ct.events.push(de)}return P},[(C1=lt.data)==null?void 0:C1.timeline]),Da=S.useMemo(()=>xO(mt),[mt]);S.useEffect(()=>{Ae&<.mutate()},[Ae]);function D(P){Ne(null),Ue(null),F("summary"),ve(P),Le(null),$e("summary")}function J(){ve(null),Le(null),$e("summary")}function me(P,z){ve(null),Le(null),$e("summary"),ne(z),Ne(P),Ue(null),F("summary")}function ze(){Ne(null),Ue(null),F("summary")}function Fe(){const P=Hu();c==="single"?(p(P.form),_(P.result),O(P.singleRunPaymentId),I(P.singleRunOutcome),ce(P.responseOpen)):c==="batch"?(p(P.form),b(P.simulationConfig),G(P.simulationResults),q(!1)):c==="rule"?(g(P.ruleParams),m(P.fallbackConnectors),N(P.ruleResult),Ne(null),Ue(null),F("summary"),ne("Rule Evaluation Preview")):c==="volume"&&(j(P.volumePayments),N(P.ruleResult),R(P.volumeDistribution),U(P.volumeEvaluationLog),M(P.volumeProgress),Y(P.volumeResponseOpen),Ne(null),Ue(null),F("summary"),ne("Volume Split Preview")),X(null),fe(!1),Te(!1),ve(null),Le(null),$e("summary")}const ut=c==="batch"?"Reset Auth-Rate Based Routing":c==="rule"?"Reset Rule Based Routing":"Reset Volume Based Routing";return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900 dark:text-white",children:"Decision Explorer"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#b2bdd1]",children:"Simulate payment routing across auth-rate based, rule based, and volume based strategies."})]}),l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{className:"flex flex-wrap gap-2",children:[l.jsx("button",{onClick:()=>f("batch"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${Ru(c==="batch")}`,children:"Auth-Rate Based Routing"}),l.jsx("button",{onClick:()=>f("rule"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${Ru(c==="rule")}`,children:"Rule Based Routing"}),l.jsx("button",{onClick:()=>f("volume"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${Ru(c==="volume")}`,children:"Volume Based Routing"})]}),l.jsxs(Re,{size:"sm",variant:"secondary",onClick:Fe,children:[l.jsx(Lf,{size:14}),ut]})]}),l.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsxs("div",{children:[l.jsx(Br,{children:c==="rule"?"Rule Evaluation":c==="volume"?"Volume Split":"Simulation"}),l.jsx("h2",{className:"mt-3 font-medium text-slate-800 dark:text-white",children:c==="rule"?"Rule Evaluation Parameters":c==="volume"?"Volume Split Configuration":"Auth-Rate Based Routing Parameters"})]})}),l.jsxs(qe,{className:"space-y-3",children:[!r&&l.jsx("p",{className:"text-xs text-amber-600 bg-amber-50 border border-amber-200 rounded px-3 py-2",children:"Set a merchant ID in the top bar first."}),c!=="volume"&&a&&l.jsx("p",{className:"text-xs text-slate-600 bg-slate-50 border border-slate-200 rounded px-3 py-2",children:"Loading routing config from backend..."}),c!=="volume"&&s&&l.jsx(Ur,{error:"Routing config unavailable from /config/routing-keys. Parameter forms are disabled."}),c==="rule"?l.jsxs(l.Fragment,{children:[a&&l.jsx("p",{className:"text-sm text-slate-500",children:"Loading routing keys from backend..."}),s&&l.jsx(Ur,{error:"Routing keys are unavailable from backend (/config/routing-keys). Rule Evaluation is disabled."}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Parameters"}),l.jsx("div",{className:"space-y-2",children:v.map((P,z)=>{var de;return l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex gap-2 items-center",children:[l.jsx("select",{value:P.key,onChange:pe=>ur(z,pe.target.value),disabled:s||a,className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Q.length===0?l.jsx("option",{value:"",children:"No keys available"}):Q.map(pe=>l.jsx("option",{value:pe,children:pe},pe))}),l.jsx("input",{value:P.type,readOnly:!0,className:"w-36 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("button",{onClick:()=>co(z),className:"p-1.5 text-slate-400 hover:text-red-500",children:l.jsx(ui,{size:14})})]}),P.type==="metadata_variant"?l.jsxs("div",{className:"flex gap-2 items-center pl-1",children:[l.jsx("input",{placeholder:"Metadata Key",value:P.metadataKey||"",onChange:pe=>Wt(z,pe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{placeholder:"Metadata Value",value:P.value,onChange:pe=>Gn(z,"value",pe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}):P.type==="enum_variant"?l.jsx("div",{className:"flex gap-2 items-center pl-1",children:l.jsx("select",{value:P.value,onChange:pe=>Gn(z,"value",pe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:(((de=n[P.key])==null?void 0:de.values)||[]).map(pe=>l.jsx("option",{value:pe,children:pe},pe))})}):P.type==="number"?l.jsx("div",{className:"flex gap-2 items-center pl-1",children:l.jsx("input",{type:"number",placeholder:"Value",value:P.value,onChange:pe=>Gn(z,"value",pe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})}):l.jsx("div",{className:"flex gap-2 items-center pl-1",children:l.jsx("input",{placeholder:"Value",value:P.value,onChange:pe=>Gn(z,"value",pe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})})]},z)})}),l.jsxs("button",{onClick:Hn,disabled:s||a||Q.length===0,className:"mt-2 flex items-center gap-1 text-xs text-brand-500 hover:text-brand-600",children:[l.jsx(Zi,{size:12})," Add Parameter"]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Fallback gateway_name/gateway_id"}),l.jsx("div",{className:"space-y-2",children:y.map((P,z)=>l.jsxs("div",{className:"flex gap-2 items-center",children:[l.jsx("input",{placeholder:"gateway_name",value:P.gateway_name,onChange:de=>dr(z,"gateway_name",de.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{placeholder:"gateway_id",value:P.gateway_id||"",onChange:de=>dr(z,"gateway_id",de.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("button",{onClick:()=>dn(z),className:"p-1.5 text-slate-400 hover:text-red-500",children:l.jsx(ui,{size:14})})]},z))}),l.jsxs("button",{onClick:cr,className:"mt-2 flex items-center gap-1 text-xs text-brand-500 hover:text-brand-600",children:[l.jsx(Zi,{size:12})," Add Gateway"]})]})]}):c==="volume"?l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Number of Payments"}),l.jsx("input",{type:"text",value:w,onChange:P=>j(P.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("p",{className:"text-xs text-slate-500 mt-1",children:"Enter how many preview evaluations to run against the active volume split rule."})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Amount"}),l.jsx("input",{value:d.amount,onChange:P=>Rt("amount",P.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Currency"}),l.jsx("select",{value:d.currency,onChange:P=>Rt("currency",P.target.value),disabled:s||a,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Ee.map(P=>l.jsx("option",{children:P},P))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Payment Method Type"}),l.jsx("select",{value:d.payment_method_type,onChange:P=>Rt("payment_method_type",P.target.value),disabled:s||a,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:ee.map(P=>l.jsx("option",{children:P},P))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Payment Method"}),l.jsx("select",{value:d.payment_method,onChange:P=>Rt("payment_method",P.target.value),disabled:s||a,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Se.map(P=>l.jsx("option",{children:P},P))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Card Brand"}),l.jsx("select",{value:d.card_brand,onChange:P=>Rt("card_brand",P.target.value),disabled:s||a,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:st.map(P=>l.jsx("option",{children:P},P))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Auth Type"}),l.jsx("select",{value:d.auth_type,onChange:P=>Rt("auth_type",P.target.value),disabled:s||a,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:K.map(P=>l.jsx("option",{children:P},P))})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Eligible Gateways (comma-separated)"}),l.jsx("input",{value:d.eligible_gateways,onChange:P=>Rt("eligible_gateways",P.target.value),placeholder:"stripe, adyen",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsx("div",{children:l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Algorithm"}),l.jsx("select",{value:d.ranking_algorithm,onChange:P=>Rt("ranking_algorithm",P.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:lle.map(P=>l.jsx("option",{value:P,children:ule[P]},P))})]})}),c==="single"&&l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Transaction Outcome"}),l.jsxs("select",{value:A,onChange:P=>I(P.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:[l.jsx("option",{value:"CHARGED",children:"Success (CHARGED)"}),l.jsx("option",{value:"FAILURE",children:"Failure (FAILURE)"})]}),l.jsx("p",{className:"mt-1 text-xs text-slate-500",children:"After deciding the gateway, single test will post feedback with this outcome so the payment appears in Decision Audit."})]}),c==="batch"&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-4 mt-4 space-y-3",children:[l.jsxs("h3",{className:"text-sm font-medium text-slate-800 flex items-center gap-2",children:[l.jsx(Fo,{size:14}),"Simulation Configuration"]}),l.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Total Payments"}),l.jsx("input",{type:"text",value:h.totalPayments,onChange:P=>b(z=>({...z,totalPayments:P.target.value})),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Success Count"}),l.jsx("input",{type:"text",value:h.successCount,onChange:P=>b(z=>({...z,successCount:P.target.value})),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Failure Count"}),l.jsx("input",{type:"text",value:h.failureCount,onChange:P=>b(z=>({...z,failureCount:P.target.value})),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]}),l.jsxs("p",{className:"text-xs text-slate-500",children:["Will run ",h.totalPayments||0," payments: ",h.successCount||0," SUCCESS, ",h.failureCount||0," FAILURE"]})]})]}),l.jsx(Ur,{error:ae}),c==="rule"?l.jsx(Re,{onClick:qn,disabled:se||s,className:"w-full justify-center",children:se?l.jsxs(l.Fragment,{children:[l.jsx(Bt,{size:14})," Evaluating…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Df,{size:14})," Evaluate Rules"]})}):c==="volume"?l.jsx(Re,{onClick:Lt,disabled:se||!r,className:"w-full justify-center",children:se?l.jsxs(l.Fragment,{children:[l.jsx(Bt,{size:14})," Running ",W,"/",w||0," previews…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Bh,{size:14})," Run Volume Evaluation"]})}):c==="batch"?l.jsx(Re,{onClick:Fr,disabled:H||!r||s,className:"w-full justify-center",children:H?l.jsxs(l.Fragment,{children:[l.jsx(Bt,{size:14}),"Simulating ",B.length,"/",h.totalPayments||0,"..."]}):l.jsxs(l.Fragment,{children:[l.jsx(Fo,{size:14})," Run Auth-Rate Simulation"]})}):l.jsx(Re,{onClick:er,disabled:se||!r||s,className:"w-full justify-center",children:se?l.jsxs(l.Fragment,{children:[l.jsx(Bt,{size:14})," Running…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Df,{size:14})," Run Single Transaction"]})})]})]}),l.jsx("div",{className:"space-y-4",children:c==="volume"?T.length>0?l.jsxs(l.Fragment,{children:[l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Volume Distribution Overview"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500",children:["Actual distribution from ",L.length," calls to ",l.jsx("code",{children:"/routing/evaluate"})," using the active volume split rule."]})]}),$!=null&&$.payment_id?l.jsx(Re,{size:"sm",variant:"secondary",onClick:()=>me($.payment_id,"Volume Split Preview"),children:"View latest preview trace"}):null]})}),l.jsxs(qe,{children:[l.jsxs("div",{className:"text-center mb-4",children:[l.jsx("p",{className:"text-3xl font-bold text-slate-900",children:L.length}),l.jsx("p",{className:"text-xs text-slate-500",children:"Evaluations completed"})]}),l.jsx("div",{className:"grid grid-cols-2 gap-4",children:T.map((P,z)=>l.jsxs("div",{className:"bg-slate-50 dark:bg-[#111114] rounded-lg p-3",children:[l.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[l.jsx("div",{className:"w-3 h-3 rounded",style:{backgroundColor:Jr[z%Jr.length]}}),l.jsx("span",{className:"font-medium text-sm",children:P.name})]}),l.jsxs("div",{className:"flex justify-between text-xs text-slate-500",children:[l.jsxs("span",{children:[P.percentage,"%"]}),l.jsxs("span",{className:"font-medium text-slate-700",children:[P.count," payments"]})]})]},z))})]})]}),l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Pie Chart"})}),l.jsx(qe,{children:l.jsx(Ri,{width:"100%",height:250,children:l.jsxs(s1,{children:[l.jsx(ha,{data:Xn,cx:"50%",cy:"50%",innerRadius:60,outerRadius:100,paddingAngle:3,dataKey:"value",label:({name:P,percent:z})=>`${P} ${(z*100).toFixed(0)}%`,labelLine:!1,children:Xn.map((P,z)=>l.jsx(Hi,{fill:Jr[z%Jr.length]},`cell-${z}`))}),l.jsx(Sr,{formatter:P=>[`${P} payments`,"Count"],contentStyle:document.documentElement.classList.contains("dark")?{backgroundColor:"#111114",border:"1px solid #222226",borderRadius:"8px",color:"#fff"}:{backgroundColor:"#fff",border:"1px solid #e5e7eb",borderRadius:"8px",color:"#1f2937"}})]})})})]}),l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Bar Chart"})}),l.jsx(qe,{children:l.jsx(Ri,{width:"100%",height:T.length*50+40,children:l.jsxs(M0,{data:T,layout:"vertical",margin:{left:20,right:40},children:[l.jsx(Ea,{type:"number",tick:{fontSize:12,fill:"#666"},axisLine:{stroke:"#e5e7eb"},tickLine:!1}),l.jsx(Pa,{type:"category",dataKey:"name",tick:{fontSize:12,fill:"#666"},width:80,axisLine:!1,tickLine:!1}),l.jsx(Sr,{formatter:P=>[`${P} payments`,"Count"],contentStyle:document.documentElement.classList.contains("dark")?{backgroundColor:"#111114",border:"1px solid #222226",borderRadius:"8px",color:"#fff"}:{backgroundColor:"#fff",border:"1px solid #e5e7eb",borderRadius:"8px",color:"#1f2937"}}),l.jsx(li,{dataKey:"count",radius:[0,6,6,0],children:T.map((P,z)=>l.jsx(Hi,{fill:Jr[z%Jr.length]},`cell-${z}`))})]})})})]}),l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Percentage Distribution"})}),l.jsxs(qe,{children:[l.jsx("div",{className:"h-4 rounded-full overflow-hidden flex",children:T.map((P,z)=>l.jsx("div",{style:{width:`${P.percentage}%`,backgroundColor:Jr[z%Jr.length]},className:"h-full transition-all duration-300",title:`${P.name}: ${P.percentage}%`},z))}),l.jsx("div",{className:"flex flex-wrap gap-3 mt-3",children:T.map((P,z)=>l.jsxs("div",{className:"flex items-center gap-1.5 text-xs",children:[l.jsx("div",{className:"w-2.5 h-2.5 rounded-sm",style:{backgroundColor:Jr[z%Jr.length]}}),l.jsx("span",{className:"text-slate-600",children:P.name}),l.jsxs("span",{className:"font-medium",children:[P.percentage,"%"]})]},z))})]})]}),l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Gateway Summary"})}),l.jsx(qe,{className:"p-0",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#111114] text-xs text-slate-500",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-4 py-2",children:"gateway_name"}),l.jsx("th",{className:"text-right px-4 py-2",children:"Payments"}),l.jsx("th",{className:"text-right px-4 py-2",children:"Percentage"})]})}),l.jsxs("tbody",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:[T.map((P,z)=>l.jsxs("tr",{className:"hover:bg-slate-50 dark:bg-[#111114]",children:[l.jsx("td",{className:"px-4 py-2",children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"w-3 h-3 rounded",style:{backgroundColor:Jr[z%Jr.length]}}),l.jsx("span",{className:"font-medium",children:P.name})]})}),l.jsx("td",{className:"px-4 py-2 text-right font-medium",children:P.count}),l.jsxs("td",{className:"px-4 py-2 text-right text-slate-500",children:[P.percentage,"%"]})]},z)),l.jsxs("tr",{className:"bg-slate-50 dark:bg-[#111114] font-medium",children:[l.jsx("td",{className:"px-4 py-2",children:"Total"}),l.jsx("td",{className:"px-4 py-2 text-right",children:L.length}),l.jsx("td",{className:"px-4 py-2 text-right",children:"100%"})]})]})]})})]}),l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Evaluation Sequence"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500",children:["Actual connector sequence returned by repeated ",l.jsx("code",{children:"/routing/evaluate"})," calls."]})]})}),l.jsx(qe,{className:"p-0 max-h-80 overflow-auto",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#111114] text-xs text-slate-500 sticky top-0",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-4 py-2 w-20",children:"#"}),l.jsx("th",{className:"text-left px-4 py-2",children:"payment_id"}),l.jsx("th",{className:"text-left px-4 py-2",children:"gateway_name"}),l.jsx("th",{className:"text-right px-4 py-2 w-28",children:"trace"})]})}),l.jsx("tbody",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:L.map((P,z)=>l.jsxs("tr",{className:"cursor-pointer hover:bg-slate-50 dark:bg-[#111114]",onClick:()=>me(P.paymentId,"Volume Split Preview"),children:[l.jsx("td",{className:"px-4 py-1.5 text-slate-500 font-mono text-xs",children:z+1}),l.jsx("td",{className:"px-4 py-1.5 font-mono text-xs text-slate-500",children:P.paymentId}),l.jsx("td",{className:"px-4 py-1.5",children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"w-2 h-2 rounded",style:{backgroundColor:Jr[(mi.get(P.connector)||0)%Jr.length]}}),l.jsx("span",{className:"font-medium",children:P.connector})]})}),l.jsx("td",{className:"px-4 py-1.5 text-right",children:l.jsx("button",{type:"button",className:"text-xs font-medium text-brand-600 hover:text-brand-700",onClick:de=>{de.stopPropagation(),me(P.paymentId,"Volume Split Preview")},children:"View trace"})})]},P.paymentId))})]})})]}),l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsxs("button",{onClick:()=>Y(P=>!P),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(Ey,{size:14}),"API Response"]}),we?l.jsx(Wu,{size:14}):l.jsx(Vs,{size:14})]})}),we&&$&&l.jsx(qe,{className:"p-0",children:l.jsx("pre",{className:"text-xs text-slate-600 bg-slate-50 dark:bg-[#0a0a0f] p-4 overflow-auto max-h-96 font-mono",children:JSON.stringify($,null,2)})})]})]}):l.jsx(Oe,{children:l.jsxs(qe,{className:"py-16 text-center",children:[l.jsx(Bh,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsxs("p",{className:"text-slate-400 text-sm",children:['Enter the number of payments and click "Run Volume Evaluation" to execute repeated ',l.jsx("code",{children:"/routing/evaluate"})," calls against the active volume rule."]})]})}):c==="rule"?$?l.jsxs(l.Fragment,{children:[l.jsx(Oe,{children:l.jsxs(qe,{children:[l.jsxs("div",{className:"flex items-start justify-between mb-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs text-slate-500 uppercase tracking-wide mb-1",children:"Status"}),l.jsx("p",{className:"text-2xl font-bold text-slate-900",children:$.status}),l.jsxs("p",{className:"text-xs text-slate-500 mt-1",children:["output_type: ",$.output.type]})]}),$.payment_id?l.jsx(Re,{size:"sm",variant:"secondary",onClick:()=>me($.payment_id,"Rule Evaluation Preview"),children:"View preview trace"}):null]}),$.output.type==="single"&&$.output.connector&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsx("p",{className:"text-xs text-slate-400 mb-1",children:"Selected gateway_name"}),l.jsx("p",{className:"text-lg font-semibold",children:$.output.connector.gateway_name}),$.output.connector.gateway_id&&l.jsxs("p",{className:"text-xs text-slate-500",children:["gateway_id: ",$.output.connector.gateway_id]})]}),$.output.type==="priority"&&$.output.connectors&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsx("p",{className:"text-xs text-slate-400 mb-2",children:"Priority gateway_name list"}),l.jsx("div",{className:"space-y-1",children:$.output.connectors.map((P,z)=>l.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[l.jsx("span",{className:"w-5 h-5 rounded-full bg-brand-500 text-white text-xs flex items-center justify-center",children:z+1}),l.jsx("span",{className:"font-medium",children:P.gateway_name}),P.gateway_id&&l.jsxs("span",{className:"text-xs text-slate-500",children:["(",P.gateway_id,")"]})]},z))})]}),$.output.type==="volume_split"&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsx("p",{className:"text-xs text-slate-400 mb-2",children:"Volume Split Result"}),l.jsx("p",{className:"text-sm text-slate-600",children:"See Volume Split tab for detailed visualization."})]})]})}),l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsxs("button",{onClick:()=>ce(P=>!P),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(Ey,{size:14}),"API Response"]}),re?l.jsx(Wu,{size:14}):l.jsx(Vs,{size:14})]})}),re&&l.jsx(qe,{className:"p-0",children:l.jsx("pre",{className:"text-xs text-slate-600 bg-slate-50 dark:bg-[#0a0a0f] p-4 overflow-auto max-h-96 font-mono",children:JSON.stringify($,null,2)})})]})]}):l.jsx(Oe,{children:l.jsxs(qe,{className:"py-16 text-center",children:[l.jsx(Df,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsx("p",{className:"text-slate-400 text-sm",children:'Configure rule parameters and click "Evaluate Rules" to test routing.'})]})}):c==="batch"?va?l.jsxs(l.Fragment,{children:[l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Simulation Progress"})}),l.jsxs(qe,{children:[l.jsxs("div",{className:"mb-4",children:[l.jsxs("div",{className:"flex justify-between text-xs text-slate-600 mb-1",children:[l.jsx("span",{children:"Progress"}),l.jsxs("span",{children:[Kn,"%"]})]}),l.jsx("div",{className:"w-full overflow-hidden rounded-full bg-gray-200 h-2",children:l.jsx("div",{className:`h-2 rounded-full bg-brand-500 transition-[width] duration-300 ease-out ${H&&xr===0?"animate-pulse":""}`,style:{width:`${Kn}%`}})}),l.jsxs("p",{className:"mt-2 text-xs text-slate-500",children:[xr," of ",gr||0," payments processed."]})]}),Object.keys(Yr).length>0&&l.jsxs("div",{className:"space-y-2",children:[l.jsx("h4",{className:"text-xs font-medium text-slate-700",children:"Gateway Selection Summary"}),Object.entries(Yr).map(([P,z])=>l.jsxs("div",{className:"flex items-center justify-between text-sm",children:[l.jsx("span",{className:"font-medium",children:P}),l.jsxs("div",{className:"flex gap-3 text-xs",children:[l.jsxs("span",{className:"text-emerald-600",children:[z.success," ✓"]}),l.jsxs("span",{className:"text-red-500",children:[z.failure," ✗"]}),l.jsxs("span",{className:"text-slate-500",children:["(",z.total," total)"]})]})]},P))]})]})]}),l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Transaction Log"})}),l.jsx(qe,{className:"p-0 max-h-96 overflow-auto",children:te.length>0?l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#0a0a0f] text-xs text-slate-500 sticky top-0",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-3 py-2",children:"#"}),l.jsx("th",{className:"text-left px-3 py-2",children:"Payment ID"}),l.jsx("th",{className:"text-left px-3 py-2",children:"Gateway"}),l.jsx("th",{className:"text-left px-3 py-2",children:"Outcome"})]})}),l.jsx("tbody",{className:"divide-y divide-[#1c1c24]",children:te.map((P,z)=>l.jsxs("tr",{className:"hover:bg-slate-100 dark:bg-[#0f0f16]",children:[l.jsx("td",{className:"px-3 py-2 text-slate-500",children:z+1}),l.jsx("td",{className:"px-3 py-2",children:l.jsxs("button",{type:"button",title:P.paymentId,onClick:()=>D(P.paymentId),className:"group flex items-start gap-3 text-left",children:[l.jsx("span",{className:"inline-flex h-8 w-8 items-center justify-center rounded-full bg-brand-500/10 text-[11px] font-semibold uppercase tracking-[0.16em] text-brand-600 dark:text-brand-300",children:z+1}),l.jsxs("span",{className:"min-w-0",children:[l.jsx("span",{className:"block truncate font-mono text-xs font-semibold text-slate-900 transition group-hover:text-brand-600 dark:text-white",children:P.paymentId}),l.jsx("span",{className:"mt-1 block text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-400 transition group-hover:text-brand-500",children:"View audit"})]})]})}),l.jsx("td",{className:"px-3 py-2 font-medium",children:P.decidedGateway}),l.jsx("td",{className:"px-3 py-2",children:l.jsx(Ve,{variant:P.status==="CHARGED"?"green":"red",children:P.status})})]},P.paymentId))})]}):l.jsxs("div",{className:"flex items-center gap-3 px-4 py-6 text-sm text-slate-500",children:[l.jsx(Bt,{size:16}),"Waiting for the first simulated payment result…"]})})]})]}):l.jsx(Oe,{children:l.jsxs(qe,{className:"py-16 text-center",children:[l.jsx(Fo,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsx("p",{className:"text-slate-400 text-sm",children:'Configure simulation parameters and click "Run Auth-Rate Simulation" to test auth-rate based routing.'})]})}):x?l.jsxs(l.Fragment,{children:[l.jsx(Oe,{children:l.jsxs(qe,{children:[l.jsxs("div",{className:"flex items-start justify-between mb-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs text-slate-500 uppercase tracking-wide mb-1",children:"Decided Gateway"}),l.jsx("p",{className:"text-3xl font-bold text-slate-900",children:x.decided_gateway})]}),l.jsxs("div",{className:"text-right space-y-2",children:[l.jsx("div",{children:l.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded text-xs font-medium ${cle(x.routing_approach)}`,children:x.routing_approach})}),k?l.jsx(Re,{size:"sm",variant:"secondary",onClick:()=>D(k),children:"View audit"}):null,x.is_scheduled_outage&&l.jsx(Ve,{variant:"red",children:"Scheduled Outage"}),k?l.jsx(Ve,{variant:A==="CHARGED"?"green":"red",children:A}):null,x.latency!=null&&l.jsxs("p",{className:"text-xs text-slate-400",children:[x.latency,"ms"]})]})]}),k?l.jsxs("div",{className:"mb-3 rounded-[18px] border border-slate-200 bg-slate-50/80 px-4 py-3 dark:border-[#1c1c23] dark:bg-[#0b0b10]",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Payment ID"}),l.jsx("p",{className:"mt-2 font-mono text-sm text-slate-900 dark:text-white",children:k}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:["Feedback recorded as ",A,". Open audit to inspect the full decide and update flow."]})]}):null,x.routing_dimension&&l.jsxs("div",{className:"flex gap-4 text-sm text-slate-600 border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-xs text-slate-400",children:"Dimension"}),l.jsx("p",{className:"font-medium",children:x.routing_dimension})]}),x.routing_dimension_level&&l.jsxs("div",{children:[l.jsx("span",{className:"text-xs text-slate-400",children:"Level"}),l.jsx("p",{className:"font-medium",children:x.routing_dimension_level})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-xs text-slate-400",children:"Reset"}),l.jsx("p",{className:"font-medium",children:x.reset_approach})]})]})]})}),Ar.length>0&&l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Gateway Scores"}),l.jsxs(Re,{size:"sm",variant:"ghost",onClick:er,className:"text-xs",children:[l.jsx(Lf,{size:12})," Refresh"]})]})}),l.jsx(qe,{children:l.jsx(Ri,{width:"100%",height:Ar.length*40+20,children:l.jsxs(M0,{data:Ar,layout:"vertical",margin:{left:10,right:30},children:[l.jsx(Ea,{type:"number",domain:[0,100],tickFormatter:P=>`${P}%`,tick:{fontSize:11,fill:"#66667a"},axisLine:{stroke:"#1c1c24"},tickLine:!1}),l.jsx(Pa,{type:"category",dataKey:"name",tick:{fontSize:12,fill:"#8e8ea0"},width:60,axisLine:!1,tickLine:!1}),l.jsx(Sr,{formatter:P=>`${P}%`,contentStyle:{backgroundColor:"#0d0d12",border:"1px solid #1c1c24",borderRadius:"8px",color:"#e8e8f4"}}),l.jsx(li,{dataKey:"score",radius:[0,4,4,0],children:Ar.map((P,z)=>l.jsx(Hi,{fill:P.name===x.decided_gateway?"#0069ED":P.score<30?"#ef4444":P.score<60?"#f59e0b":"#10b981"},z))})]})})})]}),x.filter_wise_gateways&&l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsxs("button",{onClick:()=>Te(P=>!P),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:["Filter Chain",Pe?l.jsx(Wu,{size:14}):l.jsx(Vs,{size:14})]})}),Pe&&l.jsx(qe,{className:"space-y-2",children:Object.entries(x.filter_wise_gateways).map(([P,z])=>l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("span",{className:"text-xs font-mono bg-slate-100 dark:bg-[#111118] text-slate-600 rounded-md px-2 py-0.5 mt-0.5 shrink-0 border border-slate-200 dark:border-[#1c1c24]",children:P}),l.jsx("div",{className:"flex flex-wrap gap-1",children:Array.isArray(z)?z.map(de=>l.jsx("span",{className:"text-xs bg-blue-500/10 text-blue-400 ring-1 ring-inset ring-blue-500/20 rounded-md px-2 py-0.5",children:de},de)):l.jsx("span",{className:"text-xs text-slate-400",children:"—"})})]},P))})]}),l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsxs("button",{onClick:()=>ce(P=>!P),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(Ey,{size:14}),"API Response"]}),re?l.jsx(Wu,{size:14}):l.jsx(Vs,{size:14})]})}),re&&l.jsx(qe,{className:"p-0",children:l.jsx("pre",{className:"text-xs text-slate-600 bg-slate-50 dark:bg-[#0a0a0f] p-4 overflow-auto max-h-96 font-mono",children:JSON.stringify(x,null,2)})})]})]}):l.jsx(Oe,{children:l.jsxs(qe,{className:"py-16 text-center",children:[l.jsx(Df,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsx("p",{className:"text-slate-400 text-sm",children:'Fill in the parameters and click "Run Single Transaction" to decide a gateway, post feedback, and inspect the audit trail.'})]})})})]}),Ce&&l.jsxs("div",{className:"fixed bottom-0 left-64 right-0 top-[76px] z-[130] p-8",children:[l.jsx("button",{type:"button","aria-label":"Close payment audit",className:"absolute inset-0 bg-slate-950/70 backdrop-blur-sm",onClick:J}),l.jsxs("div",{role:"dialog","aria-modal":"true","aria-labelledby":"decision-explorer-audit-title",className:"relative mx-auto flex h-full w-full max-w-7xl flex-col overflow-hidden rounded-[30px] border border-slate-200 bg-white shadow-2xl dark:border-[#1c1c23] dark:bg-[#09090d]",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4 border-b border-slate-200 bg-slate-50/90 px-6 py-5 dark:border-[#1c1c23] dark:bg-[#0b0b10]",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.2em] text-slate-500 dark:text-[#8a8a93]",children:"Simulation Audit"}),l.jsx("h2",{id:"decision-explorer-audit-title",className:"mt-2 truncate text-2xl font-semibold text-slate-900 dark:text-white",children:Ce}),l.jsx("p",{className:"mt-2 max-w-3xl text-sm text-slate-500 dark:text-[#8a8a93]",children:"Inspect the exact decision trail for this simulated payment, including request payloads, API responses, score context, and the final transaction outcome."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[Er!=null&&Er.latest_gateway?l.jsx(Ve,{variant:"green",children:Er.latest_gateway}):null,Er!=null&&Er.latest_status?l.jsx(Ve,{variant:yO(Er.latest_status),children:Pn(Er.latest_status)}):null,Er!=null&&Er.event_count?l.jsxs(Ve,{variant:"gray",children:[Er.event_count," events"]}):null,l.jsxs(Re,{size:"sm",variant:"secondary",onClick:()=>De.mutate(),children:[l.jsx(Lf,{size:12}),"Refresh"]}),l.jsxs(Re,{size:"sm",variant:"ghost",onClick:J,children:[l.jsx(mO,{size:14}),"Close"]})]})]}),l.jsxs("div",{className:"grid min-h-0 flex-1 gap-0 xl:grid-cols-[340px_minmax(0,1fr)]",children:[l.jsxs("div",{className:"flex min-h-0 flex-col border-b border-slate-200 bg-slate-50/70 xl:border-b-0 xl:border-r dark:border-[#1c1c23] dark:bg-[#08080b]",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Audit Timeline"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Choose a step to inspect its request, response, and scoring context."})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:De.isLoading&&!De.data?l.jsxs("div",{className:"flex items-center gap-2 px-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Bt,{size:16}),"Loading payment audit…"]}):De.error?l.jsx(Ur,{error:De.error.message}):cu.length?l.jsx("div",{className:"space-y-4",children:cu.map(P=>l.jsxs("section",{className:"space-y-2",children:[l.jsx("div",{className:"px-2",children:l.jsx(Ve,{variant:gO(P.phase),children:P.phase})}),l.jsx("div",{className:"space-y-2",children:P.events.map(z=>l.jsxs("button",{type:"button",onClick:()=>{Le(z.id),$e("summary")},className:`w-full rounded-[22px] border px-4 py-3 text-left transition ${(ht==null?void 0:ht.id)===z.id?"border-brand-500/50 bg-brand-500/8":"border-slate-200 bg-white hover:border-slate-300 dark:border-[#1d1d23] dark:bg-[#0c0c10] dark:hover:border-[#2a2a31]"}`,children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:Ku(z)}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:Gu(z.created_at_ms)})]}),l.jsx(Ve,{variant:Ff(z),children:Pn(z.status)||vO(z.flow_type)})]}),l.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[l.jsx(Ve,{variant:"gray",children:qu(z.route)}),z.gateway?l.jsx(Ve,{variant:"green",children:z.gateway}):null,z.request_id?l.jsx(Ve,{variant:"blue",children:"Request"}):null]})]},z.id))})]},P.phase))}):l.jsx(Xu,{title:"No audit trail captured yet",body:"Run a simulated payment and gateway update first, then reopen the row once the audit payload is available."})})]}),l.jsxs("div",{className:"flex min-h-0 flex-col",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:ht?Ku(ht):"Audit Inspector"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:ht?`${qu(ht.route)} · ${Gu(ht.created_at_ms)}`:"Select an event from the left to inspect payloads."})]}),l.jsxs("div",{className:"flex flex-wrap gap-2",children:[ht!=null&&ht.gateway?l.jsx(Ve,{variant:"green",children:ht.gateway}):null,ht!=null&&ht.status?l.jsx(Ve,{variant:Ff(ht),children:Pn(ht.status)}):null]})]}),l.jsx("div",{className:"mt-4 flex flex-wrap gap-2",children:["summary","input","response","raw"].map(P=>l.jsx("button",{type:"button",onClick:()=>$e(P),className:`rounded-full px-4 py-2 text-xs font-semibold uppercase tracking-[0.16em] transition ${Ru(_e===P)}`,children:P==="raw"?"Raw JSON":Pn(P)},P))})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-5",children:De.isLoading&&!De.data?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Bt,{size:16}),"Loading inspector…"]}):fn?l.jsxs("div",{className:"space-y-5",children:[_e==="summary"?l.jsxs(l.Fragment,{children:[l.jsx(wO,{rows:fn.summaryRows}),fn.selectionReason?l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-slate-50/80 px-5 py-4 dark:border-[#1d1d23] dark:bg-[#0b0b10]",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Selection Reason"}),l.jsx("p",{className:"mt-3 text-sm leading-6 text-slate-700 dark:text-slate-200",children:rR(fn.selectionReason)})]}):null,l.jsx(Fa,{title:"Score Context",value:fn.scoreContext,emptyMessage:"No scoring context was captured for this event."}),fn.signalRecord?l.jsx(Fa,{title:"Additional Signals",value:fn.signalRecord,emptyMessage:"No additional signals were captured for this event."}):null]}):null,_e==="input"?l.jsx(Fa,{title:"Request Payload",value:fn.requestPayload,emptyMessage:"This step did not persist a request payload."}):null,_e==="response"?l.jsx(Fa,{title:"Response Payload",value:fn.responsePayload,emptyMessage:"This step did not persist a response payload."}):null,_e==="raw"?l.jsx(Fa,{title:"Raw Event JSON",value:fn.rawEvent,emptyMessage:"No raw event payload is available."}):null]}):l.jsx(Xu,{title:"Select a timeline step",body:"Choose one of the audit events on the left to inspect its request, response, and score context."})})]})]})]})]}),Ae&&l.jsxs("div",{className:"fixed bottom-0 left-64 right-0 top-[76px] z-[130] p-8",children:[l.jsx("button",{type:"button","aria-label":"Close preview trace",className:"absolute inset-0 bg-slate-950/70 backdrop-blur-sm",onClick:ze}),l.jsxs("div",{role:"dialog","aria-modal":"true","aria-labelledby":"decision-explorer-preview-title",className:"relative mx-auto flex h-full w-full max-w-7xl flex-col overflow-hidden rounded-[30px] border border-slate-200 bg-white shadow-2xl dark:border-[#1c1c23] dark:bg-[#09090d]",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4 border-b border-slate-200 bg-slate-50/90 px-6 py-5 dark:border-[#1c1c23] dark:bg-[#0b0b10]",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.2em] text-slate-500 dark:text-[#8a8a93]",children:"Preview Trace"}),l.jsx("h2",{id:"decision-explorer-preview-title",className:"mt-2 truncate text-2xl font-semibold text-slate-900 dark:text-white",children:Ae}),l.jsxs("p",{className:"mt-2 max-w-3xl text-sm text-slate-500 dark:text-[#8a8a93]",children:[V,". This is a preview-only trace captured from ",l.jsx("code",{className:"font-mono text-xs",children:"/routing/evaluate"}),", not a transaction outcome."]})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[Pr!=null&&Pr.latest_gateway?l.jsx(Ve,{variant:"green",children:Pr.latest_gateway}):null,Pr!=null&&Pr.latest_status?l.jsx(Ve,{variant:yO(Pr.latest_status),children:Pn(Pr.latest_status)}):null,Pr!=null&&Pr.event_count?l.jsxs(Ve,{variant:"gray",children:[Pr.event_count," events"]}):null,l.jsxs(Re,{size:"sm",variant:"secondary",onClick:()=>lt.mutate(),children:[l.jsx(Lf,{size:12}),"Refresh"]}),l.jsxs(Re,{size:"sm",variant:"ghost",onClick:ze,children:[l.jsx(mO,{size:14}),"Close"]})]})]}),l.jsxs("div",{className:"grid min-h-0 flex-1 gap-0 xl:grid-cols-[340px_minmax(0,1fr)]",children:[l.jsxs("div",{className:"flex min-h-0 flex-col border-b border-slate-200 bg-slate-50/70 xl:border-b-0 xl:border-r dark:border-[#1c1c23] dark:bg-[#08080b]",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Preview Timeline"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Choose a preview step to inspect its request, response, and routing output."})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:lt.isLoading&&!lt.data?l.jsxs("div",{className:"flex items-center gap-2 px-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Bt,{size:16}),"Loading preview trace…"]}):lt.error?l.jsx(Ur,{error:lt.error.message}):du.length?l.jsx("div",{className:"space-y-4",children:du.map(P=>l.jsxs("section",{className:"space-y-2",children:[l.jsx("div",{className:"px-2",children:l.jsx(Ve,{variant:gO(P.phase),children:P.phase})}),l.jsx("div",{className:"space-y-2",children:P.events.map(z=>l.jsxs("button",{type:"button",onClick:()=>{Ue(z.id),F("summary")},className:`w-full rounded-[22px] border px-4 py-3 text-left transition ${(mt==null?void 0:mt.id)===z.id?"border-brand-500/50 bg-brand-500/8":"border-slate-200 bg-white hover:border-slate-300 dark:border-[#1d1d23] dark:bg-[#0c0c10] dark:hover:border-[#2a2a31]"}`,children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:Ku(z)}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:Gu(z.created_at_ms)})]}),l.jsx(Ve,{variant:Ff(z),children:Pn(z.status)||vO(z.flow_type)})]}),l.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[l.jsx(Ve,{variant:"gray",children:qu(z.route)}),z.gateway?l.jsx(Ve,{variant:"green",children:z.gateway}):null]})]},z.id))})]},P.phase))}):Ae?l.jsx(bO,{title:"Preview trace still arriving",body:"This preview was just logged. The modal is polling every second and will populate once the analytics writer flushes the trace."}):l.jsx(Xu,{title:"No preview trace captured yet",body:"Run Rule-Based or Volume Split evaluation first, then open the preview trace once the request has been logged."})})]}),l.jsxs("div",{className:"flex min-h-0 flex-col",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:mt?Ku(mt):"Preview Inspector"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:mt?`${qu(mt.route)} · ${Gu(mt.created_at_ms)}`:"Select an event from the left to inspect the preview payload."})]}),l.jsxs("div",{className:"flex flex-wrap gap-2",children:[mt!=null&&mt.gateway?l.jsx(Ve,{variant:"green",children:mt.gateway}):null,mt!=null&&mt.status?l.jsx(Ve,{variant:Ff(mt),children:Pn(mt.status)}):null]})]}),l.jsx("div",{className:"mt-4 flex flex-wrap gap-2",children:["summary","input","response","raw"].map(P=>l.jsx("button",{type:"button",onClick:()=>F(P),className:`rounded-full px-4 py-2 text-xs font-semibold uppercase tracking-[0.16em] transition ${Ru(C===P)}`,children:P==="raw"?"Raw JSON":Pn(P)},P))})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-5",children:lt.isLoading&&!lt.data?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Bt,{size:16}),"Loading preview inspector…"]}):Da?l.jsxs("div",{className:"space-y-5",children:[C==="summary"?l.jsxs(l.Fragment,{children:[l.jsx(wO,{rows:Da.summaryRows}),l.jsx(Fa,{title:"Preview Signals",value:Da.signalRecord,emptyMessage:"No extra preview metadata was captured for this evaluation."})]}):null,C==="input"?l.jsx(Fa,{title:"Request Payload",value:Da.requestPayload,emptyMessage:"No request payload was captured for this preview."}):null,C==="response"?l.jsx(Fa,{title:"Response Payload",value:Da.responsePayload,emptyMessage:"No response payload was captured for this preview."}):null,C==="raw"?l.jsx(Fa,{title:"Raw Event JSON",value:Da.rawEvent,emptyMessage:"No raw event payload is available for this preview."}):null]}):Ae&&!(($1=(T1=lt.data)==null?void 0:T1.timeline)!=null&&$1.length)?l.jsx(bO,{title:"Waiting for preview step",body:"Inspector will unlock as soon as the first preview event is available."}):l.jsx(Xu,{title:"Select a preview step",body:"Choose one of the preview events on the left to inspect its request and response payload."})})]})]})]})]})]})}function ble(){var m;const{merchantId:e}=ma(),{data:t,mutate:r,isLoading:n}=Vt(e?["rule-debit",e]:null,()=>Tt("/rule/get",{merchant_id:e,config:{type:"debitRouting"}})),[a,i]=S.useState(""),[o,s]=S.useState(""),[u,c]=S.useState(!1),[f,d]=S.useState(null),[p,h]=S.useState(null),b=(m=t==null?void 0:t.config)==null?void 0:m.data,v=a||(b==null?void 0:b.merchant_category_code)||"",g=o||(b==null?void 0:b.acquirer_country)||"";async function y(){if(!e)return d("Set a merchant ID first");const w={merchant_id:e,config:{type:"debitRouting",data:{merchant_category_code:v.trim(),acquirer_country:g.trim()}}};c(!0),d(null);try{await Tt(t?"/rule/update":"/rule/create",w),h("Debit routing config saved."),r()}catch(j){d(j instanceof Error?j.message:"Failed to save")}finally{c(!1)}}return l.jsxs("div",{className:"space-y-6 max-w-2xl",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold text-slate-900",children:"Network / Debit Routing"}),l.jsx("p",{className:"text-slate-500 mt-1 text-sm",children:"Configure network-based routing to optimise processing fees for debit card transactions. The engine selects the cheapest eligible network (Visa, Mastercard, ACCEL, NYCE, PULSE, STAR)."})]}),l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(X$,{size:16,className:"text-brand-500"}),l.jsx("h2",{className:"font-medium text-slate-800",children:"Debit Routing Configuration"})]})}),l.jsx(qe,{className:"space-y-4",children:n?l.jsx("div",{className:"flex justify-center py-6",children:l.jsx(Bt,{})}):l.jsxs(l.Fragment,{children:[!e&&l.jsx("p",{className:"text-sm text-amber-600 bg-amber-50 border border-amber-200 rounded px-3 py-2",children:"Set a merchant ID in the top bar to load configuration."}),l.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Merchant Category Code (MCC)"}),l.jsx("input",{value:v,onChange:w=>i(w.target.value),placeholder:"e.g. 5411",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("p",{className:"text-xs text-slate-400 mt-1",children:"4-digit ISO MCC for your business type"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Acquirer Country"}),l.jsx("input",{value:g,onChange:w=>s(w.target.value),placeholder:"e.g. US",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("p",{className:"text-xs text-slate-400 mt-1",children:"ISO 3166-1 alpha-2 country code"})]})]}),l.jsx(Ur,{error:f}),p&&l.jsx("p",{className:"text-sm text-emerald-400",children:p}),l.jsx(Re,{onClick:y,disabled:u||!e,children:u?l.jsxs(l.Fragment,{children:[l.jsx(Bt,{size:14})," Saving…"]}):t?"Update Config":"Save Config"})]})})]}),l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsx("h2",{className:"font-medium text-slate-800",children:"How Network Routing Works"})}),l.jsxs(qe,{className:"text-sm text-slate-600 space-y-2",children:[l.jsx("p",{children:"For co-badged debit cards (e.g. Visa/NYCE, Mastercard/PULSE), the engine evaluates all eligible networks and routes to the one with the lowest processing fee."}),l.jsxs("p",{children:["Supported networks: ",["VISA","MASTERCARD","ACCEL","NYCE","PULSE","STAR"].map(w=>l.jsx("span",{className:"font-mono text-xs bg-slate-100 dark:bg-[#111118] border border-slate-200 dark:border-[#1c1c24] px-1.5 py-0.5 rounded-md mr-1 text-slate-700",children:w},w))]}),l.jsxs("p",{children:["Use the ",l.jsx("strong",{className:"text-slate-800",children:"Decision Explorer"})," to test network routing decisions with ",l.jsx("code",{className:"text-xs bg-slate-100 dark:bg-[#111118] border border-slate-200 dark:border-[#1c1c24] px-1.5 py-0.5 rounded-md text-brand-500",children:"NtwBasedRouting"})," algorithm."]})]})]})]})}function wle(){for(var e=arguments.length,t=new Array(e),r=0;rn=>{t.forEach(a=>a(n))},t)}const lv=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function su(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function u1(e){return"nodeType"in e}function cn(e){var t,r;return e?su(e)?e:u1(e)&&(t=(r=e.ownerDocument)==null?void 0:r.defaultView)!=null?t:window:window}function c1(e){const{Document:t}=cn(e);return e instanceof t}function Hd(e){return su(e)?!1:e instanceof cn(e).HTMLElement}function nR(e){return e instanceof cn(e).SVGElement}function lu(e){return e?su(e)?e.document:u1(e)?c1(e)?e:Hd(e)||nR(e)?e.ownerDocument:document:document:document}const Ra=lv?S.useLayoutEffect:S.useEffect;function d1(e){const t=S.useRef(e);return Ra(()=>{t.current=e}),S.useCallback(function(){for(var r=arguments.length,n=new Array(r),a=0;a{e.current=setInterval(n,a)},[]),r=S.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,r]}function bd(e,t){t===void 0&&(t=[e]);const r=S.useRef(e);return Ra(()=>{r.current!==e&&(r.current=e)},t),r}function Gd(e,t){const r=S.useRef();return S.useMemo(()=>{const n=e(r.current);return r.current=n,n},[...t])}function Uh(e){const t=d1(e),r=S.useRef(null),n=S.useCallback(a=>{a!==r.current&&(t==null||t(a,r.current)),r.current=a},[]);return[r,n]}function z0(e){const t=S.useRef();return S.useEffect(()=>{t.current=e},[e]),t.current}let $y={};function qd(e,t){return S.useMemo(()=>{if(t)return t;const r=$y[e]==null?0:$y[e]+1;return $y[e]=r,e+"-"+r},[e,t])}function aR(e){return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),a=1;a{const s=Object.entries(o);for(const[u,c]of s){const f=i[u];f!=null&&(i[u]=f+e*c)}return i},{...t})}}const rl=aR(1),wd=aR(-1);function jle(e){return"clientX"in e&&"clientY"in e}function f1(e){if(!e)return!1;const{KeyboardEvent:t}=cn(e.target);return t&&e instanceof t}function Sle(e){if(!e)return!1;const{TouchEvent:t}=cn(e.target);return t&&e instanceof t}function B0(e){if(Sle(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:r}=e.touches[0];return{x:t,y:r}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:r}=e.changedTouches[0];return{x:t,y:r}}}return jle(e)?{x:e.clientX,y:e.clientY}:null}const _d=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:r}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(r?Math.round(r):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:r}=e;return"scaleX("+t+") scaleY("+r+")"}},Transform:{toString(e){if(e)return[_d.Translate.toString(e),_d.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:r,easing:n}=e;return t+" "+r+"ms "+n}}}),_O="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function kle(e){return e.matches(_O)?e:e.querySelector(_O)}const Ole={display:"none"};function Nle(e){let{id:t,value:r}=e;return E.createElement("div",{id:t,style:Ole},r)}function Ale(e){let{id:t,announcement:r,ariaLiveType:n="assertive"}=e;const a={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return E.createElement("div",{id:t,style:a,role:"status","aria-live":n,"aria-atomic":!0},r)}function Ele(){const[e,t]=S.useState("");return{announce:S.useCallback(n=>{n!=null&&t(n)},[]),announcement:e}}const iR=S.createContext(null);function Ple(e){const t=S.useContext(iR);S.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function Cle(){const[e]=S.useState(()=>new Set),t=S.useCallback(n=>(e.add(n),()=>e.delete(n)),[e]);return[S.useCallback(n=>{let{type:a,event:i}=n;e.forEach(o=>{var s;return(s=o[a])==null?void 0:s.call(o,i)})},[e]),t]}const Tle={draggable:` - To pick up a draggable item, press the space bar. - While dragging, use the arrow keys to move the item. - Press space again to drop the item in its new position, or press escape to cancel. - `},$le={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:r}=e;return r?"Draggable item "+t.id+" was moved over droppable area "+r.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:r}=e;return r?"Draggable item "+t.id+" was dropped over droppable area "+r.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function Rle(e){let{announcements:t=$le,container:r,hiddenTextDescribedById:n,screenReaderInstructions:a=Tle}=e;const{announce:i,announcement:o}=Ele(),s=qd("DndLiveRegion"),[u,c]=S.useState(!1);if(S.useEffect(()=>{c(!0)},[]),Ple(S.useMemo(()=>({onDragStart(d){let{active:p}=d;i(t.onDragStart({active:p}))},onDragMove(d){let{active:p,over:h}=d;t.onDragMove&&i(t.onDragMove({active:p,over:h}))},onDragOver(d){let{active:p,over:h}=d;i(t.onDragOver({active:p,over:h}))},onDragEnd(d){let{active:p,over:h}=d;i(t.onDragEnd({active:p,over:h}))},onDragCancel(d){let{active:p,over:h}=d;i(t.onDragCancel({active:p,over:h}))}}),[i,t])),!u)return null;const f=E.createElement(E.Fragment,null,E.createElement(Nle,{id:n,value:a.draggable}),E.createElement(Ale,{id:s,announcement:o}));return r?Ms.createPortal(f,r):f}var ar;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(ar||(ar={}));function Vh(){}function jO(e,t){return S.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function Ile(){for(var e=arguments.length,t=new Array(e),r=0;r[...t].filter(n=>n!=null),[...t])}const fa=Object.freeze({x:0,y:0});function oR(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function sR(e,t){let{data:{value:r}}=e,{data:{value:n}}=t;return r-n}function Mle(e,t){let{data:{value:r}}=e,{data:{value:n}}=t;return n-r}function SO(e){let{left:t,top:r,height:n,width:a}=e;return[{x:t,y:r},{x:t+a,y:r},{x:t,y:r+n},{x:t+a,y:r+n}]}function lR(e,t){if(!e||e.length===0)return null;const[r]=e;return r[t]}function kO(e,t,r){return t===void 0&&(t=e.left),r===void 0&&(r=e.top),{x:t+e.width*.5,y:r+e.height*.5}}const Dle=e=>{let{collisionRect:t,droppableRects:r,droppableContainers:n}=e;const a=kO(t,t.left,t.top),i=[];for(const o of n){const{id:s}=o,u=r.get(s);if(u){const c=oR(kO(u),a);i.push({id:s,data:{droppableContainer:o,value:c}})}}return i.sort(sR)},Lle=e=>{let{collisionRect:t,droppableRects:r,droppableContainers:n}=e;const a=SO(t),i=[];for(const o of n){const{id:s}=o,u=r.get(s);if(u){const c=SO(u),f=a.reduce((p,h,b)=>p+oR(c[b],h),0),d=Number((f/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:d}})}}return i.sort(sR)};function Fle(e,t){const r=Math.max(t.top,e.top),n=Math.max(t.left,e.left),a=Math.min(t.left+t.width,e.left+e.width),i=Math.min(t.top+t.height,e.top+e.height),o=a-n,s=i-r;if(n{let{collisionRect:t,droppableRects:r,droppableContainers:n}=e;const a=[];for(const i of n){const{id:o}=i,s=r.get(o);if(s){const u=Fle(s,t);u>0&&a.push({id:o,data:{droppableContainer:i,value:u}})}}return a.sort(Mle)};function Ble(e,t,r){return{...e,scaleX:t&&r?t.width/r.width:1,scaleY:t&&r?t.height/r.height:1}}function uR(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:fa}function Ule(e){return function(r){for(var n=arguments.length,a=new Array(n>1?n-1:0),i=1;i({...o,top:o.top+e*s.y,bottom:o.bottom+e*s.y,left:o.left+e*s.x,right:o.right+e*s.x}),{...r})}}const Vle=Ule(1);function Wle(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Hle(e,t,r){const n=Wle(t);if(!n)return e;const{scaleX:a,scaleY:i,x:o,y:s}=n,u=e.left-o-(1-a)*parseFloat(r),c=e.top-s-(1-i)*parseFloat(r.slice(r.indexOf(" ")+1)),f=a?e.width/a:e.width,d=i?e.height/i:e.height;return{width:f,height:d,top:c,right:u+f,bottom:c+d,left:u}}const Gle={ignoreTransform:!1};function uu(e,t){t===void 0&&(t=Gle);let r=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:c,transformOrigin:f}=cn(e).getComputedStyle(e);c&&(r=Hle(r,c,f))}const{top:n,left:a,width:i,height:o,bottom:s,right:u}=r;return{top:n,left:a,width:i,height:o,bottom:s,right:u}}function OO(e){return uu(e,{ignoreTransform:!0})}function qle(e){const t=e.innerWidth,r=e.innerHeight;return{top:0,left:0,right:t,bottom:r,width:t,height:r}}function Kle(e,t){return t===void 0&&(t=cn(e).getComputedStyle(e)),t.position==="fixed"}function Xle(e,t){t===void 0&&(t=cn(e).getComputedStyle(e));const r=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(a=>{const i=t[a];return typeof i=="string"?r.test(i):!1})}function uv(e,t){const r=[];function n(a){if(t!=null&&r.length>=t||!a)return r;if(c1(a)&&a.scrollingElement!=null&&!r.includes(a.scrollingElement))return r.push(a.scrollingElement),r;if(!Hd(a)||nR(a)||r.includes(a))return r;const i=cn(e).getComputedStyle(a);return a!==e&&Xle(a,i)&&r.push(a),Kle(a,i)?r:n(a.parentNode)}return e?n(e):r}function cR(e){const[t]=uv(e,1);return t??null}function Ry(e){return!lv||!e?null:su(e)?e:u1(e)?c1(e)||e===lu(e).scrollingElement?window:Hd(e)?e:null:null}function dR(e){return su(e)?e.scrollX:e.scrollLeft}function fR(e){return su(e)?e.scrollY:e.scrollTop}function U0(e){return{x:dR(e),y:fR(e)}}var hr;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(hr||(hr={}));function pR(e){return!lv||!e?!1:e===document.scrollingElement}function hR(e){const t={x:0,y:0},r=pR(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},n={x:e.scrollWidth-r.width,y:e.scrollHeight-r.height},a=e.scrollTop<=t.y,i=e.scrollLeft<=t.x,o=e.scrollTop>=n.y,s=e.scrollLeft>=n.x;return{isTop:a,isLeft:i,isBottom:o,isRight:s,maxScroll:n,minScroll:t}}const Yle={x:.2,y:.2};function Zle(e,t,r,n,a){let{top:i,left:o,right:s,bottom:u}=r;n===void 0&&(n=10),a===void 0&&(a=Yle);const{isTop:c,isBottom:f,isLeft:d,isRight:p}=hR(e),h={x:0,y:0},b={x:0,y:0},v={height:t.height*a.y,width:t.width*a.x};return!c&&i<=t.top+v.height?(h.y=hr.Backward,b.y=n*Math.abs((t.top+v.height-i)/v.height)):!f&&u>=t.bottom-v.height&&(h.y=hr.Forward,b.y=n*Math.abs((t.bottom-v.height-u)/v.height)),!p&&s>=t.right-v.width?(h.x=hr.Forward,b.x=n*Math.abs((t.right-v.width-s)/v.width)):!d&&o<=t.left+v.width&&(h.x=hr.Backward,b.x=n*Math.abs((t.left+v.width-o)/v.width)),{direction:h,speed:b}}function Jle(e){if(e===document.scrollingElement){const{innerWidth:i,innerHeight:o}=window;return{top:0,left:0,right:i,bottom:o,width:i,height:o}}const{top:t,left:r,right:n,bottom:a}=e.getBoundingClientRect();return{top:t,left:r,right:n,bottom:a,width:e.clientWidth,height:e.clientHeight}}function mR(e){return e.reduce((t,r)=>rl(t,U0(r)),fa)}function Qle(e){return e.reduce((t,r)=>t+dR(r),0)}function eue(e){return e.reduce((t,r)=>t+fR(r),0)}function tue(e,t){if(t===void 0&&(t=uu),!e)return;const{top:r,left:n,bottom:a,right:i}=t(e);cR(e)&&(a<=0||i<=0||r>=window.innerHeight||n>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const rue=[["x",["left","right"],Qle],["y",["top","bottom"],eue]];class p1{constructor(t,r){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=uv(r),a=mR(n);this.rect={...t},this.width=t.width,this.height=t.height;for(const[i,o,s]of rue)for(const u of o)Object.defineProperty(this,u,{get:()=>{const c=s(n),f=a[i]-c;return this.rect[u]+f},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class mc{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(r=>{var n;return(n=this.target)==null?void 0:n.removeEventListener(...r)})},this.target=t}add(t,r,n){var a;(a=this.target)==null||a.addEventListener(t,r,n),this.listeners.push([t,r,n])}}function nue(e){const{EventTarget:t}=cn(e);return e instanceof t?e:lu(e)}function Iy(e,t){const r=Math.abs(e.x),n=Math.abs(e.y);return typeof t=="number"?Math.sqrt(r**2+n**2)>t:"x"in t&&"y"in t?r>t.x&&n>t.y:"x"in t?r>t.x:"y"in t?n>t.y:!1}var Cn;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(Cn||(Cn={}));function NO(e){e.preventDefault()}function aue(e){e.stopPropagation()}var tt;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"})(tt||(tt={}));const vR={start:[tt.Space,tt.Enter],cancel:[tt.Esc],end:[tt.Space,tt.Enter,tt.Tab]},iue=(e,t)=>{let{currentCoordinates:r}=t;switch(e.code){case tt.Right:return{...r,x:r.x+25};case tt.Left:return{...r,x:r.x-25};case tt.Down:return{...r,y:r.y+25};case tt.Up:return{...r,y:r.y-25}}};class h1{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:r}}=t;this.props=t,this.listeners=new mc(lu(r)),this.windowListeners=new mc(cn(r)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Cn.Resize,this.handleCancel),this.windowListeners.add(Cn.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Cn.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:r}=this.props,n=t.node.current;n&&tue(n),r(fa)}handleKeyDown(t){if(f1(t)){const{active:r,context:n,options:a}=this.props,{keyboardCodes:i=vR,coordinateGetter:o=iue,scrollBehavior:s="smooth"}=a,{code:u}=t;if(i.end.includes(u)){this.handleEnd(t);return}if(i.cancel.includes(u)){this.handleCancel(t);return}const{collisionRect:c}=n.current,f=c?{x:c.left,y:c.top}:fa;this.referenceCoordinates||(this.referenceCoordinates=f);const d=o(t,{active:r,context:n.current,currentCoordinates:f});if(d){const p=wd(d,f),h={x:0,y:0},{scrollableAncestors:b}=n.current;for(const v of b){const g=t.code,{isTop:y,isRight:m,isLeft:w,isBottom:j,maxScroll:x,minScroll:_}=hR(v),k=Jle(v),O={x:Math.min(g===tt.Right?k.right-k.width/2:k.right,Math.max(g===tt.Right?k.left:k.left+k.width/2,d.x)),y:Math.min(g===tt.Down?k.bottom-k.height/2:k.bottom,Math.max(g===tt.Down?k.top:k.top+k.height/2,d.y))},A=g===tt.Right&&!m||g===tt.Left&&!w,I=g===tt.Down&&!j||g===tt.Up&&!y;if(A&&O.x!==d.x){const $=v.scrollLeft+p.x,N=g===tt.Right&&$<=x.x||g===tt.Left&&$>=_.x;if(N&&!p.y){v.scrollTo({left:$,behavior:s});return}N?h.x=v.scrollLeft-$:h.x=g===tt.Right?v.scrollLeft-x.x:v.scrollLeft-_.x,h.x&&v.scrollBy({left:-h.x,behavior:s});break}else if(I&&O.y!==d.y){const $=v.scrollTop+p.y,N=g===tt.Down&&$<=x.y||g===tt.Up&&$>=_.y;if(N&&!p.x){v.scrollTo({top:$,behavior:s});return}N?h.y=v.scrollTop-$:h.y=g===tt.Down?v.scrollTop-x.y:v.scrollTop-_.y,h.y&&v.scrollBy({top:-h.y,behavior:s});break}}this.handleMove(t,rl(wd(d,this.referenceCoordinates),h))}}}handleMove(t,r){const{onMove:n}=this.props;t.preventDefault(),n(r)}handleEnd(t){const{onEnd:r}=this.props;t.preventDefault(),this.detach(),r()}handleCancel(t){const{onCancel:r}=this.props;t.preventDefault(),this.detach(),r()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}h1.activators=[{eventName:"onKeyDown",handler:(e,t,r)=>{let{keyboardCodes:n=vR,onActivation:a}=t,{active:i}=r;const{code:o}=e.nativeEvent;if(n.start.includes(o)){const s=i.activatorNode.current;return s&&e.target!==s?!1:(e.preventDefault(),a==null||a({event:e.nativeEvent}),!0)}return!1}}];function AO(e){return!!(e&&"distance"in e)}function EO(e){return!!(e&&"delay"in e)}class m1{constructor(t,r,n){var a;n===void 0&&(n=nue(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=r;const{event:i}=t,{target:o}=i;this.props=t,this.events=r,this.document=lu(o),this.documentListeners=new mc(this.document),this.listeners=new mc(n),this.windowListeners=new mc(cn(o)),this.initialCoordinates=(a=B0(i))!=null?a:fa,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:r,bypassActivationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),t.cancel&&this.listeners.add(t.cancel.name,this.handleCancel),this.windowListeners.add(Cn.Resize,this.handleCancel),this.windowListeners.add(Cn.DragStart,NO),this.windowListeners.add(Cn.VisibilityChange,this.handleCancel),this.windowListeners.add(Cn.ContextMenu,NO),this.documentListeners.add(Cn.Keydown,this.handleKeydown),r){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(EO(r)){this.timeoutId=setTimeout(this.handleStart,r.delay),this.handlePending(r);return}if(AO(r)){this.handlePending(r);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(t,r){const{active:n,onPending:a}=this.props;a(n,t,this.initialCoordinates,r)}handleStart(){const{initialCoordinates:t}=this,{onStart:r}=this.props;t&&(this.activated=!0,this.documentListeners.add(Cn.Click,aue,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Cn.SelectionChange,this.removeTextSelection),r(t))}handleMove(t){var r;const{activated:n,initialCoordinates:a,props:i}=this,{onMove:o,options:{activationConstraint:s}}=i;if(!a)return;const u=(r=B0(t))!=null?r:fa,c=wd(a,u);if(!n&&s){if(AO(s)){if(s.tolerance!=null&&Iy(c,s.tolerance))return this.handleCancel();if(Iy(c,s.distance))return this.handleStart()}if(EO(s)&&Iy(c,s.tolerance))return this.handleCancel();this.handlePending(s,c);return}t.cancelable&&t.preventDefault(),o(u)}handleEnd(){const{onAbort:t,onEnd:r}=this.props;this.detach(),this.activated||t(this.props.active),r()}handleCancel(){const{onAbort:t,onCancel:r}=this.props;this.detach(),this.activated||t(this.props.active),r()}handleKeydown(t){t.code===tt.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const oue={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class v1 extends m1{constructor(t){const{event:r}=t,n=lu(r.target);super(t,oue,n)}}v1.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:n}=t;return!r.isPrimary||r.button!==0?!1:(n==null||n({event:r}),!0)}}];const sue={move:{name:"mousemove"},end:{name:"mouseup"}};var V0;(function(e){e[e.RightClick=2]="RightClick"})(V0||(V0={}));class lue extends m1{constructor(t){super(t,sue,lu(t.event.target))}}lue.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:n}=t;return r.button===V0.RightClick?!1:(n==null||n({event:r}),!0)}}];const My={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class uue extends m1{constructor(t){super(t,My)}static setup(){return window.addEventListener(My.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(My.move.name,t)};function t(){}}}uue.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:n}=t;const{touches:a}=r;return a.length>1?!1:(n==null||n({event:r}),!0)}}];var vc;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(vc||(vc={}));var Wh;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(Wh||(Wh={}));function cue(e){let{acceleration:t,activator:r=vc.Pointer,canScroll:n,draggingRect:a,enabled:i,interval:o=5,order:s=Wh.TreeOrder,pointerCoordinates:u,scrollableAncestors:c,scrollableAncestorRects:f,delta:d,threshold:p}=e;const h=fue({delta:d,disabled:!i}),[b,v]=_le(),g=S.useRef({x:0,y:0}),y=S.useRef({x:0,y:0}),m=S.useMemo(()=>{switch(r){case vc.Pointer:return u?{top:u.y,bottom:u.y,left:u.x,right:u.x}:null;case vc.DraggableRect:return a}},[r,a,u]),w=S.useRef(null),j=S.useCallback(()=>{const _=w.current;if(!_)return;const k=g.current.x*y.current.x,O=g.current.y*y.current.y;_.scrollBy(k,O)},[]),x=S.useMemo(()=>s===Wh.TreeOrder?[...c].reverse():c,[s,c]);S.useEffect(()=>{if(!i||!c.length||!m){v();return}for(const _ of x){if((n==null?void 0:n(_))===!1)continue;const k=c.indexOf(_),O=f[k];if(!O)continue;const{direction:A,speed:I}=Zle(_,O,m,t,p);for(const $ of["x","y"])h[$][A[$]]||(I[$]=0,A[$]=0);if(I.x>0||I.y>0){v(),w.current=_,b(j,o),g.current=I,y.current=A;return}}g.current={x:0,y:0},y.current={x:0,y:0},v()},[t,j,n,v,i,o,JSON.stringify(m),JSON.stringify(h),b,c,x,f,JSON.stringify(p)])}const due={x:{[hr.Backward]:!1,[hr.Forward]:!1},y:{[hr.Backward]:!1,[hr.Forward]:!1}};function fue(e){let{delta:t,disabled:r}=e;const n=z0(t);return Gd(a=>{if(r||!n||!a)return due;const i={x:Math.sign(t.x-n.x),y:Math.sign(t.y-n.y)};return{x:{[hr.Backward]:a.x[hr.Backward]||i.x===-1,[hr.Forward]:a.x[hr.Forward]||i.x===1},y:{[hr.Backward]:a.y[hr.Backward]||i.y===-1,[hr.Forward]:a.y[hr.Forward]||i.y===1}}},[r,t,n])}function pue(e,t){const r=t!=null?e.get(t):void 0,n=r?r.node.current:null;return Gd(a=>{var i;return t==null?null:(i=n??a)!=null?i:null},[n,t])}function hue(e,t){return S.useMemo(()=>e.reduce((r,n)=>{const{sensor:a}=n,i=a.activators.map(o=>({eventName:o.eventName,handler:t(o.handler,n)}));return[...r,...i]},[]),[e,t])}var jd;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(jd||(jd={}));var W0;(function(e){e.Optimized="optimized"})(W0||(W0={}));const PO=new Map;function mue(e,t){let{dragging:r,dependencies:n,config:a}=t;const[i,o]=S.useState(null),{frequency:s,measure:u,strategy:c}=a,f=S.useRef(e),d=g(),p=bd(d),h=S.useCallback(function(y){y===void 0&&(y=[]),!p.current&&o(m=>m===null?y:m.concat(y.filter(w=>!m.includes(w))))},[p]),b=S.useRef(null),v=Gd(y=>{if(d&&!r)return PO;if(!y||y===PO||f.current!==e||i!=null){const m=new Map;for(let w of e){if(!w)continue;if(i&&i.length>0&&!i.includes(w.id)&&w.rect.current){m.set(w.id,w.rect.current);continue}const j=w.node.current,x=j?new p1(u(j),j):null;w.rect.current=x,x&&m.set(w.id,x)}return m}return y},[e,i,r,d,u]);return S.useEffect(()=>{f.current=e},[e]),S.useEffect(()=>{d||h()},[r,d]),S.useEffect(()=>{i&&i.length>0&&o(null)},[JSON.stringify(i)]),S.useEffect(()=>{d||typeof s!="number"||b.current!==null||(b.current=setTimeout(()=>{h(),b.current=null},s))},[s,d,h,...n]),{droppableRects:v,measureDroppableContainers:h,measuringScheduled:i!=null};function g(){switch(c){case jd.Always:return!1;case jd.BeforeDragging:return r;default:return!r}}}function yR(e,t){return Gd(r=>e?r||(typeof t=="function"?t(e):e):null,[t,e])}function vue(e,t){return yR(e,t)}function yue(e){let{callback:t,disabled:r}=e;const n=d1(t),a=S.useMemo(()=>{if(r||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:i}=window;return new i(n)},[n,r]);return S.useEffect(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function cv(e){let{callback:t,disabled:r}=e;const n=d1(t),a=S.useMemo(()=>{if(r||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:i}=window;return new i(n)},[r]);return S.useEffect(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function gue(e){return new p1(uu(e),e)}function CO(e,t,r){t===void 0&&(t=gue);const[n,a]=S.useState(null);function i(){a(u=>{if(!e)return null;if(e.isConnected===!1){var c;return(c=u??r)!=null?c:null}const f=t(e);return JSON.stringify(u)===JSON.stringify(f)?u:f})}const o=yue({callback(u){if(e)for(const c of u){const{type:f,target:d}=c;if(f==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),s=cv({callback:i});return Ra(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),n}function xue(e){const t=yR(e);return uR(e,t)}const TO=[];function bue(e){const t=S.useRef(e),r=Gd(n=>e?n&&n!==TO&&e&&t.current&&e.parentNode===t.current.parentNode?n:uv(e):TO,[e]);return S.useEffect(()=>{t.current=e},[e]),r}function wue(e){const[t,r]=S.useState(null),n=S.useRef(e),a=S.useCallback(i=>{const o=Ry(i.target);o&&r(s=>s?(s.set(o,U0(o)),new Map(s)):null)},[]);return S.useEffect(()=>{const i=n.current;if(e!==i){o(i);const s=e.map(u=>{const c=Ry(u);return c?(c.addEventListener("scroll",a,{passive:!0}),[c,U0(c)]):null}).filter(u=>u!=null);r(s.length?new Map(s):null),n.current=e}return()=>{o(e),o(i)};function o(s){s.forEach(u=>{const c=Ry(u);c==null||c.removeEventListener("scroll",a)})}},[a,e]),S.useMemo(()=>e.length?t?Array.from(t.values()).reduce((i,o)=>rl(i,o),fa):mR(e):fa,[e,t])}function $O(e,t){t===void 0&&(t=[]);const r=S.useRef(null);return S.useEffect(()=>{r.current=null},t),S.useEffect(()=>{const n=e!==fa;n&&!r.current&&(r.current=e),!n&&r.current&&(r.current=null)},[e]),r.current?wd(e,r.current):fa}function _ue(e){S.useEffect(()=>{if(!lv)return;const t=e.map(r=>{let{sensor:n}=r;return n.setup==null?void 0:n.setup()});return()=>{for(const r of t)r==null||r()}},e.map(t=>{let{sensor:r}=t;return r}))}function jue(e,t){return S.useMemo(()=>e.reduce((r,n)=>{let{eventName:a,handler:i}=n;return r[a]=o=>{i(o,t)},r},{}),[e,t])}function gR(e){return S.useMemo(()=>e?qle(e):null,[e])}const RO=[];function Sue(e,t){t===void 0&&(t=uu);const[r]=e,n=gR(r?cn(r):null),[a,i]=S.useState(RO);function o(){i(()=>e.length?e.map(u=>pR(u)?n:new p1(t(u),u)):RO)}const s=cv({callback:o});return Ra(()=>{s==null||s.disconnect(),o(),e.forEach(u=>s==null?void 0:s.observe(u))},[e]),a}function kue(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Hd(t)?t:e}function Oue(e){let{measure:t}=e;const[r,n]=S.useState(null),a=S.useCallback(c=>{for(const{target:f}of c)if(Hd(f)){n(d=>{const p=t(f);return d?{...d,width:p.width,height:p.height}:p});break}},[t]),i=cv({callback:a}),o=S.useCallback(c=>{const f=kue(c);i==null||i.disconnect(),f&&(i==null||i.observe(f)),n(f?t(f):null)},[t,i]),[s,u]=Uh(o);return S.useMemo(()=>({nodeRef:s,rect:r,setRef:u}),[r,s,u])}const Nue=[{sensor:v1,options:{}},{sensor:h1,options:{}}],Aue={current:{}},lp={draggable:{measure:OO},droppable:{measure:OO,strategy:jd.WhileDragging,frequency:W0.Optimized},dragOverlay:{measure:uu}};class yc extends Map{get(t){var r;return t!=null&&(r=super.get(t))!=null?r:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:r}=t;return!r})}getNodeFor(t){var r,n;return(r=(n=this.get(t))==null?void 0:n.node.current)!=null?r:void 0}}const Eue={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new yc,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Vh},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:lp,measureDroppableContainers:Vh,windowRect:null,measuringScheduled:!1},Pue={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Vh,draggableNodes:new Map,over:null,measureDroppableContainers:Vh},dv=S.createContext(Pue),xR=S.createContext(Eue);function Cue(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new yc}}}function Tue(e,t){switch(t.type){case ar.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case ar.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case ar.DragEnd:case ar.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case ar.RegisterDroppable:{const{element:r}=t,{id:n}=r,a=new yc(e.droppable.containers);return a.set(n,r),{...e,droppable:{...e.droppable,containers:a}}}case ar.SetDroppableDisabled:{const{id:r,key:n,disabled:a}=t,i=e.droppable.containers.get(r);if(!i||n!==i.key)return e;const o=new yc(e.droppable.containers);return o.set(r,{...i,disabled:a}),{...e,droppable:{...e.droppable,containers:o}}}case ar.UnregisterDroppable:{const{id:r,key:n}=t,a=e.droppable.containers.get(r);if(!a||n!==a.key)return e;const i=new yc(e.droppable.containers);return i.delete(r),{...e,droppable:{...e.droppable,containers:i}}}default:return e}}function $ue(e){let{disabled:t}=e;const{active:r,activatorEvent:n,draggableNodes:a}=S.useContext(dv),i=z0(n),o=z0(r==null?void 0:r.id);return S.useEffect(()=>{if(!t&&!n&&i&&o!=null){if(!f1(i)||document.activeElement===i.target)return;const s=a.get(o);if(!s)return;const{activatorNode:u,node:c}=s;if(!u.current&&!c.current)return;requestAnimationFrame(()=>{for(const f of[u.current,c.current]){if(!f)continue;const d=kle(f);if(d){d.focus();break}}})}},[n,t,a,o,i]),null}function Rue(e,t){let{transform:r,...n}=t;return e!=null&&e.length?e.reduce((a,i)=>i({transform:a,...n}),r):r}function Iue(e){return S.useMemo(()=>({draggable:{...lp.draggable,...e==null?void 0:e.draggable},droppable:{...lp.droppable,...e==null?void 0:e.droppable},dragOverlay:{...lp.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function Mue(e){let{activeNode:t,measure:r,initialRect:n,config:a=!0}=e;const i=S.useRef(!1),{x:o,y:s}=typeof a=="boolean"?{x:a,y:a}:a;Ra(()=>{if(!o&&!s||!t){i.current=!1;return}if(i.current||!n)return;const c=t==null?void 0:t.node.current;if(!c||c.isConnected===!1)return;const f=r(c),d=uR(f,n);if(o||(d.x=0),s||(d.y=0),i.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const p=cR(c);p&&p.scrollBy({top:d.y,left:d.x})}},[t,o,s,n,r])}const bR=S.createContext({...fa,scaleX:1,scaleY:1});var ki;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(ki||(ki={}));const Due=S.memo(function(t){var r,n,a,i;let{id:o,accessibility:s,autoScroll:u=!0,children:c,sensors:f=Nue,collisionDetection:d=zle,measuring:p,modifiers:h,...b}=t;const v=S.useReducer(Tue,void 0,Cue),[g,y]=v,[m,w]=Cle(),[j,x]=S.useState(ki.Uninitialized),_=j===ki.Initialized,{draggable:{active:k,nodes:O,translate:A},droppable:{containers:I}}=g,$=k!=null?O.get(k):null,N=S.useRef({initial:null,translated:null}),T=S.useMemo(()=>{var Wt;return k!=null?{id:k,data:(Wt=$==null?void 0:$.data)!=null?Wt:Aue,rect:N}:null},[k,$]),R=S.useRef(null),[L,U]=S.useState(null),[W,M]=S.useState(null),B=bd(b,Object.values(b)),G=qd("DndDescribedBy",o),H=S.useMemo(()=>I.getEnabled(),[I]),q=Iue(p),{droppableRects:ae,measureDroppableContainers:X,measuringScheduled:se}=mue(H,{dragging:_,dependencies:[A.x,A.y],config:q.droppable}),fe=pue(O,k),Pe=S.useMemo(()=>W?B0(W):null,[W]),Te=Gn(),re=vue(fe,q.draggable.measure);Mue({activeNode:k!=null?O.get(k):null,config:Te.layoutShiftCompensation,initialRect:re,measure:q.draggable.measure});const ce=CO(fe,q.draggable.measure,re),we=CO(fe?fe.parentElement:null),Y=S.useRef({activatorEvent:null,active:null,activeNode:fe,collisionRect:null,collisions:null,droppableRects:ae,draggableNodes:O,draggingNode:null,draggingNodeRect:null,droppableContainers:I,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Ce=I.getNodeFor((r=Y.current.over)==null?void 0:r.id),ve=Oue({measure:q.dragOverlay.measure}),Ke=(n=ve.nodeRef.current)!=null?n:fe,Le=_?(a=ve.rect)!=null?a:ce:null,_e=!!(ve.nodeRef.current&&ve.rect),$e=xue(_e?null:ce),Ae=gR(Ke?cn(Ke):null),Ne=bue(_?Ce??fe:null),Xe=Sue(Ne),Ue=Rue(h,{transform:{x:A.x-$e.x,y:A.y-$e.y,scaleX:1,scaleY:1},activatorEvent:W,active:T,activeNodeRect:ce,containerNodeRect:we,draggingNodeRect:Le,over:Y.current.over,overlayNodeRect:ve.rect,scrollableAncestors:Ne,scrollableAncestorRects:Xe,windowRect:Ae}),C=Pe?rl(Pe,A):null,F=wue(Ne),V=$O(F),ne=$O(F,[ce]),te=rl(Ue,V),Q=Le?Vle(Le,Ue):null,ee=T&&Q?d({active:T,collisionRect:Q,droppableRects:ae,droppableContainers:H,pointerCoordinates:C}):null,Se=lR(ee,"id"),[Ee,st]=S.useState(null),K=_e?Ue:rl(Ue,ne),le=Ble(K,(i=Ee==null?void 0:Ee.rect)!=null?i:null,ce),De=S.useRef(null),Nr=S.useCallback((Wt,ur)=>{let{sensor:cr,options:dn}=ur;if(R.current==null)return;const dr=O.get(R.current);if(!dr)return;const er=Wt.nativeEvent,Fr=new cr({active:R.current,activeNode:dr,event:er,options:dn,context:Y,onAbort(Lt){if(!O.get(Lt))return;const{onDragAbort:gr}=B.current,xr={id:Lt};gr==null||gr(xr),m({type:"onDragAbort",event:xr})},onPending(Lt,Ar,gr,xr){if(!O.get(Lt))return;const{onDragPending:va}=B.current,Yr={id:Lt,constraint:Ar,initialCoordinates:gr,offset:xr};va==null||va(Yr),m({type:"onDragPending",event:Yr})},onStart(Lt){const Ar=R.current;if(Ar==null)return;const gr=O.get(Ar);if(!gr)return;const{onDragStart:xr}=B.current,Kn={activatorEvent:er,active:{id:Ar,data:gr.data,rect:N}};Ms.unstable_batchedUpdates(()=>{xr==null||xr(Kn),x(ki.Initializing),y({type:ar.DragStart,initialCoordinates:Lt,active:Ar}),m({type:"onDragStart",event:Kn}),U(De.current),M(er)})},onMove(Lt){y({type:ar.DragMove,coordinates:Lt})},onEnd:qn(ar.DragEnd),onCancel:qn(ar.DragCancel)});De.current=Fr;function qn(Lt){return async function(){const{active:gr,collisions:xr,over:Kn,scrollAdjustedTranslate:va}=Y.current;let Yr=null;if(gr&&va){const{cancelDrop:Xn}=B.current;Yr={activatorEvent:er,active:gr,collisions:xr,delta:va,over:Kn},Lt===ar.DragEnd&&typeof Xn=="function"&&await Promise.resolve(Xn(Yr))&&(Lt=ar.DragCancel)}R.current=null,Ms.unstable_batchedUpdates(()=>{y({type:Lt}),x(ki.Uninitialized),st(null),U(null),M(null),De.current=null;const Xn=Lt===ar.DragEnd?"onDragEnd":"onDragCancel";if(Yr){const mi=B.current[Xn];mi==null||mi(Yr),m({type:Xn,event:Yr})}})}}},[O]),lt=S.useCallback((Wt,ur)=>(cr,dn)=>{const dr=cr.nativeEvent,er=O.get(dn);if(R.current!==null||!er||dr.dndKit||dr.defaultPrevented)return;const Fr={active:er};Wt(cr,ur.options,Fr)===!0&&(dr.dndKit={capturedBy:ur.sensor},R.current=dn,Nr(cr,ur))},[O,Nr]),Rt=hue(f,lt);_ue(f),Ra(()=>{ce&&j===ki.Initializing&&x(ki.Initialized)},[ce,j]),S.useEffect(()=>{const{onDragMove:Wt}=B.current,{active:ur,activatorEvent:cr,collisions:dn,over:dr}=Y.current;if(!ur||!cr)return;const er={active:ur,activatorEvent:cr,collisions:dn,delta:{x:te.x,y:te.y},over:dr};Ms.unstable_batchedUpdates(()=>{Wt==null||Wt(er),m({type:"onDragMove",event:er})})},[te.x,te.y]),S.useEffect(()=>{const{active:Wt,activatorEvent:ur,collisions:cr,droppableContainers:dn,scrollAdjustedTranslate:dr}=Y.current;if(!Wt||R.current==null||!ur||!dr)return;const{onDragOver:er}=B.current,Fr=dn.get(Se),qn=Fr&&Fr.rect.current?{id:Fr.id,rect:Fr.rect.current,data:Fr.data,disabled:Fr.disabled}:null,Lt={active:Wt,activatorEvent:ur,collisions:cr,delta:{x:dr.x,y:dr.y},over:qn};Ms.unstable_batchedUpdates(()=>{st(qn),er==null||er(Lt),m({type:"onDragOver",event:Lt})})},[Se]),Ra(()=>{Y.current={activatorEvent:W,active:T,activeNode:fe,collisionRect:Q,collisions:ee,droppableRects:ae,draggableNodes:O,draggingNode:Ke,draggingNodeRect:Le,droppableContainers:I,over:Ee,scrollableAncestors:Ne,scrollAdjustedTranslate:te},N.current={initial:Le,translated:Q}},[T,fe,ee,Q,O,Ke,Le,ae,I,Ee,Ne,te]),cue({...Te,delta:A,draggingRect:Q,pointerCoordinates:C,scrollableAncestors:Ne,scrollableAncestorRects:Xe});const Hn=S.useMemo(()=>({active:T,activeNode:fe,activeNodeRect:ce,activatorEvent:W,collisions:ee,containerNodeRect:we,dragOverlay:ve,draggableNodes:O,droppableContainers:I,droppableRects:ae,over:Ee,measureDroppableContainers:X,scrollableAncestors:Ne,scrollableAncestorRects:Xe,measuringConfiguration:q,measuringScheduled:se,windowRect:Ae}),[T,fe,ce,W,ee,we,ve,O,I,ae,Ee,X,Ne,Xe,q,se,Ae]),co=S.useMemo(()=>({activatorEvent:W,activators:Rt,active:T,activeNodeRect:ce,ariaDescribedById:{draggable:G},dispatch:y,draggableNodes:O,over:Ee,measureDroppableContainers:X}),[W,Rt,T,ce,y,G,O,Ee,X]);return E.createElement(iR.Provider,{value:w},E.createElement(dv.Provider,{value:co},E.createElement(xR.Provider,{value:Hn},E.createElement(bR.Provider,{value:le},c)),E.createElement($ue,{disabled:(s==null?void 0:s.restoreFocus)===!1})),E.createElement(Rle,{...s,hiddenTextDescribedById:G}));function Gn(){const Wt=(L==null?void 0:L.autoScrollEnabled)===!1,ur=typeof u=="object"?u.enabled===!1:u===!1,cr=_&&!Wt&&!ur;return typeof u=="object"?{...u,enabled:cr}:{enabled:cr}}}),Lue=S.createContext(null),IO="button",Fue="Draggable";function zue(e){let{id:t,data:r,disabled:n=!1,attributes:a}=e;const i=qd(Fue),{activators:o,activatorEvent:s,active:u,activeNodeRect:c,ariaDescribedById:f,draggableNodes:d,over:p}=S.useContext(dv),{role:h=IO,roleDescription:b="draggable",tabIndex:v=0}=a??{},g=(u==null?void 0:u.id)===t,y=S.useContext(g?bR:Lue),[m,w]=Uh(),[j,x]=Uh(),_=jue(o,t),k=bd(r);Ra(()=>(d.set(t,{id:t,key:i,node:m,activatorNode:j,data:k}),()=>{const A=d.get(t);A&&A.key===i&&d.delete(t)}),[d,t]);const O=S.useMemo(()=>({role:h,tabIndex:v,"aria-disabled":n,"aria-pressed":g&&h===IO?!0:void 0,"aria-roledescription":b,"aria-describedby":f.draggable}),[n,h,v,g,b,f.draggable]);return{active:u,activatorEvent:s,activeNodeRect:c,attributes:O,isDragging:g,listeners:n?void 0:_,node:m,over:p,setNodeRef:w,setActivatorNodeRef:x,transform:y}}function Bue(){return S.useContext(xR)}const Uue="Droppable",Vue={timeout:25};function Wue(e){let{data:t,disabled:r=!1,id:n,resizeObserverConfig:a}=e;const i=qd(Uue),{active:o,dispatch:s,over:u,measureDroppableContainers:c}=S.useContext(dv),f=S.useRef({disabled:r}),d=S.useRef(!1),p=S.useRef(null),h=S.useRef(null),{disabled:b,updateMeasurementsFor:v,timeout:g}={...Vue,...a},y=bd(v??n),m=S.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{c(Array.isArray(y.current)?y.current:[y.current]),h.current=null},g)},[g]),w=cv({callback:m,disabled:b||!o}),j=S.useCallback((O,A)=>{w&&(A&&(w.unobserve(A),d.current=!1),O&&w.observe(O))},[w]),[x,_]=Uh(j),k=bd(t);return S.useEffect(()=>{!w||!x.current||(w.disconnect(),d.current=!1,w.observe(x.current))},[x,w]),S.useEffect(()=>(s({type:ar.RegisterDroppable,element:{id:n,key:i,disabled:r,node:x,rect:p,data:k}}),()=>s({type:ar.UnregisterDroppable,key:i,id:n})),[n]),S.useEffect(()=>{r!==f.current.disabled&&(s({type:ar.SetDroppableDisabled,id:n,key:i,disabled:r}),f.current.disabled=r)},[n,i,r,s]),{active:o,rect:p,isOver:(u==null?void 0:u.id)===n,node:x,over:u,setNodeRef:_}}function y1(e,t,r){const n=e.slice();return n.splice(r<0?n.length+r:r,0,n.splice(t,1)[0]),n}function Hue(e,t){return e.reduce((r,n,a)=>{const i=t.get(n);return i&&(r[a]=i),r},Array(e.length))}function zf(e){return e!==null&&e>=0}function Gue(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0;r{let{rects:t,activeIndex:r,overIndex:n,index:a}=e;const i=y1(t,n,r),o=t[a],s=i[a];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},Bf={scaleX:1,scaleY:1},Kue=e=>{var t;let{activeIndex:r,activeNodeRect:n,index:a,rects:i,overIndex:o}=e;const s=(t=i[r])!=null?t:n;if(!s)return null;if(a===r){const c=i[o];return c?{x:0,y:rr&&a<=o?{x:0,y:-s.height-u,...Bf}:a=o?{x:0,y:s.height+u,...Bf}:{x:0,y:0,...Bf}};function Xue(e,t,r){const n=e[t],a=e[t-1],i=e[t+1];return n?rn.map(_=>typeof _=="object"&&"id"in _?_.id:_),[n]),b=o!=null,v=o?h.indexOf(o.id):-1,g=c?h.indexOf(c.id):-1,y=S.useRef(h),m=!Gue(h,y.current),w=g!==-1&&v===-1||m,j=que(i);Ra(()=>{m&&b&&f(h)},[m,h,b,f]),S.useEffect(()=>{y.current=h},[h]);const x=S.useMemo(()=>({activeIndex:v,containerId:d,disabled:j,disableTransforms:w,items:h,overIndex:g,useDragOverlay:p,sortedRects:Hue(h,u),strategy:a}),[v,d,j.draggable,j.droppable,w,h,g,u,p,a]);return E.createElement(jR.Provider,{value:x},t)}const Zue=e=>{let{id:t,items:r,activeIndex:n,overIndex:a}=e;return y1(r,n,a).indexOf(t)},Jue=e=>{let{containerId:t,isSorting:r,wasDragging:n,index:a,items:i,newIndex:o,previousItems:s,previousContainerId:u,transition:c}=e;return!c||!n||s!==i&&a===o?!1:r?!0:o!==a&&t===u},Que={duration:200,easing:"ease"},SR="transform",ece=_d.Transition.toString({property:SR,duration:0,easing:"linear"}),tce={roleDescription:"sortable"};function rce(e){let{disabled:t,index:r,node:n,rect:a}=e;const[i,o]=S.useState(null),s=S.useRef(r);return Ra(()=>{if(!t&&r!==s.current&&n.current){const u=a.current;if(u){const c=uu(n.current,{ignoreTransform:!0}),f={x:u.left-c.left,y:u.top-c.top,scaleX:u.width/c.width,scaleY:u.height/c.height};(f.x||f.y)&&o(f)}}r!==s.current&&(s.current=r)},[t,r,n,a]),S.useEffect(()=>{i&&o(null)},[i]),i}function nce(e){let{animateLayoutChanges:t=Jue,attributes:r,disabled:n,data:a,getNewIndex:i=Zue,id:o,strategy:s,resizeObserverConfig:u,transition:c=Que}=e;const{items:f,containerId:d,activeIndex:p,disabled:h,disableTransforms:b,sortedRects:v,overIndex:g,useDragOverlay:y,strategy:m}=S.useContext(jR),w=ace(n,h),j=f.indexOf(o),x=S.useMemo(()=>({sortable:{containerId:d,index:j,items:f},...a}),[d,a,j,f]),_=S.useMemo(()=>f.slice(f.indexOf(o)),[f,o]),{rect:k,node:O,isOver:A,setNodeRef:I}=Wue({id:o,data:x,disabled:w.droppable,resizeObserverConfig:{updateMeasurementsFor:_,...u}}),{active:$,activatorEvent:N,activeNodeRect:T,attributes:R,setNodeRef:L,listeners:U,isDragging:W,over:M,setActivatorNodeRef:B,transform:G}=zue({id:o,data:x,attributes:{...tce,...r},disabled:w.draggable}),H=wle(I,L),q=!!$,ae=q&&!b&&zf(p)&&zf(g),X=!y&&W,se=X&&ae?G:null,Pe=ae?se??(s??m)({rects:v,activeNodeRect:T,activeIndex:p,overIndex:g,index:j}):null,Te=zf(p)&&zf(g)?i({id:o,items:f,activeIndex:p,overIndex:g}):j,re=$==null?void 0:$.id,ce=S.useRef({activeId:re,items:f,newIndex:Te,containerId:d}),we=f!==ce.current.items,Y=t({active:$,containerId:d,isDragging:W,isSorting:q,id:o,index:j,items:f,newIndex:ce.current.newIndex,previousItems:ce.current.items,previousContainerId:ce.current.containerId,transition:c,wasDragging:ce.current.activeId!=null}),Ce=rce({disabled:!Y,index:j,node:O,rect:k});return S.useEffect(()=>{q&&ce.current.newIndex!==Te&&(ce.current.newIndex=Te),d!==ce.current.containerId&&(ce.current.containerId=d),f!==ce.current.items&&(ce.current.items=f)},[q,Te,d,f]),S.useEffect(()=>{if(re===ce.current.activeId)return;if(re&&!ce.current.activeId){ce.current.activeId=re;return}const Ke=setTimeout(()=>{ce.current.activeId=re},50);return()=>clearTimeout(Ke)},[re]),{active:$,activeIndex:p,attributes:R,data:x,rect:k,index:j,newIndex:Te,items:f,isOver:A,isSorting:q,isDragging:W,listeners:U,node:O,overIndex:g,over:M,setNodeRef:H,setActivatorNodeRef:B,setDroppableNodeRef:I,setDraggableNodeRef:L,transform:Ce??Pe,transition:ve()};function ve(){if(Ce||we&&ce.current.newIndex===j)return ece;if(!(X&&!f1(N)||!c)&&(q||Y))return _d.Transition.toString({...c,property:SR})}}function ace(e,t){var r,n;return typeof e=="boolean"?{draggable:e,droppable:!1}:{draggable:(r=e==null?void 0:e.draggable)!=null?r:t.draggable,droppable:(n=e==null?void 0:e.droppable)!=null?n:t.droppable}}function Hh(e){if(!e)return!1;const t=e.data.current;return!!(t&&"sortable"in t&&typeof t.sortable=="object"&&"containerId"in t.sortable&&"items"in t.sortable&&"index"in t.sortable)}const ice=[tt.Down,tt.Right,tt.Up,tt.Left],oce=(e,t)=>{let{context:{active:r,collisionRect:n,droppableRects:a,droppableContainers:i,over:o,scrollableAncestors:s}}=t;if(ice.includes(e.code)){if(e.preventDefault(),!r||!n)return;const u=[];i.getEnabled().forEach(d=>{if(!d||d!=null&&d.disabled)return;const p=a.get(d.id);if(p)switch(e.code){case tt.Down:n.topp.top&&u.push(d);break;case tt.Left:n.left>p.left&&u.push(d);break;case tt.Right:n.left1&&(f=c[1].id),f!=null){const d=i.get(r.id),p=i.get(f),h=p?a.get(p.id):null,b=p==null?void 0:p.node.current;if(b&&h&&d&&p){const g=uv(b).some((_,k)=>s[k]!==_),y=kR(d,p),m=sce(d,p),w=g||!y?{x:0,y:0}:{x:m?n.width-h.width:0,y:m?n.height-h.height:0},j={x:h.left,y:h.top};return w.x&&w.y?j:wd(j,w)}}}};function kR(e,t){return!Hh(e)||!Hh(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function sce(e,t){return!Hh(e)||!Hh(t)||!kR(e,t)?!1:e.data.current.sortable.index":"greater_than","<":"less_than",">=":"greater_than_equal","<=":"less_than_equal"};function uce({id:e,name:t,onRemove:r}){const{attributes:n,listeners:a,setNodeRef:i,transform:o,transition:s}=nce({id:e}),u={transform:_d.Transform.toString(o),transition:s};return l.jsxs("div",{ref:i,style:u,className:"flex items-center gap-2 bg-slate-100 dark:bg-[#111118] border border-slate-200 dark:border-[#1c1c24] rounded-lg px-2 py-1.5",children:[l.jsx("span",{...n,...a,className:"cursor-grab text-slate-400",children:l.jsx(Jse,{size:14})}),l.jsx("span",{className:"text-sm flex-1 font-mono",children:t}),l.jsx("button",{type:"button",onClick:r,className:"text-red-400 hover:text-red-600",children:l.jsx(ui,{size:12})})]})}function OR({gateways:e,onChange:t}){const[r,n]=S.useState(""),[a,i]=S.useState(""),o=Ile(jO(v1),jO(h1,{coordinateGetter:oce}));function s(c){const{active:f,over:d}=c;if(d&&f.id!==d.id){const p=e.findIndex(b=>b.id===f.id),h=e.findIndex(b=>b.id===d.id);t(y1(e,p,h))}}function u(){r.trim()&&(t([...e,{id:crypto.randomUUID(),gatewayName:r.trim(),gatewayId:a.trim()}]),n(""),i(""))}return l.jsxs("div",{className:"space-y-2",children:[l.jsx(Due,{sensors:o,collisionDetection:Dle,onDragEnd:s,children:l.jsx(Yue,{items:e.map(c=>c.id),strategy:Kue,children:e.map((c,f)=>l.jsx(uce,{id:c.id,name:`${f+1}. ${c.gatewayName}${c.gatewayId?` (${c.gatewayId})`:""}`,onRemove:()=>t(e.filter(d=>d.id!==c.id))},c.id))})}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx("input",{value:r,onChange:c=>n(c.target.value),onKeyDown:c=>c.key==="Enter"&&(c.preventDefault(),u()),placeholder:"gateway_name",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{value:a,onChange:c=>i(c.target.value),onKeyDown:c=>c.key==="Enter"&&(c.preventDefault(),u()),placeholder:"gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsxs(Re,{type:"button",size:"sm",variant:"secondary",onClick:u,children:[l.jsx(Zi,{size:13})," Add"]})]})]})}function NR({gateways:e,onChange:t}){const[r,n]=S.useState(""),[a,i]=S.useState(""),o=e.reduce((u,c)=>u+c.split,0);function s(){r.trim()&&(t([...e,{id:crypto.randomUUID(),gatewayName:r.trim(),gatewayId:a.trim(),split:0}]),n(""),i(""))}return l.jsxs("div",{className:"space-y-2",children:[e.map(u=>l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("input",{value:u.gatewayName,onChange:c=>t(e.map(f=>f.id===u.id?{...f,gatewayName:c.target.value}:f)),placeholder:"gateway_name",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs w-32 focus:outline-none"}),l.jsx("input",{value:u.gatewayId,onChange:c=>t(e.map(f=>f.id===u.id?{...f,gatewayId:c.target.value}:f)),placeholder:"gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs w-28 focus:outline-none"}),l.jsx("input",{type:"range",min:0,max:100,value:u.split,onChange:c=>t(e.map(f=>f.id===u.id?{...f,split:Number(c.target.value)}:f)),className:"flex-1 accent-brand-500"}),l.jsxs("span",{className:"text-sm w-10 text-right",children:[u.split,"%"]}),l.jsx("button",{type:"button",onClick:()=>t(e.filter(c=>c.id!==u.id)),className:"text-red-400 hover:text-red-600",children:l.jsx(ui,{size:12})})]},u.id)),l.jsxs("div",{className:`text-xs font-medium ${o===100?"text-emerald-400":"text-red-400"}`,children:["Total: ",o,"% ",o!==100&&"(must equal 100)"]}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx("input",{value:r,onChange:u=>n(u.target.value),onKeyDown:u=>u.key==="Enter"&&(u.preventDefault(),s()),placeholder:"gateway_name",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{value:a,onChange:u=>i(u.target.value),onKeyDown:u=>u.key==="Enter"&&(u.preventDefault(),s()),placeholder:"gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsxs(Re,{type:"button",size:"sm",variant:"secondary",onClick:s,children:[l.jsx(Zi,{size:13})," Add"]})]})]})}function cce({row:e,onChange:t,onRemove:r,routingKeys:n}){var u;const a=n[e.lhs],i=(a==null?void 0:a.type)==="enum",s=(a==null?void 0:a.type)==="integer"?[">","<",">=","<=","==","!="]:["==","!="];return l.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[l.jsx("select",{value:e.lhs,onChange:c=>t({...e,lhs:c.target.value,value:"",operator:"=="}),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs focus:outline-none",children:Object.keys(n).map(c=>l.jsx("option",{value:c,children:c},c))}),l.jsx("select",{value:e.operator,onChange:c=>t({...e,operator:c.target.value}),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs focus:outline-none",children:s.map(c=>l.jsx("option",{value:c,children:c},c))}),i?l.jsxs("select",{value:e.value,onChange:c=>t({...e,value:c.target.value}),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs focus:outline-none",children:[l.jsx("option",{value:"",children:"select..."}),(((u=n[e.lhs])==null?void 0:u.values)||[]).map(c=>l.jsx("option",{value:c,children:c},c))]}):l.jsx("input",{type:"number",value:e.value,onChange:c=>t({...e,value:c.target.value}),placeholder:"value",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs w-24 focus:outline-none"}),l.jsx("button",{type:"button",onClick:r,className:"text-red-400 hover:text-red-600",children:l.jsx(ui,{size:12})})]})}function dce({block:e,onChange:t,onRemove:r,routingKeys:n}){var f;const[a,i]=S.useState(!1),o=Object.keys(n)[0]||"payment_method",u=(((f=n[o])==null?void 0:f.values)||[])[0]||"";function c(){t({...e,conditions:[...e.conditions,{id:crypto.randomUUID(),lhs:o,operator:"==",value:u}]})}return l.jsxs("div",{className:"border border-slate-200 dark:border-[#1c1c24] rounded-xl",children:[l.jsxs("div",{className:"flex items-center justify-between px-4 py-2.5 bg-[#0d0d12] rounded-t-xl cursor-pointer",onClick:()=>i(!a),children:[l.jsx("input",{value:e.name,onChange:d=>{d.stopPropagation(),t({...e,name:d.target.value})},onClick:d=>d.stopPropagation(),placeholder:"Rule name",className:"bg-transparent text-sm font-medium focus:outline-none border-b border-transparent focus:border-[#28282f] text-slate-900"}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("button",{type:"button",onClick:d=>{d.stopPropagation(),r()},className:"text-red-400 hover:text-red-600",children:l.jsx(ui,{size:14})}),a?l.jsx(Vs,{size:14}):l.jsx(Wu,{size:14})]})]}),!a&&l.jsxs("div",{className:"px-4 py-3 space-y-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 mb-2",children:"CONDITIONS"}),l.jsxs("div",{className:"space-y-2",children:[e.conditions.map(d=>l.jsx(cce,{row:d,routingKeys:n,onChange:p=>t({...e,conditions:e.conditions.map(h=>h.id===d.id?p:h)}),onRemove:()=>t({...e,conditions:e.conditions.filter(p=>p.id!==d.id)})},d.id)),l.jsxs(Re,{type:"button",variant:"ghost",size:"sm",onClick:c,children:[l.jsx(Zi,{size:12})," Add Condition"]})]})]}),l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 mb-2",children:"OUTPUT"}),l.jsx("div",{className:"flex gap-4 mb-3",children:["priority","volume_split"].map(d=>l.jsxs("label",{className:"flex items-center gap-1.5 text-xs cursor-pointer",children:[l.jsx("input",{type:"radio",checked:e.outputType===d,onChange:()=>t({...e,outputType:d}),className:"accent-brand-500"}),d==="priority"?"Priority":"Volume Split"]},d))}),e.outputType==="priority"?l.jsx(OR,{gateways:e.priorityGateways,onChange:d=>t({...e,priorityGateways:d})}):l.jsx(NR,{gateways:e.volumeGateways,onChange:d=>t({...e,volumeGateways:d})})]})]})]})}function fce(e,t,r){function n(i,o,s){return i==="priority"?{priority:o.map(u=>({gateway_name:u.gatewayName,gateway_id:u.gatewayId||null}))}:{volume_split:s.map(u=>({split:u.split,output:{gateway_name:u.gatewayName,gateway_id:u.gatewayId||null}}))}}function a(i){return i==="priority"?"priority":"volume_split"}return{globals:{},default_selection:n(t.type,t.priorityGateways,t.volumeGateways),rules:e.map(i=>({name:i.name,routing_type:a(i.outputType),output:n(i.outputType,i.priorityGateways,i.volumeGateways),statements:[{condition:i.conditions.map(o=>{var s,u;return{lhs:o.lhs,comparison:lce[o.operator]||o.operator,value:{type:((s=r[o.lhs])==null?void 0:s.type)==="integer"?"number":"enum_variant",value:((u=r[o.lhs])==null?void 0:u.type)==="integer"?Number(o.value):o.value},metadata:{}}})}]}))}}function pce(){const{merchantId:e}=ma(),{routingKeysConfig:t,isLoading:r,error:n}=G$(),a=t,i=Object.keys(a).length>0,o=!r&&(!i||!!n),[s,u]=S.useState(""),[c,f]=S.useState(""),[d,p]=S.useState([]),[h,b]=S.useState({type:"priority",priorityGateways:[],volumeGateways:[]}),[v,g]=S.useState(!1),[y,m]=S.useState(!1),[w,j]=S.useState(null),[x,_]=S.useState(null),[k,O]=S.useState(!1),[A,I]=S.useState(null),[$,N]=S.useState(!1),[T,R]=S.useState(new Set),{data:L,mutate:U}=Vt(e?`/routing/list/${e}`:null,()=>Tt(`/routing/list/${e}`)),{data:W}=Vt(e?`/routing/list/active/${e}`:null,()=>Tt(`/routing/list/active/${e}`)),M=new Set((W||[]).map(X=>X.id)),B=fce(d,h,a);async function G(X){if(X.preventDefault(),!e){j("Set a Merchant ID first.");return}if(o){j("Routing key config is unavailable. Ensure backend /config/routing-keys is reachable and valid.");return}if(!s.trim()){j("Rule name is required.");return}m(!0),j(null),_(null);try{const se=await Tt("/routing/create",{name:s.trim(),description:c,created_by:e,algorithm_for:"payment",algorithm:{type:"advanced",data:B}});_(se.id),U()}catch(se){j(String(se))}finally{m(!1)}}async function H(X){if(e){O(!0),I(null),N(!1);try{await Tt("/routing/activate",{created_by:e,routing_algorithm_id:X}),N(!0),U()}catch(se){I(String(se))}finally{O(!1)}}}function q(X){R(se=>{const fe=new Set(se);return fe.has(X)?fe.delete(X):fe.add(X),fe})}function ae(){p(X=>[...X,{id:crypto.randomUUID(),name:`Rule ${X.length+1}`,conditions:[],outputType:"priority",priorityGateways:[],volumeGateways:[]}])}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900",children:"Rule-Based Routing"}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:"Create declarative routing rules"})]}),l.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[l.jsxs("div",{className:"lg:col-span-1 space-y-3",children:[l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Existing Rules"})}),l.jsx(qe,{className:"p-0",children:e?L?L.length===0?l.jsx("p",{className:"px-4 py-3 text-sm text-slate-400",children:"No rules yet."}):l.jsx("div",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:L.map(X=>{const se=M.has(X.id),fe=T.has(X.id),Pe=X.algorithm_data||X.algorithm;return l.jsxs("div",{children:[l.jsxs("div",{className:"flex flex-col gap-3 px-4 py-3 sm:flex-row sm:items-start sm:justify-between",children:[l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsx("p",{className:"truncate font-medium",children:X.name}),l.jsx("p",{className:"text-xs text-slate-400 capitalize",children:Pe==null?void 0:Pe.type})]}),l.jsxs("div",{className:"flex shrink-0 flex-wrap items-center gap-2 sm:justify-end",children:[l.jsx(Ve,{variant:se?"green":"gray",children:se?"Active":"Inactive"}),l.jsxs(Re,{size:"sm",variant:"ghost",onClick:()=>q(X.id),children:[l.jsx(Wd,{size:14,className:"mr-1"}),fe?"Hide":"View"]}),!se&&l.jsx(Re,{size:"sm",variant:"ghost",onClick:()=>H(X.id),disabled:k,children:"Activate"})]})]}),fe&&l.jsx("div",{className:"bg-slate-50 px-4 py-3 dark:bg-[#151518]",children:l.jsxs("div",{className:"space-y-2 text-xs text-slate-600",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"ID:"})," ",X.id]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Description:"})," ",X.description||"N/A"]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Algorithm For:"})," ",X.algorithm_for]}),X.created_at&&l.jsxs("p",{children:[l.jsx("strong",{children:"Created:"})," ",new Date(X.created_at).toLocaleString()]}),l.jsxs("div",{children:[l.jsx("strong",{children:"Configuration:"}),l.jsx("pre",{className:"mt-1 max-h-48 overflow-auto rounded border border-transparent bg-slate-100 p-2 text-xs dark:border-[#222226] dark:bg-[#0f0f11]",children:JSON.stringify(Pe,null,2)})]})]})})]},X.id)})}):l.jsx("p",{className:"px-4 py-3 text-sm text-slate-400",children:"Loading..."}):l.jsx("p",{className:"px-4 py-3 text-sm text-slate-400",children:"Set merchant ID to load rules."})})]}),A&&l.jsx(Ur,{error:A}),$&&l.jsx("div",{className:"rounded-lg border border-emerald-500/20 bg-emerald-500/8 px-3 py-2 text-sm text-emerald-400",children:"Rule activated successfully."})]}),l.jsxs("div",{className:"lg:col-span-2 space-y-4",children:[l.jsx("form",{onSubmit:G,className:"space-y-4",children:l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Rule Builder"})}),l.jsxs(qe,{className:"space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs text-slate-500 mb-1",children:"Rule Name *"}),l.jsx("input",{value:s,onChange:X=>u(X.target.value),placeholder:"my-rule",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs text-slate-500 mb-1",children:"Description"}),l.jsx("input",{value:c,onChange:X=>f(X.target.value),placeholder:"Optional description",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 uppercase tracking-wide",children:"Rules"}),r&&l.jsx("p",{className:"text-sm text-slate-500",children:"Loading routing keys from backend..."}),o&&l.jsx(Ur,{error:"Routing keys are unavailable from backend (/config/routing-keys). Rule Builder is disabled until this is fixed."}),d.map(X=>l.jsx(dce,{block:X,routingKeys:a,onChange:se=>p(fe=>fe.map(Pe=>Pe.id===X.id?se:Pe)),onRemove:()=>p(se=>se.filter(fe=>fe.id!==X.id))},X.id)),l.jsxs(Re,{type:"button",variant:"secondary",size:"sm",onClick:ae,disabled:o,children:[l.jsx(Zi,{size:14})," Add Rule Block"]})]}),l.jsxs("div",{className:"border border-slate-200 dark:border-[#1c1c24] rounded-xl px-4 py-3",children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 mb-2",children:"DEFAULT SELECTION (Fallback)"}),l.jsx("div",{className:"flex gap-4 mb-3",children:["priority","volume_split"].map(X=>l.jsxs("label",{className:"flex items-center gap-1.5 text-xs cursor-pointer",children:[l.jsx("input",{type:"radio",checked:h.type===X,onChange:()=>b({...h,type:X}),className:"accent-brand-500"}),X==="priority"?"Priority":"Volume Split"]},X))}),h.type==="priority"?l.jsx(OR,{gateways:h.priorityGateways,onChange:X=>b({...h,priorityGateways:X})}):l.jsx(NR,{gateways:h.volumeGateways,onChange:X=>b({...h,volumeGateways:X})})]}),l.jsx(Ur,{error:w}),x&&l.jsxs("div",{className:"rounded-lg border border-emerald-500/20 bg-emerald-500/8 px-3 py-2 text-sm text-emerald-400 flex items-center justify-between",children:[l.jsxs("span",{children:["Rule created (ID: ",x,")"]}),l.jsx(Re,{type:"button",size:"sm",onClick:()=>H(x),disabled:k,children:"Activate Now"})]}),l.jsxs("div",{className:"flex gap-3",children:[l.jsx(Re,{type:"submit",disabled:y||o,children:y?"Creating...":"Create Rule"}),l.jsx(Re,{type:"button",variant:"secondary",size:"sm",onClick:()=>g(!v),children:v?"Hide JSON":"Preview JSON"})]})]})]})}),v&&l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"JSON Preview"})}),l.jsx(qe,{children:l.jsx("pre",{className:"text-xs text-slate-600 overflow-auto max-h-64 bg-[#07070b] rounded-lg p-4 font-mono border border-slate-200 dark:border-[#1c1c24]",children:JSON.stringify({name:s,description:c,created_by:e,algorithm_for:"payment",algorithm:{type:"advanced",data:B}},null,2)})})]})]})]})]})}const Dy=[{value:"15m",label:"15m",detail:"Last 15 mins",badge:"Live 15m",summaryLabel:"Errors last 15 mins"},{value:"1h",label:"1h",detail:"Last hour",badge:"Live 1h",summaryLabel:"Errors last hour"},{value:"12h",label:"12h",detail:"Last 12 hours",badge:"Live 12h",summaryLabel:"Errors last 12 hours"},{value:"1d",label:"1 day",detail:"Last 1 day",badge:"Live 1d",summaryLabel:"Errors last 1 day"},{value:"1w",label:"1 week",detail:"Last 1 week",badge:"Live 1w",summaryLabel:"Errors last 1 week"}];function hce(){const[e,t]=S.useState("loading");return S.useEffect(()=>{fetch("/health").then(r=>t(r.ok?"up":"down")).catch(()=>t("down"))},[]),e}function Uf(e){return new Intl.NumberFormat(void 0,{notation:"compact",maximumFractionDigits:e&&e<100?1:0}).format(e||0)}function Ly(e){return e==null||Number.isNaN(e)?"0%":`${e.toFixed(e>=100?0:1)}%`}function mce(e){return e==="up"?"Healthy":e==="down"?"Needs attention":"Checking"}function Fy({label:e,value:t,detail:r}){return l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-white px-4 py-4 dark:border-[#2a303a] dark:bg-[#161b24]",children:[l.jsx(Br,{children:e}),l.jsx("p",{className:"mt-3 text-2xl font-semibold tracking-tight text-slate-950 dark:text-white",children:t}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#b2bdd1]",children:r})]})}function Vf({icon:e,label:t,value:r,detail:n}){return l.jsx(Oe,{className:"p-5",children:l.jsxs("div",{className:"flex items-start justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx(Br,{children:t}),l.jsx("p",{className:"mt-4 text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:r}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:n})]}),l.jsx("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(e,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})})]})})}function vce(){return l.jsxs("div",{className:"grid gap-5 pt-8 lg:grid-cols-[1.1fr_0.9fr]",children:[l.jsxs(Oe,{className:"p-7",children:[l.jsx(Br,{children:"Merchant session required"}),l.jsx("h2",{className:"mt-4 max-w-xl text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:"Sign in with a merchant account to turn this into a live overview."}),l.jsx("p",{className:"mt-4 max-w-xl text-sm leading-7 text-slate-600 dark:text-[#b2bdd1]",children:"Analytics now derive merchant scope from your authenticated session. Once you are signed in, this page shows service health, active routing, request count, and gateway activity without needing analytics query params for merchant selection."})]}),l.jsx(Oe,{className:"p-7",children:l.jsx("div",{className:"space-y-5",children:[{icon:Fo,title:"System status",text:"Check whether the service is reachable."},{icon:hc,title:"Routing setup",text:"See whether a strategy is configured."},{icon:zh,title:"Gateway activity",text:"View recent request distribution by gateway."}].map(e=>l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(e.icon,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:e.title}),l.jsx("p",{className:"mt-1 text-sm leading-6 text-slate-600 dark:text-[#b2bdd1]",children:e.text})]})]},e.title))})})]})}function MO({label:e}){return l.jsxs("div",{className:"overflow-hidden rounded-[22px] border border-brand-500/20 bg-white shadow-[0_10px_30px_-24px_rgba(0,105,237,0.9)] dark:bg-[#0c0c0e]",children:[l.jsx("div",{className:"h-2 w-full bg-brand-500/15",children:l.jsx("div",{className:"h-full origin-left animate-[analytics-progress_1.8s_ease-in-out_infinite] rounded-r-full bg-brand-500"})}),l.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-3",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Bt,{size:14}),l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:e})]}),l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-brand-600 dark:text-brand-300",children:"Loading"})]})]})}function yce(){var I,$,N,T,R,L,U,W,M,B,G;const e=as(),{merchantId:t}=ma(),r=Ca(H=>{var q;return((q=H.user)==null?void 0:q.merchantId)||""}),n=t||r,a=hce(),[i,o]=S.useState("1d"),{data:s}=Vt(n?`/routing/list/active/${n}`:null,()=>Tt(`/routing/list/active/${n}`),{shouldRetryOnError:!1}),{data:u}=Vt(n?["/rule/get","successRate",n]:null,()=>Tt("/rule/get",{merchant_id:n,algorithm:"successRate"}),{shouldRetryOnError:!1}),c=`/analytics/overview?range=${i}`,f=`/analytics/routing-stats?range=${i}`,d=Vt(c,xn,{refreshInterval:15e3,revalidateOnFocus:!0,shouldRetryOnError:!1,keepPreviousData:!0}),p=Vt(f,xn,{refreshInterval:15e3,revalidateOnFocus:!0,shouldRetryOnError:!1,keepPreviousData:!0}),h=(s==null?void 0:s[0])||null,b=(s||[]).some(H=>{var q;return((q=H.algorithm_data||H.algorithm)==null?void 0:q.type)==="advanced"}),g=(($=(((I=d.data)==null?void 0:I.route_hits)||[]).find(H=>H.route==="/decide_gateway"))==null?void 0:$.count)||0,y=((T=(N=d.data)==null?void 0:N.top_errors)==null?void 0:T.reduce((H,q)=>H+q.count,0))||0,m=S.useMemo(()=>{var ae;const H=new Map;for(const X of((ae=p.data)==null?void 0:ae.gateway_share)||[])H.set(X.gateway,(H.get(X.gateway)||0)+X.count);const q=Array.from(H.values()).reduce((X,se)=>X+se,0);return Array.from(H.entries()).map(([X,se])=>({gateway:X,count:se,share:q?se/q*100:0})).sort((X,se)=>se.count-X.count)},[p.data]),w=((R=m[0])==null?void 0:R.gateway)||((W=(U=(L=d.data)==null?void 0:L.top_scores)==null?void 0:U[0])==null?void 0:W.gateway),j=Dy.find(H=>H.value===i)||Dy[1],x=[a==="up",!!h,!!(u!=null&&u.data),b].filter(Boolean).length,_=[{label:"Service health",description:a==="up"?"Service is reachable.":"Please verify service health.",state:a==="up"?"Healthy":a==="down"?"Issue":"Checking",icon:a==="up"?Kse:a==="down"?Xse:qse,route:void 0},{label:"Routing strategy",description:h?h.name:"No active routing configured.",state:h?"Configured":"Not set",icon:hc,route:"/routing"},{label:"Auth-rate config",description:u!=null&&u.data?"Configured and available.":"Not configured yet.",state:u!=null&&u.data?"Configured":"Not set",icon:Y$,route:"/routing/sr"},{label:"Rule-based routing",description:b?"Enabled for this merchant.":"Not enabled.",state:b?"Enabled":"Optional",icon:ole,route:"/routing/rules"}],k=n?a==="up"?{label:"System live",variant:"green"}:a==="down"?{label:"Attention needed",variant:"red"}:{label:"Checking status",variant:"gray"}:{label:"Merchant not selected",variant:"orange"},O=!d.data&&d.isLoading||!p.data&&p.isLoading,A=!O&&(d.isValidating||p.isValidating);return l.jsxs("div",{className:"relative mx-auto max-w-[1380px]",children:[l.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10 overflow-hidden",children:[l.jsx("div",{className:"absolute -left-16 top-0 h-72 w-72 rounded-full bg-sky-500/10 blur-3xl dark:bg-sky-500/8"}),l.jsx("div",{className:"absolute right-0 top-12 h-80 w-80 rounded-full bg-brand-500/10 blur-3xl dark:bg-brand-500/10"})]}),l.jsxs("section",{className:"relative overflow-hidden rounded-[40px] border border-slate-200 bg-white px-5 py-5 shadow-[0_28px_90px_-56px_rgba(15,23,42,0.16)] md:px-6 md:py-6 dark:border-[#232933] dark:bg-[#090c12] dark:shadow-[0_28px_90px_-56px_rgba(0,0,0,0.72)]",children:[l.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-[#3b82f6]/25 to-transparent dark:via-[#3b82f6]/35"}),l.jsxs("header",{className:"relative flex flex-col gap-4 border-b border-slate-200 pb-5 dark:border-[#232933]",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(Ve,{variant:k.variant,children:k.label}),(M=d.data)!=null&&M.merchant_id||n?l.jsx(Ve,{variant:"blue",children:((B=d.data)==null?void 0:B.merchant_id)||n}):null]}),l.jsxs("div",{children:[l.jsx("h1",{className:"text-4xl font-semibold tracking-tight text-slate-950 md:text-[4rem] dark:text-white",children:"Overview"}),l.jsx("p",{className:"mt-2 max-w-2xl text-sm leading-7 text-slate-600 dark:text-[#a6b0c3]",children:"Basic business-facing view of system status, setup, request volume, and gateway activity."}),l.jsx("div",{className:"mt-4 inline-flex rounded-2xl border border-slate-200 bg-slate-50 p-1 dark:border-[#2a303a] dark:bg-[#121720]",children:Dy.map(H=>{const q=H.value===i;return l.jsx("button",{type:"button",onClick:()=>o(H.value),className:`rounded-[14px] px-3 py-2 text-xs font-semibold transition ${q?"bg-white text-slate-950 shadow-sm dark:bg-[#1a2332] dark:text-white":"text-slate-500 hover:text-slate-900 dark:text-[#8ea0bb] dark:hover:text-white"}`,children:H.label},H.value)})})]})]}),n?l.jsxs(l.Fragment,{children:[O?l.jsx("div",{className:"pt-8",children:l.jsx(MO,{label:`Loading overview analytics for ${j.detail.toLowerCase()}`})}):null,A?l.jsx("div",{className:"pt-8",children:l.jsx(MO,{label:`Refreshing overview analytics for ${j.detail.toLowerCase()}`})}):null,l.jsxs("div",{className:`grid gap-5 pt-8 xl:grid-cols-[1.15fr_0.85fr] transition-opacity duration-200 ${A?"opacity-60":"opacity-100"}`,children:[l.jsx(Oe,{className:"p-6 md:p-7",children:l.jsxs("div",{className:"flex h-full flex-col justify-between",children:[l.jsxs("div",{children:[l.jsx(Br,{children:"Traffic leader"}),l.jsxs("div",{className:"mt-5 flex flex-wrap items-end gap-4",children:[l.jsx("h2",{className:"text-[2.5rem] font-semibold tracking-[-0.05em] text-slate-950 md:text-[3rem] dark:text-white",children:(w==null?void 0:w.toUpperCase())||"--"}),l.jsxs("div",{className:"pb-2",children:[l.jsx("p",{className:"text-lg font-medium text-slate-700 dark:text-[#d5dded]",children:m[0]?Ly(m[0].share):"0%"}),l.jsx("p",{className:"mt-1 text-xs uppercase tracking-[0.16em] text-slate-500 dark:text-[#8390a7]",children:"Share in selected window"})]})]}),l.jsx("p",{className:"mt-4 max-w-xl text-sm leading-7 text-slate-600 dark:text-[#a6b0c3]",children:h?`${h.name} is the current routing strategy for this merchant.`:"No active routing strategy is configured for this merchant yet."})]}),l.jsxs("div",{className:"mt-8 grid gap-3 sm:grid-cols-3",children:[l.jsx(Fy,{label:"Requests",value:Uf(g),detail:j.detail}),l.jsx(Fy,{label:"Setup ready",value:`${x}/4`,detail:"Core basics configured"}),l.jsx(Fy,{label:"Window",value:j.label,detail:j.detail})]})]})}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 xl:grid-cols-1",children:[l.jsx(Vf,{icon:Fo,label:"System status",value:mce(a),detail:a==="up"?"Service is reachable":"Please verify service health"}),l.jsx(Vf,{icon:hc,label:"Active routing",value:(h==null?void 0:h.name)||"Not set",detail:h?"Currently selected strategy":"No routing configured yet"}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 xl:grid-cols-2",children:[l.jsx(Vf,{icon:hO,label:"Requests",value:Uf(g),detail:j.detail}),l.jsx(Vf,{icon:zh,label:"Top gateway",value:(w==null?void 0:w.toUpperCase())||"--",detail:m[0]?`${Ly(m[0].share)} of traffic`:"No activity yet"})]})]})]}),l.jsxs("div",{className:`mt-6 grid gap-6 xl:grid-cols-[1.02fr_0.98fr] transition-opacity duration-200 ${A?"opacity-60":"opacity-100"}`,children:[l.jsxs(Oe,{className:"p-6",children:[l.jsxs("div",{className:"flex items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx(Br,{children:"Current setup"}),l.jsx("p",{className:"mt-2 text-sm text-slate-600 dark:text-[#a6b0c3]",children:"The status cards you can explain in a demo without technical jargon."})]}),l.jsxs(Ve,{variant:x>=3?"green":"orange",children:[x,"/4 ready"]})]}),l.jsx("div",{className:"mt-5 grid gap-4 md:grid-cols-2",children:_.map(H=>l.jsx(Oe,{className:"min-h-[158px] p-5",onClick:H.route?()=>e(H.route):void 0,children:l.jsxs("div",{className:"flex h-full flex-col justify-between",children:[l.jsxs("div",{className:"flex items-start justify-between gap-4",children:[l.jsx("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(H.icon,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})}),l.jsx(Ve,{variant:H.state==="Healthy"||H.state==="Configured"||H.state==="Enabled"?"green":H.state==="Issue"?"red":H.state==="Checking"||H.state==="Optional"?"gray":"orange",children:H.state})]}),l.jsxs("div",{className:"mt-6",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:H.label}),l.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-600 dark:text-[#a6b0c3]",children:H.description})]})]})},H.label))})]}),l.jsxs(Oe,{className:"p-6",children:[l.jsxs("div",{className:"flex items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx(Br,{children:"Gateway activity"}),l.jsx("p",{className:"mt-2 text-sm text-slate-600 dark:text-[#a6b0c3]",children:"Request distribution by gateway for the selected window."})]}),l.jsx(Ve,{variant:"blue",children:j.badge})]}),l.jsx("div",{className:"mt-6 space-y-4",children:m.length?m.slice(0,4).map((H,q)=>l.jsxs("div",{className:"rounded-[24px] border border-slate-200 bg-slate-50/80 p-4 dark:border-[#2a303a] dark:bg-[#121720]",children:[l.jsxs("div",{className:"flex items-center justify-between gap-4",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:["#38bdf8","#60a5fa","#22c55e","#f59e0b"][q]||"#38bdf8"}}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:H.gateway.toUpperCase()}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#98a3b8]",children:[Uf(H.count)," requests"]})]})]}),l.jsx("p",{className:"text-sm font-medium text-slate-950 dark:text-white",children:Ly(H.share)})]}),l.jsx("div",{className:"mt-4 h-2 rounded-full bg-slate-200 dark:bg-[#232933]",children:l.jsx("div",{className:"h-full rounded-full bg-gradient-to-r from-sky-400 via-blue-500 to-cyan-300",style:{width:`${Math.max(10,H.share)}%`}})})]},H.gateway)):l.jsxs("div",{className:"rounded-[24px] border border-dashed border-white/10 px-5 py-10 text-center",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:"No gateway activity yet"}),l.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-600 dark:text-[#a6b0c3]",children:"Once requests start flowing, this section will show traffic by gateway."})]})})]})]}),l.jsxs("div",{className:`mt-6 grid gap-6 xl:grid-cols-[0.86fr_1.14fr] transition-opacity duration-200 ${A?"opacity-60":"opacity-100"}`,children:[l.jsxs(Oe,{className:"p-6",children:[l.jsx(Br,{children:"Quick summary"}),l.jsx("div",{className:"mt-5 space-y-4",children:[{label:"Signed-in merchant",value:((G=d.data)==null?void 0:G.merchant_id)||n||"--"},{label:"Time window",value:j.detail},{label:j.summaryLabel,value:Uf(y)},{label:"Top gateway",value:(w==null?void 0:w.toUpperCase())||"No activity"}].map(H=>l.jsxs("div",{className:"flex items-center justify-between gap-4 rounded-[20px] border border-slate-200 bg-slate-50/80 px-4 py-3 dark:border-[#2a303a] dark:bg-[#121720]",children:[l.jsx("span",{className:"text-sm text-slate-600 dark:text-[#a6b0c3]",children:H.label}),l.jsx("span",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:H.value})]},H.label))})]}),l.jsx("div",{className:"grid gap-4 md:grid-cols-3",children:[{label:"Routing Hub",text:"Configure routing strategies.",icon:hc,route:"/routing"},{label:"Analytics",text:"Inspect request and gateway trends.",icon:zh,route:"/analytics"},{label:"Audit Trail",text:"Review individual decision records.",icon:hO,route:"/audit"}].map(H=>l.jsx(Oe,{className:"p-5",onClick:()=>e(H.route),children:l.jsxs("div",{className:"flex h-full flex-col justify-between",children:[l.jsx("div",{className:"inline-flex w-fit rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(H.icon,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})}),l.jsxs("div",{className:"mt-10",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:H.label}),l.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-600 dark:text-[#a6b0c3]",children:H.text}),l.jsxs("div",{className:"mt-4 inline-flex items-center gap-2 text-sm font-medium text-brand-600 dark:text-sky-300",children:[l.jsx("span",{children:"Open"}),l.jsx(q$,{className:"h-4 w-4"})]})]})]})},H.label))})]})]}):l.jsx(vce,{})]})]})}const gce=["15m","1h","12h","1d","1w"],xce=[{value:"",label:"Any status"},{value:"success",label:"Success"},{value:"failure",label:"Failure"}],bce=[{value:"",label:"Any route"},{value:"decide_gateway",label:"Decide Gateway"},{value:"update_gateway_score",label:"Update Gateway"},{value:"routing_evaluate",label:"Rule Evaluate"}],wce=["summary","input","response","raw"],DO={paymentId:"",requestId:"",gateway:"",route:"",status:"",flowType:"",errorCode:""};function Ws(e){const t=e.paymentId.trim(),r=t?"":e.requestId.trim();return{paymentId:t,requestId:r,gateway:e.gateway.trim(),route:e.route,status:e.status,flowType:e.flowType.trim(),errorCode:e.errorCode.trim()}}function g1(e){return e.flow_type||""}function AR(e){return e.endsWith("_error")}function x1(e){return e.startsWith("routing_evaluate_")&&e!=="routing_evaluate_request_hit"}function b1(e){return e==="decide_gateway_rule_hit"}function ER(e){return e.startsWith("update_gateway_score_")||e.startsWith("update_score_legacy_")}function PR(e){return e.startsWith("decide_gateway_")&&!b1(e)}function CR(e){const t=new URLSearchParams;return Object.entries(e).forEach(([r,n])=>{n!==void 0&&n!==""&&t.set(r,String(n))}),t.toString()}function LO(e,t,r,n,a){const i=Ws(a),o={range:t,page:r,page_size:n,payment_id:i.paymentId||void 0,request_id:i.requestId||void 0,gateway:i.gateway||void 0,route:i.route||void 0,status:i.status||void 0,flow_type:i.flowType||void 0,error_code:i.errorCode||void 0},s=CR(o);return s?`${e}?${s}`:e}function _ce(e){return e==="15m"||e==="1h"||e==="12h"||e==="1d"||e==="1w"?e:"1d"}function jce(e){return e==="rule_based"?"rule_based":"transactions"}function Sce(e){return Ws({paymentId:e.get("payment_id")||"",requestId:e.get("request_id")||"",gateway:e.get("gateway")||"",route:e.get("route")||"",status:e.get("status")||"",flowType:e.get("flow_type")||e.get("event_type")||"",errorCode:e.get("error_code")||""})}function up(e){return new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(e))}function kce(e){const t=Math.max(0,Math.round((Date.now()-e)/6e4));if(t<1)return"just now";if(t<60)return`${t}m ago`;const r=Math.round(t/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`}function jo(e){return e?e.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().toLowerCase().replace(/\b\w/g,r=>r.toUpperCase()):""}function Iu(e){return e.filter(Boolean).join(" · ")}function TR(e){return e?e==="decision_gateway"||e==="decide_gateway"?"Decide Gateway":e==="update_gateway_score"?"Update Gateway":e==="routing_evaluate"?"Rule Evaluate":jo(e):"Unknown route"}function H0(e){const t=g1(e);return e.event_stage==="gateway_decided"?"Decide Gateway":e.event_stage==="score_updated"?"Update Gateway":e.event_stage==="rule_applied"?"Rule Evaluate":e.event_stage==="preview_evaluated"||x1(t)?"Preview Result":AR(t)?"Errors":jo(e.event_stage||t)}function G0(e){const t=g1(e);return PR(t)||e.event_stage==="gateway_decided"?"Decide Gateway":b1(t)||e.event_stage==="rule_applied"?"Rule Evaluate":x1(t)||e.event_stage==="preview_evaluated"?"Rule Preview":ER(t)||e.event_stage==="score_updated"?"Update Gateway":"Errors"}function Wf(e){const t=g1(e),r=(e.status||"").toUpperCase();return AR(t)||r==="FAILURE"||r.includes("FAILED")||r.includes("DECLINED")?"red":x1(t)||b1(t)?"purple":r==="CHARGED"||r==="AUTHORIZED"||r==="SUCCESS"||ER(t)?"green":PR(t)?"blue":"orange"}function zy(e){const t=(e||"").toUpperCase();return t==="FAILURE"||t.includes("FAILED")||t.includes("DECLINED")?"red":t==="SUCCESS"||t==="CHARGED"||t==="AUTHORIZED"?"green":t==="HIT"?"purple":"gray"}function Mu(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function By(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""))}function Oce(e){return typeof e=="string"?e:JSON.stringify(e,null,2)}function Hf(e){return e?"!border-slate-200 !bg-white !text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.28)] dark:!border-[#2a303a] dark:!bg-[#161b24] dark:!text-white":"!border-transparent !bg-slate-100 !text-slate-600 hover:!bg-slate-200 hover:!text-slate-900 dark:!bg-[#161b24] dark:!text-[#a7b2c6] dark:hover:!bg-[#1c2330] dark:hover:!text-white"}function gs(){return"h-11 rounded-2xl border border-slate-200 bg-white/90 px-4 text-sm text-slate-700 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.2)] outline-none transition focus:border-brand-500 focus:ring-2 focus:ring-brand-500/20 dark:border-[#2a303a] dark:bg-[#161b24] dark:text-[#e5ecf7] dark:shadow-none"}function xs({label:e,children:t}){return l.jsxs("label",{className:"space-y-2",children:[l.jsx("span",{className:"block text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:e}),t]})}function Gf({label:e,value:t,helper:r}){return l.jsxs(Oe,{className:"p-5",children:[l.jsx(Br,{children:e}),l.jsx("p",{className:"mt-4 text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:t}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:r})]})}function cp({title:e,body:t}){return l.jsxs(V$,{className:"border-dashed border-slate-200 bg-slate-50/70 px-6 py-12 text-center dark:border-[#2a303a] dark:bg-[#161b24]/80",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:t})]})}function Nce({rows:e}){return e.length?l.jsx("div",{className:"grid gap-3 md:grid-cols-2",children:e.map(t=>l.jsxs(V$,{className:"px-4 py-3",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8390a7]",children:t.label}),l.jsx("p",{className:"mt-2 text-sm text-slate-900 dark:text-white break-words",children:t.value})]},`${t.label}-${t.value}`))}):null}function bs({title:e,value:t,emptyMessage:r}){return l.jsxs("div",{className:"space-y-3",children:[l.jsx("div",{children:l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e})}),t?l.jsx("pre",{className:"overflow-x-auto rounded-[22px] border border-slate-200 bg-slate-950/95 px-4 py-4 text-xs leading-6 text-slate-200 shadow-[0_16px_30px_-28px_rgba(15,23,42,0.4)] dark:border-[#2a303a] dark:bg-[#0b1017] dark:text-[#d8e1ef] dark:shadow-none",children:Oce(t)}):l.jsx(cp,{title:`No ${e.toLowerCase()} captured`,body:r})]})}function Ace(e){if(!e)return null;const t=Mu(e.details_json)?e.details_json:{},r=t.response??t.response_payload??t.result??t.output??null,n=t.request??t.request_payload??t.input??t.payload??By({payment_id:e.payment_id,request_id:e.request_id,payment_method_type:e.payment_method_type,payment_method:e.payment_method,gateway:e.gateway}),a=r??By({flow_type:e.flow_type,status:e.status,error_code:e.error_code,error_message:e.error_message,score_value:e.score_value,sigma_factor:e.sigma_factor,average_latency:e.average_latency,tp99_latency:e.tp99_latency,transaction_count:e.transaction_count,rule_name:e.rule_name,routing_approach:e.routing_approach}),i=Mu(r)?r:null,o=Mu(i==null?void 0:i.decided_gateway)?i.decided_gateway:null,s=t.score_context??(o?o.gateway_priority_map:null)??(i?i.gateway_priority_map:null)??null,u=t.selection_reason??null,c=[{label:"Phase",value:G0(e)},{label:"Stage",value:H0(e)},{label:"Route",value:TR(e.route)},{label:"Timestamp",value:up(e.created_at_ms)},{label:"Merchant",value:e.merchant_id||"unknown merchant"},...e.payment_id?[{label:"Payment ID",value:e.payment_id}]:[],...e.request_id?[{label:"Request ID",value:e.request_id}]:[],...e.gateway?[{label:"Gateway",value:e.gateway}]:[],...e.status?[{label:"Status",value:e.status}]:[]],f=By(Object.fromEntries(Object.entries(t).filter(([d])=>!["request","request_payload","input","payload","response","response_payload","result","output","score_context","selection_reason"].includes(d))));return{summaryRows:c,requestPayload:Mu(n)&&!Object.keys(n).length?null:n,responsePayload:Mu(a)&&!Object.keys(a).length?null:a,scoreContext:s,selectionReason:u,signalRecord:Object.keys(f).length?f:null,rawEvent:{...e,details_json:e.details_json}}}function Ece(){var _e,$e,Ae,Ne,Xe,Ue,C,F,V,ne,te,Q,ee,Se,Ee,st;const{merchantId:e}=ma(),t=Ca(K=>{var le;return((le=K.user)==null?void 0:le.merchantId)||""}),r=e||t,[n,a]=S3(),i=jce(n.get("mode")),o=_ce(n.get("range")),s=Sce(n),u=Math.max(1,Number(n.get("page")||"1")),c=n.get("selected")||"",[f,d]=S.useState(i),[p,h]=S.useState(o),[b,v]=S.useState(s),[g,y]=S.useState(s),[m,w]=S.useState(u),[j,x]=S.useState(c),[_,k]=S.useState(null),[O,A]=S.useState("summary"),I=12,$=f==="rule_based"?"/analytics/preview-trace":"/analytics/payment-audit",N=LO($,p,m,I,g),T=Vt(N,xn,{refreshInterval:12e3,revalidateOnFocus:!0}),R=S.useMemo(()=>{var le;const K=((le=T.data)==null?void 0:le.results)||[];return K.find(De=>De.lookup_key===j)||K[0]||null},[(_e=T.data)==null?void 0:_e.results,j]);S.useEffect(()=>{var le,De;if(R!=null&&R.lookup_key){x(R.lookup_key);return}const K=(De=(le=T.data)==null?void 0:le.results)==null?void 0:De[0];K!=null&&K.lookup_key&&x(K.lookup_key)},[($e=T.data)==null?void 0:$e.results,R==null?void 0:R.lookup_key]);const L=S.useMemo(()=>{if(!R)return null;const K=R.payment_id||"";return{paymentId:K,requestId:K?"":R.request_id||"",gateway:"",route:"",status:"",flowType:"",errorCode:""}},[R]),U=L?LO($,p,1,50,L):null,W=Vt(U,xn,{refreshInterval:12e3,revalidateOnFocus:!0}),M=S.useMemo(()=>{var le;const K=((le=W.data)==null?void 0:le.timeline)||[];return K.find(De=>De.id===_)||K[0]||null},[(Ae=W.data)==null?void 0:Ae.timeline,_]);S.useEffect(()=>{var le,De;if(M!=null&&M.id){k(M.id);return}const K=(De=(le=W.data)==null?void 0:le.timeline)==null?void 0:De[0];K!=null&&K.id&&k(K.id)},[(Ne=W.data)==null?void 0:Ne.timeline,M==null?void 0:M.id]);const B=S.useMemo(()=>{var le;const K=[];for(const De of((le=W.data)==null?void 0:le.timeline)||[]){const Nr=G0(De),lt=K[K.length-1];!lt||lt.phase!==Nr?K.push({phase:Nr,events:[De]}):lt.events.push(De)}return K},[(Xe=W.data)==null?void 0:Xe.timeline]),G=S.useMemo(()=>Ace(M),[M]),H=((Ue=T.error)==null?void 0:Ue.message)||((C=W.error)==null?void 0:C.message)||null,q=T.isLoading||W.isLoading,ae=((V=(F=W.data)==null?void 0:F.timeline)==null?void 0:V.length)||0,X=((ne=R==null?void 0:R.gateways)==null?void 0:ne.length)||0,se=R?kce(R.last_seen_ms):"No activity",fe=f==="rule_based"?{title:"Decision Audit",description:"Inspect preview-only rule activity from /routing/evaluate without mixing it into transaction outcomes.",searchTitle:"Search Rule Preview Trail",searchDescription:"Use preview payment IDs or request IDs when you have them. Gateway, status, and error code help narrow rule-preview activity quickly.",matchingLabel:"Matching previews",matchingDescription:"Scan the current result set and pick a preview to open its full trace.",summaryLabel:"Selected Preview Timeline",summaryEmpty:"Pick a preview from the left column to see the full rule evaluation trace.",noMatchesTitle:"No matching previews found",noMatchesBody:"Try widening the time range or searching by a preview payment ID, request ID, or gateway."}:{title:"Decision Audit",description:"Search by payment or request, then inspect gateway decisions, gateway updates, rule evaluations, and errors with the exact payload captured at each step.",searchTitle:"Search Decision Trail",searchDescription:"Use payment or request IDs when you have them. Error code, gateway, route, and status narrow operational noise quickly.",matchingLabel:"Matching payments",matchingDescription:"Scan the current result set and pick a payment to open its full event trail.",summaryLabel:"Selected Payment Timeline",summaryEmpty:"Pick a payment from the left column to see the full transaction trail.",noMatchesTitle:"No matching payments found",noMatchesBody:"Try widening the time range or searching by a single payment ID, request ID, or error code."};function Pe(K,le,De,Nr,lt){const Rt=Ws(Nr),Hn=CR({mode:K==="rule_based"?K:void 0,range:le,page:De>1?De:void 0,payment_id:Rt.paymentId||void 0,request_id:Rt.requestId||void 0,gateway:Rt.gateway||void 0,route:Rt.route||void 0,status:Rt.status||void 0,flow_type:Rt.flowType||void 0,error_code:Rt.errorCode||void 0,selected:lt||void 0});a(Hn)}function Te(K,le){v(De=>Ws({...De,[K]:le}))}function re(){const le=Ws({...b,route:f==="rule_based"?"":b.route});w(1),v(le),y(le),Pe(f,p,1,le)}function ce(){const le={...DO,route:f==="rule_based"?"":DO.route};w(1),v(le),y(le),Pe(f,p,1,le)}function we(){T.mutate(),W.mutate()}function Y(K){h(K),w(1),Pe(f,K,1,g,j)}function Ce(K){x(K),Pe(f,p,m,g,K)}function ve(K){const De=Ws({...b,route:K==="rule_based"?"":b.route});d(K),w(1),x(""),k(null),v(De),y(De),Pe(K,p,1,De)}async function Ke(K){if(K)try{await navigator.clipboard.writeText(K)}catch{}}function Le(){if(!M)return;const K=M.payment_id||"",le={paymentId:K,requestId:K?"":M.request_id||"",gateway:M.gateway||"",route:"",status:"",flowType:"",errorCode:""};v(le),y(le),w(1),Pe(f,p,1,le,j)}return l.jsxs("div",{className:"space-y-6",children:[l.jsx("div",{className:"space-y-3",children:l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900 dark:text-white",children:fe.title}),l.jsx("p",{className:"mt-1 max-w-3xl text-sm text-slate-500 dark:text-[#8a8a93]",children:fe.description}),l.jsxs("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[l.jsx(Ve,{variant:"green",children:((te=T.data)==null?void 0:te.merchant_id)||r||"Signed-in merchant"}),l.jsx(Re,{size:"sm",variant:"ghost",onClick:we,children:"Refresh"})]})]})}),l.jsxs("div",{className:"space-y-5",children:[l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsx(Br,{children:"Audit Scope"}),l.jsx("p",{className:"text-sm text-slate-500 dark:text-[#b2bdd1]",children:"Start by choosing whether you are reviewing live transactions or rule-preview traces."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(Re,{size:"sm",variant:"secondary",className:Hf(f==="transactions"),onClick:()=>ve("transactions"),children:"Transactions"}),l.jsx(Re,{size:"sm",variant:"secondary",className:Hf(f==="rule_based"),onClick:()=>ve("rule_based"),children:"Rule-Based"})]})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsx(Br,{children:"Time Window"}),l.jsx("p",{className:"text-sm text-slate-500 dark:text-[#b2bdd1]",children:"Narrow the activity window before applying detailed filters."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Time window"}),gce.map(K=>l.jsx(Re,{size:"sm",variant:"secondary",className:Hf(p===K),onClick:()=>Y(K),children:K},K))]})]})]}),l.jsxs(Oe,{className:"p-6",children:[l.jsxs("div",{className:"border-b border-slate-200 pb-5 dark:border-[#2a303a]",children:[l.jsx(Br,{children:"Filters"}),l.jsx("h2",{className:"mt-3 text-lg font-semibold text-slate-900 dark:text-white",children:fe.searchTitle}),l.jsx("p",{className:"mt-2 max-w-3xl text-sm text-slate-500 dark:text-[#b2bdd1]",children:fe.searchDescription})]}),l.jsxs("div",{className:"space-y-5 pt-5",children:[l.jsxs("div",{className:`grid gap-3 md:grid-cols-2 ${f==="rule_based"?"xl:grid-cols-3":"xl:grid-cols-4"}`,children:[l.jsx(xs,{label:"Payment ID",children:l.jsx("input",{className:gs(),value:b.paymentId,onChange:K=>Te("paymentId",K.target.value),placeholder:"Payment ID"})}),l.jsx(xs,{label:"Request ID",children:l.jsx("input",{className:gs(),value:b.requestId,onChange:K=>Te("requestId",K.target.value),placeholder:"Request ID"})}),l.jsx(xs,{label:"Gateway",children:l.jsx("input",{className:gs(),value:b.gateway,onChange:K=>Te("gateway",K.target.value),placeholder:"Gateway"})}),f==="transactions"?l.jsx(xs,{label:"Route",children:l.jsx("select",{className:gs(),value:b.route,onChange:K=>Te("route",K.target.value),children:bce.map(K=>l.jsx("option",{value:K.value,children:K.label},K.value||"all"))})}):null,l.jsx(xs,{label:"Error Code",children:l.jsx("input",{className:gs(),value:b.errorCode,onChange:K=>Te("errorCode",K.target.value),placeholder:"Error code"})}),l.jsx(xs,{label:"Status",children:l.jsx("select",{className:gs(),value:b.status,onChange:K=>Te("status",K.target.value),children:xce.map(K=>l.jsx("option",{value:K.value,children:K.label},K.value||"all"))})})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[l.jsx(Re,{size:"md",onClick:re,className:"min-w-[124px] shadow-[0_18px_35px_-24px_rgba(37,99,235,0.55)]",children:"Search"}),l.jsx(Re,{size:"md",variant:"secondary",onClick:ce,className:"min-w-[108px] border-slate-300 dark:border-[#384152]",children:"Clear"})]})]})]}),l.jsx(Ur,{error:H}),q&&l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Bt,{size:16}),"Loading decision audit data…"]}),l.jsxs("section",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-4",children:[l.jsx(Gf,{label:fe.matchingLabel,value:String(((Q=T.data)==null?void 0:Q.total_results)||0),helper:"Results within the selected time window"}),l.jsx(Gf,{label:"Timeline events",value:String(ae),helper:f==="rule_based"?"Captured for the selected preview":"Captured for the selected payment"}),l.jsx(Gf,{label:"Active gateways",value:String(X),helper:f==="rule_based"?"Distinct gateways seen on the selected preview":"Distinct gateways seen on the selected payment"}),l.jsx(Gf,{label:"Latest activity",value:se,helper:f==="rule_based"?"Most recent event on the selected preview":"Most recent event on the selected payment"})]}),l.jsxs("div",{className:"grid gap-4 xl:grid-cols-[360px_minmax(0,1fr)]",children:[l.jsxs(Oe,{className:"p-6",children:[l.jsxs("div",{className:"flex items-center justify-between gap-3 border-b border-slate-200 pb-5 dark:border-[#2a303a]",children:[l.jsxs("div",{children:[l.jsx(Br,{children:fe.matchingLabel}),l.jsx("p",{className:"mt-3 text-sm text-slate-500 dark:text-[#b2bdd1]",children:fe.matchingDescription})]}),l.jsx("div",{className:"flex items-center justify-between gap-3",children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Re,{size:"sm",variant:"secondary",disabled:m<=1,onClick:()=>{const K=Math.max(1,m-1);w(K),Pe(f,p,K,g,j)},children:"Prev"}),l.jsx(Re,{size:"sm",variant:"secondary",disabled:(((Se=(ee=T.data)==null?void 0:ee.results)==null?void 0:Se.length)||0){const K=m+1;w(K),Pe(f,p,K,g,j)},children:"Next"})]})})]}),l.jsx("div",{className:"space-y-3 pt-5",children:(st=(Ee=T.data)==null?void 0:Ee.results)!=null&&st.length?T.data.results.map(K=>l.jsxs("button",{type:"button",onClick:()=>Ce(K.lookup_key),className:`w-full rounded-[24px] border p-4 text-left transition-all ${(R==null?void 0:R.lookup_key)===K.lookup_key?"border-slate-200 bg-slate-50 shadow-[0_14px_30px_-28px_rgba(15,23,42,0.25)] dark:border-[#2a303a] dark:bg-[#161b24] dark:shadow-none":"border-transparent bg-transparent hover:border-slate-200 hover:bg-slate-50/80 dark:hover:border-[#2a303a] dark:hover:bg-[#161b24]/75"}`,children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:K.payment_id||K.request_id||K.lookup_key}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:[K.merchant_id||"unknown merchant"," · ",up(K.last_seen_ms)]})]}),l.jsx(Ve,{variant:zy(K.latest_status),children:jo(K.latest_status)||"Unknown"})]}),l.jsx("p",{className:"mt-3 text-xs text-slate-500 dark:text-[#9dabc0]",children:Iu([K.latest_stage?jo(K.latest_stage):null,K.latest_gateway?`gateway ${K.latest_gateway}`:null,`${K.event_count} events`])}),K.request_id?l.jsxs("p",{className:"mt-3 truncate text-[11px] text-slate-500 dark:text-[#8a8a93]",children:["request ",K.request_id]}):null]},K.lookup_key)):l.jsx(cp,{title:fe.noMatchesTitle,body:fe.noMatchesBody})})]}),l.jsxs("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1fr)_380px]",children:[l.jsxs(Oe,{className:"overflow-visible p-6",children:[l.jsx("div",{className:"flex flex-wrap items-center justify-between gap-3 border-b border-slate-200 pb-5 dark:border-[#2a303a]",children:l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx(Br,{children:fe.summaryLabel}),l.jsx("p",{className:"mt-3 text-sm text-slate-500 dark:text-[#b2bdd1]",children:(R==null?void 0:R.payment_id)||(R==null?void 0:R.request_id)||(f==="rule_based"?"Choose a preview from the result list to inspect the timeline.":"Choose a payment from the result list to inspect the timeline.")})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#9dabc0]",children:Iu([R!=null&&R.latest_stage?jo(R.latest_stage):null,R!=null&&R.latest_gateway?`gateway ${R.latest_gateway}`:null])}),R!=null&&R.latest_status?l.jsx(Ve,{variant:zy(R.latest_status),children:jo(R.latest_status)}):null]})]})}),l.jsx("div",{className:"pt-5",children:B.length?l.jsx("div",{className:"space-y-6",children:B.map(K=>l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:K.phase}),l.jsxs("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:[K.events.length," event",K.events.length===1?"":"s"]})]}),l.jsx("div",{className:"relative space-y-3 pl-6 before:absolute before:left-2 before:top-2 before:bottom-2 before:w-px before:bg-slate-200 dark:before:bg-[#23232a]",children:K.events.map(le=>{const De=(M==null?void 0:M.id)===le.id;return l.jsxs("button",{type:"button",onClick:()=>{k(le.id),A("summary")},className:`relative w-full rounded-[24px] border p-5 text-left transition ${De?"border-slate-200 bg-slate-50 shadow-[0_16px_30px_-28px_rgba(15,23,42,0.28)] dark:border-[#2a303a] dark:bg-[#161b24] dark:shadow-none":"border-slate-200/70 bg-white/70 hover:border-slate-300 hover:bg-white dark:border-[#2a303a]/70 dark:bg-[#131923] dark:hover:border-[#2a303a] dark:hover:bg-[#161b24]"}`,children:[l.jsx("span",{className:`absolute -left-[25px] top-6 h-3 w-3 rounded-full ${Wf(le)==="red"?"bg-red-400":Wf(le)==="green"?"bg-emerald-400":Wf(le)==="purple"?"bg-purple-400":Wf(le)==="orange"?"bg-orange-400":"bg-blue-400"}`}),l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:H0(le)}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:Iu([TR(le.route),up(le.created_at_ms),le.gateway?`gateway ${le.gateway}`:null])})]}),l.jsx("div",{className:"flex flex-wrap gap-2",children:le.status?l.jsx(Ve,{variant:zy(le.status),children:jo(le.status)}):null})]}),l.jsx("p",{className:"mt-4 text-xs text-slate-500 dark:text-[#8a8a93]",children:Iu([le.request_id?`request ${le.request_id}`:null,le.routing_approach?`approach ${le.routing_approach}`:null,le.rule_name?`rule ${le.rule_name}`:null,le.payment_method_type||le.payment_method?Iu([le.payment_method_type?`PMT ${le.payment_method_type}`:null,le.payment_method?`method ${le.payment_method}`:null]):null,le.error_code?`error ${le.error_code}`:null])}),le.error_message?l.jsx("p",{className:"mt-4 rounded-2xl border border-red-500/20 bg-red-500/[0.08] px-4 py-3 text-sm text-red-600 dark:text-red-300",children:le.error_message}):null]},le.id)})})]},K.phase))}):l.jsx(cp,{title:"No timeline selected yet",body:fe.summaryEmpty})})]}),l.jsxs(Oe,{className:"overflow-visible p-6 xl:sticky xl:top-6 xl:self-start",children:[l.jsx("div",{className:"space-y-4 border-b border-slate-200 pb-5 dark:border-[#2a303a]",children:l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx(Br,{children:"Event Inspector"}),l.jsx("p",{className:"mt-3 text-sm text-slate-500 dark:text-[#b2bdd1]",children:M?`${H0(M)} · ${up(M.created_at_ms)}`:"Select a timeline event to inspect the captured payload."})]}),M?l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#9dabc0]",children:G0(M)}):null]}),l.jsx("div",{className:"flex flex-wrap gap-2",children:wce.map(K=>l.jsx(Re,{size:"sm",variant:"secondary",className:Hf(O===K),onClick:()=>A(K),children:K==="summary"?"Summary":K==="input"?"Input":K==="response"?"Response":"Raw JSON"},K))})]})}),l.jsx("div",{className:"space-y-4 pt-5",children:M&&G?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"flex flex-wrap gap-2",children:[l.jsx(Re,{size:"sm",variant:"secondary",onClick:()=>A("raw"),children:"View payload"}),l.jsx(Re,{size:"sm",variant:"secondary",disabled:!M.request_id,onClick:()=>Ke(M.request_id),children:"Copy request ID"}),l.jsx(Re,{size:"sm",variant:"secondary",disabled:!M.payment_id,onClick:()=>Ke(M.payment_id),children:"Copy payment ID"}),l.jsx(Re,{size:"sm",variant:"secondary",onClick:Le,children:"Open related events"})]}),O==="summary"?l.jsxs("div",{className:"space-y-4",children:[l.jsx(Nce,{rows:G.summaryRows}),l.jsx(bs,{title:"Connector score context",value:G.scoreContext,emptyMessage:"No connector score map was captured for this event."}),l.jsx(bs,{title:"Selection reason",value:G.selectionReason,emptyMessage:"No explicit selection reason was captured for this event."}),l.jsx(bs,{title:"Score / rule details",value:G.signalRecord,emptyMessage:"This event did not capture additional scoring or rule metadata."})]}):null,O==="input"?l.jsx(bs,{title:"Input",value:G.requestPayload,emptyMessage:"No dedicated request payload was captured for this event."}):null,O==="response"?l.jsx(bs,{title:"Response",value:G.responsePayload,emptyMessage:"No dedicated response payload was captured for this event."}):null,O==="raw"?l.jsx(bs,{title:"Raw JSON",value:G.rawEvent,emptyMessage:"No raw payload is available for this event."}):null]}):l.jsx(cp,{title:"No event selected",body:"Pick a timeline step to see the request, response, transaction context, and raw payload."})})]})]})]})]})}function Pce(){const e=as(),{merchantId:t}=ma(),{data:r}=Vt(t?`/routing/list/active/${t}`:null,()=>Tt(`/routing/list/active/${t}`)),{data:n}=Vt(t?["/rule/get","successRate",t]:null,()=>Tt("/rule/get",{merchant_id:t,algorithm:"successRate"})),a=[{id:"sr",title:"Auth-Rate Based Routing",description:"Dynamically route to the best-performing gateway based on real-time authorization rates.",icon:Z$,route:"/routing/sr",algorithmType:"successRate",checkConfigured:()=>{var i;return!!((i=n==null?void 0:n.config)!=null&&i.data)}},{id:"rules",title:"Rule-Based Routing",description:"Declarative routing rules to route payments based on conditions and attributes.",icon:Qse,route:"/routing/rules",algorithmType:"advanced",checkConfigured:()=>(r||[]).some(i=>{var o;return((o=i.algorithm_data||i.algorithm)==null?void 0:o.type)==="advanced"})},{id:"volume",title:"Volume Split",description:"Distribute payment traffic across gateways by configurable percentage splits.",icon:Bh,route:"/routing/volume",algorithmType:"volume_split",checkConfigured:()=>(r||[]).some(i=>{var o;return((o=i.algorithm_data||i.algorithm)==null?void 0:o.type)==="volume_split"})},{id:"debit",title:"Network Routing",description:"Optimise debit network fees with acquirer-aware network-based routing.",icon:Yse,route:"/routing/debit",algorithmType:"debitRouting",checkConfigured:()=>!1}];return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900",children:"Routing Hub"}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:"Click on any routing strategy to configure"})]}),l.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:a.map(i=>{const o=i.icon,s=i.checkConfigured();return l.jsx(Oe,{className:"flex flex-col hover:border-brand-300 cursor-pointer transition-all hover:shadow-md",onClick:()=>e(i.route),children:l.jsxs(qe,{className:"flex-1 flex flex-col gap-3",children:[l.jsxs("div",{className:"flex items-start justify-between",children:[l.jsx("div",{className:"p-2 bg-brand-50 rounded-lg border border-[#1c2d50]",children:l.jsx(o,{size:20,className:"text-brand-500"})}),l.jsx(Ve,{variant:s?"green":"gray",children:s?"Configured":"Not Configured"})]}),l.jsxs("div",{children:[l.jsx("h3",{className:"font-semibold text-slate-900",children:i.title}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:i.description})]}),l.jsx("div",{className:"mt-auto pt-2",children:l.jsx("span",{className:"text-sm text-brand-600 font-medium",children:s?"Manage →":"Setup →"})})]})},i.id)})})]})}var Kd=e=>e.type==="checkbox",To=e=>e instanceof Date,en=e=>e==null;const $R=e=>typeof e=="object";var Kt=e=>!en(e)&&!Array.isArray(e)&&$R(e)&&!To(e),Cce=e=>Kt(e)&&e.target?Kd(e.target)?e.target.checked:e.target.value:e,Tce=(e,t)=>t.split(".").some((r,n,a)=>!isNaN(Number(r))&&e.has(a.slice(0,n).join("."))),$ce=e=>{const t=e.constructor&&e.constructor.prototype;return Kt(t)&&t.hasOwnProperty("isPrototypeOf")},w1=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Nt(e){if(e instanceof Date)return new Date(e);const t=typeof FileList<"u"&&e instanceof FileList;if(w1&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!r&&!(Kt(e)&&$ce(e)))return e;const n=r?[]:Object.create(Object.getPrototypeOf(e));for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(n[a]=Nt(e[a]));return n}var fv=e=>/^\w*$/.test(e),bt=e=>e===void 0,pv=e=>Array.isArray(e)?e.filter(Boolean):[],_1=e=>pv(e.replace(/["|']|\]/g,"").split(/\.|\[/)),he=(e,t,r)=>{if(!t||!Kt(e))return r;const n=(fv(t)?[t]:_1(t)).reduce((a,i)=>en(a)?a:a[i],e);return bt(n)||n===e?bt(e[t])?r:e[t]:n},xa=e=>typeof e=="boolean",ia=e=>typeof e=="function",ft=(e,t,r)=>{let n=-1;const a=fv(t)?[t]:_1(t),i=a.length,o=i-1;for(;++nE.useContext(IR);var Ice=(e,t,r,n=!0)=>{const a={defaultValues:t._defaultValues};for(const i in e)Object.defineProperty(a,i,{get:()=>{const o=i;return t._proxyFormState[o]!==In.all&&(t._proxyFormState[o]=!n||In.all),e[o]}});return a};const MR=typeof window<"u"?E.useLayoutEffect:E.useEffect;var Vr=e=>typeof e=="string",Mce=(e,t,r,n,a)=>Vr(e)?(n&&t.watch.add(e),he(r,e,a)):Array.isArray(e)?e.map(i=>(n&&t.watch.add(i),he(r,i))):(n&&(t.watchAll=!0),r),q0=e=>en(e)||!$R(e);function Pi(e,t,r=new WeakSet){if(q0(e)||q0(t))return Object.is(e,t);if(To(e)&&To(t))return Object.is(e.getTime(),t.getTime());const n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;if(r.has(e)||r.has(t))return!0;r.add(e),r.add(t);for(const i of n){const o=e[i];if(!a.includes(i))return!1;if(i!=="ref"){const s=t[i];if(To(o)&&To(s)||(Kt(o)||Array.isArray(o))&&(Kt(s)||Array.isArray(s))?!Pi(o,s,r):!Object.is(o,s))return!1}}return!0}const Dce=E.createContext(null);Dce.displayName="HookFormContext";var DR=(e,t,r,n,a)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:a||!0}}:{},an=e=>Array.isArray(e)?e:[e],FO=()=>{let e=[];return{get observers(){return e},next:a=>{for(const i of e)i.next&&i.next(a)},subscribe:a=>(e.push(a),{unsubscribe:()=>{e=e.filter(i=>i!==a)}}),unsubscribe:()=>{e=[]}}};function LR(e,t){const r={};for(const n in e)if(e.hasOwnProperty(n)){const a=e[n],i=t[n];if(a&&Kt(a)&&i){const o=LR(a,i);Kt(o)&&(r[n]=o)}else e[n]&&(r[n]=i)}return r}var $r=e=>Kt(e)&&!Object.keys(e).length,j1=e=>e.type==="file",Gh=e=>{if(!w1)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},FR=e=>e.type==="select-multiple",S1=e=>e.type==="radio",Lce=e=>S1(e)||Kd(e),Vy=e=>Gh(e)&&e.isConnected;function Fce(e,t){const r=t.slice(0,-1).length;let n=0;for(;n{for(const t in e)if(ia(e[t]))return!0;return!1};function zR(e){return Array.isArray(e)||Kt(e)&&!Bce(e)}function K0(e,t={}){for(const r in e){const n=e[r];zR(n)?(t[r]=Array.isArray(n)?[]:{},K0(n,t[r])):bt(n)||(t[r]=!0)}return t}function Yu(e,t,r){r||(r=K0(t));for(const n in e){const a=e[n];if(zR(a))bt(t)||q0(r[n])?r[n]=K0(a,Array.isArray(a)?[]:{}):Yu(a,en(t)?{}:t[n],r[n]);else{const i=t[n];r[n]=!Pi(a,i)}}return r}const zO={value:!1,isValid:!1},BO={value:!0,isValid:!0};var BR=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!bt(e[0].attributes.value)?bt(e[0].value)||e[0].value===""?BO:{value:e[0].value,isValid:!0}:BO:zO}return zO},UR=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>bt(e)?e:t?e===""?NaN:e&&+e:r&&Vr(e)?new Date(e):n?n(e):e;const UO={isValid:!1,value:null};var VR=e=>Array.isArray(e)?e.reduce((t,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:t,UO):UO;function VO(e){const t=e.ref;return j1(t)?t.files:S1(t)?VR(e.refs).value:FR(t)?[...t.selectedOptions].map(({value:r})=>r):Kd(t)?BR(e.refs).value:UR(bt(t.value)?e.ref.value:t.value,e)}var Uce=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,Vce=(e,t,r,n)=>{const a={};for(const i of e){const o=he(t,i);o&&ft(a,i,o._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:n}},qh=e=>e instanceof RegExp,Du=e=>bt(e)?e:qh(e)?e.source:Kt(e)?qh(e.value)?e.value.source:e.value:e,Hs=e=>({isOnSubmit:!e||e===In.onSubmit,isOnBlur:e===In.onBlur,isOnChange:e===In.onChange,isOnAll:e===In.all,isOnTouch:e===In.onTouched});const WO="AsyncFunction";var Wce=e=>!!e&&!!e.validate&&!!(ia(e.validate)&&e.validate.constructor.name===WO||Kt(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===WO)),Hce=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),X0=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(n=>e.startsWith(n)&&/^\.\w+/.test(e.slice(n.length))));const nl=(e,t,r,n)=>{for(const a of r||Object.keys(e)){const i=he(e,a);if(i){const{_f:o,...s}=i;if(o){if(o.refs&&o.refs[0]&&t(o.refs[0],a)&&!n)return!0;if(o.ref&&t(o.ref,o.name)&&!n)return!0;if(nl(s,t))break}else if(Kt(s)&&nl(s,t))break}}};function HO(e,t,r){const n=he(e,r);if(n||fv(r))return{error:n,name:r};const a=r.split(".");for(;a.length;){const i=a.join("."),o=he(t,i),s=he(e,i);if(o&&!Array.isArray(o)&&r!==i)return{name:r};if(s&&s.type)return{name:i,error:s};if(s&&s.root&&s.root.type)return{name:`${i}.root`,error:s.root};a.pop()}return{name:r}}var Gce=(e,t,r,n)=>{r(e);const{name:a,...i}=e;return $r(i)||Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(o=>t[o]===(!n||In.all))},qce=(e,t,r)=>!e||!t||e===t||an(e).some(n=>n&&(r?n===t:n.startsWith(t)||t.startsWith(n))),Kce=(e,t,r,n,a)=>a.isOnAll?!1:!r&&a.isOnTouch?!(t||e):(r?n.isOnBlur:a.isOnBlur)?!e:(r?n.isOnChange:a.isOnChange)?e:!0,Xce=(e,t)=>!pv(he(e,t)).length&&Ht(e,t),WR=(e,t,r)=>{const n=an(he(e,r));return ft(n,RR,t[r]),ft(e,r,n),e};function GO(e,t,r="validate"){if(Vr(e)||Array.isArray(e)&&e.every(Vr)||xa(e)&&!e)return{type:r,message:Vr(e)?e:"",ref:t}}var _s=e=>Kt(e)&&!qh(e)?e:{value:e,message:""},Y0=async(e,t,r,n,a,i)=>{const{ref:o,refs:s,required:u,maxLength:c,minLength:f,min:d,max:p,pattern:h,validate:b,name:v,valueAsNumber:g,mount:y}=e._f,m=he(r,v);if(!y||t.has(v))return{};const w=s?s[0]:o,j=N=>{a&&w.reportValidity&&(w.setCustomValidity(xa(N)?"":N||""),w.reportValidity())},x={},_=S1(o),k=Kd(o),O=_||k,A=(g||j1(o))&&bt(o.value)&&bt(m)||Gh(o)&&o.value===""||m===""||Array.isArray(m)&&!m.length,I=DR.bind(null,v,n,x),$=(N,T,R,L=Jn.maxLength,U=Jn.minLength)=>{const W=N?T:R;x[v]={type:N?L:U,message:W,ref:o,...I(N?L:U,W)}};if(i?!Array.isArray(m)||!m.length:u&&(!O&&(A||en(m))||xa(m)&&!m||k&&!BR(s).isValid||_&&!VR(s).isValid)){const{value:N,message:T}=Vr(u)?{value:!!u,message:u}:_s(u);if(N&&(x[v]={type:Jn.required,message:T,ref:w,...I(Jn.required,T)},!n))return j(T),x}if(!A&&(!en(d)||!en(p))){let N,T;const R=_s(p),L=_s(d);if(!en(m)&&!isNaN(m)){const U=o.valueAsNumber||m&&+m;en(R.value)||(N=U>R.value),en(L.value)||(T=Unew Date(new Date().toDateString()+" "+G),M=o.type=="time",B=o.type=="week";Vr(R.value)&&m&&(N=M?W(m)>W(R.value):B?m>R.value:U>new Date(R.value)),Vr(L.value)&&m&&(T=M?W(m)+N.value,L=!en(T.value)&&m.length<+T.value;if((R||L)&&($(R,N.message,T.message),!n))return j(x[v].message),x}if(h&&!A&&Vr(m)){const{value:N,message:T}=_s(h);if(qh(N)&&!m.match(N)&&(x[v]={type:Jn.pattern,message:T,ref:o,...I(Jn.pattern,T)},!n))return j(T),x}if(b){if(ia(b)){const N=await b(m,r),T=GO(N,w);if(T&&(x[v]={...T,...I(Jn.validate,T.message)},!n))return j(T.message),x}else if(Kt(b)){let N={};for(const T in b){if(!$r(N)&&!n)break;const R=GO(await b[T](m,r),w,T);R&&(N={...R,...I(T,R.message)},j(R.message),n&&(x[v]=N))}if(!$r(N)&&(x[v]={ref:w,...N},!n))return x}}return j(!0),x};const Yce={mode:In.onSubmit,reValidateMode:In.onChange,shouldFocusError:!0};function Zce(e={}){let t={...Yce,...e},r={submitCount:0,isDirty:!1,isReady:!1,isLoading:ia(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},n={},a=Kt(t.defaultValues)||Kt(t.values)?Nt(t.defaultValues||t.values)||{}:{},i=t.shouldUnregister?{}:Nt(a),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},s={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},u,c=0;const f={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},d={...f};let p={...d};const h={array:FO(),state:FO()},b=t.criteriaMode===In.all,v=C=>F=>{clearTimeout(c),c=setTimeout(C,F)},g=async C=>{if(!o.keepIsValid&&!t.disabled&&(d.isValid||p.isValid||C)){let F;t.resolver?(F=$r((await A()).errors),y()):F=await N({fields:n,onlyCheckValid:!0,eventType:ws.VALID}),F!==r.isValid&&h.state.next({isValid:F})}},y=(C,F)=>{!t.disabled&&(d.isValidating||d.validatingFields||p.isValidating||p.validatingFields)&&((C||Array.from(s.mount)).forEach(V=>{V&&(F?ft(r.validatingFields,V,F):Ht(r.validatingFields,V))}),h.state.next({validatingFields:r.validatingFields,isValidating:!$r(r.validatingFields)}))},m=C=>{const F=Yu(a,i),V=Uce(C);ft(r.dirtyFields,V,he(F,V))},w=(C,F=[],V,ne,te=!0,Q=!0)=>{if(ne&&V&&!t.disabled){if(o.action=!0,Q&&Array.isArray(he(n,C))){const ee=V(he(n,C),ne.argA,ne.argB);te&&ft(n,C,ee)}if(Q&&Array.isArray(he(r.errors,C))){const ee=V(he(r.errors,C),ne.argA,ne.argB);te&&ft(r.errors,C,ee),Xce(r.errors,C)}if((d.touchedFields||p.touchedFields)&&Q&&Array.isArray(he(r.touchedFields,C))){const ee=V(he(r.touchedFields,C),ne.argA,ne.argB);te&&ft(r.touchedFields,C,ee)}(d.dirtyFields||p.dirtyFields)&&m(C),h.state.next({name:C,isDirty:R(C,F),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else ft(i,C,F)},j=(C,F)=>{ft(r.errors,C,F),h.state.next({errors:r.errors})},x=C=>{r.errors=C,h.state.next({errors:r.errors,isValid:!1})},_=(C,F,V,ne)=>{const te=he(n,C);if(te){const Q=he(i,C,bt(V)?he(a,C):V);bt(Q)||ne&&ne.defaultChecked||F?ft(i,C,F?Q:VO(te._f)):W(C,Q),o.mount&&!o.action&&g()}},k=(C,F,V,ne,te)=>{let Q=!1,ee=!1;const Se={name:C};if(!t.disabled){if(!V||ne){(d.isDirty||p.isDirty)&&(ee=r.isDirty,r.isDirty=Se.isDirty=R(),Q=ee!==Se.isDirty);const Ee=Pi(he(a,C),F);ee=!!he(r.dirtyFields,C),Ee?Ht(r.dirtyFields,C):ft(r.dirtyFields,C,!0),Se.dirtyFields=r.dirtyFields,Q=Q||(d.dirtyFields||p.dirtyFields)&&ee!==!Ee}if(V){const Ee=he(r.touchedFields,C);Ee||(ft(r.touchedFields,C,V),Se.touchedFields=r.touchedFields,Q=Q||(d.touchedFields||p.touchedFields)&&Ee!==V)}Q&&te&&h.state.next(Se)}return Q?Se:{}},O=(C,F,V,ne)=>{const te=he(r.errors,C),Q=(d.isValid||p.isValid)&&xa(F)&&r.isValid!==F;if(t.delayError&&V?(u=v(()=>j(C,V)),u(t.delayError)):(clearTimeout(c),u=null,V?ft(r.errors,C,V):Ht(r.errors,C)),(V?!Pi(te,V):te)||!$r(ne)||Q){const ee={...ne,...Q&&xa(F)?{isValid:F}:{},errors:r.errors,name:C};r={...r,...ee},h.state.next(ee)}},A=async C=>(y(C,!0),await t.resolver(i,t.context,Vce(C||s.mount,n,t.criteriaMode,t.shouldUseNativeValidation))),I=async C=>{const{errors:F}=await A(C);if(y(C),C)for(const V of C){const ne=he(F,V);ne?ft(r.errors,V,ne):Ht(r.errors,V)}else r.errors=F;return F},$=async({name:C,eventType:F})=>{if(e.validate){const V=await e.validate({formValues:i,formState:r,name:C,eventType:F});if(Kt(V))for(const ne in V)V[ne]&&fe(`${Uy}.${ne}`,{message:Vr(V.message)?V.message:"",type:Jn.validate});else Vr(V)||!V?fe(Uy,{message:V||"",type:Jn.validate}):se(Uy);return V}return!0},N=async({fields:C,onlyCheckValid:F,name:V,eventType:ne,context:te={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(te.runRootValidation=!0,!await $({name:V,eventType:ne})&&(te.valid=!1,F)))return te.valid;for(const Q in C){const ee=C[Q];if(ee){const{_f:Se,...Ee}=ee;if(Se){const st=s.array.has(Se.name),K=ee._f&&Wce(ee._f);K&&d.validatingFields&&y([Se.name],!0);const le=await Y0(ee,s.disabled,i,b,t.shouldUseNativeValidation&&!F,st);if(K&&d.validatingFields&&y([Se.name]),le[Se.name]&&(te.valid=!1,F)||(!F&&(he(le,Se.name)?st?WR(r.errors,le,Se.name):ft(r.errors,Se.name,le[Se.name]):Ht(r.errors,Se.name)),e.shouldUseNativeValidation&&le[Se.name]))break}!$r(Ee)&&await N({context:te,onlyCheckValid:F,fields:Ee,name:Q,eventType:ne})}}return te.valid},T=()=>{for(const C of s.unMount){const F=he(n,C);F&&(F._f.refs?F._f.refs.every(V=>!Vy(V)):!Vy(F._f.ref))&&ce(C)}s.unMount=new Set},R=(C,F)=>!t.disabled&&(C&&F&&ft(i,C,F),!Pi(ae(),a)),L=(C,F,V)=>Mce(C,s,{...o.mount?i:bt(F)?a:Vr(C)?{[C]:F}:F},V,F),U=C=>pv(he(o.mount?i:a,C,t.shouldUnregister?he(a,C,[]):[])),W=(C,F,V={})=>{const ne=he(n,C);let te=F;if(ne){const Q=ne._f;Q&&(!Q.disabled&&ft(i,C,UR(F,Q)),te=Gh(Q.ref)&&en(F)?"":F,FR(Q.ref)?[...Q.ref.options].forEach(ee=>ee.selected=te.includes(ee.value)):Q.refs?Kd(Q.ref)?Q.refs.forEach(ee=>{(!ee.defaultChecked||!ee.disabled)&&(Array.isArray(te)?ee.checked=!!te.find(Se=>Se===ee.value):ee.checked=te===ee.value||!!te)}):Q.refs.forEach(ee=>ee.checked=ee.value===te):j1(Q.ref)?Q.ref.value="":(Q.ref.value=te,Q.ref.type||h.state.next({name:C,values:Nt(i)})))}(V.shouldDirty||V.shouldTouch)&&k(C,te,V.shouldTouch,V.shouldDirty,!0),V.shouldValidate&&q(C)},M=(C,F,V)=>{for(const ne in F){if(!F.hasOwnProperty(ne))return;const te=F[ne],Q=C+"."+ne,ee=he(n,Q);(s.array.has(C)||Kt(te)||ee&&!ee._f)&&!To(te)?M(Q,te,V):W(Q,te,V)}},B=(C,F,V={})=>{const ne=he(n,C),te=s.array.has(C),Q=Nt(F);ft(i,C,Q),te?(h.array.next({name:C,values:Nt(i)}),(d.isDirty||d.dirtyFields||p.isDirty||p.dirtyFields)&&V.shouldDirty&&(m(C),h.state.next({name:C,dirtyFields:r.dirtyFields,isDirty:R(C,Q)}))):ne&&!ne._f&&!en(Q)?M(C,Q,V):W(C,Q,V),X0(C,s)?h.state.next({...r,name:C,values:Nt(i)}):h.state.next({name:o.mount?C:void 0,values:Nt(i)})},G=async C=>{o.mount=!0;const F=C.target;let V=F.name,ne=!0;const te=he(n,V),Q=Ee=>{ne=Number.isNaN(Ee)||To(Ee)&&isNaN(Ee.getTime())||Pi(Ee,he(i,V,Ee))},ee=Hs(t.mode),Se=Hs(t.reValidateMode);if(te){let Ee,st;const K=F.type?VO(te._f):Cce(C),le=C.type===ws.BLUR||C.type===ws.FOCUS_OUT,De=!Hce(te._f)&&!e.validate&&!t.resolver&&!he(r.errors,V)&&!te._f.deps||Kce(le,he(r.touchedFields,V),r.isSubmitted,Se,ee),Nr=X0(V,s,le);ft(i,V,K),le?(!F||!F.readOnly)&&(te._f.onBlur&&te._f.onBlur(C),u&&u(0)):te._f.onChange&&te._f.onChange(C);const lt=k(V,K,le),Rt=!$r(lt)||Nr;if(!le&&h.state.next({name:V,type:C.type,values:Nt(i)}),De)return(d.isValid||p.isValid)&&(t.mode==="onBlur"?le&&g():le||g()),Rt&&h.state.next({name:V,...Nr?{}:lt});if(!t.resolver&&e.validate&&await $({name:V,eventType:C.type}),!le&&Nr&&h.state.next({...r}),t.resolver){const{errors:Hn}=await A([V]);if(y([V]),Q(K),ne){const co=HO(r.errors,n,V),Gn=HO(Hn,n,co.name||V);Ee=Gn.error,V=Gn.name,st=$r(Hn)}}else y([V],!0),Ee=(await Y0(te,s.disabled,i,b,t.shouldUseNativeValidation))[V],y([V]),Q(K),ne&&(Ee?st=!1:(d.isValid||p.isValid)&&(st=await N({fields:n,onlyCheckValid:!0,name:V,eventType:C.type})));ne&&(te._f.deps&&(!Array.isArray(te._f.deps)||te._f.deps.length>0)&&q(te._f.deps),O(V,st,Ee,lt))}},H=(C,F)=>{if(he(r.errors,F)&&C.focus)return C.focus(),1},q=async(C,F={})=>{let V,ne;const te=an(C);if(t.resolver){const Q=await I(bt(C)?C:te);V=$r(Q),ne=C?!te.some(ee=>he(Q,ee)):V}else C?(ne=(await Promise.all(te.map(async Q=>{const ee=he(n,Q);return await N({fields:ee&&ee._f?{[Q]:ee}:ee,eventType:ws.TRIGGER})}))).every(Boolean),!(!ne&&!r.isValid)&&g()):ne=V=await N({fields:n,name:C,eventType:ws.TRIGGER});return h.state.next({...!Vr(C)||(d.isValid||p.isValid)&&V!==r.isValid?{}:{name:C},...t.resolver||!C?{isValid:V}:{},errors:r.errors}),F.shouldFocus&&!ne&&nl(n,H,C?te:s.mount),ne},ae=(C,F)=>{let V={...o.mount?i:a};return F&&(V=LR(F.dirtyFields?r.dirtyFields:r.touchedFields,V)),bt(C)?V:Vr(C)?he(V,C):C.map(ne=>he(V,ne))},X=(C,F)=>({invalid:!!he((F||r).errors,C),isDirty:!!he((F||r).dirtyFields,C),error:he((F||r).errors,C),isValidating:!!he(r.validatingFields,C),isTouched:!!he((F||r).touchedFields,C)}),se=C=>{const F=C?an(C):void 0;F==null||F.forEach(V=>Ht(r.errors,V)),F?F.forEach(V=>{h.state.next({name:V,errors:r.errors})}):h.state.next({errors:{}})},fe=(C,F,V)=>{const ne=(he(n,C,{_f:{}})._f||{}).ref,te=he(r.errors,C)||{},{ref:Q,message:ee,type:Se,...Ee}=te;ft(r.errors,C,{...Ee,...F,ref:ne}),h.state.next({name:C,errors:r.errors,isValid:!1}),V&&V.shouldFocus&&ne&&ne.focus&&ne.focus()},Pe=(C,F)=>ia(C)?h.state.subscribe({next:V=>"values"in V&&C(L(void 0,F),V)}):L(C,F,!0),Te=C=>h.state.subscribe({next:F=>{qce(C.name,F.name,C.exact)&&Gce(F,C.formState||d,Ne,C.reRenderRoot)&&C.callback({values:{...i},...r,...F,defaultValues:a})}}).unsubscribe,re=C=>(o.mount=!0,p={...p,...C.formState},Te({...C,formState:{...f,...C.formState}})),ce=(C,F={})=>{for(const V of C?an(C):s.mount)s.mount.delete(V),s.array.delete(V),F.keepValue||(Ht(n,V),Ht(i,V)),!F.keepError&&Ht(r.errors,V),!F.keepDirty&&Ht(r.dirtyFields,V),!F.keepTouched&&Ht(r.touchedFields,V),!F.keepIsValidating&&Ht(r.validatingFields,V),!t.shouldUnregister&&!F.keepDefaultValue&&Ht(a,V);h.state.next({values:Nt(i)}),h.state.next({...r,...F.keepDirty?{isDirty:R()}:{}}),!F.keepIsValid&&g()},we=({disabled:C,name:F})=>{if(xa(C)&&o.mount||C||s.disabled.has(F)){const te=s.disabled.has(F)!==!!C;C?s.disabled.add(F):s.disabled.delete(F),te&&o.mount&&!o.action&&g()}},Y=(C,F={})=>{let V=he(n,C);const ne=xa(F.disabled)||xa(t.disabled),te=!s.registerName.has(C)&&V&&!V._f.mount;return ft(n,C,{...V||{},_f:{...V&&V._f?V._f:{ref:{name:C}},name:C,mount:!0,...F}}),s.mount.add(C),V&&!te?we({disabled:xa(F.disabled)?F.disabled:t.disabled,name:C}):_(C,!0,F.value),{...ne?{disabled:F.disabled||t.disabled}:{},...t.progressive?{required:!!F.required,min:Du(F.min),max:Du(F.max),minLength:Du(F.minLength),maxLength:Du(F.maxLength),pattern:Du(F.pattern)}:{},name:C,onChange:G,onBlur:G,ref:Q=>{if(Q){s.registerName.add(C),Y(C,F),s.registerName.delete(C),V=he(n,C);const ee=bt(Q.value)&&Q.querySelectorAll&&Q.querySelectorAll("input,select,textarea")[0]||Q,Se=Lce(ee),Ee=V._f.refs||[];if(Se?Ee.find(st=>st===ee):ee===V._f.ref)return;ft(n,C,{_f:{...V._f,...Se?{refs:[...Ee.filter(Vy),ee,...Array.isArray(he(a,C))?[{}]:[]],ref:{type:ee.type,name:C}}:{ref:ee}}}),_(C,!1,void 0,ee)}else V=he(n,C,{}),V._f&&(V._f.mount=!1),(t.shouldUnregister||F.shouldUnregister)&&!(Tce(s.array,C)&&o.action)&&s.unMount.add(C)}}},Ce=()=>t.shouldFocusError&&nl(n,H,s.mount),ve=C=>{xa(C)&&(h.state.next({disabled:C}),nl(n,(F,V)=>{const ne=he(n,V);ne&&(F.disabled=ne._f.disabled||C,Array.isArray(ne._f.refs)&&ne._f.refs.forEach(te=>{te.disabled=ne._f.disabled||C}))},0,!1))},Ke=(C,F)=>async V=>{let ne;V&&(V.preventDefault&&V.preventDefault(),V.persist&&V.persist());let te=Nt(i);if(h.state.next({isSubmitting:!0}),t.resolver){const{errors:Q,values:ee}=await A();y(),r.errors=Q,te=Nt(ee)}else await N({fields:n,eventType:ws.SUBMIT});if(s.disabled.size)for(const Q of s.disabled)Ht(te,Q);if(Ht(r.errors,RR),$r(r.errors)){h.state.next({errors:{}});try{await C(te,V)}catch(Q){ne=Q}}else F&&await F({...r.errors},V),Ce(),setTimeout(Ce);if(h.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:$r(r.errors)&&!ne,submitCount:r.submitCount+1,errors:r.errors}),ne)throw ne},Le=(C,F={})=>{he(n,C)&&(bt(F.defaultValue)?B(C,Nt(he(a,C))):(B(C,F.defaultValue),ft(a,C,Nt(F.defaultValue))),F.keepTouched||Ht(r.touchedFields,C),F.keepDirty||(Ht(r.dirtyFields,C),r.isDirty=F.defaultValue?R(C,Nt(he(a,C))):R()),F.keepError||(Ht(r.errors,C),d.isValid&&g()),h.state.next({...r}))},_e=(C,F={})=>{const V=C?Nt(C):a,ne=Nt(V),te=$r(C),Q=te?a:ne;if(F.keepDefaultValues||(a=V),!F.keepValues){if(F.keepDirtyValues){const ee=new Set([...s.mount,...Object.keys(Yu(a,i))]);for(const Se of Array.from(ee)){const Ee=he(r.dirtyFields,Se),st=he(i,Se),K=he(Q,Se);Ee&&!bt(st)?ft(Q,Se,st):!Ee&&!bt(K)&&B(Se,K)}}else{if(w1&&bt(C))for(const ee of s.mount){const Se=he(n,ee);if(Se&&Se._f){const Ee=Array.isArray(Se._f.refs)?Se._f.refs[0]:Se._f.ref;if(Gh(Ee)){const st=Ee.closest("form");if(st){st.reset();break}}}}if(F.keepFieldsRef)for(const ee of s.mount)B(ee,he(Q,ee));else n={}}i=t.shouldUnregister?F.keepDefaultValues?Nt(a):{}:Nt(Q),h.array.next({values:{...Q}}),h.state.next({values:{...Q}})}s={mount:F.keepDirtyValues?s.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!d.isValid||!!F.keepIsValid||!!F.keepDirtyValues||!t.shouldUnregister&&!$r(Q),o.watch=!!t.shouldUnregister,o.keepIsValid=!!F.keepIsValid,o.action=!1,F.keepErrors||(r.errors={}),h.state.next({submitCount:F.keepSubmitCount?r.submitCount:0,isDirty:te?!1:F.keepDirty?r.isDirty:!!(F.keepDefaultValues&&!Pi(C,a)),isSubmitted:F.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:te?{}:F.keepDirtyValues?F.keepDefaultValues&&i?Yu(a,i):r.dirtyFields:F.keepDefaultValues&&C?Yu(a,C):F.keepDirty?r.dirtyFields:{},touchedFields:F.keepTouched?r.touchedFields:{},errors:F.keepErrors?r.errors:{},isSubmitSuccessful:F.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:a})},$e=(C,F)=>_e(ia(C)?C(i):C,{...t.resetOptions,...F}),Ae=(C,F={})=>{const V=he(n,C),ne=V&&V._f;if(ne){const te=ne.refs?ne.refs[0]:ne.ref;te.focus&&setTimeout(()=>{te.focus(),F.shouldSelect&&ia(te.select)&&te.select()})}},Ne=C=>{r={...r,...C}},Ue={control:{register:Y,unregister:ce,getFieldState:X,handleSubmit:Ke,setError:fe,_subscribe:Te,_runSchema:A,_updateIsValidating:y,_focusError:Ce,_getWatch:L,_getDirty:R,_setValid:g,_setFieldArray:w,_setDisabledField:we,_setErrors:x,_getFieldArray:U,_reset:_e,_resetDefaultValues:()=>ia(t.defaultValues)&&t.defaultValues().then(C=>{$e(C,t.resetOptions),h.state.next({isLoading:!1})}),_removeUnmounted:T,_disableForm:ve,_subjects:h,_proxyFormState:d,get _fields(){return n},get _formValues(){return i},get _state(){return o},set _state(C){o=C},get _defaultValues(){return a},get _names(){return s},set _names(C){s=C},get _formState(){return r},get _options(){return t},set _options(C){t={...t,...C}}},subscribe:re,trigger:q,register:Y,handleSubmit:Ke,watch:Pe,setValue:B,getValues:ae,reset:$e,resetField:Le,clearErrors:se,unregister:ce,setError:fe,setFocus:Ae,getFieldState:X};return{...Ue,formControl:Ue}}var bi=()=>{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();const e=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const r=(Math.random()*16+e)%16|0;return(t=="x"?r:r&3|8).toString(16)})},Wy=(e,t,r={})=>r.shouldFocus||bt(r.shouldFocus)?r.focusName||`${e}.${bt(r.focusIndex)?t:r.focusIndex}.`:"",Hy=(e,t)=>[...e,...an(t)],Gy=e=>Array.isArray(e)?e.map(()=>{}):void 0;function qy(e,t,r){return[...e.slice(0,t),...an(r),...e.slice(t)]}var Ky=(e,t,r)=>Array.isArray(e)?(bt(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[],Xy=(e,t)=>[...an(t),...an(e)];function Jce(e,t){let r=0;const n=[...e];for(const a of t)n.splice(a-r,1),r++;return pv(n).length?n:[]}var Yy=(e,t)=>bt(t)?[]:Jce(e,an(t).sort((r,n)=>r-n)),Zy=(e,t,r)=>{[e[t],e[r]]=[e[r],e[t]]},qO=(e,t,r)=>(e[t]=r,e);function Qce(e){const t=Rce(),{control:r=t,name:n,keyName:a="id",shouldUnregister:i,rules:o}=e,[s,u]=E.useState(r._getFieldArray(n)),c=E.useRef(r._getFieldArray(n).map(bi)),f=E.useRef(!1);r._names.array.add(n),E.useMemo(()=>o&&s.length>=0&&r.register(n,o),[r,n,s.length,o]),MR(()=>r._subjects.array.subscribe({next:({values:j,name:x})=>{if(x===n||!x){const _=he(j,n);Array.isArray(_)&&(u(_),c.current=_.map(bi))}}}).unsubscribe,[r,n]);const d=E.useCallback(j=>{f.current=!0,r._setFieldArray(n,j)},[r,n]),p=(j,x)=>{const _=an(Nt(j)),k=Hy(r._getFieldArray(n),_);r._names.focus=Wy(n,k.length-1,x),c.current=Hy(c.current,_.map(bi)),d(k),u(k),r._setFieldArray(n,k,Hy,{argA:Gy(j)})},h=(j,x)=>{const _=an(Nt(j)),k=Xy(r._getFieldArray(n),_);r._names.focus=Wy(n,0,x),c.current=Xy(c.current,_.map(bi)),d(k),u(k),r._setFieldArray(n,k,Xy,{argA:Gy(j)})},b=j=>{const x=Yy(r._getFieldArray(n),j);c.current=Yy(c.current,j),d(x),u(x),!Array.isArray(he(r._fields,n))&&ft(r._fields,n,void 0),r._setFieldArray(n,x,Yy,{argA:j})},v=(j,x,_)=>{const k=an(Nt(x)),O=qy(r._getFieldArray(n),j,k);r._names.focus=Wy(n,j,_),c.current=qy(c.current,j,k.map(bi)),d(O),u(O),r._setFieldArray(n,O,qy,{argA:j,argB:Gy(x)})},g=(j,x)=>{const _=r._getFieldArray(n);Zy(_,j,x),Zy(c.current,j,x),d(_),u(_),r._setFieldArray(n,_,Zy,{argA:j,argB:x},!1)},y=(j,x)=>{const _=r._getFieldArray(n);Ky(_,j,x),Ky(c.current,j,x),d(_),u(_),r._setFieldArray(n,_,Ky,{argA:j,argB:x},!1)},m=(j,x)=>{const _=Nt(x),k=qO(r._getFieldArray(n),j,_);c.current=[...k].map((O,A)=>!O||A===j?bi():c.current[A]),d(k),u([...k]),r._setFieldArray(n,k,qO,{argA:j,argB:_},!0,!1)},w=j=>{const x=an(Nt(j));c.current=x.map(bi),d([...x]),u([...x]),r._setFieldArray(n,[...x],_=>_,{},!0,!1)};return E.useEffect(()=>{if(r._state.action=!1,X0(n,r._names)&&r._subjects.state.next({...r._formState}),f.current&&(!Hs(r._options.mode).isOnSubmit||r._formState.isSubmitted)&&!Hs(r._options.reValidateMode).isOnSubmit)if(r._options.resolver)r._runSchema([n]).then(j=>{r._updateIsValidating([n]);const x=he(j.errors,n),_=he(r._formState.errors,n);(_?!x&&_.type||x&&(_.type!==x.type||_.message!==x.message):x&&x.type)&&(x?ft(r._formState.errors,n,x):Ht(r._formState.errors,n),r._subjects.state.next({errors:r._formState.errors}))});else{const j=he(r._fields,n);j&&j._f&&!(Hs(r._options.reValidateMode).isOnSubmit&&Hs(r._options.mode).isOnSubmit)&&Y0(j,r._names.disabled,r._formValues,r._options.criteriaMode===In.all,r._options.shouldUseNativeValidation,!0).then(x=>!$r(x)&&r._subjects.state.next({errors:WR(r._formState.errors,x,n)}))}r._subjects.state.next({name:n,values:Nt(r._formValues)}),r._names.focus&&nl(r._fields,(j,x)=>{if(r._names.focus&&x.startsWith(r._names.focus)&&j.focus)return j.focus(),1}),r._names.focus="",r._setValid(),f.current=!1},[s,n,r]),E.useEffect(()=>(!he(r._formValues,n)&&r._setFieldArray(n),()=>{const j=(x,_)=>{const k=he(r._fields,x);k&&k._f&&(k._f.mount=_)};r._options.shouldUnregister||i?r.unregister(n):j(n,!1)}),[n,r,a,i]),{swap:E.useCallback(g,[d,n,r]),move:E.useCallback(y,[d,n,r]),prepend:E.useCallback(h,[d,n,r]),append:E.useCallback(p,[d,n,r]),remove:E.useCallback(b,[d,n,r]),insert:E.useCallback(v,[d,n,r]),update:E.useCallback(m,[d,n,r]),replace:E.useCallback(w,[d,n,r]),fields:E.useMemo(()=>s.map((j,x)=>({...j,[a]:c.current[x]||bi()})),[s,a])}}function ede(e={}){const t=E.useRef(void 0),r=E.useRef(void 0),[n,a]=E.useState({isDirty:!1,isValidating:!1,isLoading:ia(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:ia(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:n},e.defaultValues&&!ia(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:o,...s}=Zce(e);t.current={...s,formState:n}}const i=t.current.control;return i._options=e,MR(()=>{const o=i._subscribe({formState:i._proxyFormState,callback:()=>a({...i._formState}),reRenderRoot:!0});return a(s=>({...s,isReady:!0})),i._formState.isReady=!0,o},[i]),E.useEffect(()=>i._disableForm(e.disabled),[i,e.disabled]),E.useEffect(()=>{e.mode&&(i._options.mode=e.mode),e.reValidateMode&&(i._options.reValidateMode=e.reValidateMode)},[i,e.mode,e.reValidateMode]),E.useEffect(()=>{e.errors&&(i._setErrors(e.errors),i._focusError())},[i,e.errors]),E.useEffect(()=>{e.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[i,e.shouldUnregister]),E.useEffect(()=>{if(i._proxyFormState.isDirty){const o=i._getDirty();o!==n.isDirty&&i._subjects.state.next({isDirty:o})}},[i,n.isDirty]),E.useEffect(()=>{var o;e.values&&!Pi(e.values,r.current)?(i._reset(e.values,{keepFieldsRef:!0,...i._options.resetOptions}),!((o=i._options.resetOptions)===null||o===void 0)&&o.keepIsValid||i._setValid(),r.current=e.values,a(s=>({...s}))):i._resetDefaultValues()},[i,e.values]),E.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),t.current.formState=E.useMemo(()=>Ice(n,i),[i,n]),t.current}const KO=(e,t,r)=>{if(e&&"reportValidity"in e){const n=he(r,t);e.setCustomValidity(n&&n.message||""),e.reportValidity()}},HR=(e,t)=>{for(const r in t.fields){const n=t.fields[r];n&&n.ref&&"reportValidity"in n.ref?KO(n.ref,r,e):n.refs&&n.refs.forEach(a=>KO(a,r,e))}},tde=(e,t)=>{t.shouldUseNativeValidation&&HR(e,t);const r={};for(const n in e){const a=he(t.fields,n),i=Object.assign(e[n]||{},{ref:a&&a.ref});if(rde(t.names||Object.keys(e),n)){const o=Object.assign({},he(r,n));ft(o,"root",i),ft(r,n,o)}else ft(r,n,i)}return r},rde=(e,t)=>e.some(r=>r.startsWith(t+"."));var nde=function(e,t){for(var r={};e.length;){var n=e[0],a=n.code,i=n.message,o=n.path.join(".");if(!r[o])if("unionErrors"in n){var s=n.unionErrors[0].errors[0];r[o]={message:s.message,type:s.code}}else r[o]={message:i,type:a};if("unionErrors"in n&&n.unionErrors.forEach(function(f){return f.errors.forEach(function(d){return e.push(d)})}),t){var u=r[o].types,c=u&&u[n.code];r[o]=DR(o,t,r,a,c?[].concat(c,n.message):n.message)}e.shift()}return r},ade=function(e,t,r){return r===void 0&&(r={}),function(n,a,i){try{return Promise.resolve(function(o,s){try{var u=Promise.resolve(e[r.mode==="sync"?"parse":"parseAsync"](n,t)).then(function(c){return i.shouldUseNativeValidation&&HR({},i),{errors:{},values:r.raw?n:c}})}catch(c){return s(c)}return u&&u.then?u.then(void 0,s):u}(0,function(o){if(function(s){return Array.isArray(s==null?void 0:s.errors)}(o))return{values:{},errors:tde(nde(o.errors,!i.shouldUseNativeValidation&&i.criteriaMode==="all"),i)};throw o}))}catch(o){return Promise.reject(o)}}},it;(function(e){e.assertEqual=a=>{};function t(a){}e.assertIs=t;function r(a){throw new Error}e.assertNever=r,e.arrayToEnum=a=>{const i={};for(const o of a)i[o]=o;return i},e.getValidEnumValues=a=>{const i=e.objectKeys(a).filter(s=>typeof a[a[s]]!="number"),o={};for(const s of i)o[s]=a[s];return e.objectValues(o)},e.objectValues=a=>e.objectKeys(a).map(function(i){return a[i]}),e.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{const i=[];for(const o in a)Object.prototype.hasOwnProperty.call(a,o)&&i.push(o);return i},e.find=(a,i)=>{for(const o of a)if(i(o))return o},e.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&Number.isFinite(a)&&Math.floor(a)===a;function n(a,i=" | "){return a.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}e.joinValues=n,e.jsonStringifyReplacer=(a,i)=>typeof i=="bigint"?i.toString():i})(it||(it={}));var XO;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(XO||(XO={}));const be=it.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Oi=e=>{switch(typeof e){case"undefined":return be.undefined;case"string":return be.string;case"number":return Number.isNaN(e)?be.nan:be.number;case"boolean":return be.boolean;case"function":return be.function;case"bigint":return be.bigint;case"symbol":return be.symbol;case"object":return Array.isArray(e)?be.array:e===null?be.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?be.promise:typeof Map<"u"&&e instanceof Map?be.map:typeof Set<"u"&&e instanceof Set?be.set:typeof Date<"u"&&e instanceof Date?be.date:be.object;default:return be.unknown}},ue=it.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class ci extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){const r=t||function(i){return i.message},n={_errors:[]},a=i=>{for(const o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(a);else if(o.code==="invalid_return_type")a(o.returnTypeError);else if(o.code==="invalid_arguments")a(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let s=n,u=0;for(;ur.message){const r={},n=[];for(const a of this.issues)if(a.path.length>0){const i=a.path[0];r[i]=r[i]||[],r[i].push(t(a))}else n.push(t(a));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}}ci.create=e=>new ci(e);const Z0=(e,t)=>{let r;switch(e.code){case ue.invalid_type:e.received===be.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case ue.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,it.jsonStringifyReplacer)}`;break;case ue.unrecognized_keys:r=`Unrecognized key(s) in object: ${it.joinValues(e.keys,", ")}`;break;case ue.invalid_union:r="Invalid input";break;case ue.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${it.joinValues(e.options)}`;break;case ue.invalid_enum_value:r=`Invalid enum value. Expected ${it.joinValues(e.options)}, received '${e.received}'`;break;case ue.invalid_arguments:r="Invalid function arguments";break;case ue.invalid_return_type:r="Invalid function return type";break;case ue.invalid_date:r="Invalid date";break;case ue.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:it.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case ue.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case ue.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case ue.custom:r="Invalid input";break;case ue.invalid_intersection_types:r="Intersection results could not be merged";break;case ue.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case ue.not_finite:r="Number must be finite";break;default:r=t.defaultError,it.assertNever(e)}return{message:r}};let ide=Z0;function ode(){return ide}const sde=e=>{const{data:t,path:r,errorMaps:n,issueData:a}=e,i=[...r,...a.path||[]],o={...a,path:i};if(a.message!==void 0)return{...a,path:i,message:a.message};let s="";const u=n.filter(c=>!!c).slice().reverse();for(const c of u)s=c(o,{data:t,defaultError:s}).message;return{...a,path:i,message:s}};function ye(e,t){const r=ode(),n=sde({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===Z0?void 0:Z0].filter(a=>!!a)});e.common.issues.push(n)}class Sn{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){const n=[];for(const a of r){if(a.status==="aborted")return We;a.status==="dirty"&&t.dirty(),n.push(a.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){const n=[];for(const a of r){const i=await a.key,o=await a.value;n.push({key:i,value:o})}return Sn.mergeObjectSync(t,n)}static mergeObjectSync(t,r){const n={};for(const a of r){const{key:i,value:o}=a;if(i.status==="aborted"||o.status==="aborted")return We;i.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||a.alwaysSet)&&(n[i.value]=o.value)}return{status:t.value,value:n}}}const We=Object.freeze({status:"aborted"}),Zu=e=>({status:"dirty",value:e}),Wn=e=>({status:"valid",value:e}),YO=e=>e.status==="aborted",ZO=e=>e.status==="dirty",zl=e=>e.status==="valid",Kh=e=>typeof Promise<"u"&&e instanceof Promise;var je;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(je||(je={}));class Ji{constructor(t,r,n,a){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=a}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const JO=(e,t)=>{if(zl(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const r=new ci(e.common.issues);return this._error=r,this._error}}};function Ye(e){if(!e)return{};const{errorMap:t,invalid_type_error:r,required_error:n,description:a}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:a}:{errorMap:(o,s)=>{const{message:u}=e;return o.code==="invalid_enum_value"?{message:u??s.defaultError}:typeof s.data>"u"?{message:u??n??s.defaultError}:o.code!=="invalid_type"?{message:s.defaultError}:{message:u??r??s.defaultError}},description:a}}class at{get description(){return this._def.description}_getType(t){return Oi(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:Oi(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Sn,ctx:{common:t.parent.common,data:t.data,parsedType:Oi(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const r=this._parse(t);if(Kh(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){const r=this._parse(t);return Promise.resolve(r)}parse(t,r){const n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){const n={common:{issues:[],async:(r==null?void 0:r.async)??!1,contextualErrorMap:r==null?void 0:r.errorMap},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Oi(t)},a=this._parseSync({data:t,path:n.path,parent:n});return JO(n,a)}"~validate"(t){var n,a;const r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Oi(t)};if(!this["~standard"].async)try{const i=this._parseSync({data:t,path:[],parent:r});return zl(i)?{value:i.value}:{issues:r.common.issues}}catch(i){(a=(n=i==null?void 0:i.message)==null?void 0:n.toLowerCase())!=null&&a.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(i=>zl(i)?{value:i.value}:{issues:r.common.issues})}async parseAsync(t,r){const n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){const n={common:{issues:[],contextualErrorMap:r==null?void 0:r.errorMap,async:!0},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Oi(t)},a=this._parse({data:t,path:n.path,parent:n}),i=await(Kh(a)?a:Promise.resolve(a));return JO(n,i)}refine(t,r){const n=a=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(a):r;return this._refinement((a,i)=>{const o=t(a),s=()=>i.addIssue({code:ue.custom,...n(a)});return typeof Promise<"u"&&o instanceof Promise?o.then(u=>u?!0:(s(),!1)):o?!0:(s(),!1)})}refinement(t,r){return this._refinement((n,a)=>t(n)?!0:(a.addIssue(typeof r=="function"?r(n,a):r),!1))}_refinement(t){return new ts({schema:this,typeName:He.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return qi.create(this,this._def)}nullable(){return Vl.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ta.create(this)}promise(){return Jh.create(this,this._def)}or(t){return Yh.create([this,t],this._def)}and(t){return Zh.create(this,t,this._def)}transform(t){return new ts({...Ye(this._def),schema:this,typeName:He.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const r=typeof t=="function"?t:()=>t;return new Q0({...Ye(this._def),innerType:this,defaultValue:r,typeName:He.ZodDefault})}brand(){return new Pde({typeName:He.ZodBranded,type:this,...Ye(this._def)})}catch(t){const r=typeof t=="function"?t:()=>t;return new eb({...Ye(this._def),innerType:this,catchValue:r,typeName:He.ZodCatch})}describe(t){const r=this.constructor;return new r({...this._def,description:t})}pipe(t){return k1.create(this,t)}readonly(){return tb.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const lde=/^c[^\s-]{8,}$/i,ude=/^[0-9a-z]+$/,cde=/^[0-9A-HJKMNP-TV-Z]{26}$/i,dde=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,fde=/^[a-z0-9_-]{21}$/i,pde=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,hde=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,mde=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,vde="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Jy;const yde=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,gde=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,xde=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,bde=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,wde=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,_de=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,GR="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",jde=new RegExp(`^${GR}$`);function qR(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);const r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function Sde(e){return new RegExp(`^${qR(e)}$`)}function kde(e){let t=`${GR}T${qR(e)}`;const r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function Ode(e,t){return!!((t==="v4"||!t)&&yde.test(e)||(t==="v6"||!t)&&xde.test(e))}function Nde(e,t){if(!pde.test(e))return!1;try{const[r]=e.split(".");if(!r)return!1;const n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),a=JSON.parse(atob(n));return!(typeof a!="object"||a===null||"typ"in a&&(a==null?void 0:a.typ)!=="JWT"||!a.alg||t&&a.alg!==t)}catch{return!1}}function Ade(e,t){return!!((t==="v4"||!t)&&gde.test(e)||(t==="v6"||!t)&&bde.test(e))}class Za extends at{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==be.string){const i=this._getOrReturnCtx(t);return ye(i,{code:ue.invalid_type,expected:be.string,received:i.parsedType}),We}const n=new Sn;let a;for(const i of this._def.checks)if(i.kind==="min")t.data.lengthi.value&&(a=this._getOrReturnCtx(t,a),ye(a,{code:ue.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){const o=t.data.length>i.value,s=t.data.lengtht.test(a),{validation:r,code:ue.invalid_string,...je.errToObj(n)})}_addCheck(t){return new Za({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...je.errToObj(t)})}url(t){return this._addCheck({kind:"url",...je.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...je.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...je.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...je.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...je.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...je.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...je.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...je.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...je.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...je.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...je.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...je.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,offset:(t==null?void 0:t.offset)??!1,local:(t==null?void 0:t.local)??!1,...je.errToObj(t==null?void 0:t.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,...je.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...je.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...je.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r==null?void 0:r.position,...je.errToObj(r==null?void 0:r.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...je.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...je.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...je.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...je.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...je.errToObj(r)})}nonempty(t){return this.min(1,je.errToObj(t))}trim(){return new Za({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Za({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Za({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew Za({checks:[],typeName:He.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...Ye(e)});function Ede(e,t){const r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,a=r>n?r:n,i=Number.parseInt(e.toFixed(a).replace(".","")),o=Number.parseInt(t.toFixed(a).replace(".",""));return i%o/10**a}class Jo extends at{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==be.number){const i=this._getOrReturnCtx(t);return ye(i,{code:ue.invalid_type,expected:be.number,received:i.parsedType}),We}let n;const a=new Sn;for(const i of this._def.checks)i.kind==="int"?it.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),ye(n,{code:ue.invalid_type,expected:"integer",received:"float",message:i.message}),a.dirty()):i.kind==="min"?(i.inclusive?t.datai.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),ye(n,{code:ue.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),a.dirty()):i.kind==="multipleOf"?Ede(t.data,i.value)!==0&&(n=this._getOrReturnCtx(t,n),ye(n,{code:ue.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):i.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),ye(n,{code:ue.not_finite,message:i.message}),a.dirty()):it.assertNever(i);return{status:a.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,je.toString(r))}gt(t,r){return this.setLimit("min",t,!1,je.toString(r))}lte(t,r){return this.setLimit("max",t,!0,je.toString(r))}lt(t,r){return this.setLimit("max",t,!1,je.toString(r))}setLimit(t,r,n,a){return new Jo({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:je.toString(a)}]})}_addCheck(t){return new Jo({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:je.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:je.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:je.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:je.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:je.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:je.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:je.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:je.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:je.toString(t)})}get minValue(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuet.kind==="int"||t.kind==="multipleOf"&&it.isInteger(t.value))}get isFinite(){let t=null,r=null;for(const n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.valuenew Jo({checks:[],typeName:He.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Ye(e)});class Qo extends at{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==be.bigint)return this._getInvalidInput(t);let n;const a=new Sn;for(const i of this._def.checks)i.kind==="min"?(i.inclusive?t.datai.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),ye(n,{code:ue.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),a.dirty()):i.kind==="multipleOf"?t.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),ye(n,{code:ue.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):it.assertNever(i);return{status:a.value,value:t.data}}_getInvalidInput(t){const r=this._getOrReturnCtx(t);return ye(r,{code:ue.invalid_type,expected:be.bigint,received:r.parsedType}),We}gte(t,r){return this.setLimit("min",t,!0,je.toString(r))}gt(t,r){return this.setLimit("min",t,!1,je.toString(r))}lte(t,r){return this.setLimit("max",t,!0,je.toString(r))}lt(t,r){return this.setLimit("max",t,!1,je.toString(r))}setLimit(t,r,n,a){return new Qo({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:je.toString(a)}]})}_addCheck(t){return new Qo({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:je.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:je.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:je.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:je.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:je.toString(r)})}get minValue(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew Qo({checks:[],typeName:He.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...Ye(e)});class Xh extends at{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==be.boolean){const n=this._getOrReturnCtx(t);return ye(n,{code:ue.invalid_type,expected:be.boolean,received:n.parsedType}),We}return Wn(t.data)}}Xh.create=e=>new Xh({typeName:He.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Ye(e)});class Bl extends at{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==be.date){const i=this._getOrReturnCtx(t);return ye(i,{code:ue.invalid_type,expected:be.date,received:i.parsedType}),We}if(Number.isNaN(t.data.getTime())){const i=this._getOrReturnCtx(t);return ye(i,{code:ue.invalid_date}),We}const n=new Sn;let a;for(const i of this._def.checks)i.kind==="min"?t.data.getTime()i.value&&(a=this._getOrReturnCtx(t,a),ye(a,{code:ue.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):it.assertNever(i);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Bl({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:je.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:je.toString(r)})}get minDate(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew Bl({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:He.ZodDate,...Ye(e)});class QO extends at{_parse(t){if(this._getType(t)!==be.symbol){const n=this._getOrReturnCtx(t);return ye(n,{code:ue.invalid_type,expected:be.symbol,received:n.parsedType}),We}return Wn(t.data)}}QO.create=e=>new QO({typeName:He.ZodSymbol,...Ye(e)});class eN extends at{_parse(t){if(this._getType(t)!==be.undefined){const n=this._getOrReturnCtx(t);return ye(n,{code:ue.invalid_type,expected:be.undefined,received:n.parsedType}),We}return Wn(t.data)}}eN.create=e=>new eN({typeName:He.ZodUndefined,...Ye(e)});class tN extends at{_parse(t){if(this._getType(t)!==be.null){const n=this._getOrReturnCtx(t);return ye(n,{code:ue.invalid_type,expected:be.null,received:n.parsedType}),We}return Wn(t.data)}}tN.create=e=>new tN({typeName:He.ZodNull,...Ye(e)});class rN extends at{constructor(){super(...arguments),this._any=!0}_parse(t){return Wn(t.data)}}rN.create=e=>new rN({typeName:He.ZodAny,...Ye(e)});class nN extends at{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Wn(t.data)}}nN.create=e=>new nN({typeName:He.ZodUnknown,...Ye(e)});class Qi extends at{_parse(t){const r=this._getOrReturnCtx(t);return ye(r,{code:ue.invalid_type,expected:be.never,received:r.parsedType}),We}}Qi.create=e=>new Qi({typeName:He.ZodNever,...Ye(e)});class aN extends at{_parse(t){if(this._getType(t)!==be.undefined){const n=this._getOrReturnCtx(t);return ye(n,{code:ue.invalid_type,expected:be.void,received:n.parsedType}),We}return Wn(t.data)}}aN.create=e=>new aN({typeName:He.ZodVoid,...Ye(e)});class Ta extends at{_parse(t){const{ctx:r,status:n}=this._processInputParams(t),a=this._def;if(r.parsedType!==be.array)return ye(r,{code:ue.invalid_type,expected:be.array,received:r.parsedType}),We;if(a.exactLength!==null){const o=r.data.length>a.exactLength.value,s=r.data.lengtha.maxLength.value&&(ye(r,{code:ue.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((o,s)=>a.type._parseAsync(new Ji(r,o,r.path,s)))).then(o=>Sn.mergeArray(n,o));const i=[...r.data].map((o,s)=>a.type._parseSync(new Ji(r,o,r.path,s)));return Sn.mergeArray(n,i)}get element(){return this._def.type}min(t,r){return new Ta({...this._def,minLength:{value:t,message:je.toString(r)}})}max(t,r){return new Ta({...this._def,maxLength:{value:t,message:je.toString(r)}})}length(t,r){return new Ta({...this._def,exactLength:{value:t,message:je.toString(r)}})}nonempty(t){return this.min(1,t)}}Ta.create=(e,t)=>new Ta({type:e,minLength:null,maxLength:null,exactLength:null,typeName:He.ZodArray,...Ye(t)});function js(e){if(e instanceof Yt){const t={};for(const r in e.shape){const n=e.shape[r];t[r]=qi.create(js(n))}return new Yt({...e._def,shape:()=>t})}else return e instanceof Ta?new Ta({...e._def,type:js(e.element)}):e instanceof qi?qi.create(js(e.unwrap())):e instanceof Vl?Vl.create(js(e.unwrap())):e instanceof es?es.create(e.items.map(t=>js(t))):e}class Yt extends at{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),r=it.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==be.object){const c=this._getOrReturnCtx(t);return ye(c,{code:ue.invalid_type,expected:be.object,received:c.parsedType}),We}const{status:n,ctx:a}=this._processInputParams(t),{shape:i,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof Qi&&this._def.unknownKeys==="strip"))for(const c in a.data)o.includes(c)||s.push(c);const u=[];for(const c of o){const f=i[c],d=a.data[c];u.push({key:{status:"valid",value:c},value:f._parse(new Ji(a,d,a.path,c)),alwaysSet:c in a.data})}if(this._def.catchall instanceof Qi){const c=this._def.unknownKeys;if(c==="passthrough")for(const f of s)u.push({key:{status:"valid",value:f},value:{status:"valid",value:a.data[f]}});else if(c==="strict")s.length>0&&(ye(a,{code:ue.unrecognized_keys,keys:s}),n.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const c=this._def.catchall;for(const f of s){const d=a.data[f];u.push({key:{status:"valid",value:f},value:c._parse(new Ji(a,d,a.path,f)),alwaysSet:f in a.data})}}return a.common.async?Promise.resolve().then(async()=>{const c=[];for(const f of u){const d=await f.key,p=await f.value;c.push({key:d,value:p,alwaysSet:f.alwaysSet})}return c}).then(c=>Sn.mergeObjectSync(n,c)):Sn.mergeObjectSync(n,u)}get shape(){return this._def.shape()}strict(t){return je.errToObj,new Yt({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{var i,o;const a=((o=(i=this._def).errorMap)==null?void 0:o.call(i,r,n).message)??n.defaultError;return r.code==="unrecognized_keys"?{message:je.errToObj(t).message??a}:{message:a}}}:{}})}strip(){return new Yt({...this._def,unknownKeys:"strip"})}passthrough(){return new Yt({...this._def,unknownKeys:"passthrough"})}extend(t){return new Yt({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Yt({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:He.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new Yt({...this._def,catchall:t})}pick(t){const r={};for(const n of it.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new Yt({...this._def,shape:()=>r})}omit(t){const r={};for(const n of it.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new Yt({...this._def,shape:()=>r})}deepPartial(){return js(this)}partial(t){const r={};for(const n of it.objectKeys(this.shape)){const a=this.shape[n];t&&!t[n]?r[n]=a:r[n]=a.optional()}return new Yt({...this._def,shape:()=>r})}required(t){const r={};for(const n of it.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof qi;)i=i._def.innerType;r[n]=i}return new Yt({...this._def,shape:()=>r})}keyof(){return KR(it.objectKeys(this.shape))}}Yt.create=(e,t)=>new Yt({shape:()=>e,unknownKeys:"strip",catchall:Qi.create(),typeName:He.ZodObject,...Ye(t)});Yt.strictCreate=(e,t)=>new Yt({shape:()=>e,unknownKeys:"strict",catchall:Qi.create(),typeName:He.ZodObject,...Ye(t)});Yt.lazycreate=(e,t)=>new Yt({shape:e,unknownKeys:"strip",catchall:Qi.create(),typeName:He.ZodObject,...Ye(t)});class Yh extends at{_parse(t){const{ctx:r}=this._processInputParams(t),n=this._def.options;function a(i){for(const s of i)if(s.result.status==="valid")return s.result;for(const s of i)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;const o=i.map(s=>new ci(s.ctx.common.issues));return ye(r,{code:ue.invalid_union,unionErrors:o}),We}if(r.common.async)return Promise.all(n.map(async i=>{const o={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(a);{let i;const o=[];for(const u of n){const c={...r,common:{...r.common,issues:[]},parent:null},f=u._parseSync({data:r.data,path:r.path,parent:c});if(f.status==="valid")return f;f.status==="dirty"&&!i&&(i={result:f,ctx:c}),c.common.issues.length&&o.push(c.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;const s=o.map(u=>new ci(u));return ye(r,{code:ue.invalid_union,unionErrors:s}),We}}get options(){return this._def.options}}Yh.create=(e,t)=>new Yh({options:e,typeName:He.ZodUnion,...Ye(t)});function J0(e,t){const r=Oi(e),n=Oi(t);if(e===t)return{valid:!0,data:e};if(r===be.object&&n===be.object){const a=it.objectKeys(t),i=it.objectKeys(e).filter(s=>a.indexOf(s)!==-1),o={...e,...t};for(const s of i){const u=J0(e[s],t[s]);if(!u.valid)return{valid:!1};o[s]=u.data}return{valid:!0,data:o}}else if(r===be.array&&n===be.array){if(e.length!==t.length)return{valid:!1};const a=[];for(let i=0;i{if(YO(i)||YO(o))return We;const s=J0(i.value,o.value);return s.valid?((ZO(i)||ZO(o))&&r.dirty(),{status:r.value,value:s.data}):(ye(n,{code:ue.invalid_intersection_types}),We)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,o])=>a(i,o)):a(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}Zh.create=(e,t,r)=>new Zh({left:e,right:t,typeName:He.ZodIntersection,...Ye(r)});class es extends at{_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==be.array)return ye(n,{code:ue.invalid_type,expected:be.array,received:n.parsedType}),We;if(n.data.lengththis._def.items.length&&(ye(n,{code:ue.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());const i=[...n.data].map((o,s)=>{const u=this._def.items[s]||this._def.rest;return u?u._parse(new Ji(n,o,n.path,s)):null}).filter(o=>!!o);return n.common.async?Promise.all(i).then(o=>Sn.mergeArray(r,o)):Sn.mergeArray(r,i)}get items(){return this._def.items}rest(t){return new es({...this._def,rest:t})}}es.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new es({items:e,typeName:He.ZodTuple,rest:null,...Ye(t)})};class iN extends at{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==be.map)return ye(n,{code:ue.invalid_type,expected:be.map,received:n.parsedType}),We;const a=this._def.keyType,i=this._def.valueType,o=[...n.data.entries()].map(([s,u],c)=>({key:a._parse(new Ji(n,s,n.path,[c,"key"])),value:i._parse(new Ji(n,u,n.path,[c,"value"]))}));if(n.common.async){const s=new Map;return Promise.resolve().then(async()=>{for(const u of o){const c=await u.key,f=await u.value;if(c.status==="aborted"||f.status==="aborted")return We;(c.status==="dirty"||f.status==="dirty")&&r.dirty(),s.set(c.value,f.value)}return{status:r.value,value:s}})}else{const s=new Map;for(const u of o){const c=u.key,f=u.value;if(c.status==="aborted"||f.status==="aborted")return We;(c.status==="dirty"||f.status==="dirty")&&r.dirty(),s.set(c.value,f.value)}return{status:r.value,value:s}}}}iN.create=(e,t,r)=>new iN({valueType:t,keyType:e,typeName:He.ZodMap,...Ye(r)});class Sd extends at{_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==be.set)return ye(n,{code:ue.invalid_type,expected:be.set,received:n.parsedType}),We;const a=this._def;a.minSize!==null&&n.data.sizea.maxSize.value&&(ye(n,{code:ue.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),r.dirty());const i=this._def.valueType;function o(u){const c=new Set;for(const f of u){if(f.status==="aborted")return We;f.status==="dirty"&&r.dirty(),c.add(f.value)}return{status:r.value,value:c}}const s=[...n.data.values()].map((u,c)=>i._parse(new Ji(n,u,n.path,c)));return n.common.async?Promise.all(s).then(u=>o(u)):o(s)}min(t,r){return new Sd({...this._def,minSize:{value:t,message:je.toString(r)}})}max(t,r){return new Sd({...this._def,maxSize:{value:t,message:je.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}}Sd.create=(e,t)=>new Sd({valueType:e,minSize:null,maxSize:null,typeName:He.ZodSet,...Ye(t)});class oN extends at{get schema(){return this._def.getter()}_parse(t){const{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}}oN.create=(e,t)=>new oN({getter:e,typeName:He.ZodLazy,...Ye(t)});class sN extends at{_parse(t){if(t.data!==this._def.value){const r=this._getOrReturnCtx(t);return ye(r,{received:r.data,code:ue.invalid_literal,expected:this._def.value}),We}return{status:"valid",value:t.data}}get value(){return this._def.value}}sN.create=(e,t)=>new sN({value:e,typeName:He.ZodLiteral,...Ye(t)});function KR(e,t){return new Ul({values:e,typeName:He.ZodEnum,...Ye(t)})}class Ul extends at{_parse(t){if(typeof t.data!="string"){const r=this._getOrReturnCtx(t),n=this._def.values;return ye(r,{expected:it.joinValues(n),received:r.parsedType,code:ue.invalid_type}),We}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){const r=this._getOrReturnCtx(t),n=this._def.values;return ye(r,{received:r.data,code:ue.invalid_enum_value,options:n}),We}return Wn(t.data)}get options(){return this._def.values}get enum(){const t={};for(const r of this._def.values)t[r]=r;return t}get Values(){const t={};for(const r of this._def.values)t[r]=r;return t}get Enum(){const t={};for(const r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return Ul.create(t,{...this._def,...r})}exclude(t,r=this._def){return Ul.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}}Ul.create=KR;class lN extends at{_parse(t){const r=it.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==be.string&&n.parsedType!==be.number){const a=it.objectValues(r);return ye(n,{expected:it.joinValues(a),received:n.parsedType,code:ue.invalid_type}),We}if(this._cache||(this._cache=new Set(it.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const a=it.objectValues(r);return ye(n,{received:n.data,code:ue.invalid_enum_value,options:a}),We}return Wn(t.data)}get enum(){return this._def.values}}lN.create=(e,t)=>new lN({values:e,typeName:He.ZodNativeEnum,...Ye(t)});class Jh extends at{unwrap(){return this._def.type}_parse(t){const{ctx:r}=this._processInputParams(t);if(r.parsedType!==be.promise&&r.common.async===!1)return ye(r,{code:ue.invalid_type,expected:be.promise,received:r.parsedType}),We;const n=r.parsedType===be.promise?r.data:Promise.resolve(r.data);return Wn(n.then(a=>this._def.type.parseAsync(a,{path:r.path,errorMap:r.common.contextualErrorMap})))}}Jh.create=(e,t)=>new Jh({type:e,typeName:He.ZodPromise,...Ye(t)});class ts extends at{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===He.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:r,ctx:n}=this._processInputParams(t),a=this._def.effect||null,i={addIssue:o=>{ye(n,o),o.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),a.type==="preprocess"){const o=a.transform(n.data,i);if(n.common.async)return Promise.resolve(o).then(async s=>{if(r.value==="aborted")return We;const u=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return u.status==="aborted"?We:u.status==="dirty"||r.value==="dirty"?Zu(u.value):u});{if(r.value==="aborted")return We;const s=this._def.schema._parseSync({data:o,path:n.path,parent:n});return s.status==="aborted"?We:s.status==="dirty"||r.value==="dirty"?Zu(s.value):s}}if(a.type==="refinement"){const o=s=>{const u=a.refinement(s,i);if(n.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){const s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?We:(s.status==="dirty"&&r.dirty(),o(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?We:(s.status==="dirty"&&r.dirty(),o(s.value).then(()=>({status:r.value,value:s.value}))))}if(a.type==="transform")if(n.common.async===!1){const o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!zl(o))return We;const s=a.transform(o.value,i);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>zl(o)?Promise.resolve(a.transform(o.value,i)).then(s=>({status:r.value,value:s})):We);it.assertNever(a)}}ts.create=(e,t,r)=>new ts({schema:e,typeName:He.ZodEffects,effect:t,...Ye(r)});ts.createWithPreprocess=(e,t,r)=>new ts({schema:t,effect:{type:"preprocess",transform:e},typeName:He.ZodEffects,...Ye(r)});class qi extends at{_parse(t){return this._getType(t)===be.undefined?Wn(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}qi.create=(e,t)=>new qi({innerType:e,typeName:He.ZodOptional,...Ye(t)});class Vl extends at{_parse(t){return this._getType(t)===be.null?Wn(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Vl.create=(e,t)=>new Vl({innerType:e,typeName:He.ZodNullable,...Ye(t)});class Q0 extends at{_parse(t){const{ctx:r}=this._processInputParams(t);let n=r.data;return r.parsedType===be.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}}Q0.create=(e,t)=>new Q0({innerType:e,typeName:He.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Ye(t)});class eb extends at{_parse(t){const{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},a=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Kh(a)?a.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new ci(n.common.issues)},input:n.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new ci(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}eb.create=(e,t)=>new eb({innerType:e,typeName:He.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Ye(t)});class uN extends at{_parse(t){if(this._getType(t)!==be.nan){const n=this._getOrReturnCtx(t);return ye(n,{code:ue.invalid_type,expected:be.nan,received:n.parsedType}),We}return{status:"valid",value:t.data}}}uN.create=e=>new uN({typeName:He.ZodNaN,...Ye(e)});class Pde extends at{_parse(t){const{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}}class k1 extends at{_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{const i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?We:i.status==="dirty"?(r.dirty(),Zu(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{const a=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?We:a.status==="dirty"?(r.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:n.path,parent:n})}}static create(t,r){return new k1({in:t,out:r,typeName:He.ZodPipeline})}}class tb extends at{_parse(t){const r=this._def.innerType._parse(t),n=a=>(zl(a)&&(a.value=Object.freeze(a.value)),a);return Kh(r)?r.then(a=>n(a)):n(r)}unwrap(){return this._def.innerType}}tb.create=(e,t)=>new tb({innerType:e,typeName:He.ZodReadonly,...Ye(t)});var He;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(He||(He={}));const al=Za.create,il=Jo.create;Qo.create;Xh.create;Bl.create;Qi.create;const XR=Ta.create,hv=Yt.create;Yh.create;Zh.create;es.create;Ul.create;Jh.create;qi.create;Vl.create;const gc=ts.createWithPreprocess,YR={string:e=>Za.create({...e,coerce:!0}),number:e=>Jo.create({...e,coerce:!0}),boolean:e=>Xh.create({...e,coerce:!0}),bigint:e=>Qo.create({...e,coerce:!0}),date:e=>Bl.create({...e,coerce:!0})},Cde=hv({paymentMethodType:al().min(1),paymentMethod:al().min(1),bucketSize:YR.number().int().positive(),hedgingPercent:gc(e=>e===""||e===null?null:Number(e),il().nullable()),latencyThreshold:gc(e=>e===""||e===null?null:Number(e),il().nullable())}),Tde=hv({defaultBucketSize:YR.number().int().positive(),defaultSuccessRate:gc(e=>e===""||e===null?null:Number(e),il().min(0).max(1).nullable()),defaultLatencyThreshold:gc(e=>e===""||e===null?null:Number(e),il().nullable()),defaultHedgingPercent:gc(e=>e===""||e===null?null:Number(e),il().nullable()),subLevelInputConfig:XR(Cde)});function $de(){var T,R,L,U,W;const{merchantId:e}=ma(),[t,r]=S.useState(!1),[n,a]=S.useState(null),[i,o]=S.useState(!1),[s,u]=S.useState(!1),[c,f]=S.useState(!1),[d,p]=S.useState(null),{data:h,isLoading:b,mutate:v}=Vt(e?["rule-sr",e]:null,()=>Tt("/rule/get",{merchant_id:e,algorithm:"successRate"}),{shouldRetryOnError:!1}),{register:g,control:y,handleSubmit:m,reset:w,watch:j,formState:{errors:x}}=ede({resolver:ade(Tde),defaultValues:{defaultBucketSize:200,defaultSuccessRate:.5,defaultLatencyThreshold:null,defaultHedgingPercent:null,subLevelInputConfig:[]}});S.useEffect(()=>{var M;if((M=h==null?void 0:h.config)!=null&&M.data){const B=h.config.data;w({defaultBucketSize:B.defaultBucketSize??200,defaultSuccessRate:B.defaultSuccessRate??.5,defaultLatencyThreshold:B.defaultLatencyThreshold??null,defaultHedgingPercent:B.defaultHedgingPercent??null,subLevelInputConfig:B.subLevelInputConfig??[]})}},[h,w]);const{fields:_,append:k,remove:O}=Qce({control:y,name:"subLevelInputConfig"}),A=j("subLevelInputConfig");async function I(){try{await Tt("/merchant-account/create",{merchant_id:e,gateway_success_rate_based_decider_input:null})}catch{}}async function $(M){if(!e){a("Set a Merchant ID first.");return}r(!0),a(null),o(!1);try{await I(),await Tt(h?"/rule/update":"/rule/create",{merchant_id:e,config:{type:"successRate",data:{defaultBucketSize:M.defaultBucketSize,defaultSuccessRate:M.defaultSuccessRate,defaultLatencyThreshold:M.defaultLatencyThreshold,defaultHedgingPercent:M.defaultHedgingPercent,subLevelInputConfig:M.subLevelInputConfig.length>0?M.subLevelInputConfig:null}}}),o(!0),v()}catch(B){a(B instanceof Error?B.message:String(B))}finally{r(!1)}}async function N(){if(e){f(!0),p(null);try{await Tt("/rule/delete",{merchant_id:e,algorithm:"successRate"}),v(void 0,{revalidate:!1})}catch(M){p(M instanceof Error?M.message:String(M))}finally{f(!1)}}}return l.jsxs("div",{className:"space-y-6 max-w-5xl",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900",children:"Auth-Rate Based Routing"}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:"Configure success-rate based gateway routing"})]}),!e&&l.jsx("div",{className:"rounded-lg border border-yellow-200 bg-yellow-50 px-4 py-3 text-sm text-yellow-800",children:"Set a Merchant ID in the top bar to load and save configuration."}),e&&!b&&l.jsxs(Oe,{children:[l.jsxs(rt,{className:"flex flex-row items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Configuration Status"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:(T=h==null?void 0:h.config)!=null&&T.data?"Success Rate routing is configured and active":"No Success Rate configuration found"})]}),l.jsx(Ve,{variant:(R=h==null?void 0:h.config)!=null&&R.data?"green":"gray",children:(L=h==null?void 0:h.config)!=null&&L.data?"Active":"Not Configured"})]}),((U=h==null?void 0:h.config)==null?void 0:U.data)&&l.jsxs(qe,{className:"border-t border-slate-100 dark:border-[#222226]",children:[l.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-600",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Last Modified:"}),l.jsx("span",{className:"ml-1 font-medium",children:h.modified_at?new Date(h.modified_at).toLocaleString():"Unknown"})]}),l.jsxs(Re,{type:"button",variant:"secondary",size:"sm",onClick:()=>{confirm("Are you sure you want to clear the Success Rate configuration? This will disable SR-based routing.")&&N()},disabled:c,children:[l.jsx(ui,{size:14,className:"mr-1"}),c?"Clearing...":"Clear Configuration"]})]}),d&&l.jsx("p",{className:"text-xs text-red-500 mt-2",children:d})]})]}),b?l.jsx("div",{className:"flex justify-center py-12",children:l.jsx(Bt,{})}):l.jsxs("form",{onSubmit:m($),className:"space-y-6",children:[l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Default Success Rate Config"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:"Base settings used when there is no payment-method-specific override."})]})}),l.jsxs(qe,{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-4",children:[l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Bucket Size"}),l.jsx("input",{type:"number",...g("defaultBucketSize"),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"}),x.defaultBucketSize&&l.jsx("p",{className:"text-xs text-red-500",children:x.defaultBucketSize.message})]}),l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Success Rate"}),l.jsx("input",{type:"number",step:"0.1",min:"0",max:"1",...g("defaultSuccessRate"),placeholder:"0.5",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Hedging %"}),l.jsx("input",{type:"number",step:"0.1",...g("defaultHedgingPercent"),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Latency Threshold (ms)"}),l.jsx("input",{type:"number",...g("defaultLatencyThreshold"),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]})]}),l.jsxs(Oe,{children:[l.jsxs(rt,{className:"flex flex-row items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Sub-Level Overrides"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:"Optional overrides for specific payment method type and method combinations."})]}),l.jsxs(Re,{type:"button",variant:"secondary",size:"sm",onClick:()=>k({paymentMethodType:"card",paymentMethod:"credit",bucketSize:20,hedgingPercent:null,latencyThreshold:null}),children:[l.jsx(Zi,{size:14})," Add Level"]})]}),l.jsx(qe,{className:"overflow-x-auto p-0",children:_.length?l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-left text-xs text-slate-500 border-b border-slate-200 dark:border-[#1c1c24] bg-slate-50 dark:bg-[#0a0a0f]",children:[l.jsx("th",{className:"px-4 py-2",children:"Payment Method Type"}),l.jsx("th",{className:"px-4 py-2",children:"Payment Method"}),l.jsx("th",{className:"px-4 py-2",children:"Bucket Size"}),l.jsx("th",{className:"px-4 py-2",children:"Hedging %"}),l.jsx("th",{className:"px-4 py-2",children:"Latency Threshold (ms)"}),l.jsx("th",{className:"px-4 py-2"})]})}),l.jsx("tbody",{children:_.map((M,B)=>{var q;const G=((q=A==null?void 0:A[B])==null?void 0:q.paymentMethodType)||"",H=Bse[G]||[];return l.jsxs("tr",{className:"border-b border-slate-200 dark:border-[#1c1c24] hover:bg-slate-100 dark:bg-[#0f0f16] transition-colors",children:[l.jsx("td",{className:"px-4 py-2",children:l.jsx("select",{...g(`subLevelInputConfig.${B}.paymentMethodType`),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:zse.map(ae=>l.jsx("option",{value:ae,children:ae},ae))})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("select",{...g(`subLevelInputConfig.${B}.paymentMethod`),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:(H.length?H:["credit","debit"]).map(ae=>l.jsx("option",{value:ae,children:ae},ae))})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("input",{type:"number",...g(`subLevelInputConfig.${B}.bucketSize`),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 w-20 focus:outline-none focus:ring-1 focus:ring-brand-500"})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("input",{type:"number",step:"0.1",...g(`subLevelInputConfig.${B}.hedgingPercent`),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 w-20 focus:outline-none focus:ring-1 focus:ring-brand-500"})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("input",{type:"number",...g(`subLevelInputConfig.${B}.latencyThreshold`),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 w-24 focus:outline-none focus:ring-1 focus:ring-brand-500"})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("button",{type:"button",onClick:()=>O(B),className:"text-slate-400 hover:text-red-500",children:l.jsx(ui,{size:14})})})]},M.id)})})]}):l.jsx("div",{className:"px-4 py-8 text-sm text-slate-500",children:"No sub-level overrides configured. The default row above is the only active configuration."})})]}),l.jsx(Ur,{error:n}),i&&l.jsx("div",{className:"rounded-lg border border-emerald-500/20 bg-emerald-500/8 px-4 py-3 text-sm text-emerald-400",children:"Configuration saved successfully."}),((W=h==null?void 0:h.config)==null?void 0:W.data)&&l.jsxs(Oe,{children:[l.jsxs(rt,{className:"flex flex-row items-center justify-between",children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Current Active Configuration"}),l.jsxs(Re,{type:"button",variant:"ghost",size:"sm",onClick:()=>u(!s),children:[l.jsx(Wd,{size:14,className:"mr-1"}),s?"Hide":"View"]})]}),s&&l.jsx(qe,{children:l.jsxs("div",{className:"text-xs text-slate-600 space-y-4",children:[l.jsxs("div",{className:"border-b border-slate-200 dark:border-[#222226] pb-3",children:[l.jsx("h3",{className:"font-medium text-slate-700 mb-2",children:"Default Settings"}),l.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-3",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Bucket Size:"}),l.jsx("p",{className:"font-medium",children:h.config.data.defaultBucketSize})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Success Rate:"}),l.jsx("p",{className:"font-medium",children:h.config.data.defaultSuccessRate??"Not set"})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Hedging %:"}),l.jsx("p",{className:"font-medium",children:h.config.data.defaultHedgingPercent??"Not set"})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Latency Threshold:"}),l.jsxs("p",{className:"font-medium",children:[h.config.data.defaultLatencyThreshold??"Not set"," ms"]})]})]})]}),h.config.data.subLevelInputConfig&&h.config.data.subLevelInputConfig.length>0&&l.jsxs("div",{children:[l.jsx("h3",{className:"font-medium text-slate-700 mb-2",children:"Sub-Level Configurations"}),l.jsx("div",{className:"space-y-2",children:h.config.data.subLevelInputConfig.map((M,B)=>l.jsx("div",{className:"bg-slate-50 dark:bg-[#151518] rounded-lg p-3",children:l.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-2 text-xs",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Payment Type:"}),l.jsx("p",{className:"font-medium capitalize",children:M.paymentMethodType})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Payment Method:"}),l.jsx("p",{className:"font-medium",children:M.paymentMethod})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Bucket Size:"}),l.jsx("p",{className:"font-medium",children:M.bucketSize})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Hedging %:"}),l.jsx("p",{className:"font-medium",children:M.hedgingPercent??"Default"})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Latency Threshold:"}),l.jsxs("p",{className:"font-medium",children:[M.latencyThreshold??"Default"," ms"]})]})]})},B))})]}),l.jsxs("div",{className:"border-t border-gray-200 pt-3",children:[l.jsx("h3",{className:"font-medium text-slate-700 mb-2",children:"Raw Configuration (JSON)"}),l.jsx("pre",{className:"bg-slate-900 dark:bg-[#0f0f11] text-slate-100 border border-transparent dark:border-[#222226] rounded-lg p-3 text-xs overflow-auto max-h-64",children:JSON.stringify(h.config,null,2)})]})]})})]}),l.jsx(Re,{type:"submit",disabled:t||!e,children:t?l.jsxs(l.Fragment,{children:[l.jsx(Bt,{size:14})," Saving…"]}):"Save Configuration"})]})]})}const Rde=hv({id:al().min(1),gatewayName:al().trim().min(1,"Gateway name is required"),gatewayId:al().trim(),split:il().min(0).max(100)}),Ide=hv({ruleName:al().trim().min(1,"Enter a rule name"),gateways:XR(Rde).min(1,"Add at least one gateway")});function Mde(e){var n;const t=Ide.safeParse(e);if(!t.success)return((n=t.error.issues[0])==null?void 0:n.message)||"Invalid volume split rule configuration";const r=t.data.gateways.reduce((a,i)=>a+i.split,0);return r!==100?`Splits must sum to 100 (currently ${r})`:null}function Dde(e,t){return{rule_id:null,name:e.ruleName.trim(),description:"",created_by:t,algorithm_for:"payment",metadata:null,algorithm:{type:"volume_split",data:e.gateways.map(r=>({split:r.split,output:{gateway_name:r.gatewayName.trim(),gateway_id:r.gatewayId.trim()||null}}))}}}function Lde(e){return e.map((t,r)=>{var n,a,i;return{id:`${((n=t.output)==null?void 0:n.gateway_name)||"gateway"}-${r}`,gatewayName:((a=t.output)==null?void 0:a.gateway_name)||"",gatewayId:((i=t.output)==null?void 0:i.gateway_id)||"",split:t.split}})}function Fde(e){const t=e.algorithm_data||e.algorithm;if(!t||t.type!=="volume_split")return null;const r=t.data||[];return{id:e.id,name:e.name,description:e.description,createdAt:e.created_at,gateways:Lde(r)}}const cN=["#0069ED","#10b981","#f59e0b","#ef4444","#8b5cf6","#ec4899"];function Lu(){return Math.random().toString(36).slice(2)}function zde(){const{merchantId:e}=ma(),{mutate:t}=qE(),{data:r,mutate:n}=Vt(e?["active-routing",e]:null,()=>Tt(`/routing/list/active/${e}`)),a=r==null?void 0:r.find(N=>{var T;return((T=N.algorithm_data||N.algorithm)==null?void 0:T.type)==="volume_split"}),[i,o]=S.useState([{id:Lu(),gatewayName:"",gatewayId:"",split:50},{id:Lu(),gatewayName:"",gatewayId:"",split:50}]),[s,u]=S.useState(""),[c,f]=S.useState(!1),[d,p]=S.useState(null),[h,b]=S.useState(null),[v,g]=S.useState(!1),[y,m]=S.useState(new Set),w=i.reduce((N,T)=>N+T.split,0);function j(N,T,R){o(L=>L.map(U=>U.id===N?{...U,[T]:R}:U))}function x(){o(N=>[...N,{id:Lu(),gatewayName:"",gatewayId:"",split:0}])}function _(N){o(T=>T.filter(R=>R.id!==N))}async function k(){if(!e)return p("Set a merchant ID first");const N=Mde({ruleName:s,gateways:i});if(N)return p(N);f(!0),p(null),b(null);try{const T=Dde({ruleName:s,gateways:i},e);await Tt("/routing/create",T),await Promise.all([n(),t(["routing-list",e])]),b(`Rule "${s}" created successfully. Find it in the list below to activate.`),u(""),o([{id:Lu(),gatewayName:"",gatewayId:"",split:50},{id:Lu(),gatewayName:"",gatewayId:"",split:50}])}catch(T){p(T instanceof Error?T.message:"Failed to create rule")}finally{f(!1)}}async function O(N){if(e)try{await Tt("/routing/activate",{created_by:e,routing_algorithm_id:N}),await Promise.all([n(),t(["routing-list",e])]),b("Rule activated.")}catch(T){p(T instanceof Error?T.message:"Failed to activate")}}function A(N){m(T=>{const R=new Set(T);return R.has(N)?R.delete(N):R.add(N),R})}const I=a?a.algorithm_data||a.algorithm:null,$=I&&"data"in I?I.data.map(N=>{var T,R;return{name:`${((T=N.output)==null?void 0:T.gateway_name)??"?"}${(R=N.output)!=null&&R.gateway_id?` (${N.output.gateway_id})`:""}`,value:N.split}}):[];return l.jsxs("div",{className:"space-y-6 max-w-4xl",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold text-slate-900",children:"Volume Split Routing"}),l.jsx("p",{className:"text-slate-500 mt-1 text-sm",children:"Distribute payment traffic across gateways by percentage."})]}),a&&l.jsxs(Oe,{children:[l.jsxs(rt,{className:"flex flex-row items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Active Volume Split"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:a.name})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Ve,{variant:"green",children:"Active"}),l.jsxs(Re,{type:"button",variant:"ghost",size:"sm",onClick:()=>g(!v),children:[l.jsx(Wd,{size:14,className:"mr-1"}),v?"Hide":"View"]})]})]}),v&&l.jsxs(qe,{children:[l.jsx(Ri,{width:"100%",height:220,children:l.jsxs(s1,{children:[l.jsx(ha,{data:$,dataKey:"value",nameKey:"name",cx:"50%",cy:"50%",outerRadius:80,label:({name:N,value:T})=>`${N}: ${T}%`,labelLine:{stroke:"#45454f"},children:$.map((N,T)=>l.jsx(Hi,{fill:cN[T%cN.length]},T))}),l.jsx(Sr,{formatter:N=>`${N}%`,contentStyle:{backgroundColor:"#0d0d12",border:"1px solid #1c1c24",borderRadius:"8px",color:"#e8e8f4"}}),l.jsx(oa,{wrapperStyle:{color:"#8e8ea0"}})]})}),l.jsxs("div",{className:"mt-4 text-xs text-slate-600",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"Rule ID:"})," ",a.id]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Created:"})," ",a.created_at?new Date(a.created_at).toLocaleString():"Unknown"]})]})]})]}),l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsx("h2",{className:"font-medium text-slate-800",children:"Create Volume Split Rule"})}),l.jsxs(qe,{className:"space-y-4",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Rule Name"}),l.jsx("input",{value:s,onChange:N=>u(N.target.value),placeholder:"e.g. ab-test-split",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm w-64 focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"grid grid-cols-[1fr_1fr_100px_32px] gap-2 text-xs font-medium text-slate-500 px-1",children:[l.jsx("span",{children:"Gateway Name"}),l.jsx("span",{children:"Gateway ID"}),l.jsx("span",{children:"Split %"}),l.jsx("span",{})]}),i.map(N=>l.jsxs("div",{className:"grid grid-cols-[1fr_1fr_100px_32px] gap-2 items-center",children:[l.jsx("input",{value:N.gatewayName,onChange:T=>j(N.id,"gatewayName",T.target.value),placeholder:"e.g. stripe",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{value:N.gatewayId,onChange:T=>j(N.id,"gatewayId",T.target.value),placeholder:"optional gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{type:"number",min:0,max:100,value:N.split,onChange:T=>j(N.id,"split",Number(T.target.value)),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("button",{onClick:()=>_(N.id),className:"text-slate-400 hover:text-red-500",children:l.jsx(ui,{size:15})})]},N.id)),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("button",{onClick:x,className:"flex items-center gap-1 text-sm text-brand-500 hover:text-brand-600",children:[l.jsx(Zi,{size:14})," Add Gateway"]}),l.jsxs("span",{className:`text-xs font-medium ${w===100?"text-emerald-400":"text-red-400"}`,children:["Total: ",w,"%",w!==100&&" (must be 100)"]})]})]}),l.jsx(Ur,{error:d}),h&&l.jsx("p",{className:"text-sm text-emerald-400",children:h}),l.jsx(Re,{onClick:k,disabled:c||!e,children:c?l.jsxs(l.Fragment,{children:[l.jsx(Bt,{size:14})," Creating…"]}):"Create Rule"})]})]}),l.jsx(Bde,{merchantId:e,onActivate:O,expandedRuleIds:y,onToggleExpand:A})]})}function Bde({merchantId:e,onActivate:t,expandedRuleIds:r,onToggleExpand:n}){const{data:a,isLoading:i}=Vt(e?["routing-list",e]:null,()=>Tt(`/routing/list/${e}`)),o=(a==null?void 0:a.filter(s=>{var u;return((u=s.algorithm_data||s.algorithm)==null?void 0:u.type)==="volume_split"}))??[];return e?i?l.jsx("div",{className:"flex justify-center py-4",children:l.jsx(Bt,{})}):o.length?l.jsxs(Oe,{children:[l.jsx(rt,{children:l.jsx("h2",{className:"font-medium text-slate-800",children:"Saved Volume Split Rules"})}),l.jsx(qe,{className:"p-0",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#0a0a0f] text-xs text-slate-500 uppercase tracking-wider",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-4 py-2",children:"Name"}),l.jsx("th",{className:"text-left px-4 py-2",children:"Split"}),l.jsx("th",{className:"px-4 py-2"})]})}),l.jsx("tbody",{className:"divide-y divide-[#1c1c24]",children:o.map(s=>{const u=Fde(s),c=(u==null?void 0:u.gateways.map(p=>`${p.gatewayName}${p.gatewayId?`(${p.gatewayId})`:""}:${p.split}%`).join(" | "))||"",f=s.algorithm_data||s.algorithm,d=r.has(s.id);return l.jsxs(l.Fragment,{children:[l.jsxs("tr",{className:"hover:bg-slate-100 dark:bg-[#0f0f16] transition-colors",children:[l.jsx("td",{className:"px-4 py-2 font-medium text-slate-800",children:s.name}),l.jsx("td",{className:"px-4 py-2 text-slate-600 text-xs",children:c}),l.jsx("td",{className:"px-4 py-2 text-right",children:l.jsxs("div",{className:"flex items-center justify-end gap-2",children:[l.jsxs(Re,{size:"sm",variant:"ghost",onClick:()=>n(s.id),children:[l.jsx(Wd,{size:14,className:"mr-1"}),d?"Hide":"View"]}),l.jsx(Re,{size:"sm",variant:"secondary",onClick:()=>t(s.id),children:"Activate"})]})})]},s.id),d&&l.jsx("tr",{children:l.jsx("td",{colSpan:3,className:"px-4 py-3 bg-slate-50 dark:bg-[#151518]",children:l.jsxs("div",{className:"text-xs text-slate-600 space-y-2",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"ID:"})," ",s.id]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Description:"})," ",s.description||"N/A"]}),s.created_at&&l.jsxs("p",{children:[l.jsx("strong",{children:"Created:"})," ",new Date(s.created_at).toLocaleString()]}),l.jsxs("div",{children:[l.jsx("strong",{children:"Configuration:"}),l.jsx("pre",{className:"mt-1 p-2 bg-slate-100 dark:bg-[#0f0f11] border border-transparent dark:border-[#222226] rounded text-xs overflow-auto max-h-48",children:JSON.stringify(f,null,2)})]})]})})})]})})})]})})]}):null:null}function Ude(){const e=Td(),[t,r]=S.useState(null),n=t??e.pathname,a="/dashboard/";return S.useLayoutEffect(()=>{if(!t)return;(e.pathname===t||e.pathname.startsWith(`${t}/`))&&r(null)},[e.pathname,t]),l.jsxs("aside",{className:"relative z-20 flex h-screen w-64 shrink-0 flex-col border-r border-slate-200 bg-white transition-colors duration-300 dark:border-[#22262f] dark:bg-[#06080d]",children:[l.jsx("div",{className:"flex h-[78px] shrink-0 items-center border-b border-slate-200 px-6 transition-colors duration-300 dark:border-[#22262f]",children:l.jsxs("div",{className:"flex items-center",children:[l.jsx("img",{src:`${a}logo/decision-engine-light.svg`,alt:"Juspay Decision Engine",className:"h-11 w-auto dark:hidden"}),l.jsx("img",{src:`${a}logo/decision-engine-dark.svg`,alt:"Juspay Decision Engine",className:"hidden h-11 w-auto dark:block"})]})}),l.jsxs("nav",{className:"flex-1 space-y-1 overflow-y-auto px-4 py-8",children:[l.jsx(za,{to:"/",icon:ele,end:!0,selectedPath:n,onNavigate:r,children:"Overview"}),l.jsx(za,{to:"/analytics",icon:zh,selectedPath:n,onNavigate:r,children:"Analytics"}),l.jsx(za,{to:"/audit",icon:Fo,selectedPath:n,onNavigate:r,children:"Decision Audit"}),l.jsx("div",{className:"flex items-center gap-2 px-3 pb-3 pt-8",children:l.jsx("span",{className:"text-[11px] font-bold uppercase tracking-widest text-slate-400 dark:text-[#6d768a]",children:"Routing"})}),l.jsx(za,{to:"/routing",icon:hc,end:!0,selectedPath:n,onNavigate:r,children:"Routing Hub"}),l.jsx(za,{to:"/routing/sr",icon:Z$,indent:!0,selectedPath:n,onNavigate:r,children:"Auth-Rate Based"}),l.jsx(za,{to:"/routing/rules",icon:Gse,indent:!0,selectedPath:n,onNavigate:r,children:"Rule-Based"}),l.jsx(za,{to:"/routing/volume",icon:Bh,indent:!0,selectedPath:n,onNavigate:r,children:"Volume Split"}),l.jsx(za,{to:"/routing/debit",icon:X$,indent:!0,selectedPath:n,onNavigate:r,children:"Debit Routing"}),l.jsx("div",{className:"flex items-center gap-2 px-3 pb-3 pt-8",children:l.jsx("span",{className:"text-[11px] font-bold uppercase tracking-widest text-slate-400 dark:text-[#6d768a]",children:"Simulation"})}),l.jsx(za,{to:"/decisions",icon:ile,selectedPath:n,onNavigate:r,children:"Decision Explorer"})]}),l.jsx("div",{className:"border-t border-slate-200 bg-white px-6 py-5 transition-colors duration-300 dark:border-[#22262f] dark:bg-[#0a0d12]",children:l.jsx("span",{className:"text-[11px] font-medium tracking-wide text-slate-500 dark:text-[#7d879b]",children:"v1.4"})})]})}function za({to:e,icon:t,children:r,end:n,indent:a,selectedPath:i,onNavigate:o}){const s=as(),u=n?i===e:i===e||i.startsWith(`${e}/`);return l.jsxs("button",{type:"button","aria-current":u?"page":void 0,onMouseDown:c=>{c.detail>0&&c.preventDefault()},onClick:c=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur(),o==null||o(e),c.currentTarget.blur(),s(e)},className:`group relative flex w-full appearance-none items-center gap-3 rounded-[16px] border-0 px-4 py-3 text-[14px] font-medium transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-[#3b82f6]/40 focus-visible:ring-offset-0 ${a?"pl-8":""} ${u?"bg-transparent text-slate-950 dark:text-white":"bg-transparent text-slate-500 hover:bg-slate-900/[0.025] hover:text-slate-900 dark:text-[#8d96aa] dark:hover:bg-white/[0.035] dark:hover:text-white"}`,children:[l.jsx("span",{"aria-hidden":"true",className:`absolute left-1 top-1/2 h-7 w-[3px] -translate-y-1/2 rounded-full transition-all duration-150 ${u?"bg-brand-600 opacity-100 dark:bg-sky-300":"opacity-0"}`}),l.jsx(t,{size:18,className:`transition-colors duration-200 ${u?"text-brand-600 dark:text-sky-300":"text-slate-400 group-hover:text-slate-700 dark:text-[#697387] dark:group-hover:text-white"}`,strokeWidth:u?2.5:2}),l.jsx("span",{className:"flex-1 text-left",children:r})]})}function Vde(){const e=as(),{user:t,clearAuth:r}=Ca(),[n,a]=S.useState(()=>localStorage.getItem("theme")==="dark");S.useEffect(()=>{const s=window.document.documentElement;n?(s.classList.add("dark"),localStorage.setItem("theme","dark")):(s.classList.remove("dark"),localStorage.setItem("theme","light"))},[n]);async function i(){try{await Vd("/auth/logout",{method:"POST"})}catch{}r(),e("/login",{replace:!0})}const o=t!=null&&t.email?t.email.slice(0,2).toUpperCase():"ME";return l.jsxs("header",{className:"h-14 bg-white dark:bg-[#0c0c10] border-b border-[#e6e6ee] dark:border-[#1a1a24] flex items-center justify-between px-6 shrink-0 relative z-10",children:[l.jsx("div",{}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("button",{onClick:()=>a(!n),className:"w-8 h-8 flex items-center justify-center rounded-lg text-slate-500 hover:bg-slate-100 dark:text-slate-400 dark:hover:bg-[#1a1a24] transition-colors","aria-label":"Toggle theme",children:n?l.jsx(sle,{size:16}):l.jsx(ale,{size:16})}),l.jsx("div",{className:"w-px h-5 bg-[#e6e6ee] dark:bg-[#1a1a24] mx-1"}),t&&l.jsxs("div",{className:"flex items-center gap-2 pl-1",children:[l.jsx("div",{className:"w-7 h-7 rounded-full bg-brand-600 flex items-center justify-center",children:l.jsx("span",{className:"text-[10px] font-semibold text-white",children:o})}),l.jsxs("div",{className:"hidden sm:block",children:[l.jsx("p",{className:"text-[13px] font-medium text-slate-700 dark:text-slate-300 leading-tight",children:t.email}),t.merchantId&&l.jsx("p",{className:"text-[11px] text-slate-400 dark:text-slate-500 leading-tight",children:t.merchantId})]}),l.jsx(Vs,{size:14,className:"text-slate-400 dark:text-slate-500 ml-0.5"})]}),l.jsx("button",{onClick:i,className:"w-8 h-8 flex items-center justify-center rounded-lg text-slate-500 hover:bg-red-50 hover:text-red-500 dark:text-slate-400 dark:hover:bg-red-950/30 dark:hover:text-red-400 transition-colors ml-1","aria-label":"Sign out",title:"Sign out",children:l.jsx(rle,{size:16})})]})]})}function Wde(){return l.jsxs("div",{className:"relative flex h-screen overflow-hidden bg-[#ffffff] text-slate-900 transition-colors duration-300 dark:bg-[#030507] dark:text-white",children:[l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(59,130,246,0.05),_transparent_22%),radial-gradient(circle_at_top_right,_rgba(14,165,233,0.04),_transparent_20%),linear-gradient(180deg,_rgba(255,255,255,1),_rgba(255,255,255,1))] dark:bg-[radial-gradient(circle_at_top_left,_rgba(56,189,248,0.06),_transparent_22%),linear-gradient(180deg,_rgba(3,5,7,1),_rgba(5,8,12,1))]"}),l.jsx("div",{className:"aurora-top"}),l.jsx(Ude,{}),l.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden relative z-10",children:[l.jsx(Vde,{}),l.jsx("main",{className:"relative flex-1 overflow-y-auto p-6 md:p-8",children:l.jsx(ME,{})})]})]})}function Hde(){const e=Ca(o=>o.token),t=Ca(o=>o.setAuth),r=Ca(o=>o.clearAuth),n=ma(o=>o.setMerchantId),[a,i]=S.useState(e?"checking":"invalid");return S.useEffect(()=>{let o=!1;if(!e){i("invalid");return}return i("checking"),Vd("/auth/me").then(s=>{var c;if(o)return;const u=s.merchant_id||((c=s.merchants[0])==null?void 0:c.merchant_id)||"";t(e,{userId:s.user_id,email:s.email,merchantId:u,role:s.role},s.merchants),n(u),i("ready")}).catch(()=>{o||(r(),n(""),i("invalid"))}),()=>{o=!0}},[e,t,r,n]),e?a==="checking"?l.jsx("div",{className:"dark flex min-h-screen items-center justify-center bg-[#030507] text-white",children:l.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-[#1d1d23] bg-[#111318] px-5 py-4 text-sm text-[#c7cfdb]",children:[l.jsx(K$,{size:16,className:"animate-spin text-[#7ea4ff]"}),"Validating session"]})}):a==="invalid"?l.jsx(Xg,{to:"/login",replace:!0}):l.jsx(ME,{}):l.jsx(Xg,{to:"/login",replace:!0})}const Gde=[{title:"Live routing control",description:"Operate auth-rate, rule-based, and volume strategies from one workspace.",icon:Fo},{title:"Merchant-scoped analytics",description:"Track decisions, payment audit trails, and gateway score movement with session-based access.",icon:Hse},{title:"Protected operator access",description:"JWT-backed sessions keep dashboard and analytics actions aligned to your merchant account.",icon:Y$}];function qde(){const e=as(),{setAuth:t}=Ca(),{setMerchantId:r}=ma(),n="/dashboard/",[a,i]=S.useState("login"),[o,s]=S.useState(""),[u,c]=S.useState(""),[f,d]=S.useState(""),[p,h]=S.useState(!1),[b,v]=S.useState(!1),[g,y]=S.useState(null);function m(j){i(j),y(null)}async function w(j){j.preventDefault(),y(null),v(!0);try{const k=await Vd(a==="login"?"/auth/login":"/auth/signup",{method:"POST",body:JSON.stringify(a==="login"?{email:o,password:u}:{email:o,password:u,merchant_id:f})});t(k.token,{userId:k.user_id,email:k.email,merchantId:k.merchant_id,role:k.role}),r(k.merchant_id),e("/",{replace:!0})}catch(x){const _=x instanceof Error?x.message:"Something went wrong",k=_.match(/API error \d+: (.+)/);if(k)try{const O=JSON.parse(k[1]);y(O.message??_)}catch{y(k[1])}else y(_)}finally{v(!1)}}return l.jsxs("div",{className:"relative min-h-screen overflow-hidden bg-[#050913] text-white",children:[l.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(59,130,246,0.24),_transparent_26%),radial-gradient(circle_at_75%_18%,_rgba(14,165,233,0.14),_transparent_24%),radial-gradient(circle_at_bottom_right,_rgba(99,102,241,0.16),_transparent_34%),linear-gradient(180deg,_#07101d_0%,_#050913_52%,_#04070d_100%)]"}),l.jsx("div",{className:"absolute inset-0 opacity-30 [background-image:linear-gradient(rgba(148,163,184,0.08)_1px,transparent_1px),linear-gradient(90deg,rgba(148,163,184,0.08)_1px,transparent_1px)] [background-size:64px_64px]"}),l.jsx("div",{className:"absolute left-10 top-10 h-40 w-40 rounded-full bg-brand-500/20 blur-3xl"}),l.jsx("div",{className:"absolute bottom-0 right-0 h-72 w-72 rounded-full bg-sky-400/10 blur-3xl"}),l.jsxs("div",{className:"relative z-10 mx-auto flex min-h-screen w-full max-w-[1380px] flex-col px-4 py-6 md:px-8 lg:px-10",children:[l.jsxs("header",{className:"flex items-center justify-between py-4",children:[l.jsxs("div",{className:"flex items-center gap-4",children:[l.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-2xl border border-white/10 bg-white/5 backdrop-blur-sm",children:l.jsx("img",{src:`${n}logo/decision-engine-light.svg`,alt:"Decision Engine",className:"h-8 w-auto"})}),l.jsxs("div",{children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.28em] text-sky-200/75",children:"Juspay Internal"}),l.jsx("h1",{className:"text-lg font-semibold tracking-tight text-white",children:"Decision Engine Console"})]})]}),l.jsxs("div",{className:"hidden items-center gap-2 rounded-full border border-white/10 bg-white/5 px-4 py-2 text-xs text-slate-300 backdrop-blur-md md:flex",children:[l.jsx("span",{className:"inline-flex h-2 w-2 rounded-full bg-emerald-400 shadow-[0_0_18px_rgba(74,222,128,0.7)]"}),"Dashboard, analytics, and payment audit"]})]}),l.jsx("div",{className:"flex flex-1 items-center py-6",children:l.jsxs("div",{className:"grid w-full gap-8 lg:grid-cols-[1.05fr_0.95fr] lg:gap-12",children:[l.jsxs("section",{className:"flex flex-col justify-between rounded-[32px] border border-white/10 bg-white/[0.035] p-6 backdrop-blur-xl md:p-8 lg:min-h-[700px] lg:p-10",children:[l.jsxs("div",{className:"space-y-8",children:[l.jsx("div",{className:"inline-flex items-center gap-2 rounded-full border border-sky-300/20 bg-sky-300/10 px-3 py-1 text-[11px] font-semibold uppercase tracking-[0.24em] text-sky-100",children:"Operator Access"}),l.jsxs("div",{className:"max-w-xl space-y-5",children:[l.jsx("h2",{className:"text-4xl font-semibold leading-[1.02] tracking-[-0.04em] text-white md:text-5xl lg:text-[64px]",children:"Route, inspect, and iterate from one control surface."}),l.jsx("p",{className:"max-w-lg text-base leading-7 text-slate-300 md:text-lg",children:"Sign in to the same internal workspace used for gateway routing setup, merchant-scoped analytics, and payment audit review."})]}),l.jsx("div",{className:"grid gap-4 md:grid-cols-3 lg:grid-cols-1",children:Gde.map(({title:j,description:x,icon:_})=>l.jsxs("div",{className:"rounded-[24px] border border-white/8 bg-black/20 p-5 transition-transform duration-300 hover:-translate-y-0.5",children:[l.jsx("div",{className:"mb-4 flex h-11 w-11 items-center justify-center rounded-2xl border border-sky-300/15 bg-sky-300/10 text-sky-100",children:l.jsx(_,{size:18})}),l.jsx("h3",{className:"text-sm font-semibold text-white",children:j}),l.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-400",children:x})]},j))})]}),l.jsxs("div",{className:"mt-10 rounded-[28px] border border-white/10 bg-black/25 p-5",children:[l.jsxs("div",{className:"mb-5 flex items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.24em] text-slate-500",children:"Internal Environment"}),l.jsx("p",{className:"mt-2 text-sm text-slate-300",children:"Access is scoped to the merchant tied to your session."})]}),l.jsx("div",{className:"rounded-full border border-emerald-400/20 bg-emerald-400/10 px-3 py-1 text-xs font-medium text-emerald-200",children:"Auth-derived scope"})]}),l.jsxs("div",{className:"grid gap-3 text-sm text-slate-300 md:grid-cols-3",children:[l.jsxs("div",{className:"rounded-2xl border border-white/8 bg-white/[0.04] px-4 py-3",children:[l.jsx("p",{className:"text-[11px] uppercase tracking-[0.2em] text-slate-500",children:"Gateway routing"}),l.jsx("p",{className:"mt-2 font-medium text-white",children:"SR, rules, debit, and volume split controls"})]}),l.jsxs("div",{className:"rounded-2xl border border-white/8 bg-white/[0.04] px-4 py-3",children:[l.jsx("p",{className:"text-[11px] uppercase tracking-[0.2em] text-slate-500",children:"Analytics"}),l.jsx("p",{className:"mt-2 font-medium text-white",children:"Overview, scores, decisions, and filterable traces"})]}),l.jsxs("div",{className:"rounded-2xl border border-white/8 bg-white/[0.04] px-4 py-3",children:[l.jsx("p",{className:"text-[11px] uppercase tracking-[0.2em] text-slate-500",children:"Payment audit"}),l.jsx("p",{className:"mt-2 font-medium text-white",children:"Timeline detail backed by ClickHouse event streams"})]})]})]})]}),l.jsx("section",{className:"flex items-center justify-center",children:l.jsx("div",{className:"w-full max-w-[520px] rounded-[34px] border border-white/10 bg-[#f8fbff] p-4 shadow-[0_40px_140px_-48px_rgba(8,15,28,0.72)] md:p-5",children:l.jsxs("div",{className:"overflow-hidden rounded-[28px] border border-slate-200 bg-white shadow-[0_20px_80px_-54px_rgba(15,23,42,0.35)]",children:[l.jsxs("div",{className:"border-b border-slate-200 bg-[linear-gradient(180deg,#ffffff_0%,#f8fbff_100%)] px-6 py-6 md:px-8",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("div",{className:"flex h-11 w-11 items-center justify-center rounded-2xl bg-slate-950 text-white shadow-[0_18px_40px_-28px_rgba(15,23,42,0.55)]",children:l.jsx("img",{src:`${n}logo/decision-engine-dark.svg`,alt:"Decision Engine",className:"h-7 w-auto"})}),l.jsxs("div",{children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.26em] text-slate-400",children:"Access Portal"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500",children:a==="login"?"Continue into the internal routing workspace.":"Create an operator account for an existing merchant."})]})]}),l.jsxs("div",{className:"mt-6 inline-flex rounded-full border border-slate-200 bg-slate-50 p-1",children:[l.jsx(dN,{active:a==="login",onClick:()=>m("login"),children:"Sign in"}),l.jsx(dN,{active:a==="signup",onClick:()=>m("signup"),children:"Sign up"})]})]}),l.jsxs("div",{className:"px-6 py-7 md:px-8 md:py-8",children:[l.jsxs("div",{className:"mb-7",children:[l.jsx("h3",{className:"text-[30px] font-semibold tracking-[-0.035em] text-slate-950",children:a==="login"?"Welcome back.":"Create operator access."}),l.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-500",children:a==="login"?"Use the email and password tied to your Decision Engine merchant.":"Sign-up is for an existing merchant account. You will land directly in the dashboard after provisioning."})]}),l.jsxs("form",{onSubmit:w,className:"space-y-5",children:[l.jsx(Qy,{label:"Email",children:l.jsx(eg,{type:"email",value:o,onChange:j=>s(j.target.value),placeholder:"name@company.com",required:!0,icon:l.jsx(nle,{size:16})})}),l.jsx(Qy,{label:"Password",footer:a==="login"?"Password reset is managed by your internal operator admin.":void 0,children:l.jsxs("div",{className:"relative",children:[l.jsx(eg,{type:p?"text":"password",value:u,onChange:j=>c(j.target.value),placeholder:"Enter your password",required:!0,icon:l.jsx(tle,{size:16}),className:"pr-12"}),l.jsx("button",{type:"button",onClick:()=>h(j=>!j),className:"absolute right-4 top-1/2 -translate-y-1/2 text-slate-400 transition-colors hover:text-slate-700","aria-label":p?"Hide password":"Show password",children:p?l.jsx(Wd,{size:18}):l.jsx(Zse,{size:18})})]})}),a==="signup"&&l.jsx(Qy,{label:"Merchant ID",footer:"The merchant account must already exist before operator signup.",children:l.jsx(eg,{type:"text",value:f,onChange:j=>d(j.target.value),placeholder:"merchant_123",required:!0})}),l.jsx(Ur,{error:g}),l.jsx("button",{type:"submit",disabled:b,className:"group inline-flex h-14 w-full items-center justify-center gap-2 rounded-2xl bg-slate-950 px-5 text-sm font-semibold text-white transition-all duration-200 hover:bg-brand-600 disabled:cursor-not-allowed disabled:bg-slate-400",children:b?l.jsxs(l.Fragment,{children:[l.jsx(K$,{size:16,className:"animate-spin"}),"Authenticating"]}):l.jsxs(l.Fragment,{children:[a==="login"?"Enter workspace":"Create account",l.jsx(q$,{size:16,className:"transition-transform duration-200 group-hover:translate-x-0.5"})]})})]}),l.jsxs("div",{className:"mt-7 flex flex-col gap-3 border-t border-slate-200 pt-5 text-xs text-slate-500 sm:flex-row sm:items-center sm:justify-between",children:[l.jsx("p",{children:"By continuing you agree to internal access policy and audit logging for operator actions."}),l.jsx("p",{className:"font-medium text-slate-700",children:"Juspay Decision Engine"})]})]})]})})})]})})]})]})}function dN({active:e,children:t,onClick:r}){return l.jsx("button",{type:"button",onClick:r,className:`rounded-full px-4 py-2 text-sm font-semibold transition-all duration-200 ${e?"bg-white text-slate-950 shadow-[0_8px_24px_-18px_rgba(15,23,42,0.45)]":"text-slate-500 hover:text-slate-900"}`,children:t})}function Qy({label:e,children:t,footer:r}){return l.jsxs("label",{className:"block",children:[l.jsx("span",{className:"mb-2 block text-[13px] font-semibold uppercase tracking-[0.18em] text-slate-500",children:e}),t,r?l.jsx("p",{className:"mt-2 text-xs leading-5 text-slate-500",children:r}):null]})}function eg({icon:e,className:t="",...r}){return l.jsxs("div",{className:"relative",children:[e?l.jsx("span",{className:"pointer-events-none absolute left-4 top-1/2 -translate-y-1/2 text-slate-400",children:e}):null,l.jsx("input",{...r,className:`h-14 w-full rounded-2xl border border-slate-200 bg-slate-50 px-4 text-sm text-slate-900 placeholder:text-slate-400 focus:border-brand-500 focus:bg-white focus:ring-4 focus:ring-brand-500/10 ${e?"pl-12":""} ${t}`})]})}function Kde(){return l.jsxs(x3,{children:[l.jsx(Qr,{path:"login",element:l.jsx(qde,{})}),l.jsx(Qr,{element:l.jsx(Hde,{}),children:l.jsxs(Qr,{element:l.jsx(Wde,{}),children:[l.jsx(Qr,{index:!0,element:l.jsx(yce,{})}),l.jsx(Qr,{path:"routing",element:l.jsx(Pce,{})}),l.jsx(Qr,{path:"routing/sr",element:l.jsx($de,{})}),l.jsx(Qr,{path:"routing/rules",element:l.jsx(pce,{})}),l.jsx(Qr,{path:"routing/volume",element:l.jsx(zde,{})}),l.jsx(Qr,{path:"routing/debit",element:l.jsx(ble,{})}),l.jsx(Qr,{path:"decisions",element:l.jsx(xle,{})}),l.jsx(Qr,{path:"analytics",element:l.jsx(Lse,{})}),l.jsx(Qr,{path:"audit",element:l.jsx(Ece,{})}),l.jsx(Qr,{path:"*",element:l.jsx(Xg,{to:".",replace:!0})})]})})]})}class Xde extends S.Component{constructor(){super(...arguments);I1(this,"state",{error:null,errorInfo:null})}static getDerivedStateFromError(r){return{error:r,errorInfo:null}}componentDidCatch(r,n){console.log(` -`+"!".repeat(80)),console.log("[ERROR BOUNDARY] Component Error Caught"),console.log(`Timestamp: ${new Date().toISOString()}`),console.log("Error Message:",r.message),console.log("Error Stack:",r.stack),console.log("Component Stack:",n.componentStack),console.log("!".repeat(80)+` -`),this.setState({errorInfo:n})}render(){return this.state.error?l.jsxs("div",{style:{padding:32,fontFamily:"monospace",color:"red"},children:[l.jsx("h2",{children:"Dashboard Error"}),l.jsx("pre",{children:this.state.error.message}),l.jsx("pre",{children:this.state.error.stack}),this.state.errorInfo&&l.jsxs("pre",{style:{marginTop:16,color:"darkred"},children:["Component Stack:",this.state.errorInfo.componentStack]})]}):this.props.children}}const Yde="/dashboard/".endsWith("/")?"/dashboard/".slice(0,-1):"/dashboard/";console.log(` -`+"=".repeat(80));console.log("[APP STARTUP] Dashboard initializing...");console.log(`Timestamp: ${new Date().toISOString()}`);console.log("Environment: production");console.log("Base URL: /dashboard/");console.log("=".repeat(80)+` -`);window.onerror=(e,t,r,n,a)=>{console.log(` -`+"!".repeat(80)),console.log("[WINDOW ERROR]"),console.log("Message:",e),console.log("Source:",t),console.log("Line:",r,"Column:",n),a&&(console.log("Error:",a.message),console.log("Stack:",a.stack)),console.log("!".repeat(80)+` -`)};window.onunhandledrejection=e=>{console.log(` -`+"!".repeat(80)),console.log("[UNHANDLED PROMISE REJECTION]"),console.log("Reason:",e.reason),e.reason instanceof Error&&console.log("Stack:",e.reason.stack),console.log("!".repeat(80)+` -`)};tg.createRoot(document.getElementById("root")).render(l.jsx(E.StrictMode,{children:l.jsx(Xde,{children:l.jsx(j3,{basename:Yde,children:l.jsx(Kde,{})})})})); diff --git a/website/dist/assets/index-Djr5XM95.js b/website/dist/assets/index-Djr5XM95.js new file mode 100644 index 00000000..b362412d --- /dev/null +++ b/website/dist/assets/index-Djr5XM95.js @@ -0,0 +1,388 @@ +var vI=Object.defineProperty;var xI=(e,t,r)=>t in e?vI(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var t_=(e,t,r)=>xI(e,typeof t!="symbol"?t+"":t,r);function bI(e,t){for(var r=0;rn[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))n(a);new MutationObserver(a=>{for(const i of a)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(a){const i={};return a.integrity&&(i.integrity=a.integrity),a.referrerPolicy&&(i.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?i.credentials="include":a.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(a){if(a.ep)return;a.ep=!0;const i=r(a);fetch(a.href,i)}})();var tf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function vt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var $N={exports:{}},um={},RN={exports:{}},et={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Od=Symbol.for("react.element"),wI=Symbol.for("react.portal"),_I=Symbol.for("react.fragment"),jI=Symbol.for("react.strict_mode"),SI=Symbol.for("react.profiler"),kI=Symbol.for("react.provider"),OI=Symbol.for("react.context"),NI=Symbol.for("react.forward_ref"),AI=Symbol.for("react.suspense"),EI=Symbol.for("react.memo"),PI=Symbol.for("react.lazy"),r_=Symbol.iterator;function CI(e){return e===null||typeof e!="object"?null:(e=r_&&e[r_]||e["@@iterator"],typeof e=="function"?e:null)}var IN={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},MN=Object.assign,DN={};function Yl(e,t,r){this.props=e,this.context=t,this.refs=DN,this.updater=r||IN}Yl.prototype.isReactComponent={};Yl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Yl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function LN(){}LN.prototype=Yl.prototype;function yb(e,t,r){this.props=e,this.context=t,this.refs=DN,this.updater=r||IN}var vb=yb.prototype=new LN;vb.constructor=yb;MN(vb,Yl.prototype);vb.isPureReactComponent=!0;var n_=Array.isArray,FN=Object.prototype.hasOwnProperty,xb={current:null},zN={key:!0,ref:!0,__self:!0,__source:!0};function BN(e,t,r){var n,a={},i=null,s=null;if(t!=null)for(n in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(i=""+t.key),t)FN.call(t,n)&&!zN.hasOwnProperty(n)&&(a[n]=t[n]);var o=arguments.length-2;if(o===1)a.children=r;else if(1>>1,K=I[G];if(0>>1;Ga(le,W))gea($e,le)?(I[G]=$e,I[ge]=W,G=ge):(I[G]=le,I[q]=W,G=q);else if(gea($e,W))I[G]=$e,I[ge]=W,G=ge;else break e}}return B}function a(I,B){var W=I.sortIndex-B.sortIndex;return W!==0?W:I.id-B.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var s=Date,o=s.now();e.unstable_now=function(){return s.now()-o}}var u=[],c=[],f=1,d=null,p=3,h=!1,x=!1,v=!1,g=typeof setTimeout=="function"?setTimeout:null,y=typeof clearTimeout=="function"?clearTimeout:null,m=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(I){for(var B=r(c);B!==null;){if(B.callback===null)n(c);else if(B.startTime<=I)n(c),B.sortIndex=B.expirationTime,t(u,B);else break;B=r(c)}}function j(I){if(v=!1,w(I),!x)if(r(u)!==null)x=!0,V(b);else{var B=r(c);B!==null&&H(j,B.startTime-I)}}function b(I,B){x=!1,v&&(v=!1,y(O),O=-1),h=!0;var W=p;try{for(w(B),d=r(u);d!==null&&(!(d.expirationTime>B)||I&&!$());){var G=d.callback;if(typeof G=="function"){d.callback=null,p=d.priorityLevel;var K=G(d.expirationTime<=B);B=e.unstable_now(),typeof K=="function"?d.callback=K:d===r(u)&&n(u),w(B)}else n(u);d=r(u)}if(d!==null)var ee=!0;else{var q=r(c);q!==null&&H(j,q.startTime-B),ee=!1}return ee}finally{d=null,p=W,h=!1}}var _=!1,k=null,O=-1,E=5,T=-1;function $(){return!(e.unstable_now()-TI||125G?(I.sortIndex=W,t(c,I),r(u)===null&&I===r(c)&&(v?(y(O),O=-1):v=!0,H(j,W-G))):(I.sortIndex=K,t(u,I),x||h||(x=!0,V(b))),I},e.unstable_shouldYield=$,e.unstable_wrapCallback=function(I){var B=p;return function(){var W=p;p=B;try{return I.apply(this,arguments)}finally{p=W}}}})(GN);HN.exports=GN;var VI=HN.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var WI=S,jn=VI;function oe(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),yv=Object.prototype.hasOwnProperty,HI=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,i_={},s_={};function GI(e){return yv.call(s_,e)?!0:yv.call(i_,e)?!1:HI.test(e)?s_[e]=!0:(i_[e]=!0,!1)}function qI(e,t,r,n){if(r!==null&&r.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function KI(e,t,r,n){if(t===null||typeof t>"u"||qI(e,t,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Xr(e,t,r,n,a,i,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=n,this.attributeNamespace=a,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=s}var Er={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Er[e]=new Xr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Er[t]=new Xr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Er[e]=new Xr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Er[e]=new Xr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Er[e]=new Xr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Er[e]=new Xr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Er[e]=new Xr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Er[e]=new Xr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Er[e]=new Xr(e,5,!1,e.toLowerCase(),null,!1,!1)});var wb=/[\-:]([a-z])/g;function _b(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(wb,_b);Er[t]=new Xr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(wb,_b);Er[t]=new Xr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(wb,_b);Er[t]=new Xr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Er[e]=new Xr(e,1,!1,e.toLowerCase(),null,!1,!1)});Er.xlinkHref=new Xr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Er[e]=new Xr(e,1,!1,e.toLowerCase(),null,!0,!0)});function jb(e,t,r,n){var a=Er.hasOwnProperty(t)?Er[t]:null;(a!==null?a.type!==0:n||!(2o||a[s]!==i[o]){var u=` +`+a[s].replace(" at new "," at ");return e.displayName&&u.includes("")&&(u=u.replace("",e.displayName)),u}while(1<=s&&0<=o);break}}}finally{Ag=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?Bu(e):""}function YI(e){switch(e.tag){case 5:return Bu(e.type);case 16:return Bu("Lazy");case 13:return Bu("Suspense");case 19:return Bu("SuspenseList");case 0:case 2:case 15:return e=Eg(e.type,!1),e;case 11:return e=Eg(e.type.render,!1),e;case 1:return e=Eg(e.type,!0),e;default:return""}}function wv(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Po:return"Fragment";case Eo:return"Portal";case vv:return"Profiler";case Sb:return"StrictMode";case xv:return"Suspense";case bv:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case YN:return(e.displayName||"Context")+".Consumer";case KN:return(e._context.displayName||"Context")+".Provider";case kb:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ob:return t=e.displayName||null,t!==null?t:wv(e.type)||"Memo";case ji:t=e._payload,e=e._init;try{return wv(e(t))}catch{}}return null}function XI(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return wv(t);case 8:return t===Sb?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Xi(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ZN(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function ZI(e){var t=ZN(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var a=r.get,i=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(s){n=""+s,i.call(this,s)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(s){n=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function af(e){e._valueTracker||(e._valueTracker=ZI(e))}function JN(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=ZN(e)?e.checked?"true":"false":e.value),e=n,e!==r?(t.setValue(e),!0):!1}function yp(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function _v(e,t){var r=t.checked;return Ht({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function l_(e,t){var r=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;r=Xi(t.value!=null?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function QN(e,t){t=t.checked,t!=null&&jb(e,"checked",t,!1)}function jv(e,t){QN(e,t);var r=Xi(t.value),n=t.type;if(r!=null)n==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Sv(e,t.type,r):t.hasOwnProperty("defaultValue")&&Sv(e,t.type,Xi(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function u_(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!(n!=="submit"&&n!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function Sv(e,t,r){(t!=="number"||yp(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var Uu=Array.isArray;function Xo(e,t,r,n){if(e=e.options,t){t={};for(var a=0;a"+t.valueOf().toString()+"",t=sf.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function wc(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var Qu={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},JI=["Webkit","ms","Moz","O"];Object.keys(Qu).forEach(function(e){JI.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Qu[t]=Qu[e]})});function nA(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||Qu.hasOwnProperty(e)&&Qu[e]?(""+t).trim():t+"px"}function aA(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var n=r.indexOf("--")===0,a=nA(r,t[r],n);r==="float"&&(r="cssFloat"),n?e.setProperty(r,a):e[r]=a}}var QI=Ht({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Nv(e,t){if(t){if(QI[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(oe(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(oe(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(oe(61))}if(t.style!=null&&typeof t.style!="object")throw Error(oe(62))}}function Av(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ev=null;function Nb(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Pv=null,Zo=null,Jo=null;function f_(e){if(e=Ed(e)){if(typeof Pv!="function")throw Error(oe(280));var t=e.stateNode;t&&(t=hm(t),Pv(e.stateNode,e.type,t))}}function iA(e){Zo?Jo?Jo.push(e):Jo=[e]:Zo=e}function sA(){if(Zo){var e=Zo,t=Jo;if(Jo=Zo=null,f_(e),t)for(e=0;e>>=0,e===0?32:31-(cM(e)/dM|0)|0}var of=64,lf=4194304;function Vu(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function wp(e,t){var r=e.pendingLanes;if(r===0)return 0;var n=0,a=e.suspendedLanes,i=e.pingedLanes,s=r&268435455;if(s!==0){var o=s&~a;o!==0?n=Vu(o):(i&=s,i!==0&&(n=Vu(i)))}else s=r&~a,s!==0?n=Vu(s):i!==0&&(n=Vu(i));if(n===0)return 0;if(t!==0&&t!==n&&!(t&a)&&(a=n&-n,i=t&-t,a>=i||a===16&&(i&4194240)!==0))return t;if(n&4&&(n|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=n;0r;r++)t.push(e);return t}function Nd(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-sa(t),e[t]=r}function mM(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0=tc),w_=" ",__=!1;function OA(e,t){switch(e){case"keyup":return VM.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function NA(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Co=!1;function HM(e,t){switch(e){case"compositionend":return NA(t);case"keypress":return t.which!==32?null:(__=!0,w_);case"textInput":return e=t.data,e===w_&&__?null:e;default:return null}}function GM(e,t){if(Co)return e==="compositionend"||!Ib&&OA(e,t)?(e=SA(),rp=Tb=Ti=null,Co=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=O_(r)}}function CA(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?CA(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function TA(){for(var e=window,t=yp();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=yp(e.document)}return t}function Mb(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function tD(e){var t=TA(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&CA(r.ownerDocument.documentElement,r)){if(n!==null&&Mb(r)){if(t=n.start,e=n.end,e===void 0&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var a=r.textContent.length,i=Math.min(n.start,a);n=n.end===void 0?i:Math.min(n.end,a),!e.extend&&i>n&&(a=n,n=i,i=a),a=N_(r,i);var s=N_(r,n);a&&s&&(e.rangeCount!==1||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(a.node,a.offset),e.removeAllRanges(),i>n?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,To=null,Mv=null,nc=null,Dv=!1;function A_(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Dv||To==null||To!==yp(n)||(n=To,"selectionStart"in n&&Mb(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),nc&&Nc(nc,n)||(nc=n,n=Sp(Mv,"onSelect"),0Io||(e.current=Vv[Io],Vv[Io]=null,Io--)}function At(e,t){Io++,Vv[Io]=e.current,e.current=t}var Zi={},Fr=rs(Zi),on=rs(!1),Us=Zi;function fl(e,t){var r=e.type.contextTypes;if(!r)return Zi;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var a={},i;for(i in r)a[i]=t[i];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function ln(e){return e=e.childContextTypes,e!=null}function Op(){Dt(on),Dt(Fr)}function I_(e,t,r){if(Fr.current!==Zi)throw Error(oe(168));At(Fr,t),At(on,r)}function BA(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var a in n)if(!(a in t))throw Error(oe(108,XI(e)||"Unknown",a));return Ht({},r,n)}function Np(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Zi,Us=Fr.current,At(Fr,e),At(on,on.current),!0}function M_(e,t,r){var n=e.stateNode;if(!n)throw Error(oe(169));r?(e=BA(e,t,Us),n.__reactInternalMemoizedMergedChildContext=e,Dt(on),Dt(Fr),At(Fr,e)):Dt(on),At(on,r)}var Va=null,mm=!1,Vg=!1;function UA(e){Va===null?Va=[e]:Va.push(e)}function pD(e){mm=!0,UA(e)}function ns(){if(!Vg&&Va!==null){Vg=!0;var e=0,t=xt;try{var r=Va;for(xt=1;e>=s,a-=s,Ha=1<<32-sa(t)+a|r<O?(E=k,k=null):E=k.sibling;var T=p(y,k,w[O],j);if(T===null){k===null&&(k=E);break}e&&k&&T.alternate===null&&t(y,k),m=i(T,m,O),_===null?b=T:_.sibling=T,_=T,k=E}if(O===w.length)return r(y,k),Bt&&xs(y,O),b;if(k===null){for(;OO?(E=k,k=null):E=k.sibling;var $=p(y,k,T.value,j);if($===null){k===null&&(k=E);break}e&&k&&$.alternate===null&&t(y,k),m=i($,m,O),_===null?b=$:_.sibling=$,_=$,k=E}if(T.done)return r(y,k),Bt&&xs(y,O),b;if(k===null){for(;!T.done;O++,T=w.next())T=d(y,T.value,j),T!==null&&(m=i(T,m,O),_===null?b=T:_.sibling=T,_=T);return Bt&&xs(y,O),b}for(k=n(y,k);!T.done;O++,T=w.next())T=h(k,y,O,T.value,j),T!==null&&(e&&T.alternate!==null&&k.delete(T.key===null?O:T.key),m=i(T,m,O),_===null?b=T:_.sibling=T,_=T);return e&&k.forEach(function(A){return t(y,A)}),Bt&&xs(y,O),b}function g(y,m,w,j){if(typeof w=="object"&&w!==null&&w.type===Po&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case nf:e:{for(var b=w.key,_=m;_!==null;){if(_.key===b){if(b=w.type,b===Po){if(_.tag===7){r(y,_.sibling),m=a(_,w.props.children),m.return=y,y=m;break e}}else if(_.elementType===b||typeof b=="object"&&b!==null&&b.$$typeof===ji&&F_(b)===_.type){r(y,_.sibling),m=a(_,w.props),m.ref=wu(y,_,w),m.return=y,y=m;break e}r(y,_);break}else t(y,_);_=_.sibling}w.type===Po?(m=Ds(w.props.children,y.mode,j,w.key),m.return=y,y=m):(j=cp(w.type,w.key,w.props,null,y.mode,j),j.ref=wu(y,m,w),j.return=y,y=j)}return s(y);case Eo:e:{for(_=w.key;m!==null;){if(m.key===_)if(m.tag===4&&m.stateNode.containerInfo===w.containerInfo&&m.stateNode.implementation===w.implementation){r(y,m.sibling),m=a(m,w.children||[]),m.return=y,y=m;break e}else{r(y,m);break}else t(y,m);m=m.sibling}m=Zg(w,y.mode,j),m.return=y,y=m}return s(y);case ji:return _=w._init,g(y,m,_(w._payload),j)}if(Uu(w))return x(y,m,w,j);if(gu(w))return v(y,m,w,j);mf(y,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,m!==null&&m.tag===6?(r(y,m.sibling),m=a(m,w),m.return=y,y=m):(r(y,m),m=Xg(w,y.mode,j),m.return=y,y=m),s(y)):r(y,m)}return g}var hl=GA(!0),qA=GA(!1),Pp=rs(null),Cp=null,Lo=null,zb=null;function Bb(){zb=Lo=Cp=null}function Ub(e){var t=Pp.current;Dt(Pp),e._currentValue=t}function Gv(e,t,r){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===r)break;e=e.return}}function el(e,t){Cp=e,zb=Lo=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(tn=!0),e.firstContext=null)}function Bn(e){var t=e._currentValue;if(zb!==e)if(e={context:e,memoizedValue:t,next:null},Lo===null){if(Cp===null)throw Error(oe(308));Lo=e,Cp.dependencies={lanes:0,firstContext:e}}else Lo=Lo.next=e;return t}var As=null;function Vb(e){As===null?As=[e]:As.push(e)}function KA(e,t,r,n){var a=t.interleaved;return a===null?(r.next=r,Vb(t)):(r.next=a.next,a.next=r),t.interleaved=r,ni(e,n)}function ni(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var Si=!1;function Wb(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function YA(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ja(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Vi(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,ot&2){var a=n.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),n.pending=t,ni(e,r)}return a=n.interleaved,a===null?(t.next=t,Vb(n)):(t.next=a.next,a.next=t),n.interleaved=t,ni(e,r)}function ap(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,Eb(e,r)}}function z_(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var a=null,i=null;if(r=r.firstBaseUpdate,r!==null){do{var s={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};i===null?a=i=s:i=i.next=s,r=r.next}while(r!==null);i===null?a=i=t:i=i.next=t}else a=i=t;r={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:n.shared,effects:n.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function Tp(e,t,r,n){var a=e.updateQueue;Si=!1;var i=a.firstBaseUpdate,s=a.lastBaseUpdate,o=a.shared.pending;if(o!==null){a.shared.pending=null;var u=o,c=u.next;u.next=null,s===null?i=c:s.next=c,s=u;var f=e.alternate;f!==null&&(f=f.updateQueue,o=f.lastBaseUpdate,o!==s&&(o===null?f.firstBaseUpdate=c:o.next=c,f.lastBaseUpdate=u))}if(i!==null){var d=a.baseState;s=0,f=c=u=null,o=i;do{var p=o.lane,h=o.eventTime;if((n&p)===p){f!==null&&(f=f.next={eventTime:h,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var x=e,v=o;switch(p=t,h=r,v.tag){case 1:if(x=v.payload,typeof x=="function"){d=x.call(h,d,p);break e}d=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=v.payload,p=typeof x=="function"?x.call(h,d,p):x,p==null)break e;d=Ht({},d,p);break e;case 2:Si=!0}}o.callback!==null&&o.lane!==0&&(e.flags|=64,p=a.effects,p===null?a.effects=[o]:p.push(o))}else h={eventTime:h,lane:p,tag:o.tag,payload:o.payload,callback:o.callback,next:null},f===null?(c=f=h,u=d):f=f.next=h,s|=p;if(o=o.next,o===null){if(o=a.shared.pending,o===null)break;p=o,o=p.next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}while(!0);if(f===null&&(u=d),a.baseState=u,a.firstBaseUpdate=c,a.lastBaseUpdate=f,t=a.shared.interleaved,t!==null){a=t;do s|=a.lane,a=a.next;while(a!==t)}else i===null&&(a.shared.lanes=0);Hs|=s,e.lanes=s,e.memoizedState=d}}function B_(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;tr?r:4,e(!0);var n=Hg.transition;Hg.transition={};try{e(!1),t()}finally{xt=r,Hg.transition=n}}function fE(){return Un().memoizedState}function yD(e,t,r){var n=Hi(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},pE(e))hE(t,r);else if(r=KA(e,t,r,n),r!==null){var a=Kr();oa(r,e,n,a),mE(r,t,n)}}function vD(e,t,r){var n=Hi(e),a={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(pE(e))hE(t,a);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var s=t.lastRenderedState,o=i(s,r);if(a.hasEagerState=!0,a.eagerState=o,ca(o,s)){var u=t.interleaved;u===null?(a.next=a,Vb(t)):(a.next=u.next,u.next=a),t.interleaved=a;return}}catch{}finally{}r=KA(e,t,a,n),r!==null&&(a=Kr(),oa(r,e,n,a),mE(r,t,n))}}function pE(e){var t=e.alternate;return e===Wt||t!==null&&t===Wt}function hE(e,t){ac=Rp=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function mE(e,t,r){if(r&4194240){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,Eb(e,r)}}var Ip={readContext:Bn,useCallback:Tr,useContext:Tr,useEffect:Tr,useImperativeHandle:Tr,useInsertionEffect:Tr,useLayoutEffect:Tr,useMemo:Tr,useReducer:Tr,useRef:Tr,useState:Tr,useDebugValue:Tr,useDeferredValue:Tr,useTransition:Tr,useMutableSource:Tr,useSyncExternalStore:Tr,useId:Tr,unstable_isNewReconciler:!1},xD={readContext:Bn,useCallback:function(e,t){return xa().memoizedState=[e,t===void 0?null:t],e},useContext:Bn,useEffect:V_,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,sp(4194308,4,oE.bind(null,t,e),r)},useLayoutEffect:function(e,t){return sp(4194308,4,e,t)},useInsertionEffect:function(e,t){return sp(4,2,e,t)},useMemo:function(e,t){var r=xa();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=xa();return t=r!==void 0?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=yD.bind(null,Wt,e),[n.memoizedState,e]},useRef:function(e){var t=xa();return e={current:e},t.memoizedState=e},useState:U_,useDebugValue:Jb,useDeferredValue:function(e){return xa().memoizedState=e},useTransition:function(){var e=U_(!1),t=e[0];return e=gD.bind(null,e[1]),xa().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=Wt,a=xa();if(Bt){if(r===void 0)throw Error(oe(407));r=r()}else{if(r=t(),br===null)throw Error(oe(349));Ws&30||QA(n,t,r)}a.memoizedState=r;var i={value:r,getSnapshot:t};return a.queue=i,V_(tE.bind(null,n,i,e),[e]),n.flags|=2048,Ic(9,eE.bind(null,n,i,r,t),void 0,null),r},useId:function(){var e=xa(),t=br.identifierPrefix;if(Bt){var r=Ga,n=Ha;r=(n&~(1<<32-sa(n)-1)).toString(32)+r,t=":"+t+"R"+r,r=$c++,0<\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=s.createElement(r,{is:n.is}):(e=s.createElement(r),r==="select"&&(s=e,n.multiple?s.multiple=!0:n.size&&(s.size=n.size))):e=s.createElementNS(e,r),e[wa]=t,e[Pc]=n,kE(e,t,!1,!1),t.stateNode=e;e:{switch(s=Av(r,n),r){case"dialog":$t("cancel",e),$t("close",e),a=n;break;case"iframe":case"object":case"embed":$t("load",e),a=n;break;case"video":case"audio":for(a=0;ayl&&(t.flags|=128,n=!0,_u(i,!1),t.lanes=4194304)}else{if(!n)if(e=$p(s),e!==null){if(t.flags|=128,n=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),_u(i,!0),i.tail===null&&i.tailMode==="hidden"&&!s.alternate&&!Bt)return $r(t),null}else 2*Qt()-i.renderingStartTime>yl&&r!==1073741824&&(t.flags|=128,n=!0,_u(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(r=i.last,r!==null?r.sibling=s:t.child=s,i.last=s)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Qt(),t.sibling=null,r=Vt.current,At(Vt,n?r&1|2:r&1),t):($r(t),null);case 22:case 23:return aw(),n=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==n&&(t.flags|=8192),n&&t.mode&1?gn&1073741824&&($r(t),t.subtreeFlags&6&&(t.flags|=8192)):$r(t),null;case 24:return null;case 25:return null}throw Error(oe(156,t.tag))}function ND(e,t){switch(Lb(t),t.tag){case 1:return ln(t.type)&&Op(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ml(),Dt(on),Dt(Fr),qb(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Gb(t),null;case 13:if(Dt(Vt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(oe(340));pl()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Dt(Vt),null;case 4:return ml(),null;case 10:return Ub(t.type._context),null;case 22:case 23:return aw(),null;case 24:return null;default:return null}}var yf=!1,Mr=!1,AD=typeof WeakSet=="function"?WeakSet:Set,ve=null;function Fo(e,t){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){Kt(e,t,n)}else r.current=null}function tx(e,t,r){try{r()}catch(n){Kt(e,t,n)}}var ej=!1;function ED(e,t){if(Lv=_p,e=TA(),Mb(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var a=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{r.nodeType,i.nodeType}catch{r=null;break e}var s=0,o=-1,u=-1,c=0,f=0,d=e,p=null;t:for(;;){for(var h;d!==r||a!==0&&d.nodeType!==3||(o=s+a),d!==i||n!==0&&d.nodeType!==3||(u=s+n),d.nodeType===3&&(s+=d.nodeValue.length),(h=d.firstChild)!==null;)p=d,d=h;for(;;){if(d===e)break t;if(p===r&&++c===a&&(o=s),p===i&&++f===n&&(u=s),(h=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=h}r=o===-1||u===-1?null:{start:o,end:u}}else r=null}r=r||{start:0,end:0}}else r=null;for(Fv={focusedElem:e,selectionRange:r},_p=!1,ve=t;ve!==null;)if(t=ve,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ve=e;else for(;ve!==null;){t=ve;try{var x=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var v=x.memoizedProps,g=x.memoizedState,y=t.stateNode,m=y.getSnapshotBeforeUpdate(t.elementType===t.type?v:Jn(t.type,v),g);y.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var w=t.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(oe(163))}}catch(j){Kt(t,t.return,j)}if(e=t.sibling,e!==null){e.return=t.return,ve=e;break}ve=t.return}return x=ej,ej=!1,x}function ic(e,t,r){var n=t.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var a=n=n.next;do{if((a.tag&e)===e){var i=a.destroy;a.destroy=void 0,i!==void 0&&tx(t,r,i)}a=a.next}while(a!==n)}}function vm(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var n=r.create;r.destroy=n()}r=r.next}while(r!==t)}}function rx(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t=="function"?t(e):t.current=e}}function AE(e){var t=e.alternate;t!==null&&(e.alternate=null,AE(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[wa],delete t[Pc],delete t[Uv],delete t[dD],delete t[fD])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function EE(e){return e.tag===5||e.tag===3||e.tag===4}function tj(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||EE(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function nx(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=kp));else if(n!==4&&(e=e.child,e!==null))for(nx(e,t,r),e=e.sibling;e!==null;)nx(e,t,r),e=e.sibling}function ax(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(e=e.child,e!==null))for(ax(e,t,r),e=e.sibling;e!==null;)ax(e,t,r),e=e.sibling}var kr=null,Qn=!1;function xi(e,t,r){for(r=r.child;r!==null;)PE(e,t,r),r=r.sibling}function PE(e,t,r){if(ka&&typeof ka.onCommitFiberUnmount=="function")try{ka.onCommitFiberUnmount(cm,r)}catch{}switch(r.tag){case 5:Mr||Fo(r,t);case 6:var n=kr,a=Qn;kr=null,xi(e,t,r),kr=n,Qn=a,kr!==null&&(Qn?(e=kr,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):kr.removeChild(r.stateNode));break;case 18:kr!==null&&(Qn?(e=kr,r=r.stateNode,e.nodeType===8?Ug(e.parentNode,r):e.nodeType===1&&Ug(e,r),kc(e)):Ug(kr,r.stateNode));break;case 4:n=kr,a=Qn,kr=r.stateNode.containerInfo,Qn=!0,xi(e,t,r),kr=n,Qn=a;break;case 0:case 11:case 14:case 15:if(!Mr&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){a=n=n.next;do{var i=a,s=i.destroy;i=i.tag,s!==void 0&&(i&2||i&4)&&tx(r,t,s),a=a.next}while(a!==n)}xi(e,t,r);break;case 1:if(!Mr&&(Fo(r,t),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(o){Kt(r,t,o)}xi(e,t,r);break;case 21:xi(e,t,r);break;case 22:r.mode&1?(Mr=(n=Mr)||r.memoizedState!==null,xi(e,t,r),Mr=n):xi(e,t,r);break;default:xi(e,t,r)}}function rj(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new AD),t.forEach(function(n){var a=LD.bind(null,e,n);r.has(n)||(r.add(n),n.then(a,a))})}}function Yn(e,t){var r=t.deletions;if(r!==null)for(var n=0;na&&(a=s),n&=~i}if(n=a,n=Qt()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*CD(n/1960))-n,10e?16:e,$i===null)var n=!1;else{if(e=$i,$i=null,Lp=0,ot&6)throw Error(oe(331));var a=ot;for(ot|=4,ve=e.current;ve!==null;){var i=ve,s=i.child;if(ve.flags&16){var o=i.deletions;if(o!==null){for(var u=0;uQt()-rw?Ms(e,0):tw|=r),un(e,t)}function LE(e,t){t===0&&(e.mode&1?(t=lf,lf<<=1,!(lf&130023424)&&(lf=4194304)):t=1);var r=Kr();e=ni(e,t),e!==null&&(Nd(e,t,r),un(e,r))}function DD(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),LE(e,r)}function LD(e,t){var r=0;switch(e.tag){case 13:var n=e.stateNode,a=e.memoizedState;a!==null&&(r=a.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(oe(314))}n!==null&&n.delete(t),LE(e,r)}var FE;FE=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||on.current)tn=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return tn=!1,kD(e,t,r);tn=!!(e.flags&131072)}else tn=!1,Bt&&t.flags&1048576&&VA(t,Ep,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;op(e,t),e=t.pendingProps;var a=fl(t,Fr.current);el(t,r),a=Yb(null,t,n,e,a,r);var i=Xb();return t.flags|=1,typeof a=="object"&&a!==null&&typeof a.render=="function"&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ln(n)?(i=!0,Np(t)):i=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Wb(t),a.updater=ym,t.stateNode=a,a._reactInternals=t,Kv(t,n,e,r),t=Zv(null,t,n,!0,i,r)):(t.tag=0,Bt&&i&&Db(t),Vr(null,t,a,r),t=t.child),t;case 16:n=t.elementType;e:{switch(op(e,t),e=t.pendingProps,a=n._init,n=a(n._payload),t.type=n,a=t.tag=zD(n),e=Jn(n,e),a){case 0:t=Xv(null,t,n,e,r);break e;case 1:t=Z_(null,t,n,e,r);break e;case 11:t=Y_(null,t,n,e,r);break e;case 14:t=X_(null,t,n,Jn(n.type,e),r);break e}throw Error(oe(306,n,""))}return t;case 0:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:Jn(n,a),Xv(e,t,n,a,r);case 1:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:Jn(n,a),Z_(e,t,n,a,r);case 3:e:{if(_E(t),e===null)throw Error(oe(387));n=t.pendingProps,i=t.memoizedState,a=i.element,YA(e,t),Tp(t,n,null,r);var s=t.memoizedState;if(n=s.element,i.isDehydrated)if(i={element:n,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){a=gl(Error(oe(423)),t),t=J_(e,t,n,r,a);break e}else if(n!==a){a=gl(Error(oe(424)),t),t=J_(e,t,n,r,a);break e}else for(xn=Ui(t.stateNode.containerInfo.firstChild),bn=t,Bt=!0,ra=null,r=qA(t,null,n,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(pl(),n===a){t=ai(e,t,r);break e}Vr(e,t,n,r)}t=t.child}return t;case 5:return XA(t),e===null&&Hv(t),n=t.type,a=t.pendingProps,i=e!==null?e.memoizedProps:null,s=a.children,zv(n,a)?s=null:i!==null&&zv(n,i)&&(t.flags|=32),wE(e,t),Vr(e,t,s,r),t.child;case 6:return e===null&&Hv(t),null;case 13:return jE(e,t,r);case 4:return Hb(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=hl(t,null,n,r):Vr(e,t,n,r),t.child;case 11:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:Jn(n,a),Y_(e,t,n,a,r);case 7:return Vr(e,t,t.pendingProps,r),t.child;case 8:return Vr(e,t,t.pendingProps.children,r),t.child;case 12:return Vr(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(n=t.type._context,a=t.pendingProps,i=t.memoizedProps,s=a.value,At(Pp,n._currentValue),n._currentValue=s,i!==null)if(ca(i.value,s)){if(i.children===a.children&&!on.current){t=ai(e,t,r);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var o=i.dependencies;if(o!==null){s=i.child;for(var u=o.firstContext;u!==null;){if(u.context===n){if(i.tag===1){u=Ja(-1,r&-r),u.tag=2;var c=i.updateQueue;if(c!==null){c=c.shared;var f=c.pending;f===null?u.next=u:(u.next=f.next,f.next=u),c.pending=u}}i.lanes|=r,u=i.alternate,u!==null&&(u.lanes|=r),Gv(i.return,r,t),o.lanes|=r;break}u=u.next}}else if(i.tag===10)s=i.type===t.type?null:i.child;else if(i.tag===18){if(s=i.return,s===null)throw Error(oe(341));s.lanes|=r,o=s.alternate,o!==null&&(o.lanes|=r),Gv(s,r,t),s=i.sibling}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===t){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}Vr(e,t,a.children,r),t=t.child}return t;case 9:return a=t.type,n=t.pendingProps.children,el(t,r),a=Bn(a),n=n(a),t.flags|=1,Vr(e,t,n,r),t.child;case 14:return n=t.type,a=Jn(n,t.pendingProps),a=Jn(n.type,a),X_(e,t,n,a,r);case 15:return xE(e,t,t.type,t.pendingProps,r);case 17:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:Jn(n,a),op(e,t),t.tag=1,ln(n)?(e=!0,Np(t)):e=!1,el(t,r),gE(t,n,a),Kv(t,n,a,r),Zv(null,t,n,!0,e,r);case 19:return SE(e,t,r);case 22:return bE(e,t,r)}throw Error(oe(156,t.tag))};function zE(e,t){return pA(e,t)}function FD(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ln(e,t,r,n){return new FD(e,t,r,n)}function sw(e){return e=e.prototype,!(!e||!e.isReactComponent)}function zD(e){if(typeof e=="function")return sw(e)?1:0;if(e!=null){if(e=e.$$typeof,e===kb)return 11;if(e===Ob)return 14}return 2}function Gi(e,t){var r=e.alternate;return r===null?(r=Ln(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function cp(e,t,r,n,a,i){var s=2;if(n=e,typeof e=="function")sw(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Po:return Ds(r.children,a,i,t);case Sb:s=8,a|=8;break;case vv:return e=Ln(12,r,t,a|2),e.elementType=vv,e.lanes=i,e;case xv:return e=Ln(13,r,t,a),e.elementType=xv,e.lanes=i,e;case bv:return e=Ln(19,r,t,a),e.elementType=bv,e.lanes=i,e;case XN:return bm(r,a,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case KN:s=10;break e;case YN:s=9;break e;case kb:s=11;break e;case Ob:s=14;break e;case ji:s=16,n=null;break e}throw Error(oe(130,e==null?e:typeof e,""))}return t=Ln(s,r,t,a),t.elementType=e,t.type=n,t.lanes=i,t}function Ds(e,t,r,n){return e=Ln(7,e,n,t),e.lanes=r,e}function bm(e,t,r,n){return e=Ln(22,e,n,t),e.elementType=XN,e.lanes=r,e.stateNode={isHidden:!1},e}function Xg(e,t,r){return e=Ln(6,e,null,t),e.lanes=r,e}function Zg(e,t,r){return t=Ln(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function BD(e,t,r,n,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cg(0),this.expirationTimes=Cg(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cg(0),this.identifierPrefix=n,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function ow(e,t,r,n,a,i,s,o,u){return e=new BD(e,t,r,o,u),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Ln(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Wb(i),e}function UD(e,t,r){var n=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(WE)}catch(e){console.error(e)}}WE(),WN.exports=kn;var Bo=WN.exports,cj=Bo;gv.createRoot=cj.createRoot,gv.hydrateRoot=cj.hydrateRoot;/** + * @remix-run/router v1.23.2 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Dc(){return Dc=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function dw(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function KD(){return Math.random().toString(36).substr(2,8)}function fj(e,t){return{usr:e.state,key:e.key,idx:t}}function ux(e,t,r,n){return r===void 0&&(r=null),Dc({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Jl(t):t,{state:r,key:t&&t.key||n||KD()})}function HE(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&r!=="?"&&(t+=r.charAt(0)==="?"?r:"?"+r),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function Jl(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function YD(e,t,r,n){n===void 0&&(n={});let{window:a=document.defaultView,v5Compat:i=!1}=n,s=a.history,o=Ri.Pop,u=null,c=f();c==null&&(c=0,s.replaceState(Dc({},s.state,{idx:c}),""));function f(){return(s.state||{idx:null}).idx}function d(){o=Ri.Pop;let g=f(),y=g==null?null:g-c;c=g,u&&u({action:o,location:v.location,delta:y})}function p(g,y){o=Ri.Push;let m=ux(v.location,g,y);c=f()+1;let w=fj(m,c),j=v.createHref(m);try{s.pushState(w,"",j)}catch(b){if(b instanceof DOMException&&b.name==="DataCloneError")throw b;a.location.assign(j)}i&&u&&u({action:o,location:v.location,delta:1})}function h(g,y){o=Ri.Replace;let m=ux(v.location,g,y);c=f();let w=fj(m,c),j=v.createHref(m);s.replaceState(w,"",j),i&&u&&u({action:o,location:v.location,delta:0})}function x(g){let y=a.location.origin!=="null"?a.location.origin:a.location.href,m=typeof g=="string"?g:HE(g);return m=m.replace(/ $/,"%20"),ir(y,"No window.location.(origin|href) available to create URL for href: "+m),new URL(m,y)}let v={get action(){return o},get location(){return e(a,s)},listen(g){if(u)throw new Error("A history only accepts one active listener");return a.addEventListener(dj,d),u=g,()=>{a.removeEventListener(dj,d),u=null}},createHref(g){return t(a,g)},createURL:x,encodeLocation(g){let y=x(g);return{pathname:y.pathname,search:y.search,hash:y.hash}},push:p,replace:h,go(g){return s.go(g)}};return v}var pj;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(pj||(pj={}));function XD(e,t,r){return r===void 0&&(r="/"),ZD(e,t,r)}function ZD(e,t,r,n){let a=typeof t=="string"?Jl(t):t,i=KE(a.pathname||"/",r);if(i==null)return null;let s=GE(e);JD(s);let o=null;for(let u=0;o==null&&u{let u={relativePath:o===void 0?i.path||"":o,caseSensitive:i.caseSensitive===!0,childrenIndex:s,route:i};u.relativePath.startsWith("/")&&(ir(u.relativePath.startsWith(n),'Absolute route path "'+u.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),u.relativePath=u.relativePath.slice(n.length));let c=Ls([n,u.relativePath]),f=r.concat(u);i.children&&i.children.length>0&&(ir(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+c+'".')),GE(i.children,t,f,c)),!(i.path==null&&!i.index)&&t.push({path:c,score:i3(c,i.index),routesMeta:f})};return e.forEach((i,s)=>{var o;if(i.path===""||!((o=i.path)!=null&&o.includes("?")))a(i,s);else for(let u of qE(i.path))a(i,s,u)}),t}function qE(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,a=r.endsWith("?"),i=r.replace(/\?$/,"");if(n.length===0)return a?[i,""]:[i];let s=qE(n.join("/")),o=[];return o.push(...s.map(u=>u===""?i:[i,u].join("/"))),a&&o.push(...s),o.map(u=>e.startsWith("/")&&u===""?"/":u)}function JD(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:s3(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const QD=/^:[\w-]+$/,e3=3,t3=2,r3=1,n3=10,a3=-2,hj=e=>e==="*";function i3(e,t){let r=e.split("/"),n=r.length;return r.some(hj)&&(n+=a3),t&&(n+=t3),r.filter(a=>!hj(a)).reduce((a,i)=>a+(QD.test(i)?e3:i===""?r3:n3),n)}function s3(e,t){return e.length===t.length&&e.slice(0,-1).every((n,a)=>n===t[a])?e[e.length-1]-t[t.length-1]:0}function o3(e,t,r){let{routesMeta:n}=e,a={},i="/",s=[];for(let o=0;o{let{paramName:p,isOptional:h}=f;if(p==="*"){let v=o[d]||"";s=i.slice(0,i.length-v.length).replace(/(.)\/+$/,"$1")}const x=o[d];return h&&!x?c[p]=void 0:c[p]=(x||"").replace(/%2F/g,"/"),c},{}),pathname:i,pathnameBase:s,pattern:e}}function u3(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),dw(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,o,u)=>(n.push({paramName:o,isOptional:u!=null}),u?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function c3(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return dw(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function KE(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}const d3=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,f3=e=>d3.test(e);function p3(e,t){t===void 0&&(t="/");let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?Jl(e):e,i;if(r)if(f3(r))i=r;else{if(r.includes("//")){let s=r;r=r.replace(/\/\/+/g,"/"),dw(!1,"Pathnames cannot have embedded double slashes - normalizing "+(s+" -> "+r))}r.startsWith("/")?i=mj(r.substring(1),"/"):i=mj(r,t)}else i=t;return{pathname:i,search:g3(n),hash:y3(a)}}function mj(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function Jg(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(n)+"]. Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function h3(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function YE(e,t){let r=h3(e);return t?r.map((n,a)=>a===r.length-1?n.pathname:n.pathnameBase):r.map(n=>n.pathnameBase)}function XE(e,t,r,n){n===void 0&&(n=!1);let a;typeof e=="string"?a=Jl(e):(a=Dc({},e),ir(!a.pathname||!a.pathname.includes("?"),Jg("?","pathname","search",a)),ir(!a.pathname||!a.pathname.includes("#"),Jg("#","pathname","hash",a)),ir(!a.search||!a.search.includes("#"),Jg("#","search","hash",a)));let i=e===""||a.pathname==="",s=i?"/":a.pathname,o;if(s==null)o=r;else{let d=t.length-1;if(!n&&s.startsWith("..")){let p=s.split("/");for(;p[0]==="..";)p.shift(),d-=1;a.pathname=p.join("/")}o=d>=0?t[d]:"/"}let u=p3(a,o),c=s&&s!=="/"&&s.endsWith("/"),f=(i||s===".")&&r.endsWith("/");return!u.pathname.endsWith("/")&&(c||f)&&(u.pathname+="/"),u}const Ls=e=>e.join("/").replace(/\/\/+/g,"/"),m3=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),g3=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,y3=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function v3(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const ZE=["post","put","patch","delete"];new Set(ZE);const x3=["get",...ZE];new Set(x3);/** + * React Router v6.30.3 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Lc(){return Lc=Object.assign?Object.assign.bind():function(e){for(var t=1;t{o.current=!0}),S.useCallback(function(c,f){if(f===void 0&&(f={}),!o.current)return;if(typeof c=="number"){n.go(c);return}let d=XE(c,JSON.parse(s),i,f.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:Ls([t,d.pathname])),(f.replace?n.replace:n.push)(d,f.state,f)},[t,n,s,i,e])}const _3=S.createContext(null);function j3(e){let t=S.useContext(as).outlet;return t&&S.createElement(_3.Provider,{value:e},t)}function S3(e,t){return k3(e,t)}function k3(e,t,r,n){Td()||ir(!1);let{navigator:a}=S.useContext(Cd),{matches:i}=S.useContext(as),s=i[i.length-1],o=s?s.params:{};s&&s.pathname;let u=s?s.pathnameBase:"/";s&&s.route;let c=$d(),f;if(t){var d;let g=typeof t=="string"?Jl(t):t;u==="/"||(d=g.pathname)!=null&&d.startsWith(u)||ir(!1),f=g}else f=c;let p=f.pathname||"/",h=p;if(u!=="/"){let g=u.replace(/^\//,"").split("/");h="/"+p.replace(/^\//,"").split("/").slice(g.length).join("/")}let x=XD(e,{pathname:h}),v=P3(x&&x.map(g=>Object.assign({},g,{params:Object.assign({},o,g.params),pathname:Ls([u,a.encodeLocation?a.encodeLocation(g.pathname).pathname:g.pathname]),pathnameBase:g.pathnameBase==="/"?u:Ls([u,a.encodeLocation?a.encodeLocation(g.pathnameBase).pathname:g.pathnameBase])})),i,r,n);return t&&v?S.createElement(km.Provider,{value:{location:Lc({pathname:"/",search:"",hash:"",state:null,key:"default"},f),navigationType:Ri.Pop}},v):v}function O3(){let e=R3(),t=v3(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,a={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return S.createElement(S.Fragment,null,S.createElement("h2",null,"Unexpected Application Error!"),S.createElement("h3",{style:{fontStyle:"italic"}},t),r?S.createElement("pre",{style:a},r):null,null)}const N3=S.createElement(O3,null);class A3 extends S.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location||r.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:r.error,location:r.location,revalidation:t.revalidation||r.revalidation}}componentDidCatch(t,r){console.error("React Router caught the following error during render",t,r)}render(){return this.state.error!==void 0?S.createElement(as.Provider,{value:this.props.routeContext},S.createElement(JE.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function E3(e){let{routeContext:t,match:r,children:n}=e,a=S.useContext(fw);return a&&a.static&&a.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=r.route.id),S.createElement(as.Provider,{value:t},n)}function P3(e,t,r,n){var a;if(t===void 0&&(t=[]),r===void 0&&(r=null),n===void 0&&(n=null),e==null){var i;if(!r)return null;if(r.errors)e=r.matches;else if((i=n)!=null&&i.v7_partialHydration&&t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let s=e,o=(a=r)==null?void 0:a.errors;if(o!=null){let f=s.findIndex(d=>d.route.id&&(o==null?void 0:o[d.route.id])!==void 0);f>=0||ir(!1),s=s.slice(0,Math.min(s.length,f+1))}let u=!1,c=-1;if(r&&n&&n.v7_partialHydration)for(let f=0;f=0?s=s.slice(0,c+1):s=[s[0]];break}}}return s.reduceRight((f,d,p)=>{let h,x=!1,v=null,g=null;r&&(h=o&&d.route.id?o[d.route.id]:void 0,v=d.route.errorElement||N3,u&&(c<0&&p===0?(M3("route-fallback"),x=!0,g=null):c===p&&(x=!0,g=d.route.hydrateFallbackElement||null)));let y=t.concat(s.slice(0,p+1)),m=()=>{let w;return h?w=v:x?w=g:d.route.Component?w=S.createElement(d.route.Component,null):d.route.element?w=d.route.element:w=f,S.createElement(E3,{match:d,routeContext:{outlet:f,matches:y,isDataRoute:r!=null},children:w})};return r&&(d.route.ErrorBoundary||d.route.errorElement||p===0)?S.createElement(A3,{location:r.location,revalidation:r.revalidation,component:v,error:h,children:m(),routeContext:{outlet:null,matches:y,isDataRoute:!0}}):m()},null)}var eP=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(eP||{}),tP=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(tP||{});function C3(e){let t=S.useContext(fw);return t||ir(!1),t}function T3(e){let t=S.useContext(b3);return t||ir(!1),t}function $3(e){let t=S.useContext(as);return t||ir(!1),t}function rP(e){let t=$3(),r=t.matches[t.matches.length-1];return r.route.id||ir(!1),r.route.id}function R3(){var e;let t=S.useContext(JE),r=T3(),n=rP();return t!==void 0?t:(e=r.errors)==null?void 0:e[n]}function I3(){let{router:e}=C3(eP.UseNavigateStable),t=rP(tP.UseNavigateStable),r=S.useRef(!1);return QE(()=>{r.current=!0}),S.useCallback(function(a,i){i===void 0&&(i={}),r.current&&(typeof a=="number"?e.navigate(a):e.navigate(a,Lc({fromRouteId:t},i)))},[e,t])}const gj={};function M3(e,t,r){gj[e]||(gj[e]=!0)}function D3(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function cx(e){let{to:t,replace:r,state:n,relative:a}=e;Td()||ir(!1);let{future:i,static:s}=S.useContext(Cd),{matches:o}=S.useContext(as),{pathname:u}=$d(),c=is(),f=XE(t,YE(o,i.v7_relativeSplatPath),u,a==="path"),d=JSON.stringify(f);return S.useEffect(()=>c(JSON.parse(d),{replace:r,state:n,relative:a}),[c,d,a,r,n]),null}function nP(e){return j3(e.context)}function Ur(e){ir(!1)}function L3(e){let{basename:t="/",children:r=null,location:n,navigationType:a=Ri.Pop,navigator:i,static:s=!1,future:o}=e;Td()&&ir(!1);let u=t.replace(/^\/*/,"/"),c=S.useMemo(()=>({basename:u,navigator:i,static:s,future:Lc({v7_relativeSplatPath:!1},o)}),[u,o,i,s]);typeof n=="string"&&(n=Jl(n));let{pathname:f="/",search:d="",hash:p="",state:h=null,key:x="default"}=n,v=S.useMemo(()=>{let g=KE(f,u);return g==null?null:{location:{pathname:g,search:d,hash:p,state:h,key:x},navigationType:a}},[u,f,d,p,h,x,a]);return v==null?null:S.createElement(Cd.Provider,{value:c},S.createElement(km.Provider,{children:r,value:v}))}function F3(e){let{children:t,location:r}=e;return S3(dx(t),r)}new Promise(()=>{});function dx(e,t){t===void 0&&(t=[]);let r=[];return S.Children.forEach(e,(n,a)=>{if(!S.isValidElement(n))return;let i=[...t,a];if(n.type===S.Fragment){r.push.apply(r,dx(n.props.children,i));return}n.type!==Ur&&ir(!1),!n.props.index||!n.props.children||ir(!1);let s={id:n.props.id||i.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(s.children=dx(n.props.children,i)),r.push(s)}),r}/** + * React Router DOM v6.30.3 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function fx(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map(a=>[r,a]):[[r,n]])},[]))}function z3(e,t){let r=fx(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(i=>{r.append(a,i)})}),r}const B3="6";try{window.__reactRouterVersion=B3}catch{}const U3="startTransition",yj=MI[U3];function V3(e){let{basename:t,children:r,future:n,window:a}=e,i=S.useRef();i.current==null&&(i.current=qD({window:a,v5Compat:!0}));let s=i.current,[o,u]=S.useState({action:s.action,location:s.location}),{v7_startTransition:c}=n||{},f=S.useCallback(d=>{c&&yj?yj(()=>u(d)):u(d)},[u,c]);return S.useLayoutEffect(()=>s.listen(f),[s,f]),S.useEffect(()=>D3(n),[n]),S.createElement(L3,{basename:t,children:r,location:o.location,navigationType:o.action,navigator:s,future:n})}var vj;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(vj||(vj={}));var xj;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(xj||(xj={}));function W3(e){let t=S.useRef(fx(e)),r=S.useRef(!1),n=$d(),a=S.useMemo(()=>z3(n.search,r.current?null:t.current),[n.search]),i=is(),s=S.useCallback((o,u)=>{const c=fx(typeof o=="function"?o(a):o);r.current=!0,i("?"+c,u)},[i,a]);return[a,s]}var aP={exports:{}},iP={};/** + * @license React + * use-sync-external-store-shim.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var vl=S;function H3(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var G3=typeof Object.is=="function"?Object.is:H3,q3=vl.useState,K3=vl.useEffect,Y3=vl.useLayoutEffect,X3=vl.useDebugValue;function Z3(e,t){var r=t(),n=q3({inst:{value:r,getSnapshot:t}}),a=n[0].inst,i=n[1];return Y3(function(){a.value=r,a.getSnapshot=t,Qg(a)&&i({inst:a})},[e,r,t]),K3(function(){return Qg(a)&&i({inst:a}),e(function(){Qg(a)&&i({inst:a})})},[e]),X3(r),r}function Qg(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!G3(e,r)}catch{return!0}}function J3(e,t){return t()}var Q3=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?J3:Z3;iP.useSyncExternalStore=vl.useSyncExternalStore!==void 0?vl.useSyncExternalStore:Q3;aP.exports=iP;var px=aP.exports;const sP=0,oP=1,lP=2,bj=3;var wj=Object.prototype.hasOwnProperty;function hx(e,t){var r,n;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((n=e.length)===t.length)for(;n--&&hx(e[n],t[n]););return n===-1}if(!r||typeof e=="object"){n=0;for(r in e)if(wj.call(e,r)&&++n&&!wj.call(t,r)||!(r in t)||!hx(e[r],t[r]))return!1;return Object.keys(t).length===n}}return e!==e&&t!==t}const Wa=new WeakMap,qa=()=>{},Dr=qa(),mx=Object,rt=e=>e===Dr,_a=e=>typeof e=="function",Ji=(e,t)=>({...e,...t}),uP=e=>_a(e.then),ey={},bf={},pw="undefined",Rd=typeof window!=pw,gx=typeof document!=pw,e5=Rd&&"Deno"in window,t5=()=>Rd&&typeof window.requestAnimationFrame!=pw,cP=(e,t)=>{const r=Wa.get(e);return[()=>!rt(t)&&e.get(t)||ey,n=>{if(!rt(t)){const a=e.get(t);t in bf||(bf[t]=a),r[5](t,Ji(a,n),a||ey)}},r[6],()=>!rt(t)&&t in bf?bf[t]:!rt(t)&&e.get(t)||ey]};let yx=!0;const r5=()=>yx,[vx,xx]=Rd&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[qa,qa],n5=()=>{const e=gx&&document.visibilityState;return rt(e)||e!=="hidden"},a5=e=>(gx&&document.addEventListener("visibilitychange",e),vx("focus",e),()=>{gx&&document.removeEventListener("visibilitychange",e),xx("focus",e)}),i5=e=>{const t=()=>{yx=!0,e()},r=()=>{yx=!1};return vx("online",t),vx("offline",r),()=>{xx("online",t),xx("offline",r)}},s5={isOnline:r5,isVisible:n5},o5={initFocus:a5,initReconnect:i5},_j=!P.useId,rl=!Rd||e5,l5=e=>t5()?window.requestAnimationFrame(e):setTimeout(e,1),ty=rl?S.useEffect:S.useLayoutEffect,ry=typeof navigator<"u"&&navigator.connection,jj=!rl&&ry&&(["slow-2g","2g"].includes(ry.effectiveType)||ry.saveData),wf=new WeakMap,u5=e=>mx.prototype.toString.call(e),ny=(e,t)=>e===`[object ${t}]`;let c5=0;const bx=e=>{const t=typeof e,r=u5(e),n=ny(r,"Date"),a=ny(r,"RegExp"),i=ny(r,"Object");let s,o;if(mx(e)===e&&!n&&!a){if(s=wf.get(e),s)return s;if(s=++c5+"~",wf.set(e,s),Array.isArray(e)){for(s="@",o=0;o{if(_a(e))try{e=e()}catch{e=""}const t=e;return e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?bx(e):"",[e,t]};let d5=0;const wx=()=>++d5;async function dP(...e){const[t,r,n,a]=e,i=Ji({populateCache:!0,throwOnError:!0},typeof a=="boolean"?{revalidate:a}:a||{});let s=i.populateCache;const o=i.rollbackOnError;let u=i.optimisticData;const c=p=>typeof o=="function"?o(p):o!==!1,f=i.throwOnError;if(_a(r)){const p=r,h=[],x=t.keys();for(const v of x)!/^\$(inf|sub)\$/.test(v)&&p(t.get(v)._k)&&h.push(v);return Promise.all(h.map(d))}return d(r);async function d(p){const[h]=hw(p);if(!h)return;const[x,v]=cP(t,h),[g,y,m,w]=Wa.get(t),j=()=>{const M=g[h];return(_a(i.revalidate)?i.revalidate(x().data,p):i.revalidate!==!1)&&(delete m[h],delete w[h],M&&M[0])?M[0](lP).then(()=>x().data):x().data};if(e.length<3)return j();let b=n,_,k=!1;const O=wx();y[h]=[O,0];const E=!rt(u),T=x(),$=T.data,A=T._c,R=rt(A)?$:A;if(E&&(u=_a(u)?u(R,$):u,v({data:u,_c:R})),_a(b))try{b=b(R)}catch(M){_=M,k=!0}if(b&&uP(b))if(b=await b.catch(M=>{_=M,k=!0}),O!==y[h][0]){if(k)throw _;return b}else k&&E&&c(_)&&(s=!0,v({data:R,_c:Dr}));if(s&&!k)if(_a(s)){const M=s(b,R);v({data:M,error:Dr,_c:Dr})}else v({data:b,error:Dr,_c:Dr});if(y[h][1]=wx(),Promise.resolve(j()).then(()=>{v({_c:Dr})}),k){if(f)throw _;return}return b}}const Sj=(e,t)=>{for(const r in e)e[r][0]&&e[r][0](t)},f5=(e,t)=>{if(!Wa.has(e)){const r=Ji(o5,t),n=Object.create(null),a=dP.bind(Dr,e);let i=qa;const s=Object.create(null),o=(f,d)=>{const p=s[f]||[];return s[f]=p,p.push(d),()=>p.splice(p.indexOf(d),1)},u=(f,d,p)=>{e.set(f,d);const h=s[f];if(h)for(const x of h)x(d,p)},c=()=>{if(!Wa.has(e)&&(Wa.set(e,[n,Object.create(null),Object.create(null),Object.create(null),a,u,o]),!rl)){const f=r.initFocus(setTimeout.bind(Dr,Sj.bind(Dr,n,sP))),d=r.initReconnect(setTimeout.bind(Dr,Sj.bind(Dr,n,oP)));i=()=>{f&&f(),d&&d(),Wa.delete(e)}}};return c(),[e,a,c,i]}return[e,Wa.get(e)[4]]},p5=(e,t,r,n,a)=>{const i=r.errorRetryCount,s=a.retryCount,o=~~((Math.random()+.5)*(1<<(s<8?s:8)))*r.errorRetryInterval;!rt(i)&&s>i||setTimeout(n,o,a)},h5=hx,[fP,m5]=f5(new Map),g5=Ji({onLoadingSlow:qa,onSuccess:qa,onError:qa,onErrorRetry:p5,onDiscarded:qa,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:jj?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:jj?5e3:3e3,compare:h5,isPaused:()=>!1,cache:fP,mutate:m5,fallback:{}},s5),y5=(e,t)=>{const r=Ji(e,t);if(t){const{use:n,fallback:a}=e,{use:i,fallback:s}=t;n&&i&&(r.use=n.concat(i)),a&&s&&(r.fallback=Ji(a,s))}return r},v5=S.createContext({}),x5="$inf$",pP=Rd&&window.__SWR_DEVTOOLS_USE__,b5=pP?window.__SWR_DEVTOOLS_USE__:[],w5=()=>{pP&&(window.__SWR_DEVTOOLS_REACT__=P)},_5=e=>_a(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],hP=()=>{const e=S.useContext(v5);return S.useMemo(()=>Ji(g5,e),[e])},j5=e=>(t,r,n)=>e(t,r&&((...i)=>{const[s]=hw(t),[,,,o]=Wa.get(fP);if(s.startsWith(x5))return r(...i);const u=o[s];return rt(u)?r(...i):(delete o[s],u)}),n),S5=b5.concat(j5),k5=e=>function(...r){const n=hP(),[a,i,s]=_5(r),o=y5(n,s);let u=e;const{use:c}=o,f=(c||[]).concat(S5);for(let d=f.length;d--;)u=f[d](u);return u(a,i||o.fetcher||null,o)},O5=(e,t,r)=>{const n=t[e]||(t[e]=[]);return n.push(r),()=>{const a=n.indexOf(r);a>=0&&(n[a]=n[n.length-1],n.pop())}};w5();const ay=P.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}}),iy={dedupe:!0},kj=Promise.resolve(Dr),N5=()=>qa,A5=(e,t,r)=>{const{cache:n,compare:a,suspense:i,fallbackData:s,revalidateOnMount:o,revalidateIfStale:u,refreshInterval:c,refreshWhenHidden:f,refreshWhenOffline:d,keepPreviousData:p,strictServerPrefetchWarning:h}=r,[x,v,g,y]=Wa.get(n),[m,w]=hw(e),j=S.useRef(!1),b=S.useRef(!1),_=S.useRef(m),k=S.useRef(t),O=S.useRef(r),E=()=>O.current,T=()=>E().isVisible()&&E().isOnline(),[$,A,R,M]=cP(n,m),L=S.useRef({}).current,V=rt(s)?rt(r.fallback)?Dr:r.fallback[m]:s,H=(ke,Re)=>{for(const Ie in L){const Oe=Ie;if(Oe==="data"){if(!a(ke[Oe],Re[Oe])&&(!rt(ke[Oe])||!a(ge,Re[Oe])))return!1}else if(Re[Oe]!==ke[Oe])return!1}return!0},I=!j.current,B=S.useMemo(()=>{const ke=$(),Re=M(),Ie=C=>{const z=Ji(C);return delete z._k,(()=>{if(!m||!t||E().isPaused())return!1;if(I&&!rt(o))return o;const ae=rt(V)?z.data:V;return rt(ae)||u})()?{isValidating:!0,isLoading:!0,...z}:z},Oe=Ie(ke),Ge=ke===Re?Oe:Ie(Re);let We=Oe;return[()=>{const C=Ie($());return H(C,We)?(We.data=C.data,We.isLoading=C.isLoading,We.isValidating=C.isValidating,We.error=C.error,We):(We=C,C)},()=>Ge]},[n,m]),W=px.useSyncExternalStore(S.useCallback(ke=>R(m,(Re,Ie)=>{H(Ie,Re)||ke()}),[n,m]),B[0],B[1]),G=x[m]&&x[m].length>0,K=W.data,ee=rt(K)?V&&uP(V)?ay(V):V:K,q=W.error,le=S.useRef(ee),ge=p?rt(K)?rt(le.current)?ee:le.current:K:ee,$e=m&&rt(ee),Pe=S.useRef(null);!rl&&px.useSyncExternalStore(N5,()=>(Pe.current=!1,Pe),()=>(Pe.current=!0,Pe));const J=Pe.current;h&&J&&!i&&$e&&console.warn(`Missing pre-initiated data for serialized key "${m}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);const ue=!m||!t||E().isPaused()||G&&!rt(q)?!1:I&&!rt(o)?o:i?rt(ee)?!1:u:rt(ee)||u,de=I&&ue,X=rt(W.isValidating)?de:W.isValidating,we=rt(W.isLoading)?de:W.isLoading,ye=S.useCallback(async ke=>{const Re=k.current;if(!m||!Re||b.current||E().isPaused())return!1;let Ie,Oe,Ge=!0;const We=ke||{},C=!g[m]||!We.dedupe,z=()=>_j?!b.current&&m===_.current&&j.current:m===_.current,U={isValidating:!1,isLoading:!1},ae=()=>{A(U)},te=()=>{const ne=g[m];ne&&ne[1]===Oe&&delete g[m]},Q={isValidating:!0};rt($().data)&&(Q.isLoading=!0);try{if(C&&(A(Q),r.loadingTimeout&&rt($().data)&&setTimeout(()=>{Ge&&z()&&E().onLoadingSlow(m,r)},r.loadingTimeout),g[m]=[Re(w),wx()]),[Ie,Oe]=g[m],Ie=await Ie,C&&setTimeout(te,r.dedupingInterval),!g[m]||g[m][1]!==Oe)return C&&z()&&E().onDiscarded(m),!1;U.error=Dr;const ne=v[m];if(!rt(ne)&&(Oe<=ne[0]||Oe<=ne[1]||ne[1]===0))return ae(),C&&z()&&E().onDiscarded(m),!1;const _e=$().data;U.data=a(_e,Ie)?_e:Ie,C&&z()&&E().onSuccess(Ie,m,r)}catch(ne){te();const _e=E(),{shouldRetryOnError:Ne}=_e;_e.isPaused()||(U.error=ne,C&&z()&&(_e.onError(ne,m,_e),(Ne===!0||_a(Ne)&&Ne(ne))&&(!E().revalidateOnFocus||!E().revalidateOnReconnect||T())&&_e.onErrorRetry(ne,m,_e,dt=>{const mt=x[m];mt&&mt[0]&&mt[0](bj,dt)},{retryCount:(We.retryCount||0)+1,dedupe:!0})))}return Ge=!1,ae(),!0},[m,n]),qe=S.useCallback((...ke)=>dP(n,_.current,...ke),[]);if(ty(()=>{k.current=t,O.current=r,rt(K)||(le.current=K)}),ty(()=>{if(!m)return;const ke=ye.bind(Dr,iy);let Re=0;E().revalidateOnFocus&&(Re=Date.now()+E().focusThrottleInterval);const Oe=O5(m,x,(Ge,We={})=>{if(Ge==sP){const C=Date.now();E().revalidateOnFocus&&C>Re&&T()&&(Re=C+E().focusThrottleInterval,ke())}else if(Ge==oP)E().revalidateOnReconnect&&T()&&ke();else{if(Ge==lP)return ye();if(Ge==bj)return ye(We)}});return b.current=!1,_.current=m,j.current=!0,A({_k:w}),ue&&(g[m]||(rt(ee)||rl?ke():l5(ke))),()=>{b.current=!0,Oe()}},[m]),ty(()=>{let ke;function Re(){const Oe=_a(c)?c($().data):c;Oe&&ke!==-1&&(ke=setTimeout(Ie,Oe))}function Ie(){!$().error&&(f||E().isVisible())&&(d||E().isOnline())?ye(iy).then(Re):Re()}return Re(),()=>{ke&&(clearTimeout(ke),ke=-1)}},[c,f,d,m]),S.useDebugValue(ge),i){if(!_j&&rl&&$e)throw new Error("Fallback data is required when using Suspense in SSR.");$e&&(k.current=t,O.current=r,b.current=!1);const ke=y[m],Re=!rt(ke)&&$e?qe(ke):kj;if(ay(Re),!rt(q)&&$e)throw q;const Ie=$e?ye(iy):kj;!rt(ge)&&$e&&(Ie.status="fulfilled",Ie.value=!0),ay(Ie)}return{mutate:qe,get data(){return L.data=!0,ge},get error(){return L.error=!0,q},get isValidating(){return L.isValidating=!0,X},get isLoading(){return L.isLoading=!0,we}}},Xt=k5(A5);function mP(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t-1}var NL=OL,AL=Nm;function EL(e,t){var r=this.__data__,n=AL(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var PL=EL,CL=pL,TL=wL,$L=SL,RL=NL,IL=PL;function ru(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t0?1:-1},Ps=function(t){return qs(t)&&t.indexOf("%")===t.length-1},se=function(t){return t8(t)&&!au(t)},i8=function(t){return Fe(t)},pr=function(t){return se(t)||qs(t)},s8=0,oo=function(t){var r=++s8;return"".concat(t||"").concat(r)},Gr=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!se(t)&&!qs(t))return n;var i;if(Ps(t)){var s=t.indexOf("%");i=r*parseFloat(t.slice(0,s))/100}else i=+t;return au(i)&&(i=n),a&&i>r&&(i=r),i},Pi=function(t){if(!t)return null;var r=Object.keys(t);return r&&r.length?t[r[0]]:null},o8=function(t){if(!Array.isArray(t))return!1;for(var r=t.length,n={},a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function h8(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function jx(e){"@babel/helpers - typeof";return jx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jx(e)}var Dj={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},Qa=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},Lj=null,ly=null,Ow=function e(t){if(t===Lj&&Array.isArray(ly))return ly;var r=[];return S.Children.forEach(t,function(n){Fe(n)||(X6.isFragment(n)?r=r.concat(e(n.props.children)):r.push(n))}),ly=r,Lj=t,r};function _n(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(function(a){return Qa(a)}):n=[Qa(t)],Ow(e).forEach(function(a){var i=wn(a,"type.displayName")||wn(a,"type.name");n.indexOf(i)!==-1&&r.push(a)}),r}function yn(e,t){var r=_n(e,t);return r&&r[0]}var Fj=function(t){if(!t||!t.props)return!1;var r=t.props,n=r.width,a=r.height;return!(!se(n)||n<=0||!se(a)||a<=0)},m8=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],g8=function(t){return t&&t.type&&qs(t.type)&&m8.indexOf(t.type)>=0},AP=function(t){return t&&jx(t)==="object"&&"clipDot"in t},y8=function(t,r,n,a){var i,s=(i=oy==null?void 0:oy[a])!==null&&i!==void 0?i:[];return r.startsWith("data-")||!Te(t)&&(a&&s.includes(r)||c8.includes(r))||n&&kw.includes(r)},Ee=function(t,r,n){if(!t||typeof t=="function"||typeof t=="boolean")return null;var a=t;if(S.isValidElement(t)&&(a=t.props),!eu(a))return null;var i={};return Object.keys(a).forEach(function(s){var o;y8((o=a)===null||o===void 0?void 0:o[s],s,r,n)&&(i[s]=a[s])}),i},Sx=function e(t,r){if(t===r)return!0;var n=S.Children.count(t);if(n!==S.Children.count(r))return!1;if(n===0)return!0;if(n===1)return zj(Array.isArray(t)?t[0]:t,Array.isArray(r)?r[0]:r);for(var a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function _8(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Ox(e){var t=e.children,r=e.width,n=e.height,a=e.viewBox,i=e.className,s=e.style,o=e.title,u=e.desc,c=w8(e,b8),f=a||{width:r,height:n,x:0,y:0},d=He("recharts-surface",i);return P.createElement("svg",kx({},Ee(c,!0,"svg"),{className:d,width:r,height:n,style:s,viewBox:"".concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height)}),P.createElement("title",null,o),P.createElement("desc",null,u),t)}var j8=["children","className"];function Nx(){return Nx=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function k8(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var Qe=P.forwardRef(function(e,t){var r=e.children,n=e.className,a=S8(e,j8),i=He("recharts-layer",n);return P.createElement("g",Nx({className:i},Ee(a,!0),{ref:t}),r)}),la=function(t,r){for(var n=arguments.length,a=new Array(n>2?n-2:0),i=2;ia?0:a+t),r=r>a?a:r,r<0&&(r+=a),a=t>r?0:r-t>>>0,t>>>=0;for(var i=Array(a);++n=n?e:A8(e,t,r)}var P8=E8,C8="\\ud800-\\udfff",T8="\\u0300-\\u036f",$8="\\ufe20-\\ufe2f",R8="\\u20d0-\\u20ff",I8=T8+$8+R8,M8="\\ufe0e\\ufe0f",D8="\\u200d",L8=RegExp("["+D8+C8+I8+M8+"]");function F8(e){return L8.test(e)}var EP=F8;function z8(e){return e.split("")}var B8=z8,PP="\\ud800-\\udfff",U8="\\u0300-\\u036f",V8="\\ufe20-\\ufe2f",W8="\\u20d0-\\u20ff",H8=U8+V8+W8,G8="\\ufe0e\\ufe0f",q8="["+PP+"]",Ax="["+H8+"]",Ex="\\ud83c[\\udffb-\\udfff]",K8="(?:"+Ax+"|"+Ex+")",CP="[^"+PP+"]",TP="(?:\\ud83c[\\udde6-\\uddff]){2}",$P="[\\ud800-\\udbff][\\udc00-\\udfff]",Y8="\\u200d",RP=K8+"?",IP="["+G8+"]?",X8="(?:"+Y8+"(?:"+[CP,TP,$P].join("|")+")"+IP+RP+")*",Z8=IP+RP+X8,J8="(?:"+[CP+Ax+"?",Ax,TP,$P,q8].join("|")+")",Q8=RegExp(Ex+"(?="+Ex+")|"+J8+Z8,"g");function eF(e){return e.match(Q8)||[]}var tF=eF,rF=B8,nF=EP,aF=tF;function iF(e){return nF(e)?aF(e):rF(e)}var sF=iF,oF=P8,lF=EP,uF=sF,cF=_P;function dF(e){return function(t){t=cF(t);var r=lF(t)?uF(t):void 0,n=r?r[0]:t.charAt(0),a=r?oF(r,1).join(""):t.slice(1);return n[e]()+a}}var fF=dF,pF=fF,hF=pF("toUpperCase"),mF=hF;const Bm=vt(mF);function Nt(e){return function(){return e}}const MP=Math.cos,Vp=Math.sin,pa=Math.sqrt,Wp=Math.PI,Um=2*Wp,Px=Math.PI,Cx=2*Px,ws=1e-6,gF=Cx-ws;function DP(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return DP;const r=10**t;return function(n){this._+=n[0];for(let a=1,i=n.length;aws)if(!(Math.abs(d*u-c*f)>ws)||!i)this._append`L${this._x1=t},${this._y1=r}`;else{let h=n-s,x=a-o,v=u*u+c*c,g=h*h+x*x,y=Math.sqrt(v),m=Math.sqrt(p),w=i*Math.tan((Px-Math.acos((v+p-g)/(2*y*m)))/2),j=w/m,b=w/y;Math.abs(j-1)>ws&&this._append`L${t+j*f},${r+j*d}`,this._append`A${i},${i},0,0,${+(d*h>f*x)},${this._x1=t+b*u},${this._y1=r+b*c}`}}arc(t,r,n,a,i,s){if(t=+t,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(a),u=n*Math.sin(a),c=t+o,f=r+u,d=1^s,p=s?a-i:i-a;this._x1===null?this._append`M${c},${f}`:(Math.abs(this._x1-c)>ws||Math.abs(this._y1-f)>ws)&&this._append`L${c},${f}`,n&&(p<0&&(p=p%Cx+Cx),p>gF?this._append`A${n},${n},0,1,${d},${t-o},${r-u}A${n},${n},0,1,${d},${this._x1=c},${this._y1=f}`:p>ws&&this._append`A${n},${n},0,${+(p>=Px)},${d},${this._x1=t+n*Math.cos(i)},${this._y1=r+n*Math.sin(i)}`)}rect(t,r,n,a){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+a}h${-n}Z`}toString(){return this._}}function Nw(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new vF(t)}function Aw(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function LP(e){this._context=e}LP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Vm(e){return new LP(e)}function FP(e){return e[0]}function zP(e){return e[1]}function BP(e,t){var r=Nt(!0),n=null,a=Vm,i=null,s=Nw(o);e=typeof e=="function"?e:e===void 0?FP:Nt(e),t=typeof t=="function"?t:t===void 0?zP:Nt(t);function o(u){var c,f=(u=Aw(u)).length,d,p=!1,h;for(n==null&&(i=a(h=s())),c=0;c<=f;++c)!(c=h;--x)o.point(w[x],j[x]);o.lineEnd(),o.areaEnd()}y&&(w[p]=+e(g,p,d),j[p]=+t(g,p,d),o.point(n?+n(g,p,d):w[p],r?+r(g,p,d):j[p]))}if(m)return o=null,m+""||null}function f(){return BP().defined(a).curve(s).context(i)}return c.x=function(d){return arguments.length?(e=typeof d=="function"?d:Nt(+d),n=null,c):e},c.x0=function(d){return arguments.length?(e=typeof d=="function"?d:Nt(+d),c):e},c.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Nt(+d),c):n},c.y=function(d){return arguments.length?(t=typeof d=="function"?d:Nt(+d),r=null,c):t},c.y0=function(d){return arguments.length?(t=typeof d=="function"?d:Nt(+d),c):t},c.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:Nt(+d),c):r},c.lineX0=c.lineY0=function(){return f().x(e).y(t)},c.lineY1=function(){return f().x(e).y(r)},c.lineX1=function(){return f().x(n).y(t)},c.defined=function(d){return arguments.length?(a=typeof d=="function"?d:Nt(!!d),c):a},c.curve=function(d){return arguments.length?(s=d,i!=null&&(o=s(i)),c):s},c.context=function(d){return arguments.length?(d==null?i=o=null:o=s(i=d),c):i},c}class UP{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function xF(e){return new UP(e,!0)}function bF(e){return new UP(e,!1)}const Ew={draw(e,t){const r=pa(t/Wp);e.moveTo(r,0),e.arc(0,0,r,0,Um)}},wF={draw(e,t){const r=pa(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}},VP=pa(1/3),_F=VP*2,jF={draw(e,t){const r=pa(t/_F),n=r*VP;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}},SF={draw(e,t){const r=pa(t),n=-r/2;e.rect(n,n,r,r)}},kF=.8908130915292852,WP=Vp(Wp/10)/Vp(7*Wp/10),OF=Vp(Um/10)*WP,NF=-MP(Um/10)*WP,AF={draw(e,t){const r=pa(t*kF),n=OF*r,a=NF*r;e.moveTo(0,-r),e.lineTo(n,a);for(let i=1;i<5;++i){const s=Um*i/5,o=MP(s),u=Vp(s);e.lineTo(u*r,-o*r),e.lineTo(o*n-u*a,u*n+o*a)}e.closePath()}},uy=pa(3),EF={draw(e,t){const r=-pa(t/(uy*3));e.moveTo(0,r*2),e.lineTo(-uy*r,-r),e.lineTo(uy*r,-r),e.closePath()}},An=-.5,En=pa(3)/2,Tx=1/pa(12),PF=(Tx/2+1)*3,CF={draw(e,t){const r=pa(t/PF),n=r/2,a=r*Tx,i=n,s=r*Tx+r,o=-i,u=s;e.moveTo(n,a),e.lineTo(i,s),e.lineTo(o,u),e.lineTo(An*n-En*a,En*n+An*a),e.lineTo(An*i-En*s,En*i+An*s),e.lineTo(An*o-En*u,En*o+An*u),e.lineTo(An*n+En*a,An*a-En*n),e.lineTo(An*i+En*s,An*s-En*i),e.lineTo(An*o+En*u,An*u-En*o),e.closePath()}};function TF(e,t){let r=null,n=Nw(a);e=typeof e=="function"?e:Nt(e||Ew),t=typeof t=="function"?t:Nt(t===void 0?64:+t);function a(){let i;if(r||(r=i=n()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),i)return r=null,i+""||null}return a.type=function(i){return arguments.length?(e=typeof i=="function"?i:Nt(i),a):e},a.size=function(i){return arguments.length?(t=typeof i=="function"?i:Nt(+i),a):t},a.context=function(i){return arguments.length?(r=i??null,a):r},a}function Hp(){}function Gp(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function HP(e){this._context=e}HP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Gp(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Gp(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function $F(e){return new HP(e)}function GP(e){this._context=e}GP.prototype={areaStart:Hp,areaEnd:Hp,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Gp(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function RF(e){return new GP(e)}function qP(e){this._context=e}qP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:Gp(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function IF(e){return new qP(e)}function KP(e){this._context=e}KP.prototype={areaStart:Hp,areaEnd:Hp,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function MF(e){return new KP(e)}function Uj(e){return e<0?-1:1}function Vj(e,t,r){var n=e._x1-e._x0,a=t-e._x1,i=(e._y1-e._y0)/(n||a<0&&-0),s=(r-e._y1)/(a||n<0&&-0),o=(i*a+s*n)/(n+a);return(Uj(i)+Uj(s))*Math.min(Math.abs(i),Math.abs(s),.5*Math.abs(o))||0}function Wj(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function cy(e,t,r){var n=e._x0,a=e._y0,i=e._x1,s=e._y1,o=(i-n)/3;e._context.bezierCurveTo(n+o,a+o*t,i-o,s-o*r,i,s)}function qp(e){this._context=e}qp.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:cy(this,this._t0,Wj(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,cy(this,Wj(this,r=Vj(this,e,t)),r);break;default:cy(this,this._t0,r=Vj(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function YP(e){this._context=new XP(e)}(YP.prototype=Object.create(qp.prototype)).point=function(e,t){qp.prototype.point.call(this,t,e)};function XP(e){this._context=e}XP.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,a,i){this._context.bezierCurveTo(t,e,n,r,i,a)}};function DF(e){return new qp(e)}function LF(e){return new YP(e)}function ZP(e){this._context=e}ZP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=Hj(e),a=Hj(t),i=0,s=1;s=0;--t)a[t]=(s[t]-a[t+1])/i[t];for(i[r-1]=(e[r]+a[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function zF(e){return new Wm(e,.5)}function BF(e){return new Wm(e,0)}function UF(e){return new Wm(e,1)}function xl(e,t){if((s=e.length)>1)for(var r=1,n,a,i=e[t[0]],s,o=i.length;r=0;)r[t]=t;return r}function VF(e,t){return e[t]}function WF(e){const t=[];return t.key=e,t}function HF(){var e=Nt([]),t=$x,r=xl,n=VF;function a(i){var s=Array.from(e.apply(this,arguments),WF),o,u=s.length,c=-1,f;for(const d of i)for(o=0,++c;o0){for(var r,n,a=0,i=e[0].length,s;a0){for(var r=0,n=e[t[0]],a,i=n.length;r0)||!((i=(a=e[t[0]]).length)>0))){for(var r=0,n=1,a,i,s;n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function ez(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var JP={symbolCircle:Ew,symbolCross:wF,symbolDiamond:jF,symbolSquare:SF,symbolStar:AF,symbolTriangle:EF,symbolWye:CF},tz=Math.PI/180,rz=function(t){var r="symbol".concat(Bm(t));return JP[r]||Ew},nz=function(t,r,n){if(r==="area")return t;switch(n){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var a=18*tz;return 1.25*t*t*(Math.tan(a)-Math.tan(a*2)*Math.pow(Math.tan(a),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},az=function(t,r){JP["symbol".concat(Bm(t))]=r},Pw=function(t){var r=t.type,n=r===void 0?"circle":r,a=t.size,i=a===void 0?64:a,s=t.sizeType,o=s===void 0?"area":s,u=QF(t,YF),c=qj(qj({},u),{},{type:n,size:i,sizeType:o}),f=function(){var g=rz(n),y=TF().type(g).size(nz(i,o,n));return y()},d=c.className,p=c.cx,h=c.cy,x=Ee(c,!0);return p===+p&&h===+h&&i===+i?P.createElement("path",Rx({},x,{className:He("recharts-symbols",d),transform:"translate(".concat(p,", ").concat(h,")"),d:f()})):null};Pw.registerSymbol=az;function bl(e){"@babel/helpers - typeof";return bl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bl(e)}function Ix(){return Ix=Object.assign?Object.assign.bind():function(e){for(var t=1;t`);var m=h.inactive?c:h.color;return P.createElement("li",Ix({className:g,style:d,key:"legend-item-".concat(x)},Ks(n.props,h,x)),P.createElement(Ox,{width:s,height:s,viewBox:f,style:p},n.renderIcon(h)),P.createElement("span",{className:"recharts-legend-item-text",style:{color:m}},v?v(y,h,x):y))})}},{key:"render",value:function(){var n=this.props,a=n.payload,i=n.layout,s=n.align;if(!a||!a.length)return null;var o={padding:0,margin:0,textAlign:i==="horizontal"?s:"left"};return P.createElement("ul",{className:"recharts-default-legend",style:o},this.renderItems())}}])}(S.PureComponent);zc(Cw,"displayName","Legend");zc(Cw,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var hz=Am;function mz(){this.__data__=new hz,this.size=0}var gz=mz;function yz(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var vz=yz;function xz(e){return this.__data__.get(e)}var bz=xz;function wz(e){return this.__data__.has(e)}var _z=wz,jz=Am,Sz=vw,kz=xw,Oz=200;function Nz(e,t){var r=this.__data__;if(r instanceof jz){var n=r.__data__;if(!Sz||n.lengtho))return!1;var c=i.get(e),f=i.get(t);if(c&&f)return c==t&&f==e;var d=-1,p=!0,h=r&Yz?new Hz:void 0;for(i.set(e,t),i.set(t,e);++d-1&&e%1==0&&e-1&&e%1==0&&e<=QB}var Iw=e9,t9=hi,r9=Iw,n9=mi,a9="[object Arguments]",i9="[object Array]",s9="[object Boolean]",o9="[object Date]",l9="[object Error]",u9="[object Function]",c9="[object Map]",d9="[object Number]",f9="[object Object]",p9="[object RegExp]",h9="[object Set]",m9="[object String]",g9="[object WeakMap]",y9="[object ArrayBuffer]",v9="[object DataView]",x9="[object Float32Array]",b9="[object Float64Array]",w9="[object Int8Array]",_9="[object Int16Array]",j9="[object Int32Array]",S9="[object Uint8Array]",k9="[object Uint8ClampedArray]",O9="[object Uint16Array]",N9="[object Uint32Array]",It={};It[x9]=It[b9]=It[w9]=It[_9]=It[j9]=It[S9]=It[k9]=It[O9]=It[N9]=!0;It[a9]=It[i9]=It[y9]=It[s9]=It[v9]=It[o9]=It[l9]=It[u9]=It[c9]=It[d9]=It[f9]=It[p9]=It[h9]=It[m9]=It[g9]=!1;function A9(e){return n9(e)&&r9(e.length)&&!!It[t9(e)]}var E9=A9;function P9(e){return function(t){return e(t)}}var uC=P9,Zp={exports:{}};Zp.exports;(function(e,t){var r=gP,n=t&&!t.nodeType&&t,a=n&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===n,s=i&&r.process,o=function(){try{var u=a&&a.require&&a.require("util").types;return u||s&&s.binding&&s.binding("util")}catch{}}();e.exports=o})(Zp,Zp.exports);var C9=Zp.exports,T9=E9,$9=uC,eS=C9,tS=eS&&eS.isTypedArray,R9=tS?$9(tS):T9,cC=R9,I9=LB,M9=$w,D9=cn,L9=lC,F9=Rw,z9=cC,B9=Object.prototype,U9=B9.hasOwnProperty;function V9(e,t){var r=D9(e),n=!r&&M9(e),a=!r&&!n&&L9(e),i=!r&&!n&&!a&&z9(e),s=r||n||a||i,o=s?I9(e.length,String):[],u=o.length;for(var c in e)(t||U9.call(e,c))&&!(s&&(c=="length"||a&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||F9(c,u)))&&o.push(c);return o}var W9=V9,H9=Object.prototype;function G9(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||H9;return e===r}var q9=G9;function K9(e,t){return function(r){return e(t(r))}}var dC=K9,Y9=dC,X9=Y9(Object.keys,Object),Z9=X9,J9=q9,Q9=Z9,eU=Object.prototype,tU=eU.hasOwnProperty;function rU(e){if(!J9(e))return Q9(e);var t=[];for(var r in Object(e))tU.call(e,r)&&r!="constructor"&&t.push(r);return t}var nU=rU,aU=gw,iU=Iw;function sU(e){return e!=null&&iU(e.length)&&!aU(e)}var Md=sU,oU=W9,lU=nU,uU=Md;function cU(e){return uU(e)?oU(e):lU(e)}var Hm=cU,dU=OB,fU=MB,pU=Hm;function hU(e){return dU(e,pU,fU)}var mU=hU,rS=mU,gU=1,yU=Object.prototype,vU=yU.hasOwnProperty;function xU(e,t,r,n,a,i){var s=r&gU,o=rS(e),u=o.length,c=rS(t),f=c.length;if(u!=f&&!s)return!1;for(var d=u;d--;){var p=o[d];if(!(s?p in t:vU.call(t,p)))return!1}var h=i.get(e),x=i.get(t);if(h&&x)return h==t&&x==e;var v=!0;i.set(e,t),i.set(t,e);for(var g=s;++d-1}var y7=g7;function v7(e,t,r){for(var n=-1,a=e==null?0:e.length;++n=$7){var c=t?null:C7(e);if(c)return T7(c);s=!1,a=P7,u=new N7}else u=t?[]:o;e:for(;++n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Y7(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function X7(e){return e.value}function Z7(e,t){if(P.isValidElement(e))return P.cloneElement(e,t);if(typeof e=="function")return P.createElement(e,t);t.ref;var r=K7(t,z7);return P.createElement(Cw,r)}var vS=1,ia=function(e){function t(){var r;B7(this,t);for(var n=arguments.length,a=new Array(n),i=0;ivS||Math.abs(a.height-this.lastBoundingBox.height)>vS)&&(this.lastBoundingBox.width=a.width,this.lastBoundingBox.height=a.height,n&&n(a)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,n&&n(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?La({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(n){var a=this.props,i=a.layout,s=a.align,o=a.verticalAlign,u=a.margin,c=a.chartWidth,f=a.chartHeight,d,p;if(!n||(n.left===void 0||n.left===null)&&(n.right===void 0||n.right===null))if(s==="center"&&i==="vertical"){var h=this.getBBoxSnapshot();d={left:((c||0)-h.width)/2}}else d=s==="right"?{right:u&&u.right||0}:{left:u&&u.left||0};if(!n||(n.top===void 0||n.top===null)&&(n.bottom===void 0||n.bottom===null))if(o==="middle"){var x=this.getBBoxSnapshot();p={top:((f||0)-x.height)/2}}else p=o==="bottom"?{bottom:u&&u.bottom||0}:{top:u&&u.top||0};return La(La({},d),p)}},{key:"render",value:function(){var n=this,a=this.props,i=a.content,s=a.width,o=a.height,u=a.wrapperStyle,c=a.payloadUniqBy,f=a.payload,d=La(La({position:"absolute",width:s||"auto",height:o||"auto"},this.getDefaultPosition(u)),u);return P.createElement("div",{className:"recharts-legend-wrapper",style:d,ref:function(h){n.wrapperNode=h}},Z7(i,La(La({},this.props),{},{payload:vC(f,c,X7)})))}}],[{key:"getWithHeight",value:function(n,a){var i=La(La({},this.defaultProps),n.props),s=i.layout;return s==="vertical"&&se(n.props.height)?{height:n.props.height}:s==="horizontal"?{width:n.props.width||a}:null}}])}(S.PureComponent);Gm(ia,"displayName","Legend");Gm(ia,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var xS=Id,J7=$w,Q7=cn,bS=xS?xS.isConcatSpreadable:void 0;function eW(e){return Q7(e)||J7(e)||!!(bS&&e&&e[bS])}var tW=eW,rW=sC,nW=tW;function wC(e,t,r,n,a){var i=-1,s=e.length;for(r||(r=nW),a||(a=[]);++i0&&r(o)?t>1?wC(o,t-1,r,n,a):rW(a,o):n||(a[a.length]=o)}return a}var _C=wC;function aW(e){return function(t,r,n){for(var a=-1,i=Object(t),s=n(t),o=s.length;o--;){var u=s[e?o:++a];if(r(i[u],u,i)===!1)break}return t}}var iW=aW,sW=iW,oW=sW(),lW=oW,uW=lW,cW=Hm;function dW(e,t){return e&&uW(e,t,cW)}var jC=dW,fW=Md;function pW(e,t){return function(r,n){if(r==null)return r;if(!fW(r))return e(r,n);for(var a=r.length,i=t?a:-1,s=Object(r);(t?i--:++it||i&&s&&u&&!o&&!c||n&&s&&u||!r&&u||!a)return 1;if(!n&&!i&&!c&&e=o)return u;var c=r[n];return u*(c=="desc"?-1:1)}}return e.index-t.index}var NW=OW,hy=ww,AW=_w,EW=Ma,PW=SC,CW=_W,TW=uC,$W=NW,RW=ou,IW=cn;function MW(e,t,r){t.length?t=hy(t,function(i){return IW(i)?function(s){return AW(s,i.length===1?i[0]:i)}:i}):t=[RW];var n=-1;t=hy(t,TW(EW));var a=PW(e,function(i,s,o){var u=hy(t,function(c){return c(i)});return{criteria:u,index:++n,value:i}});return CW(a,function(i,s){return $W(i,s,r)})}var DW=MW;function LW(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}var FW=LW,zW=FW,_S=Math.max;function BW(e,t,r){return t=_S(t===void 0?e.length-1:t,0),function(){for(var n=arguments,a=-1,i=_S(n.length-t,0),s=Array(i);++a0){if(++t>=ZW)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var tH=eH,rH=XW,nH=tH,aH=nH(rH),iH=aH,sH=ou,oH=UW,lH=iH;function uH(e,t){return lH(oH(e,t,sH),e+"")}var cH=uH,dH=yw,fH=Md,pH=Rw,hH=ss;function mH(e,t,r){if(!hH(r))return!1;var n=typeof t;return(n=="number"?fH(r)&&pH(t,r.length):n=="string"&&t in r)?dH(r[t],e):!1}var qm=mH,gH=_C,yH=DW,vH=cH,SS=qm,xH=vH(function(e,t){if(e==null)return[];var r=t.length;return r>1&&SS(e,t[0],t[1])?t=[]:r>2&&SS(t[0],t[1],t[2])&&(t=[t[0]]),yH(e,gH(t,1),[])}),bH=xH;const Lw=vt(bH);function Bc(e){"@babel/helpers - typeof";return Bc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bc(e)}function Vx(){return Vx=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=t.x),"".concat(ku,"-left"),se(r)&&t&&se(t.x)&&r=t.y),"".concat(ku,"-top"),se(n)&&t&&se(t.y)&&nv?Math.max(f,u[n]):Math.max(d,u[n])}function IH(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function MH(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTopLeft,a=e.position,i=e.reverseDirection,s=e.tooltipBox,o=e.useTranslate3d,u=e.viewBox,c,f,d;return s.height>0&&s.width>0&&r?(f=NS({allowEscapeViewBox:t,coordinate:r,key:"x",offsetTopLeft:n,position:a,reverseDirection:i,tooltipDimension:s.width,viewBox:u,viewBoxDimension:u.width}),d=NS({allowEscapeViewBox:t,coordinate:r,key:"y",offsetTopLeft:n,position:a,reverseDirection:i,tooltipDimension:s.height,viewBox:u,viewBoxDimension:u.height}),c=IH({translateX:f,translateY:d,useTranslate3d:o})):c=$H,{cssProperties:c,cssClasses:RH({translateX:f,translateY:d,coordinate:r})}}function _l(e){"@babel/helpers - typeof";return _l=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_l(e)}function AS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function ES(e){for(var t=1;tPS||Math.abs(n.height-this.state.lastBoundingBox.height)>PS)&&this.setState({lastBoundingBox:{width:n.width,height:n.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var n,a;this.props.active&&this.updateBBox(),this.state.dismissed&&(((n=this.props.coordinate)===null||n===void 0?void 0:n.x)!==this.state.dismissedAtCoordinate.x||((a=this.props.coordinate)===null||a===void 0?void 0:a.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var n=this,a=this.props,i=a.active,s=a.allowEscapeViewBox,o=a.animationDuration,u=a.animationEasing,c=a.children,f=a.coordinate,d=a.hasPayload,p=a.isAnimationActive,h=a.offset,x=a.position,v=a.reverseDirection,g=a.useTranslate3d,y=a.viewBox,m=a.wrapperStyle,w=MH({allowEscapeViewBox:s,coordinate:f,offsetTopLeft:h,position:x,reverseDirection:v,tooltipBox:this.state.lastBoundingBox,useTranslate3d:g,viewBox:y}),j=w.cssClasses,b=w.cssProperties,_=ES(ES({transition:p&&i?"transform ".concat(o,"ms ").concat(u):void 0},b),{},{pointerEvents:"none",visibility:!this.state.dismissed&&i&&d?"visible":"hidden",position:"absolute",top:0,left:0},m);return P.createElement("div",{tabIndex:-1,className:j,style:_,ref:function(O){n.wrapperNode=O}},c)}}])}(S.PureComponent),GH=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},os={isSsr:GH()};function jl(e){"@babel/helpers - typeof";return jl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jl(e)}function CS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function TS(e){for(var t=1;t0;return P.createElement(HH,{allowEscapeViewBox:s,animationDuration:o,animationEasing:u,isAnimationActive:p,active:i,coordinate:f,hasPayload:_,offset:h,position:g,reverseDirection:y,useTranslate3d:m,viewBox:w,wrapperStyle:j},rG(c,TS(TS({},this.props),{},{payload:b})))}}])}(S.PureComponent);Fw(Or,"displayName","Tooltip");Fw(Or,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!os.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var nG=Ia,aG=function(){return nG.Date.now()},iG=aG,sG=/\s/;function oG(e){for(var t=e.length;t--&&sG.test(e.charAt(t)););return t}var lG=oG,uG=lG,cG=/^\s+/;function dG(e){return e&&e.slice(0,uG(e)+1).replace(cG,"")}var fG=dG,pG=fG,$S=ss,hG=Ql,RS=NaN,mG=/^[-+]0x[0-9a-f]+$/i,gG=/^0b[01]+$/i,yG=/^0o[0-7]+$/i,vG=parseInt;function xG(e){if(typeof e=="number")return e;if(hG(e))return RS;if($S(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=$S(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=pG(e);var r=gG.test(e);return r||yG.test(e)?vG(e.slice(2),r?2:8):mG.test(e)?RS:+e}var PC=xG,bG=ss,gy=iG,IS=PC,wG="Expected a function",_G=Math.max,jG=Math.min;function SG(e,t,r){var n,a,i,s,o,u,c=0,f=!1,d=!1,p=!0;if(typeof e!="function")throw new TypeError(wG);t=IS(t)||0,bG(r)&&(f=!!r.leading,d="maxWait"in r,i=d?_G(IS(r.maxWait)||0,t):i,p="trailing"in r?!!r.trailing:p);function h(_){var k=n,O=a;return n=a=void 0,c=_,s=e.apply(O,k),s}function x(_){return c=_,o=setTimeout(y,t),f?h(_):s}function v(_){var k=_-u,O=_-c,E=t-k;return d?jG(E,i-O):E}function g(_){var k=_-u,O=_-c;return u===void 0||k>=t||k<0||d&&O>=i}function y(){var _=gy();if(g(_))return m(_);o=setTimeout(y,v(_))}function m(_){return o=void 0,p&&n?h(_):(n=a=void 0,s)}function w(){o!==void 0&&clearTimeout(o),c=0,n=u=a=o=void 0}function j(){return o===void 0?s:m(gy())}function b(){var _=gy(),k=g(_);if(n=arguments,a=this,u=_,k){if(o===void 0)return x(u);if(d)return clearTimeout(o),o=setTimeout(y,t),h(u)}return o===void 0&&(o=setTimeout(y,t)),s}return b.cancel=w,b.flush=j,b}var kG=SG,OG=kG,NG=ss,AG="Expected a function";function EG(e,t,r){var n=!0,a=!0;if(typeof e!="function")throw new TypeError(AG);return NG(r)&&(n="leading"in r?!!r.leading:n,a="trailing"in r?!!r.trailing:a),OG(e,t,{leading:n,maxWait:t,trailing:a})}var PG=EG;const CC=vt(PG);function Vc(e){"@babel/helpers - typeof";return Vc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vc(e)}function MS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function kf(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&(R=CC(R,v,{trailing:!0,leading:!1}));var M=new ResizeObserver(R),L=b.current.getBoundingClientRect(),V=L.width,H=L.height;return $(V,H),M.observe(b.current),function(){M.disconnect()}},[$,v]);var A=S.useMemo(function(){var R=E.containerWidth,M=E.containerHeight;if(R<0||M<0)return null;la(Ps(s)||Ps(u),`The width(%s) and height(%s) are both fixed numbers, + maybe you don't need to use a ResponsiveContainer.`,s,u),la(!r||r>0,"The aspect(%s) must be greater than zero.",r);var L=Ps(s)?R:s,V=Ps(u)?M:u;r&&r>0&&(L?V=L/r:V&&(L=V*r),p&&V>p&&(V=p)),la(L>0||V>0,`The width(%s) and height(%s) of chart should be greater than 0, + please check the style of container, or the props width(%s) and height(%s), + or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the + height and width.`,L,V,s,u,f,d,r);var H=!Array.isArray(h)&&Qa(h.type).endsWith("Chart");return P.Children.map(h,function(I){return P.isValidElement(I)?S.cloneElement(I,kf({width:L,height:V},H?{style:kf({height:"100%",width:"100%",maxHeight:V,maxWidth:L},I.props.style)}:{})):I})},[r,h,u,p,d,f,E,s]);return P.createElement("div",{id:g?"".concat(g):void 0,className:He("recharts-responsive-container",y),style:kf(kf({},j),{},{width:s,height:u,minWidth:f,minHeight:d,maxHeight:p}),ref:b},A)}),qi=function(t){return null};qi.displayName="Cell";function Wc(e){"@babel/helpers - typeof";return Wc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wc(e)}function LS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function qx(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||os.isSsr)return{width:0,height:0};var n=WG(r),a=JSON.stringify({text:t,copyStyle:n});if(go.widthCache[a])return go.widthCache[a];try{var i=document.getElementById(FS);i||(i=document.createElement("span"),i.setAttribute("id",FS),i.setAttribute("aria-hidden","true"),document.body.appendChild(i));var s=qx(qx({},VG),n);Object.assign(i.style,s),i.textContent="".concat(t);var o=i.getBoundingClientRect(),u={width:o.width,height:o.height};return go.widthCache[a]=u,++go.cacheCount>UG&&(go.cacheCount=0,go.widthCache={}),u}catch{return{width:0,height:0}}},HG=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function Hc(e){"@babel/helpers - typeof";return Hc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hc(e)}function th(e,t){return YG(e)||KG(e,t)||qG(e,t)||GG()}function GG(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qG(e,t){if(e){if(typeof e=="string")return zS(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return zS(e,t)}}function zS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function uq(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function GS(e,t){return pq(e)||fq(e,t)||dq(e,t)||cq()}function cq(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dq(e,t){if(e){if(typeof e=="string")return qS(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return qS(e,t)}}function qS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&arguments[0]!==void 0?arguments[0]:[];return L.reduce(function(V,H){var I=H.word,B=H.width,W=V[V.length-1];if(W&&(a==null||i||W.width+B+nH.width?V:H})};if(!f)return h;for(var v="…",g=function(L){var V=d.slice(0,L),H=IC({breakAll:c,style:u,children:V+v}).wordsWithComputedWidth,I=p(H),B=I.length>s||x(I).width>Number(a);return[B,I]},y=0,m=d.length-1,w=0,j;y<=m&&w<=d.length-1;){var b=Math.floor((y+m)/2),_=b-1,k=g(_),O=GS(k,2),E=O[0],T=O[1],$=g(b),A=GS($,1),R=A[0];if(!E&&!R&&(y=b+1),E&&R&&(m=b-1),!E&&R){j=T;break}w++}return j||h},KS=function(t){var r=Fe(t)?[]:t.toString().split(RC);return[{words:r}]},mq=function(t){var r=t.width,n=t.scaleToFit,a=t.children,i=t.style,s=t.breakAll,o=t.maxLines;if((r||n)&&!os.isSsr){var u,c,f=IC({breakAll:s,children:a,style:i});if(f){var d=f.wordsWithComputedWidth,p=f.spaceWidth;u=d,c=p}else return KS(a);return hq({breakAll:s,children:a,maxLines:o,style:i},u,c,r,n)}return KS(a)},YS="#808080",Ys=function(t){var r=t.x,n=r===void 0?0:r,a=t.y,i=a===void 0?0:a,s=t.lineHeight,o=s===void 0?"1em":s,u=t.capHeight,c=u===void 0?"0.71em":u,f=t.scaleToFit,d=f===void 0?!1:f,p=t.textAnchor,h=p===void 0?"start":p,x=t.verticalAnchor,v=x===void 0?"end":x,g=t.fill,y=g===void 0?YS:g,m=HS(t,oq),w=S.useMemo(function(){return mq({breakAll:m.breakAll,children:m.children,maxLines:m.maxLines,scaleToFit:d,style:m.style,width:m.width})},[m.breakAll,m.children,m.maxLines,d,m.style,m.width]),j=m.dx,b=m.dy,_=m.angle,k=m.className,O=m.breakAll,E=HS(m,lq);if(!pr(n)||!pr(i))return null;var T=n+(se(j)?j:0),$=i+(se(b)?b:0),A;switch(v){case"start":A=yy("calc(".concat(c,")"));break;case"middle":A=yy("calc(".concat((w.length-1)/2," * -").concat(o," + (").concat(c," / 2))"));break;default:A=yy("calc(".concat(w.length-1," * -").concat(o,")"));break}var R=[];if(d){var M=w[0].width,L=m.width;R.push("scale(".concat((se(L)?L/M:1)/M,")"))}return _&&R.push("rotate(".concat(_,", ").concat(T,", ").concat($,")")),R.length&&(E.transform=R.join(" ")),P.createElement("text",Kx({},Ee(E,!0),{x:T,y:$,className:He("recharts-text",k),textAnchor:h,fill:y.includes("url")?YS:y}),w.map(function(V,H){var I=V.words.join(O?"":" ");return P.createElement("tspan",{x:T,dy:H===0?A:o,key:"".concat(I,"-").concat(H)},I)}))};function Ki(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function gq(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function zw(e){let t,r,n;e.length!==2?(t=Ki,r=(o,u)=>Ki(e(o),u),n=(o,u)=>e(o)-u):(t=e===Ki||e===gq?e:yq,r=e,n=e);function a(o,u,c=0,f=o.length){if(c>>1;r(o[d],u)<0?c=d+1:f=d}while(c>>1;r(o[d],u)<=0?c=d+1:f=d}while(cc&&n(o[d-1],u)>-n(o[d],u)?d-1:d}return{left:a,center:s,right:i}}function yq(){return 0}function MC(e){return e===null?NaN:+e}function*vq(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const xq=zw(Ki),Dd=xq.right;zw(MC).center;class XS extends Map{constructor(t,r=_q){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,a]of t)this.set(n,a)}get(t){return super.get(ZS(this,t))}has(t){return super.has(ZS(this,t))}set(t,r){return super.set(bq(this,t),r)}delete(t){return super.delete(wq(this,t))}}function ZS({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function bq({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function wq({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function _q(e){return e!==null&&typeof e=="object"?e.valueOf():e}function jq(e=Ki){if(e===Ki)return DC;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function DC(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const Sq=Math.sqrt(50),kq=Math.sqrt(10),Oq=Math.sqrt(2);function rh(e,t,r){const n=(t-e)/Math.max(0,r),a=Math.floor(Math.log10(n)),i=n/Math.pow(10,a),s=i>=Sq?10:i>=kq?5:i>=Oq?2:1;let o,u,c;return a<0?(c=Math.pow(10,-a)/s,o=Math.round(e*c),u=Math.round(t*c),o/ct&&--u,c=-c):(c=Math.pow(10,a)*s,o=Math.round(e/c),u=Math.round(t/c),o*ct&&--u),u0))return[];if(e===t)return[e];const n=t=a))return[];const o=i-a+1,u=new Array(o);if(n)if(s<0)for(let c=0;c=n)&&(r=n);return r}function QS(e,t){let r;for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);return r}function LC(e,t,r=0,n=1/0,a){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(a=a===void 0?DC:jq(a);n>r;){if(n-r>600){const u=n-r+1,c=t-r+1,f=Math.log(u),d=.5*Math.exp(2*f/3),p=.5*Math.sqrt(f*d*(u-d)/u)*(c-u/2<0?-1:1),h=Math.max(r,Math.floor(t-c*d/u+p)),x=Math.min(n,Math.floor(t+(u-c)*d/u+p));LC(e,t,h,x,a)}const i=e[t];let s=r,o=n;for(Ou(e,r,t),a(e[n],i)>0&&Ou(e,r,n);s0;)--o}a(e[r],i)===0?Ou(e,r,o):(++o,Ou(e,o,n)),o<=t&&(r=o+1),t<=o&&(n=o-1)}return e}function Ou(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function Nq(e,t,r){if(e=Float64Array.from(vq(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return QS(e);if(t>=1)return JS(e);var n,a=(n-1)*t,i=Math.floor(a),s=JS(LC(e,i).subarray(0,i+1)),o=QS(e.subarray(i+1));return s+(o-s)*(a-i)}}function Aq(e,t,r=MC){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,a=(n-1)*t,i=Math.floor(a),s=+r(e[i],i,e),o=+r(e[i+1],i+1,e);return s+(o-s)*(a-i)}}function Eq(e,t,r){e=+e,t=+t,r=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+r;for(var n=-1,a=Math.max(0,Math.ceil((t-e)/r))|0,i=new Array(a);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?Nf(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?Nf(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Cq.exec(e))?new rn(t[1],t[2],t[3],1):(t=Tq.exec(e))?new rn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=$q.exec(e))?Nf(t[1],t[2],t[3],t[4]):(t=Rq.exec(e))?Nf(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Iq.exec(e))?sk(t[1],t[2]/100,t[3]/100,1):(t=Mq.exec(e))?sk(t[1],t[2]/100,t[3]/100,t[4]):ek.hasOwnProperty(e)?nk(ek[e]):e==="transparent"?new rn(NaN,NaN,NaN,0):null}function nk(e){return new rn(e>>16&255,e>>8&255,e&255,1)}function Nf(e,t,r,n){return n<=0&&(e=t=r=NaN),new rn(e,t,r,n)}function Fq(e){return e instanceof Ld||(e=Yc(e)),e?(e=e.rgb(),new rn(e.r,e.g,e.b,e.opacity)):new rn}function Qx(e,t,r,n){return arguments.length===1?Fq(e):new rn(e,t,r,n??1)}function rn(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}Uw(rn,Qx,zC(Ld,{brighter(e){return e=e==null?nh:Math.pow(nh,e),new rn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?qc:Math.pow(qc,e),new rn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new rn(Fs(this.r),Fs(this.g),Fs(this.b),ah(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ak,formatHex:ak,formatHex8:zq,formatRgb:ik,toString:ik}));function ak(){return`#${Cs(this.r)}${Cs(this.g)}${Cs(this.b)}`}function zq(){return`#${Cs(this.r)}${Cs(this.g)}${Cs(this.b)}${Cs((isNaN(this.opacity)?1:this.opacity)*255)}`}function ik(){const e=ah(this.opacity);return`${e===1?"rgb(":"rgba("}${Fs(this.r)}, ${Fs(this.g)}, ${Fs(this.b)}${e===1?")":`, ${e})`}`}function ah(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Fs(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Cs(e){return e=Fs(e),(e<16?"0":"")+e.toString(16)}function sk(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new na(e,t,r,n)}function BC(e){if(e instanceof na)return new na(e.h,e.s,e.l,e.opacity);if(e instanceof Ld||(e=Yc(e)),!e)return new na;if(e instanceof na)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),i=Math.max(t,r,n),s=NaN,o=i-a,u=(i+a)/2;return o?(t===i?s=(r-n)/o+(r0&&u<1?0:s,new na(s,o,u,e.opacity)}function Bq(e,t,r,n){return arguments.length===1?BC(e):new na(e,t,r,n??1)}function na(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}Uw(na,Bq,zC(Ld,{brighter(e){return e=e==null?nh:Math.pow(nh,e),new na(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?qc:Math.pow(qc,e),new na(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,a=2*r-n;return new rn(vy(e>=240?e-240:e+120,a,n),vy(e,a,n),vy(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new na(ok(this.h),Af(this.s),Af(this.l),ah(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=ah(this.opacity);return`${e===1?"hsl(":"hsla("}${ok(this.h)}, ${Af(this.s)*100}%, ${Af(this.l)*100}%${e===1?")":`, ${e})`}`}}));function ok(e){return e=(e||0)%360,e<0?e+360:e}function Af(e){return Math.max(0,Math.min(1,e||0))}function vy(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const Vw=e=>()=>e;function Uq(e,t){return function(r){return e+r*t}}function Vq(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function Wq(e){return(e=+e)==1?UC:function(t,r){return r-t?Vq(t,r,e):Vw(isNaN(t)?r:t)}}function UC(e,t){var r=t-e;return r?Uq(e,r):Vw(isNaN(e)?t:e)}const lk=function e(t){var r=Wq(t);function n(a,i){var s=r((a=Qx(a)).r,(i=Qx(i)).r),o=r(a.g,i.g),u=r(a.b,i.b),c=UC(a.opacity,i.opacity);return function(f){return a.r=s(f),a.g=o(f),a.b=u(f),a.opacity=c(f),a+""}}return n.gamma=e,n}(1);function Hq(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),a;return function(i){for(a=0;ar&&(i=t.slice(r,i),o[s]?o[s]+=i:o[++s]=i),(n=n[0])===(a=a[0])?o[s]?o[s]+=a:o[++s]=a:(o[++s]=null,u.push({i:s,x:ih(n,a)})),r=xy.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function rK(e,t,r){var n=e[0],a=e[1],i=t[0],s=t[1];return a2?nK:rK,u=c=null,d}function d(p){return p==null||isNaN(p=+p)?i:(u||(u=o(e.map(n),t,r)))(n(s(p)))}return d.invert=function(p){return s(a((c||(c=o(t,e.map(n),ih)))(p)))},d.domain=function(p){return arguments.length?(e=Array.from(p,sh),f()):e.slice()},d.range=function(p){return arguments.length?(t=Array.from(p),f()):t.slice()},d.rangeRound=function(p){return t=Array.from(p),r=Ww,f()},d.clamp=function(p){return arguments.length?(s=p?!0:qr,f()):s!==qr},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(i=p,d):i},function(p,h){return n=p,a=h,f()}}function Hw(){return Km()(qr,qr)}function aK(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function oh(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function Sl(e){return e=oh(Math.abs(e)),e?e[1]:NaN}function iK(e,t){return function(r,n){for(var a=r.length,i=[],s=0,o=e[0],u=0;a>0&&o>0&&(u+o+1>n&&(o=Math.max(1,n-u)),i.push(r.substring(a-=o,a+o)),!((u+=o+1)>n));)o=e[s=(s+1)%e.length];return i.reverse().join(t)}}function sK(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var oK=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Xc(e){if(!(t=oK.exec(e)))throw new Error("invalid format: "+e);var t;return new Gw({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Xc.prototype=Gw.prototype;function Gw(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Gw.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function lK(e){e:for(var t=e.length,r=1,n=-1,a;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(a+1):e}var lh;function uK(e,t){var r=oh(e,t);if(!r)return lh=void 0,e.toPrecision(t);var n=r[0],a=r[1],i=a-(lh=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,s=n.length;return i===s?n:i>s?n+new Array(i-s+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+oh(e,Math.max(0,t+i-1))[0]}function ck(e,t){var r=oh(e,t);if(!r)return e+"";var n=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+n:n.length>a+1?n.slice(0,a+1)+"."+n.slice(a+1):n+new Array(a-n.length+2).join("0")}const dk={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:aK,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>ck(e*100,t),r:ck,s:uK,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function fk(e){return e}var pk=Array.prototype.map,hk=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function cK(e){var t=e.grouping===void 0||e.thousands===void 0?fk:iK(pk.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?fk:sK(pk.call(e.numerals,String)),s=e.percent===void 0?"%":e.percent+"",o=e.minus===void 0?"−":e.minus+"",u=e.nan===void 0?"NaN":e.nan+"";function c(d,p){d=Xc(d);var h=d.fill,x=d.align,v=d.sign,g=d.symbol,y=d.zero,m=d.width,w=d.comma,j=d.precision,b=d.trim,_=d.type;_==="n"?(w=!0,_="g"):dk[_]||(j===void 0&&(j=12),b=!0,_="g"),(y||h==="0"&&x==="=")&&(y=!0,h="0",x="=");var k=(p&&p.prefix!==void 0?p.prefix:"")+(g==="$"?r:g==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():""),O=(g==="$"?n:/[%p]/.test(_)?s:"")+(p&&p.suffix!==void 0?p.suffix:""),E=dk[_],T=/[defgprs%]/.test(_);j=j===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,j)):Math.max(0,Math.min(20,j));function $(A){var R=k,M=O,L,V,H;if(_==="c")M=E(A)+M,A="";else{A=+A;var I=A<0||1/A<0;if(A=isNaN(A)?u:E(Math.abs(A),j),b&&(A=lK(A)),I&&+A==0&&v!=="+"&&(I=!1),R=(I?v==="("?v:o:v==="-"||v==="("?"":v)+R,M=(_==="s"&&!isNaN(A)&&lh!==void 0?hk[8+lh/3]:"")+M+(I&&v==="("?")":""),T){for(L=-1,V=A.length;++LH||H>57){M=(H===46?a+A.slice(L+1):A.slice(L))+M,A=A.slice(0,L);break}}}w&&!y&&(A=t(A,1/0));var B=R.length+A.length+M.length,W=B>1)+R+A+M+W.slice(B);break;default:A=W+R+A+M;break}return i(A)}return $.toString=function(){return d+""},$}function f(d,p){var h=Math.max(-8,Math.min(8,Math.floor(Sl(p)/3)))*3,x=Math.pow(10,-h),v=c((d=Xc(d),d.type="f",d),{suffix:hk[8+h/3]});return function(g){return v(x*g)}}return{format:c,formatPrefix:f}}var Ef,qw,VC;dK({thousands:",",grouping:[3],currency:["$",""]});function dK(e){return Ef=cK(e),qw=Ef.format,VC=Ef.formatPrefix,Ef}function fK(e){return Math.max(0,-Sl(Math.abs(e)))}function pK(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Sl(t)/3)))*3-Sl(Math.abs(e)))}function hK(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Sl(t)-Sl(e))+1}function WC(e,t,r,n){var a=Zx(e,t,r),i;switch(n=Xc(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(i=pK(a,s))&&(n.precision=i),VC(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(i=hK(a,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=i-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(i=fK(a))&&(n.precision=i-(n.type==="%")*2);break}}return qw(n)}function ls(e){var t=e.domain;return e.ticks=function(r){var n=t();return Yx(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var a=t();return WC(a[0],a[a.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),a=0,i=n.length-1,s=n[a],o=n[i],u,c,f=10;for(o0;){if(c=Xx(s,o,r),c===u)return n[a]=s,n[i]=o,t(n);if(c>0)s=Math.floor(s/c)*c,o=Math.ceil(o/c)*c;else if(c<0)s=Math.ceil(s*c)/c,o=Math.floor(o*c)/c;else break;u=c}return e},e}function uh(){var e=Hw();return e.copy=function(){return Fd(e,uh())},Hn.apply(e,arguments),ls(e)}function HC(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,sh),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return HC(e).unknown(t)},e=arguments.length?Array.from(e,sh):[0,1],ls(r)}function GC(e,t){e=e.slice();var r=0,n=e.length-1,a=e[r],i=e[n],s;return iMath.pow(e,t)}function xK(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function yk(e){return(t,r)=>-e(-t,r)}function Kw(e){const t=e(mk,gk),r=t.domain;let n=10,a,i;function s(){return a=xK(n),i=vK(n),r()[0]<0?(a=yk(a),i=yk(i),e(mK,gK)):e(mk,gk),t}return t.base=function(o){return arguments.length?(n=+o,s()):n},t.domain=function(o){return arguments.length?(r(o),s()):r()},t.ticks=o=>{const u=r();let c=u[0],f=u[u.length-1];const d=f0){for(;p<=h;++p)for(x=1;xf)break;y.push(v)}}else for(;p<=h;++p)for(x=n-1;x>=1;--x)if(v=p>0?x/i(-p):x*i(p),!(vf)break;y.push(v)}y.length*2{if(o==null&&(o=10),u==null&&(u=n===10?"s":","),typeof u!="function"&&(!(n%1)&&(u=Xc(u)).precision==null&&(u.trim=!0),u=qw(u)),o===1/0)return u;const c=Math.max(1,n*o/t.ticks().length);return f=>{let d=f/i(Math.round(a(f)));return d*nr(GC(r(),{floor:o=>i(Math.floor(a(o))),ceil:o=>i(Math.ceil(a(o)))})),t}function qC(){const e=Kw(Km()).domain([1,10]);return e.copy=()=>Fd(e,qC()).base(e.base()),Hn.apply(e,arguments),e}function vk(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function xk(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Yw(e){var t=1,r=e(vk(t),xk(t));return r.constant=function(n){return arguments.length?e(vk(t=+n),xk(t)):t},ls(r)}function KC(){var e=Yw(Km());return e.copy=function(){return Fd(e,KC()).constant(e.constant())},Hn.apply(e,arguments)}function bk(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function bK(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function wK(e){return e<0?-e*e:e*e}function Xw(e){var t=e(qr,qr),r=1;function n(){return r===1?e(qr,qr):r===.5?e(bK,wK):e(bk(r),bk(1/r))}return t.exponent=function(a){return arguments.length?(r=+a,n()):r},ls(t)}function Zw(){var e=Xw(Km());return e.copy=function(){return Fd(e,Zw()).exponent(e.exponent())},Hn.apply(e,arguments),e}function _K(){return Zw.apply(null,arguments).exponent(.5)}function wk(e){return Math.sign(e)*e*e}function jK(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function YC(){var e=Hw(),t=[0,1],r=!1,n;function a(i){var s=jK(e(i));return isNaN(s)?n:r?Math.round(s):s}return a.invert=function(i){return e.invert(wk(i))},a.domain=function(i){return arguments.length?(e.domain(i),a):e.domain()},a.range=function(i){return arguments.length?(e.range((t=Array.from(i,sh)).map(wk)),a):t.slice()},a.rangeRound=function(i){return a.range(i).round(!0)},a.round=function(i){return arguments.length?(r=!!i,a):r},a.clamp=function(i){return arguments.length?(e.clamp(i),a):e.clamp()},a.unknown=function(i){return arguments.length?(n=i,a):n},a.copy=function(){return YC(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},Hn.apply(a,arguments),ls(a)}function XC(){var e=[],t=[],r=[],n;function a(){var s=0,o=Math.max(1,t.length);for(r=new Array(o-1);++s0?r[o-1]:e[0],o=r?[n[r-1],t]:[n[c-1],n[c]]},s.unknown=function(u){return arguments.length&&(i=u),s},s.thresholds=function(){return n.slice()},s.copy=function(){return ZC().domain([e,t]).range(a).unknown(i)},Hn.apply(ls(s),arguments)}function JC(){var e=[.5],t=[0,1],r,n=1;function a(i){return i!=null&&i<=i?t[Dd(e,i,0,n)]:r}return a.domain=function(i){return arguments.length?(e=Array.from(i),n=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(i){return arguments.length?(t=Array.from(i),n=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(i){var s=t.indexOf(i);return[e[s-1],e[s]]},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return JC().domain(e).range(t).unknown(r)},Hn.apply(a,arguments)}const by=new Date,wy=new Date;function hr(e,t,r,n){function a(i){return e(i=arguments.length===0?new Date:new Date(+i)),i}return a.floor=i=>(e(i=new Date(+i)),i),a.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),a.round=i=>{const s=a(i),o=a.ceil(i);return i-s(t(i=new Date(+i),s==null?1:Math.floor(s)),i),a.range=(i,s,o)=>{const u=[];if(i=a.ceil(i),o=o==null?1:Math.floor(o),!(i0))return u;let c;do u.push(c=new Date(+i)),t(i,o),e(i);while(chr(s=>{if(s>=s)for(;e(s),!i(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;t(s,-1),!i(s););else for(;--o>=0;)for(;t(s,1),!i(s););}),r&&(a.count=(i,s)=>(by.setTime(+i),wy.setTime(+s),e(by),e(wy),Math.floor(r(by,wy))),a.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a.filter(n?s=>n(s)%i===0:s=>a.count(0,s)%i===0):a)),a}const ch=hr(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);ch.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?hr(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):ch);ch.range;const Ka=1e3,Fn=Ka*60,Ya=Fn*60,ii=Ya*24,Jw=ii*7,_k=ii*30,_y=ii*365,Ts=hr(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Ka)},(e,t)=>(t-e)/Ka,e=>e.getUTCSeconds());Ts.range;const Qw=hr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ka)},(e,t)=>{e.setTime(+e+t*Fn)},(e,t)=>(t-e)/Fn,e=>e.getMinutes());Qw.range;const e1=hr(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Fn)},(e,t)=>(t-e)/Fn,e=>e.getUTCMinutes());e1.range;const t1=hr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ka-e.getMinutes()*Fn)},(e,t)=>{e.setTime(+e+t*Ya)},(e,t)=>(t-e)/Ya,e=>e.getHours());t1.range;const r1=hr(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Ya)},(e,t)=>(t-e)/Ya,e=>e.getUTCHours());r1.range;const zd=hr(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Fn)/ii,e=>e.getDate()-1);zd.range;const Ym=hr(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ii,e=>e.getUTCDate()-1);Ym.range;const QC=hr(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ii,e=>Math.floor(e/ii));QC.range;function lo(e){return hr(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Fn)/Jw)}const Xm=lo(0),dh=lo(1),SK=lo(2),kK=lo(3),kl=lo(4),OK=lo(5),NK=lo(6);Xm.range;dh.range;SK.range;kK.range;kl.range;OK.range;NK.range;function uo(e){return hr(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/Jw)}const Zm=uo(0),fh=uo(1),AK=uo(2),EK=uo(3),Ol=uo(4),PK=uo(5),CK=uo(6);Zm.range;fh.range;AK.range;EK.range;Ol.range;PK.range;CK.range;const n1=hr(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());n1.range;const a1=hr(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());a1.range;const si=hr(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());si.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:hr(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});si.range;const oi=hr(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());oi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:hr(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});oi.range;function eT(e,t,r,n,a,i){const s=[[Ts,1,Ka],[Ts,5,5*Ka],[Ts,15,15*Ka],[Ts,30,30*Ka],[i,1,Fn],[i,5,5*Fn],[i,15,15*Fn],[i,30,30*Fn],[a,1,Ya],[a,3,3*Ya],[a,6,6*Ya],[a,12,12*Ya],[n,1,ii],[n,2,2*ii],[r,1,Jw],[t,1,_k],[t,3,3*_k],[e,1,_y]];function o(c,f,d){const p=fg).right(s,p);if(h===s.length)return e.every(Zx(c/_y,f/_y,d));if(h===0)return ch.every(Math.max(Zx(c,f,d),1));const[x,v]=s[p/s[h-1][2]53)return null;"w"in X||(X.w=1),"Z"in X?(ye=Sy(Nu(X.y,0,1)),qe=ye.getUTCDay(),ye=qe>4||qe===0?fh.ceil(ye):fh(ye),ye=Ym.offset(ye,(X.V-1)*7),X.y=ye.getUTCFullYear(),X.m=ye.getUTCMonth(),X.d=ye.getUTCDate()+(X.w+6)%7):(ye=jy(Nu(X.y,0,1)),qe=ye.getDay(),ye=qe>4||qe===0?dh.ceil(ye):dh(ye),ye=zd.offset(ye,(X.V-1)*7),X.y=ye.getFullYear(),X.m=ye.getMonth(),X.d=ye.getDate()+(X.w+6)%7)}else("W"in X||"U"in X)&&("w"in X||(X.w="u"in X?X.u%7:"W"in X?1:0),qe="Z"in X?Sy(Nu(X.y,0,1)).getUTCDay():jy(Nu(X.y,0,1)).getDay(),X.m=0,X.d="W"in X?(X.w+6)%7+X.W*7-(qe+5)%7:X.w+X.U*7-(qe+6)%7);return"Z"in X?(X.H+=X.Z/100|0,X.M+=X.Z%100,Sy(X)):jy(X)}}function O(J,ue,de,X){for(var we=0,ye=ue.length,qe=de.length,De,ke;we=qe)return-1;if(De=ue.charCodeAt(we++),De===37){if(De=ue.charAt(we++),ke=b[De in jk?ue.charAt(we++):De],!ke||(X=ke(J,de,X))<0)return-1}else if(De!=de.charCodeAt(X++))return-1}return X}function E(J,ue,de){var X=c.exec(ue.slice(de));return X?(J.p=f.get(X[0].toLowerCase()),de+X[0].length):-1}function T(J,ue,de){var X=h.exec(ue.slice(de));return X?(J.w=x.get(X[0].toLowerCase()),de+X[0].length):-1}function $(J,ue,de){var X=d.exec(ue.slice(de));return X?(J.w=p.get(X[0].toLowerCase()),de+X[0].length):-1}function A(J,ue,de){var X=y.exec(ue.slice(de));return X?(J.m=m.get(X[0].toLowerCase()),de+X[0].length):-1}function R(J,ue,de){var X=v.exec(ue.slice(de));return X?(J.m=g.get(X[0].toLowerCase()),de+X[0].length):-1}function M(J,ue,de){return O(J,t,ue,de)}function L(J,ue,de){return O(J,r,ue,de)}function V(J,ue,de){return O(J,n,ue,de)}function H(J){return s[J.getDay()]}function I(J){return i[J.getDay()]}function B(J){return u[J.getMonth()]}function W(J){return o[J.getMonth()]}function G(J){return a[+(J.getHours()>=12)]}function K(J){return 1+~~(J.getMonth()/3)}function ee(J){return s[J.getUTCDay()]}function q(J){return i[J.getUTCDay()]}function le(J){return u[J.getUTCMonth()]}function ge(J){return o[J.getUTCMonth()]}function $e(J){return a[+(J.getUTCHours()>=12)]}function Pe(J){return 1+~~(J.getUTCMonth()/3)}return{format:function(J){var ue=_(J+="",w);return ue.toString=function(){return J},ue},parse:function(J){var ue=k(J+="",!1);return ue.toString=function(){return J},ue},utcFormat:function(J){var ue=_(J+="",j);return ue.toString=function(){return J},ue},utcParse:function(J){var ue=k(J+="",!0);return ue.toString=function(){return J},ue}}}var jk={"-":"",_:" ",0:"0"},wr=/^\s*\d+/,DK=/^%/,LK=/[\\^$*+?|[\]().{}]/g;function ct(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",i=a.length;return n+(i[t.toLowerCase(),r]))}function zK(e,t,r){var n=wr.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function BK(e,t,r){var n=wr.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function UK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function VK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function WK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function Sk(e,t,r){var n=wr.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function kk(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function HK(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function GK(e,t,r){var n=wr.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function qK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function Ok(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function KK(e,t,r){var n=wr.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function Nk(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function YK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function XK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function ZK(e,t,r){var n=wr.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function JK(e,t,r){var n=wr.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function QK(e,t,r){var n=DK.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function eY(e,t,r){var n=wr.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function tY(e,t,r){var n=wr.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function Ak(e,t){return ct(e.getDate(),t,2)}function rY(e,t){return ct(e.getHours(),t,2)}function nY(e,t){return ct(e.getHours()%12||12,t,2)}function aY(e,t){return ct(1+zd.count(si(e),e),t,3)}function tT(e,t){return ct(e.getMilliseconds(),t,3)}function iY(e,t){return tT(e,t)+"000"}function sY(e,t){return ct(e.getMonth()+1,t,2)}function oY(e,t){return ct(e.getMinutes(),t,2)}function lY(e,t){return ct(e.getSeconds(),t,2)}function uY(e){var t=e.getDay();return t===0?7:t}function cY(e,t){return ct(Xm.count(si(e)-1,e),t,2)}function rT(e){var t=e.getDay();return t>=4||t===0?kl(e):kl.ceil(e)}function dY(e,t){return e=rT(e),ct(kl.count(si(e),e)+(si(e).getDay()===4),t,2)}function fY(e){return e.getDay()}function pY(e,t){return ct(dh.count(si(e)-1,e),t,2)}function hY(e,t){return ct(e.getFullYear()%100,t,2)}function mY(e,t){return e=rT(e),ct(e.getFullYear()%100,t,2)}function gY(e,t){return ct(e.getFullYear()%1e4,t,4)}function yY(e,t){var r=e.getDay();return e=r>=4||r===0?kl(e):kl.ceil(e),ct(e.getFullYear()%1e4,t,4)}function vY(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+ct(t/60|0,"0",2)+ct(t%60,"0",2)}function Ek(e,t){return ct(e.getUTCDate(),t,2)}function xY(e,t){return ct(e.getUTCHours(),t,2)}function bY(e,t){return ct(e.getUTCHours()%12||12,t,2)}function wY(e,t){return ct(1+Ym.count(oi(e),e),t,3)}function nT(e,t){return ct(e.getUTCMilliseconds(),t,3)}function _Y(e,t){return nT(e,t)+"000"}function jY(e,t){return ct(e.getUTCMonth()+1,t,2)}function SY(e,t){return ct(e.getUTCMinutes(),t,2)}function kY(e,t){return ct(e.getUTCSeconds(),t,2)}function OY(e){var t=e.getUTCDay();return t===0?7:t}function NY(e,t){return ct(Zm.count(oi(e)-1,e),t,2)}function aT(e){var t=e.getUTCDay();return t>=4||t===0?Ol(e):Ol.ceil(e)}function AY(e,t){return e=aT(e),ct(Ol.count(oi(e),e)+(oi(e).getUTCDay()===4),t,2)}function EY(e){return e.getUTCDay()}function PY(e,t){return ct(fh.count(oi(e)-1,e),t,2)}function CY(e,t){return ct(e.getUTCFullYear()%100,t,2)}function TY(e,t){return e=aT(e),ct(e.getUTCFullYear()%100,t,2)}function $Y(e,t){return ct(e.getUTCFullYear()%1e4,t,4)}function RY(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Ol(e):Ol.ceil(e),ct(e.getUTCFullYear()%1e4,t,4)}function IY(){return"+0000"}function Pk(){return"%"}function Ck(e){return+e}function Tk(e){return Math.floor(+e/1e3)}var yo,iT,sT;MY({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function MY(e){return yo=MK(e),iT=yo.format,yo.parse,sT=yo.utcFormat,yo.utcParse,yo}function DY(e){return new Date(e)}function LY(e){return e instanceof Date?+e:+new Date(+e)}function i1(e,t,r,n,a,i,s,o,u,c){var f=Hw(),d=f.invert,p=f.domain,h=c(".%L"),x=c(":%S"),v=c("%I:%M"),g=c("%I %p"),y=c("%a %d"),m=c("%b %d"),w=c("%B"),j=c("%Y");function b(_){return(u(_)<_?h:o(_)<_?x:s(_)<_?v:i(_)<_?g:n(_)<_?a(_)<_?y:m:r(_)<_?w:j)(_)}return f.invert=function(_){return new Date(d(_))},f.domain=function(_){return arguments.length?p(Array.from(_,LY)):p().map(DY)},f.ticks=function(_){var k=p();return e(k[0],k[k.length-1],_??10)},f.tickFormat=function(_,k){return k==null?b:c(k)},f.nice=function(_){var k=p();return(!_||typeof _.range!="function")&&(_=t(k[0],k[k.length-1],_??10)),_?p(GC(k,_)):f},f.copy=function(){return Fd(f,i1(e,t,r,n,a,i,s,o,u,c))},f}function FY(){return Hn.apply(i1(RK,IK,si,n1,Xm,zd,t1,Qw,Ts,iT).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function zY(){return Hn.apply(i1(TK,$K,oi,a1,Zm,Ym,r1,e1,Ts,sT).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Jm(){var e=0,t=1,r,n,a,i,s=qr,o=!1,u;function c(d){return d==null||isNaN(d=+d)?u:s(a===0?.5:(d=(i(d)-r)*a,o?Math.max(0,Math.min(1,d)):d))}c.domain=function(d){return arguments.length?([e,t]=d,r=i(e=+e),n=i(t=+t),a=r===n?0:1/(n-r),c):[e,t]},c.clamp=function(d){return arguments.length?(o=!!d,c):o},c.interpolator=function(d){return arguments.length?(s=d,c):s};function f(d){return function(p){var h,x;return arguments.length?([h,x]=p,s=d(h,x),c):[s(0),s(1)]}}return c.range=f(lu),c.rangeRound=f(Ww),c.unknown=function(d){return arguments.length?(u=d,c):u},function(d){return i=d,r=d(e),n=d(t),a=r===n?0:1/(n-r),c}}function us(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function oT(){var e=ls(Jm()(qr));return e.copy=function(){return us(e,oT())},gi.apply(e,arguments)}function lT(){var e=Kw(Jm()).domain([1,10]);return e.copy=function(){return us(e,lT()).base(e.base())},gi.apply(e,arguments)}function uT(){var e=Yw(Jm());return e.copy=function(){return us(e,uT()).constant(e.constant())},gi.apply(e,arguments)}function s1(){var e=Xw(Jm());return e.copy=function(){return us(e,s1()).exponent(e.exponent())},gi.apply(e,arguments)}function BY(){return s1.apply(null,arguments).exponent(.5)}function cT(){var e=[],t=qr;function r(n){if(n!=null&&!isNaN(n=+n))return t((Dd(e,n,1)-1)/(e.length-1))}return r.domain=function(n){if(!arguments.length)return e.slice();e=[];for(let a of n)a!=null&&!isNaN(a=+a)&&e.push(a);return e.sort(Ki),r},r.interpolator=function(n){return arguments.length?(t=n,r):t},r.range=function(){return e.map((n,a)=>t(a/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(a,i)=>Nq(e,i/n))},r.copy=function(){return cT(t).domain(e)},gi.apply(r,arguments)}function Qm(){var e=0,t=.5,r=1,n=1,a,i,s,o,u,c=qr,f,d=!1,p;function h(v){return isNaN(v=+v)?p:(v=.5+((v=+f(v))-i)*(n*vt}var hT=HY,GY=eg,qY=hT,KY=ou;function YY(e){return e&&e.length?GY(e,KY,qY):void 0}var XY=YY;const Mi=vt(XY);function ZY(e,t){return ee.e^i.s<0?1:-1;for(n=i.d.length,a=e.d.length,t=0,r=ne.d[t]^i.s<0?1:-1;return n===a?0:n>a^i.s<0?1:-1};xe.decimalPlaces=xe.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*Mt;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};xe.dividedBy=xe.div=function(e){return ei(this,new this.constructor(e))};xe.dividedToIntegerBy=xe.idiv=function(e){var t=this,r=t.constructor;return St(ei(t,new r(e),0,1),r.precision)};xe.equals=xe.eq=function(e){return!this.cmp(e)};xe.exponent=function(){return sr(this)};xe.greaterThan=xe.gt=function(e){return this.cmp(e)>0};xe.greaterThanOrEqualTo=xe.gte=function(e){return this.cmp(e)>=0};xe.isInteger=xe.isint=function(){return this.e>this.d.length-2};xe.isNegative=xe.isneg=function(){return this.s<0};xe.isPositive=xe.ispos=function(){return this.s>0};xe.isZero=function(){return this.s===0};xe.lessThan=xe.lt=function(e){return this.cmp(e)<0};xe.lessThanOrEqualTo=xe.lte=function(e){return this.cmp(e)<1};xe.logarithm=xe.log=function(e){var t,r=this,n=r.constructor,a=n.precision,i=a+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(vn))throw Error(Vn+"NaN");if(r.s<1)throw Error(Vn+(r.s?"NaN":"-Infinity"));return r.eq(vn)?new n(0):(Ut=!1,t=ei(Zc(r,i),Zc(e,i),i),Ut=!0,St(t,a))};xe.minus=xe.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?xT(t,e):yT(t,(e.s=-e.s,e))};xe.modulo=xe.mod=function(e){var t,r=this,n=r.constructor,a=n.precision;if(e=new n(e),!e.s)throw Error(Vn+"NaN");return r.s?(Ut=!1,t=ei(r,e,0,1).times(e),Ut=!0,r.minus(t)):St(new n(r),a)};xe.naturalExponential=xe.exp=function(){return vT(this)};xe.naturalLogarithm=xe.ln=function(){return Zc(this)};xe.negated=xe.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};xe.plus=xe.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?yT(t,e):xT(t,(e.s=-e.s,e))};xe.precision=xe.sd=function(e){var t,r,n,a=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(zs+e);if(t=sr(a)+1,n=a.d.length-1,r=n*Mt+1,n=a.d[n],n){for(;n%10==0;n/=10)r--;for(n=a.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};xe.squareRoot=xe.sqrt=function(){var e,t,r,n,a,i,s,o=this,u=o.constructor;if(o.s<1){if(!o.s)return new u(0);throw Error(Vn+"NaN")}for(e=sr(o),Ut=!1,a=Math.sqrt(+o),a==0||a==1/0?(t=ja(o.d),(t.length+e)%2==0&&(t+="0"),a=Math.sqrt(t),e=cu((e+1)/2)-(e<0||e%2),a==1/0?t="5e"+e:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new u(t)):n=new u(a.toString()),r=u.precision,a=s=r+3;;)if(i=n,n=i.plus(ei(o,i,s+2)).times(.5),ja(i.d).slice(0,s)===(t=ja(n.d)).slice(0,s)){if(t=t.slice(s-3,s+1),a==s&&t=="4999"){if(St(i,r+1,0),i.times(i).eq(o)){n=i;break}}else if(t!="9999")break;s+=4}return Ut=!0,St(n,r)};xe.times=xe.mul=function(e){var t,r,n,a,i,s,o,u,c,f=this,d=f.constructor,p=f.d,h=(e=new d(e)).d;if(!f.s||!e.s)return new d(0);for(e.s*=f.s,r=f.e+e.e,u=p.length,c=h.length,u=0;){for(t=0,a=u+n;a>n;)o=i[a]+h[n]*p[a-n-1]+t,i[a--]=o%gr|0,t=o/gr|0;i[a]=(i[a]+t)%gr|0}for(;!i[--s];)i.pop();return t?++r:i.shift(),e.d=i,e.e=r,Ut?St(e,d.precision):e};xe.toDecimalPlaces=xe.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:($a(e,0,uu),t===void 0?t=n.rounding:$a(t,0,8),St(r,e+sr(r)+1,t))};xe.toExponential=function(e,t){var r,n=this,a=n.constructor;return e===void 0?r=Zs(n,!0):($a(e,0,uu),t===void 0?t=a.rounding:$a(t,0,8),n=St(new a(n),e+1,t),r=Zs(n,!0,e+1)),r};xe.toFixed=function(e,t){var r,n,a=this,i=a.constructor;return e===void 0?Zs(a):($a(e,0,uu),t===void 0?t=i.rounding:$a(t,0,8),n=St(new i(a),e+sr(a)+1,t),r=Zs(n.abs(),!1,e+sr(n)+1),a.isneg()&&!a.isZero()?"-"+r:r)};xe.toInteger=xe.toint=function(){var e=this,t=e.constructor;return St(new t(e),sr(e)+1,t.rounding)};xe.toNumber=function(){return+this};xe.toPower=xe.pow=function(e){var t,r,n,a,i,s,o=this,u=o.constructor,c=12,f=+(e=new u(e));if(!e.s)return new u(vn);if(o=new u(o),!o.s){if(e.s<1)throw Error(Vn+"Infinity");return o}if(o.eq(vn))return o;if(n=u.precision,e.eq(vn))return St(o,n);if(t=e.e,r=e.d.length-1,s=t>=r,i=o.s,s){if((r=f<0?-f:f)<=gT){for(a=new u(vn),t=Math.ceil(n/Mt+4),Ut=!1;r%2&&(a=a.times(o),Ik(a.d,t)),r=cu(r/2),r!==0;)o=o.times(o),Ik(o.d,t);return Ut=!0,e.s<0?new u(vn).div(a):St(a,n)}}else if(i<0)throw Error(Vn+"NaN");return i=i<0&&e.d[Math.max(t,r)]&1?-1:1,o.s=1,Ut=!1,a=e.times(Zc(o,n+c)),Ut=!0,a=vT(a),a.s=i,a};xe.toPrecision=function(e,t){var r,n,a=this,i=a.constructor;return e===void 0?(r=sr(a),n=Zs(a,r<=i.toExpNeg||r>=i.toExpPos)):($a(e,1,uu),t===void 0?t=i.rounding:$a(t,0,8),a=St(new i(a),e,t),r=sr(a),n=Zs(a,e<=r||r<=i.toExpNeg,e)),n};xe.toSignificantDigits=xe.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):($a(e,1,uu),t===void 0?t=n.rounding:$a(t,0,8)),St(new n(r),e,t)};xe.toString=xe.valueOf=xe.val=xe.toJSON=xe[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=sr(e),r=e.constructor;return Zs(e,t<=r.toExpNeg||t>=r.toExpPos)};function yT(e,t){var r,n,a,i,s,o,u,c,f=e.constructor,d=f.precision;if(!e.s||!t.s)return t.s||(t=new f(e)),Ut?St(t,d):t;if(u=e.d,c=t.d,s=e.e,a=t.e,u=u.slice(),i=s-a,i){for(i<0?(n=u,i=-i,o=c.length):(n=c,a=s,o=u.length),s=Math.ceil(d/Mt),o=s>o?s+1:o+1,i>o&&(i=o,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(o=u.length,i=c.length,o-i<0&&(i=o,n=c,c=u,u=n),r=0;i;)r=(u[--i]=u[i]+c[i]+r)/gr|0,u[i]%=gr;for(r&&(u.unshift(r),++a),o=u.length;u[--o]==0;)u.pop();return t.d=u,t.e=a,Ut?St(t,d):t}function $a(e,t,r){if(e!==~~e||er)throw Error(zs+e)}function ja(e){var t,r,n,a=e.length-1,i="",s=e[0];if(a>0){for(i+=s,t=1;ts?1:-1;else for(o=u=0;oa[o]?1:-1;break}return u}function r(n,a,i){for(var s=0;i--;)n[i]-=s,s=n[i]1;)n.shift()}return function(n,a,i,s){var o,u,c,f,d,p,h,x,v,g,y,m,w,j,b,_,k,O,E=n.constructor,T=n.s==a.s?1:-1,$=n.d,A=a.d;if(!n.s)return new E(n);if(!a.s)throw Error(Vn+"Division by zero");for(u=n.e-a.e,k=A.length,b=$.length,h=new E(T),x=h.d=[],c=0;A[c]==($[c]||0);)++c;if(A[c]>($[c]||0)&&--u,i==null?m=i=E.precision:s?m=i+(sr(n)-sr(a))+1:m=i,m<0)return new E(0);if(m=m/Mt+2|0,c=0,k==1)for(f=0,A=A[0],m++;(c1&&(A=e(A,f),$=e($,f),k=A.length,b=$.length),j=k,v=$.slice(0,k),g=v.length;g=gr/2&&++_;do f=0,o=t(A,v,k,g),o<0?(y=v[0],k!=g&&(y=y*gr+(v[1]||0)),f=y/_|0,f>1?(f>=gr&&(f=gr-1),d=e(A,f),p=d.length,g=v.length,o=t(d,v,p,g),o==1&&(f--,r(d,k16)throw Error(l1+sr(e));if(!e.s)return new f(vn);for(Ut=!1,o=d,s=new f(.03125);e.abs().gte(.1);)e=e.times(s),c+=5;for(n=Math.log(js(2,c))/Math.LN10*2+5|0,o+=n,r=a=i=new f(vn),f.precision=o;;){if(a=St(a.times(e),o),r=r.times(++u),s=i.plus(ei(a,r,o)),ja(s.d).slice(0,o)===ja(i.d).slice(0,o)){for(;c--;)i=St(i.times(i),o);return f.precision=d,t==null?(Ut=!0,St(i,d)):i}i=s}}function sr(e){for(var t=e.e*Mt,r=e.d[0];r>=10;r/=10)t++;return t}function ky(e,t,r){if(t>e.LN10.sd())throw Ut=!0,r&&(e.precision=r),Error(Vn+"LN10 precision limit exceeded");return St(new e(e.LN10),t)}function ki(e){for(var t="";e--;)t+="0";return t}function Zc(e,t){var r,n,a,i,s,o,u,c,f,d=1,p=10,h=e,x=h.d,v=h.constructor,g=v.precision;if(h.s<1)throw Error(Vn+(h.s?"NaN":"-Infinity"));if(h.eq(vn))return new v(0);if(t==null?(Ut=!1,c=g):c=t,h.eq(10))return t==null&&(Ut=!0),ky(v,c);if(c+=p,v.precision=c,r=ja(x),n=r.charAt(0),i=sr(h),Math.abs(i)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)h=h.times(e),r=ja(h.d),n=r.charAt(0),d++;i=sr(h),n>1?(h=new v("0."+r),i++):h=new v(n+"."+r.slice(1))}else return u=ky(v,c+2,g).times(i+""),h=Zc(new v(n+"."+r.slice(1)),c-p).plus(u),v.precision=g,t==null?(Ut=!0,St(h,g)):h;for(o=s=h=ei(h.minus(vn),h.plus(vn),c),f=St(h.times(h),c),a=3;;){if(s=St(s.times(f),c),u=o.plus(ei(s,new v(a),c)),ja(u.d).slice(0,c)===ja(o.d).slice(0,c))return o=o.times(2),i!==0&&(o=o.plus(ky(v,c+2,g).times(i+""))),o=ei(o,new v(d),c),v.precision=g,t==null?(Ut=!0,St(o,g)):o;o=u,a+=2}}function Rk(e,t){var r,n,a;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(n,a),t){if(a-=n,r=r-n-1,e.e=cu(r/Mt),e.d=[],n=(r+1)%Mt,r<0&&(n+=Mt),nph||e.e<-ph))throw Error(l1+r)}else e.s=0,e.e=0,e.d=[0];return e}function St(e,t,r){var n,a,i,s,o,u,c,f,d=e.d;for(s=1,i=d[0];i>=10;i/=10)s++;if(n=t-s,n<0)n+=Mt,a=t,c=d[f=0];else{if(f=Math.ceil((n+1)/Mt),i=d.length,f>=i)return e;for(c=i=d[f],s=1;i>=10;i/=10)s++;n%=Mt,a=n-Mt+s}if(r!==void 0&&(i=js(10,s-a-1),o=c/i%10|0,u=t<0||d[f+1]!==void 0||c%i,u=r<4?(o||u)&&(r==0||r==(e.s<0?3:2)):o>5||o==5&&(r==4||u||r==6&&(n>0?a>0?c/js(10,s-a):0:d[f-1])%10&1||r==(e.s<0?8:7))),t<1||!d[0])return u?(i=sr(e),d.length=1,t=t-i-1,d[0]=js(10,(Mt-t%Mt)%Mt),e.e=cu(-t/Mt)||0):(d.length=1,d[0]=e.e=e.s=0),e;if(n==0?(d.length=f,i=1,f--):(d.length=f+1,i=js(10,Mt-n),d[f]=a>0?(c/js(10,s-a)%js(10,a)|0)*i:0),u)for(;;)if(f==0){(d[0]+=i)==gr&&(d[0]=1,++e.e);break}else{if(d[f]+=i,d[f]!=gr)break;d[f--]=0,i=1}for(n=d.length;d[--n]===0;)d.pop();if(Ut&&(e.e>ph||e.e<-ph))throw Error(l1+sr(e));return e}function xT(e,t){var r,n,a,i,s,o,u,c,f,d,p=e.constructor,h=p.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new p(e),Ut?St(t,h):t;if(u=e.d,d=t.d,n=t.e,c=e.e,u=u.slice(),s=c-n,s){for(f=s<0,f?(r=u,s=-s,o=d.length):(r=d,n=c,o=u.length),a=Math.max(Math.ceil(h/Mt),o)+2,s>a&&(s=a,r.length=1),r.reverse(),a=s;a--;)r.push(0);r.reverse()}else{for(a=u.length,o=d.length,f=a0;--a)u[o++]=0;for(a=d.length;a>s;){if(u[--a]0?i=i.charAt(0)+"."+i.slice(1)+ki(n):s>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(a<0?"e":"e+")+a):a<0?(i="0."+ki(-a-1)+i,r&&(n=r-s)>0&&(i+=ki(n))):a>=s?(i+=ki(a+1-s),r&&(n=r-a-1)>0&&(i=i+"."+ki(n))):((n=a+1)0&&(a+1===s&&(i+="."),i+=ki(n))),e.s<0?"-"+i:i}function Ik(e,t){if(e.length>t)return e.length=t,!0}function bT(e){var t,r,n;function a(i){var s=this;if(!(s instanceof a))return new a(i);if(s.constructor=a,i instanceof a){s.s=i.s,s.e=i.e,s.d=(i=i.d)?i.slice():i;return}if(typeof i=="number"){if(i*0!==0)throw Error(zs+i);if(i>0)s.s=1;else if(i<0)i=-i,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(i===~~i&&i<1e7){s.e=0,s.d=[i];return}return Rk(s,i.toString())}else if(typeof i!="string")throw Error(zs+i);if(i.charCodeAt(0)===45?(i=i.slice(1),s.s=-1):s.s=1,vX.test(i))Rk(s,i);else throw Error(zs+i)}if(a.prototype=xe,a.ROUND_UP=0,a.ROUND_DOWN=1,a.ROUND_CEIL=2,a.ROUND_FLOOR=3,a.ROUND_HALF_UP=4,a.ROUND_HALF_DOWN=5,a.ROUND_HALF_EVEN=6,a.ROUND_HALF_CEIL=7,a.ROUND_HALF_FLOOR=8,a.clone=bT,a.config=a.set=xX,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=a[t+1]&&n<=a[t+2])this[r]=n;else throw Error(zs+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(zs+r+": "+n);return this}var u1=bT(yX);vn=new u1(1);const _t=u1;function bX(e){return SX(e)||jX(e)||_X(e)||wX()}function wX(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _X(e,t){if(e){if(typeof e=="string")return r0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return r0(e,t)}}function jX(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function SX(e){if(Array.isArray(e))return r0(e)}function r0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=t?r.apply(void 0,a):e(t-s,Mk(function(){for(var o=arguments.length,u=new Array(o),c=0;ce.length)&&(t=e.length);for(var r=0,n=new Array(t);r"u"||!(Symbol.iterator in Object(e)))){var r=[],n=!0,a=!1,i=void 0;try{for(var s=e[Symbol.iterator](),o;!(n=(o=s.next()).done)&&(r.push(o.value),!(t&&r.length===t));n=!0);}catch(u){a=!0,i=u}finally{try{!n&&s.return!=null&&s.return()}finally{if(a)throw i}}return r}}function FX(e){if(Array.isArray(e))return e}function kT(e){var t=Jc(e,2),r=t[0],n=t[1],a=r,i=n;return r>n&&(a=n,i=r),[a,i]}function OT(e,t,r){if(e.lte(0))return new _t(0);var n=ng.getDigitCount(e.toNumber()),a=new _t(10).pow(n),i=e.div(a),s=n!==1?.05:.1,o=new _t(Math.ceil(i.div(s).toNumber())).add(r).mul(s),u=o.mul(a);return t?u:new _t(Math.ceil(u))}function zX(e,t,r){var n=1,a=new _t(e);if(!a.isint()&&r){var i=Math.abs(e);i<1?(n=new _t(10).pow(ng.getDigitCount(e)-1),a=new _t(Math.floor(a.div(n).toNumber())).mul(n)):i>1&&(a=new _t(Math.floor(e)))}else e===0?a=new _t(Math.floor((t-1)/2)):r||(a=new _t(Math.floor(e)));var s=Math.floor((t-1)/2),o=AX(NX(function(u){return a.add(new _t(u-s).mul(n)).toNumber()}),n0);return o(0,t)}function NT(e,t,r,n){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(r-1)))return{step:new _t(0),tickMin:new _t(0),tickMax:new _t(0)};var i=OT(new _t(t).sub(e).div(r-1),n,a),s;e<=0&&t>=0?s=new _t(0):(s=new _t(e).add(t).div(2),s=s.sub(new _t(s).mod(i)));var o=Math.ceil(s.sub(e).div(i).toNumber()),u=Math.ceil(new _t(t).sub(s).div(i).toNumber()),c=o+u+1;return c>r?NT(e,t,r,n,a+1):(c0?u+(r-c):u,o=t>0?o:o+(r-c)),{step:i,tickMin:s.sub(new _t(o).mul(i)),tickMax:s.add(new _t(u).mul(i))})}function BX(e){var t=Jc(e,2),r=t[0],n=t[1],a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=Math.max(a,2),o=kT([r,n]),u=Jc(o,2),c=u[0],f=u[1];if(c===-1/0||f===1/0){var d=f===1/0?[c].concat(i0(n0(0,a-1).map(function(){return 1/0}))):[].concat(i0(n0(0,a-1).map(function(){return-1/0})),[f]);return r>n?a0(d):d}if(c===f)return zX(c,a,i);var p=NT(c,f,s,i),h=p.step,x=p.tickMin,v=p.tickMax,g=ng.rangeStep(x,v.add(new _t(.1).mul(h)),h);return r>n?a0(g):g}function UX(e,t){var r=Jc(e,2),n=r[0],a=r[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=kT([n,a]),o=Jc(s,2),u=o[0],c=o[1];if(u===-1/0||c===1/0)return[n,a];if(u===c)return[u];var f=Math.max(t,2),d=OT(new _t(c).sub(u).div(f-1),i,0),p=[].concat(i0(ng.rangeStep(new _t(u),new _t(c).sub(new _t(.99).mul(d)),d)),[c]);return n>a?a0(p):p}var VX=jT(BX),WX=jT(UX),HX="Invariant failed";function Js(e,t){throw new Error(HX)}var GX=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function Nl(e){"@babel/helpers - typeof";return Nl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nl(e)}function hh(){return hh=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function QX(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function eZ(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function tZ(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&arguments[1]!==void 0?arguments[1]:[],a=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,s=-1,o=(r=n==null?void 0:n.length)!==null&&r!==void 0?r:0;if(o<=1)return 0;if(i&&i.axisType==="angleAxis"&&Math.abs(Math.abs(i.range[1]-i.range[0])-360)<=1e-6)for(var u=i.range,c=0;c0?a[c-1].coordinate:a[o-1].coordinate,d=a[c].coordinate,p=c>=o-1?a[0].coordinate:a[c+1].coordinate,h=void 0;if(Hr(d-f)!==Hr(p-d)){var x=[];if(Hr(p-d)===Hr(u[1]-u[0])){h=p;var v=d+u[1]-u[0];x[0]=Math.min(v,(v+f)/2),x[1]=Math.max(v,(v+f)/2)}else{h=f;var g=p+u[1]-u[0];x[0]=Math.min(d,(g+d)/2),x[1]=Math.max(d,(g+d)/2)}var y=[Math.min(d,(h+d)/2),Math.max(d,(h+d)/2)];if(t>y[0]&&t<=y[1]||t>=x[0]&&t<=x[1]){s=a[c].index;break}}else{var m=Math.min(f,p),w=Math.max(f,p);if(t>(m+d)/2&&t<=(w+d)/2){s=a[c].index;break}}}else for(var j=0;j0&&j(n[j].coordinate+n[j-1].coordinate)/2&&t<=(n[j].coordinate+n[j+1].coordinate)/2||j===o-1&&t>(n[j].coordinate+n[j-1].coordinate)/2){s=n[j].index;break}return s},c1=function(t){var r,n=t,a=n.type.displayName,i=(r=t.type)!==null&&r!==void 0&&r.defaultProps?Yt(Yt({},t.type.defaultProps),t.props):t.props,s=i.stroke,o=i.fill,u;switch(a){case"Line":u=s;break;case"Area":case"Radar":u=s&&s!=="none"?s:o;break;default:u=o;break}return u},vZ=function(t){var r=t.barSize,n=t.totalSize,a=t.stackGroups,i=a===void 0?{}:a;if(!i)return{};for(var s={},o=Object.keys(i),u=0,c=o.length;u=0});if(y&&y.length){var m=y[0].type.defaultProps,w=m!==void 0?Yt(Yt({},m),y[0].props):y[0].props,j=w.barSize,b=w[g];s[b]||(s[b]=[]);var _=Fe(j)?r:j;s[b].push({item:y[0],stackList:y.slice(1),barSize:Fe(_)?void 0:Gr(_,n,0)})}}return s},xZ=function(t){var r=t.barGap,n=t.barCategoryGap,a=t.bandSize,i=t.sizeList,s=i===void 0?[]:i,o=t.maxBarSize,u=s.length;if(u<1)return null;var c=Gr(r,a,0,!0),f,d=[];if(s[0].barSize===+s[0].barSize){var p=!1,h=a/u,x=s.reduce(function(j,b){return j+b.barSize||0},0);x+=(u-1)*c,x>=a&&(x-=(u-1)*c,c=0),x>=a&&h>0&&(p=!0,h*=.9,x=u*h);var v=(a-x)/2>>0,g={offset:v-c,size:0};f=s.reduce(function(j,b){var _={item:b.item,position:{offset:g.offset+g.size+c,size:p?h:b.barSize}},k=[].concat(Fk(j),[_]);return g=k[k.length-1].position,b.stackList&&b.stackList.length&&b.stackList.forEach(function(O){k.push({item:O,position:g})}),k},d)}else{var y=Gr(n,a,0,!0);a-2*y-(u-1)*c<=0&&(c=0);var m=(a-2*y-(u-1)*c)/u;m>1&&(m>>=0);var w=o===+o?Math.min(m,o):m;f=s.reduce(function(j,b,_){var k=[].concat(Fk(j),[{item:b.item,position:{offset:y+(m+c)*_+(m-w)/2,size:w}}]);return b.stackList&&b.stackList.length&&b.stackList.forEach(function(O){k.push({item:O,position:k[k.length-1].position})}),k},d)}return f},bZ=function(t,r,n,a){var i=n.children,s=n.width,o=n.margin,u=s-(o.left||0)-(o.right||0),c=CT({children:i,legendWidth:u});if(c){var f=a||{},d=f.width,p=f.height,h=c.align,x=c.verticalAlign,v=c.layout;if((v==="vertical"||v==="horizontal"&&x==="middle")&&h!=="center"&&se(t[h]))return Yt(Yt({},t),{},il({},h,t[h]+(d||0)));if((v==="horizontal"||v==="vertical"&&h==="center")&&x!=="middle"&&se(t[x]))return Yt(Yt({},t),{},il({},x,t[x]+(p||0)))}return t},wZ=function(t,r,n){return Fe(r)?!0:t==="horizontal"?r==="yAxis":t==="vertical"||n==="x"?r==="xAxis":n==="y"?r==="yAxis":!0},TT=function(t,r,n,a,i){var s=r.props.children,o=_n(s,Bd).filter(function(c){return wZ(a,i,c.props.direction)});if(o&&o.length){var u=o.map(function(c){return c.props.dataKey});return t.reduce(function(c,f){var d=er(f,n);if(Fe(d))return c;var p=Array.isArray(d)?[tg(d),Mi(d)]:[d,d],h=u.reduce(function(x,v){var g=er(f,v,0),y=p[0]-Math.abs(Array.isArray(g)?g[0]:g),m=p[1]+Math.abs(Array.isArray(g)?g[1]:g);return[Math.min(y,x[0]),Math.max(m,x[1])]},[1/0,-1/0]);return[Math.min(h[0],c[0]),Math.max(h[1],c[1])]},[1/0,-1/0])}return null},_Z=function(t,r,n,a,i){var s=r.map(function(o){return TT(t,o,n,i,a)}).filter(function(o){return!Fe(o)});return s&&s.length?s.reduce(function(o,u){return[Math.min(o[0],u[0]),Math.max(o[1],u[1])]},[1/0,-1/0]):null},$T=function(t,r,n,a,i){var s=r.map(function(u){var c=u.props.dataKey;return n==="number"&&c&&TT(t,u,c,a)||cc(t,c,n,i)});if(n==="number")return s.reduce(function(u,c){return[Math.min(u[0],c[0]),Math.max(u[1],c[1])]},[1/0,-1/0]);var o={};return s.reduce(function(u,c){for(var f=0,d=c.length;f=2?Hr(o[0]-o[1])*2*c:c,r&&(t.ticks||t.niceTicks)){var f=(t.ticks||t.niceTicks).map(function(d){var p=i?i.indexOf(d):d;return{coordinate:a(p)+c,value:d,offset:c}});return f.filter(function(d){return!au(d.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(d,p){return{coordinate:a(d)+c,value:d,index:p,offset:c}}):a.ticks&&!n?a.ticks(t.tickCount).map(function(d){return{coordinate:a(d)+c,value:d,offset:c}}):a.domain().map(function(d,p){return{coordinate:a(d)+c,value:i?i[d]:d,index:p,offset:c}})},Oy=new WeakMap,Pf=function(t,r){if(typeof r!="function")return t;Oy.has(t)||Oy.set(t,new WeakMap);var n=Oy.get(t);if(n.has(r))return n.get(r);var a=function(){t.apply(void 0,arguments),r.apply(void 0,arguments)};return n.set(r,a),a},MT=function(t,r,n){var a=t.scale,i=t.type,s=t.layout,o=t.axisType;if(a==="auto")return s==="radial"&&o==="radiusAxis"?{scale:Gc(),realScaleType:"band"}:s==="radial"&&o==="angleAxis"?{scale:uh(),realScaleType:"linear"}:i==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!n)?{scale:uc(),realScaleType:"point"}:i==="category"?{scale:Gc(),realScaleType:"band"}:{scale:uh(),realScaleType:"linear"};if(qs(a)){var u="scale".concat(Bm(a));return{scale:($k[u]||uc)(),realScaleType:$k[u]?u:"point"}}return Te(a)?{scale:a}:{scale:uc(),realScaleType:"point"}},Bk=1e-4,DT=function(t){var r=t.domain();if(!(!r||r.length<=2)){var n=r.length,a=t.range(),i=Math.min(a[0],a[1])-Bk,s=Math.max(a[0],a[1])+Bk,o=t(r[0]),u=t(r[n-1]);(os||us)&&t.domain([r[0],r[n-1]])}},jZ=function(t,r){if(!t)return null;for(var n=0,a=t.length;na)&&(i[1]=a),i[0]>a&&(i[0]=a),i[1]=0?(t[o][n][0]=i,t[o][n][1]=i+u,i=t[o][n][1]):(t[o][n][0]=s,t[o][n][1]=s+u,s=t[o][n][1])}},OZ=function(t){var r=t.length;if(!(r<=0))for(var n=0,a=t[0].length;n=0?(t[s][n][0]=i,t[s][n][1]=i+o,i=t[s][n][1]):(t[s][n][0]=0,t[s][n][1]=0)}},NZ={sign:kZ,expand:GF,none:xl,silhouette:qF,wiggle:KF,positive:OZ},AZ=function(t,r,n){var a=r.map(function(o){return o.props.dataKey}),i=NZ[n],s=HF().keys(a).value(function(o,u){return+er(o,u,0)}).order($x).offset(i);return s(t)},EZ=function(t,r,n,a,i,s){if(!t)return null;var o=s?r.reverse():r,u={},c=o.reduce(function(d,p){var h,x=(h=p.type)!==null&&h!==void 0&&h.defaultProps?Yt(Yt({},p.type.defaultProps),p.props):p.props,v=x.stackId,g=x.hide;if(g)return d;var y=x[n],m=d[y]||{hasStack:!1,stackGroups:{}};if(pr(v)){var w=m.stackGroups[v]||{numericAxisId:n,cateAxisId:a,items:[]};w.items.push(p),m.hasStack=!0,m.stackGroups[v]=w}else m.stackGroups[oo("_stackId_")]={numericAxisId:n,cateAxisId:a,items:[p]};return Yt(Yt({},d),{},il({},y,m))},u),f={};return Object.keys(c).reduce(function(d,p){var h=c[p];if(h.hasStack){var x={};h.stackGroups=Object.keys(h.stackGroups).reduce(function(v,g){var y=h.stackGroups[g];return Yt(Yt({},v),{},il({},g,{numericAxisId:n,cateAxisId:a,items:y.items,stackedData:AZ(t,y.items,i)}))},x)}return Yt(Yt({},d),{},il({},p,h))},f)},LT=function(t,r){var n=r.realScaleType,a=r.type,i=r.tickCount,s=r.originalDomain,o=r.allowDecimals,u=n||r.scale;if(u!=="auto"&&u!=="linear")return null;if(i&&a==="number"&&s&&(s[0]==="auto"||s[1]==="auto")){var c=t.domain();if(!c.length)return null;var f=VX(c,i,o);return t.domain([tg(f),Mi(f)]),{niceTicks:f}}if(i&&a==="number"){var d=t.domain(),p=WX(d,i,o);return{niceTicks:p}}return null};function gh(e){var t=e.axis,r=e.ticks,n=e.bandSize,a=e.entry,i=e.index,s=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Fe(a[t.dataKey])){var o=Bp(r,"value",a[t.dataKey]);if(o)return o.coordinate+n/2}return r[i]?r[i].coordinate+n/2:null}var u=er(a,Fe(s)?t.dataKey:s);return Fe(u)?null:t.scale(u)}var Uk=function(t){var r=t.axis,n=t.ticks,a=t.offset,i=t.bandSize,s=t.entry,o=t.index;if(r.type==="category")return n[o]?n[o].coordinate+a:null;var u=er(s,r.dataKey,r.domain[o]);return Fe(u)?null:r.scale(u)-i/2+a},PZ=function(t){var r=t.numericAxis,n=r.scale.domain();if(r.type==="number"){var a=Math.min(n[0],n[1]),i=Math.max(n[0],n[1]);return a<=0&&i>=0?0:i<0?i:a}return n[0]},CZ=function(t,r){var n,a=(n=t.type)!==null&&n!==void 0&&n.defaultProps?Yt(Yt({},t.type.defaultProps),t.props):t.props,i=a.stackId;if(pr(i)){var s=r[i];if(s){var o=s.items.indexOf(t);return o>=0?s.stackedData[o]:null}}return null},TZ=function(t){return t.reduce(function(r,n){return[tg(n.concat([r[0]]).filter(se)),Mi(n.concat([r[1]]).filter(se))]},[1/0,-1/0])},FT=function(t,r,n){return Object.keys(t).reduce(function(a,i){var s=t[i],o=s.stackedData,u=o.reduce(function(c,f){var d=TZ(f.slice(r,n+1));return[Math.min(c[0],d[0]),Math.max(c[1],d[1])]},[1/0,-1/0]);return[Math.min(u[0],a[0]),Math.max(u[1],a[1])]},[1/0,-1/0]).map(function(a){return a===1/0||a===-1/0?0:a})},Vk=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Wk=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,u0=function(t,r,n){if(Te(t))return t(r,n);if(!Array.isArray(t))return r;var a=[];if(se(t[0]))a[0]=n?t[0]:Math.min(t[0],r[0]);else if(Vk.test(t[0])){var i=+Vk.exec(t[0])[1];a[0]=r[0]-i}else Te(t[0])?a[0]=t[0](r[0]):a[0]=r[0];if(se(t[1]))a[1]=n?t[1]:Math.max(t[1],r[1]);else if(Wk.test(t[1])){var s=+Wk.exec(t[1])[1];a[1]=r[1]+s}else Te(t[1])?a[1]=t[1](r[1]):a[1]=r[1];return a},yh=function(t,r,n){if(t&&t.scale&&t.scale.bandwidth){var a=t.scale.bandwidth();if(!n||a>0)return a}if(t&&r&&r.length>=2){for(var i=Lw(r,function(d){return d.coordinate}),s=1/0,o=1,u=i.length;oe.length)&&(t=e.length);for(var r=0,n=new Array(t);r2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},BZ=function(t,r,n,a,i){var s=t.width,o=t.height,u=t.startAngle,c=t.endAngle,f=Gr(t.cx,s,s/2),d=Gr(t.cy,o,o/2),p=UT(s,o,n),h=Gr(t.innerRadius,p,0),x=Gr(t.outerRadius,p,p*.8),v=Object.keys(r);return v.reduce(function(g,y){var m=r[y],w=m.domain,j=m.reversed,b;if(Fe(m.range))a==="angleAxis"?b=[u,c]:a==="radiusAxis"&&(b=[h,x]),j&&(b=[b[1],b[0]]);else{b=m.range;var _=b,k=IZ(_,2);u=k[0],c=k[1]}var O=MT(m,i),E=O.realScaleType,T=O.scale;T.domain(w).range(b),DT(T);var $=LT(T,Ua(Ua({},m),{},{realScaleType:E})),A=Ua(Ua(Ua({},m),$),{},{range:b,radius:x,realScaleType:E,scale:T,cx:f,cy:d,innerRadius:h,outerRadius:x,startAngle:u,endAngle:c});return Ua(Ua({},g),{},BT({},y,A))},{})},UZ=function(t,r){var n=t.x,a=t.y,i=r.x,s=r.y;return Math.sqrt(Math.pow(n-i,2)+Math.pow(a-s,2))},VZ=function(t,r){var n=t.x,a=t.y,i=r.cx,s=r.cy,o=UZ({x:n,y:a},{x:i,y:s});if(o<=0)return{radius:o};var u=(n-i)/o,c=Math.acos(u);return a>s&&(c=2*Math.PI-c),{radius:o,angle:zZ(c),angleInRadian:c}},WZ=function(t){var r=t.startAngle,n=t.endAngle,a=Math.floor(r/360),i=Math.floor(n/360),s=Math.min(a,i);return{startAngle:r-s*360,endAngle:n-s*360}},HZ=function(t,r){var n=r.startAngle,a=r.endAngle,i=Math.floor(n/360),s=Math.floor(a/360),o=Math.min(i,s);return t+o*360},Kk=function(t,r){var n=t.x,a=t.y,i=VZ({x:n,y:a},r),s=i.radius,o=i.angle,u=r.innerRadius,c=r.outerRadius;if(sc)return!1;if(s===0)return!0;var f=WZ(r),d=f.startAngle,p=f.endAngle,h=o,x;if(d<=p){for(;h>p;)h-=360;for(;h=d&&h<=p}else{for(;h>d;)h-=360;for(;h=p&&h<=d}return x?Ua(Ua({},r),{},{radius:s,angle:HZ(h,r)}):null},VT=function(t){return!S.isValidElement(t)&&!Te(t)&&typeof t!="boolean"?t.className:""};function rd(e){"@babel/helpers - typeof";return rd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rd(e)}var GZ=["offset"];function qZ(e){return ZZ(e)||XZ(e)||YZ(e)||KZ()}function KZ(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function YZ(e,t){if(e){if(typeof e=="string")return c0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c0(e,t)}}function XZ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ZZ(e){if(Array.isArray(e))return c0(e)}function c0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function QZ(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Yk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function lr(e){for(var t=1;t=0?1:-1,w,j;a==="insideStart"?(w=h+m*s,j=v):a==="insideEnd"?(w=x-m*s,j=!v):a==="end"&&(w=x+m*s,j=v),j=y<=0?j:!j;var b=Et(c,f,g,w),_=Et(c,f,g,w+(j?1:-1)*359),k="M".concat(b.x,",").concat(b.y,` + A`).concat(g,",").concat(g,",0,1,").concat(j?0:1,`, + `).concat(_.x,",").concat(_.y),O=Fe(t.id)?oo("recharts-radial-line-"):t.id;return P.createElement("text",nd({},n,{dominantBaseline:"central",className:He("recharts-radial-bar-label",o)}),P.createElement("defs",null,P.createElement("path",{id:O,d:k})),P.createElement("textPath",{xlinkHref:"#".concat(O)},r))},sJ=function(t){var r=t.viewBox,n=t.offset,a=t.position,i=r,s=i.cx,o=i.cy,u=i.innerRadius,c=i.outerRadius,f=i.startAngle,d=i.endAngle,p=(f+d)/2;if(a==="outside"){var h=Et(s,o,c+n,p),x=h.x,v=h.y;return{x,y:v,textAnchor:x>=s?"start":"end",verticalAnchor:"middle"}}if(a==="center")return{x:s,y:o,textAnchor:"middle",verticalAnchor:"middle"};if(a==="centerTop")return{x:s,y:o,textAnchor:"middle",verticalAnchor:"start"};if(a==="centerBottom")return{x:s,y:o,textAnchor:"middle",verticalAnchor:"end"};var g=(u+c)/2,y=Et(s,o,g,p),m=y.x,w=y.y;return{x:m,y:w,textAnchor:"middle",verticalAnchor:"middle"}},oJ=function(t){var r=t.viewBox,n=t.parentViewBox,a=t.offset,i=t.position,s=r,o=s.x,u=s.y,c=s.width,f=s.height,d=f>=0?1:-1,p=d*a,h=d>0?"end":"start",x=d>0?"start":"end",v=c>=0?1:-1,g=v*a,y=v>0?"end":"start",m=v>0?"start":"end";if(i==="top"){var w={x:o+c/2,y:u-d*a,textAnchor:"middle",verticalAnchor:h};return lr(lr({},w),n?{height:Math.max(u-n.y,0),width:c}:{})}if(i==="bottom"){var j={x:o+c/2,y:u+f+p,textAnchor:"middle",verticalAnchor:x};return lr(lr({},j),n?{height:Math.max(n.y+n.height-(u+f),0),width:c}:{})}if(i==="left"){var b={x:o-g,y:u+f/2,textAnchor:y,verticalAnchor:"middle"};return lr(lr({},b),n?{width:Math.max(b.x-n.x,0),height:f}:{})}if(i==="right"){var _={x:o+c+g,y:u+f/2,textAnchor:m,verticalAnchor:"middle"};return lr(lr({},_),n?{width:Math.max(n.x+n.width-_.x,0),height:f}:{})}var k=n?{width:c,height:f}:{};return i==="insideLeft"?lr({x:o+g,y:u+f/2,textAnchor:m,verticalAnchor:"middle"},k):i==="insideRight"?lr({x:o+c-g,y:u+f/2,textAnchor:y,verticalAnchor:"middle"},k):i==="insideTop"?lr({x:o+c/2,y:u+p,textAnchor:"middle",verticalAnchor:x},k):i==="insideBottom"?lr({x:o+c/2,y:u+f-p,textAnchor:"middle",verticalAnchor:h},k):i==="insideTopLeft"?lr({x:o+g,y:u+p,textAnchor:m,verticalAnchor:x},k):i==="insideTopRight"?lr({x:o+c-g,y:u+p,textAnchor:y,verticalAnchor:x},k):i==="insideBottomLeft"?lr({x:o+g,y:u+f-p,textAnchor:m,verticalAnchor:h},k):i==="insideBottomRight"?lr({x:o+c-g,y:u+f-p,textAnchor:y,verticalAnchor:h},k):eu(i)&&(se(i.x)||Ps(i.x))&&(se(i.y)||Ps(i.y))?lr({x:o+Gr(i.x,c),y:u+Gr(i.y,f),textAnchor:"end",verticalAnchor:"end"},k):lr({x:o+c/2,y:u+f/2,textAnchor:"middle",verticalAnchor:"middle"},k)},lJ=function(t){return"cx"in t&&se(t.cx)};function xr(e){var t=e.offset,r=t===void 0?5:t,n=JZ(e,GZ),a=lr({offset:r},n),i=a.viewBox,s=a.position,o=a.value,u=a.children,c=a.content,f=a.className,d=f===void 0?"":f,p=a.textBreakAll;if(!i||Fe(o)&&Fe(u)&&!S.isValidElement(c)&&!Te(c))return null;if(S.isValidElement(c))return S.cloneElement(c,a);var h;if(Te(c)){if(h=S.createElement(c,a),S.isValidElement(h))return h}else h=nJ(a);var x=lJ(i),v=Ee(a,!0);if(x&&(s==="insideStart"||s==="insideEnd"||s==="end"))return iJ(a,h,v);var g=x?sJ(a):oJ(a);return P.createElement(Ys,nd({className:He("recharts-label",d)},v,g,{breakAll:p}),h)}xr.displayName="Label";var WT=function(t){var r=t.cx,n=t.cy,a=t.angle,i=t.startAngle,s=t.endAngle,o=t.r,u=t.radius,c=t.innerRadius,f=t.outerRadius,d=t.x,p=t.y,h=t.top,x=t.left,v=t.width,g=t.height,y=t.clockWise,m=t.labelViewBox;if(m)return m;if(se(v)&&se(g)){if(se(d)&&se(p))return{x:d,y:p,width:v,height:g};if(se(h)&&se(x))return{x:h,y:x,width:v,height:g}}return se(d)&&se(p)?{x:d,y:p,width:0,height:0}:se(r)&&se(n)?{cx:r,cy:n,startAngle:i||a||0,endAngle:s||a||0,innerRadius:c||0,outerRadius:f||u||o||0,clockWise:y}:t.viewBox?t.viewBox:{}},uJ=function(t,r){return t?t===!0?P.createElement(xr,{key:"label-implicit",viewBox:r}):pr(t)?P.createElement(xr,{key:"label-implicit",viewBox:r,value:t}):S.isValidElement(t)?t.type===xr?S.cloneElement(t,{key:"label-implicit",viewBox:r}):P.createElement(xr,{key:"label-implicit",content:t,viewBox:r}):Te(t)?P.createElement(xr,{key:"label-implicit",content:t,viewBox:r}):eu(t)?P.createElement(xr,nd({viewBox:r},t,{key:"label-implicit"})):null:null},cJ=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&n&&!t.label)return null;var a=t.children,i=WT(t),s=_n(a,xr).map(function(u,c){return S.cloneElement(u,{viewBox:r||i,key:"label-".concat(c)})});if(!n)return s;var o=uJ(t.label,r||i);return[o].concat(qZ(s))};xr.parseViewBox=WT;xr.renderCallByParent=cJ;function dJ(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var fJ=dJ;const pJ=vt(fJ);function ad(e){"@babel/helpers - typeof";return ad=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ad(e)}var hJ=["valueAccessor"],mJ=["data","dataKey","clockWise","id","textBreakAll"];function gJ(e){return bJ(e)||xJ(e)||vJ(e)||yJ()}function yJ(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vJ(e,t){if(e){if(typeof e=="string")return d0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return d0(e,t)}}function xJ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function bJ(e){if(Array.isArray(e))return d0(e)}function d0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function SJ(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var kJ=function(t){return Array.isArray(t.value)?pJ(t.value):t.value};function Aa(e){var t=e.valueAccessor,r=t===void 0?kJ:t,n=Jk(e,hJ),a=n.data,i=n.dataKey,s=n.clockWise,o=n.id,u=n.textBreakAll,c=Jk(n,mJ);return!a||!a.length?null:P.createElement(Qe,{className:"recharts-label-list"},a.map(function(f,d){var p=Fe(i)?r(f,d):er(f&&f.payload,i),h=Fe(o)?{}:{id:"".concat(o,"-").concat(d)};return P.createElement(xr,xh({},Ee(f,!0),c,h,{parentViewBox:f.parentViewBox,value:p,textBreakAll:u,viewBox:xr.parseViewBox(Fe(s)?f:Zk(Zk({},f),{},{clockWise:s})),key:"label-".concat(d),index:d}))}))}Aa.displayName="LabelList";function OJ(e,t){return e?e===!0?P.createElement(Aa,{key:"labelList-implicit",data:t}):P.isValidElement(e)||Te(e)?P.createElement(Aa,{key:"labelList-implicit",data:t,content:e}):eu(e)?P.createElement(Aa,xh({data:t},e,{key:"labelList-implicit"})):null:null}function NJ(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&r&&!e.label)return null;var n=e.children,a=_n(n,Aa).map(function(s,o){return S.cloneElement(s,{data:t,key:"labelList-".concat(o)})});if(!r)return a;var i=OJ(e.label,t);return[i].concat(gJ(a))}Aa.renderCallByParent=NJ;function id(e){"@babel/helpers - typeof";return id=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},id(e)}function f0(){return f0=Object.assign?Object.assign.bind():function(e){for(var t=1;t180),",").concat(+(s>c),`, + `).concat(d.x,",").concat(d.y,` + `);if(a>0){var h=Et(r,n,a,s),x=Et(r,n,a,c);p+="L ".concat(x.x,",").concat(x.y,` + A `).concat(a,",").concat(a,`,0, + `).concat(+(Math.abs(u)>180),",").concat(+(s<=c),`, + `).concat(h.x,",").concat(h.y," Z")}else p+="L ".concat(r,",").concat(n," Z");return p},TJ=function(t){var r=t.cx,n=t.cy,a=t.innerRadius,i=t.outerRadius,s=t.cornerRadius,o=t.forceCornerRadius,u=t.cornerIsExternal,c=t.startAngle,f=t.endAngle,d=Hr(f-c),p=Cf({cx:r,cy:n,radius:i,angle:c,sign:d,cornerRadius:s,cornerIsExternal:u}),h=p.circleTangency,x=p.lineTangency,v=p.theta,g=Cf({cx:r,cy:n,radius:i,angle:f,sign:-d,cornerRadius:s,cornerIsExternal:u}),y=g.circleTangency,m=g.lineTangency,w=g.theta,j=u?Math.abs(c-f):Math.abs(c-f)-v-w;if(j<0)return o?"M ".concat(x.x,",").concat(x.y,` + a`).concat(s,",").concat(s,",0,0,1,").concat(s*2,`,0 + a`).concat(s,",").concat(s,",0,0,1,").concat(-s*2,`,0 + `):HT({cx:r,cy:n,innerRadius:a,outerRadius:i,startAngle:c,endAngle:f});var b="M ".concat(x.x,",").concat(x.y,` + A`).concat(s,",").concat(s,",0,0,").concat(+(d<0),",").concat(h.x,",").concat(h.y,` + A`).concat(i,",").concat(i,",0,").concat(+(j>180),",").concat(+(d<0),",").concat(y.x,",").concat(y.y,` + A`).concat(s,",").concat(s,",0,0,").concat(+(d<0),",").concat(m.x,",").concat(m.y,` + `);if(a>0){var _=Cf({cx:r,cy:n,radius:a,angle:c,sign:d,isExternal:!0,cornerRadius:s,cornerIsExternal:u}),k=_.circleTangency,O=_.lineTangency,E=_.theta,T=Cf({cx:r,cy:n,radius:a,angle:f,sign:-d,isExternal:!0,cornerRadius:s,cornerIsExternal:u}),$=T.circleTangency,A=T.lineTangency,R=T.theta,M=u?Math.abs(c-f):Math.abs(c-f)-E-R;if(M<0&&s===0)return"".concat(b,"L").concat(r,",").concat(n,"Z");b+="L".concat(A.x,",").concat(A.y,` + A`).concat(s,",").concat(s,",0,0,").concat(+(d<0),",").concat($.x,",").concat($.y,` + A`).concat(a,",").concat(a,",0,").concat(+(M>180),",").concat(+(d>0),",").concat(k.x,",").concat(k.y,` + A`).concat(s,",").concat(s,",0,0,").concat(+(d<0),",").concat(O.x,",").concat(O.y,"Z")}else b+="L".concat(r,",").concat(n,"Z");return b},$J={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},GT=function(t){var r=e2(e2({},$J),t),n=r.cx,a=r.cy,i=r.innerRadius,s=r.outerRadius,o=r.cornerRadius,u=r.forceCornerRadius,c=r.cornerIsExternal,f=r.startAngle,d=r.endAngle,p=r.className;if(s0&&Math.abs(f-d)<360?g=TJ({cx:n,cy:a,innerRadius:i,outerRadius:s,cornerRadius:Math.min(v,x/2),forceCornerRadius:u,cornerIsExternal:c,startAngle:f,endAngle:d}):g=HT({cx:n,cy:a,innerRadius:i,outerRadius:s,startAngle:f,endAngle:d}),P.createElement("path",f0({},Ee(r,!0),{className:h,d:g,role:"img"}))};function sd(e){"@babel/helpers - typeof";return sd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},sd(e)}function p0(){return p0=Object.assign?Object.assign.bind():function(e){for(var t=1;tGJ.call(e,t));function co(e,t){return e===t||!e&&!t&&e!==e&&t!==t}const YJ="__v",XJ="__o",ZJ="_owner",{getOwnPropertyDescriptor:i2,keys:s2}=Object;function JJ(e,t){return e.byteLength===t.byteLength&&bh(new Uint8Array(e),new Uint8Array(t))}function QJ(e,t,r){let n=e.length;if(t.length!==n)return!1;for(;n-- >0;)if(!r.equals(e[n],t[n],n,n,e,t,r))return!1;return!0}function eQ(e,t){return e.byteLength===t.byteLength&&bh(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function tQ(e,t){return co(e.getTime(),t.getTime())}function rQ(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function nQ(e,t){return e===t}function o2(e,t,r){const n=e.size;if(n!==t.size)return!1;if(!n)return!0;const a=new Array(n),i=e.entries();let s,o,u=0;for(;(s=i.next())&&!s.done;){const c=t.entries();let f=!1,d=0;for(;(o=c.next())&&!o.done;){if(a[d]){d++;continue}const p=s.value,h=o.value;if(r.equals(p[0],h[0],u,d,e,t,r)&&r.equals(p[1],h[1],p[0],h[0],e,t,r)){f=a[d]=!0;break}d++}if(!f)return!1;u++}return!0}const aQ=co;function iQ(e,t,r){const n=s2(e);let a=n.length;if(s2(t).length!==a)return!1;for(;a-- >0;)if(!XT(e,t,r,n[a]))return!1;return!0}function Tu(e,t,r){const n=a2(e);let a=n.length;if(a2(t).length!==a)return!1;let i,s,o;for(;a-- >0;)if(i=n[a],!XT(e,t,r,i)||(s=i2(e,i),o=i2(t,i),(s||o)&&(!s||!o||s.configurable!==o.configurable||s.enumerable!==o.enumerable||s.writable!==o.writable)))return!1;return!0}function sQ(e,t){return co(e.valueOf(),t.valueOf())}function oQ(e,t){return e.source===t.source&&e.flags===t.flags}function l2(e,t,r){const n=e.size;if(n!==t.size)return!1;if(!n)return!0;const a=new Array(n),i=e.values();let s,o;for(;(s=i.next())&&!s.done;){const u=t.values();let c=!1,f=0;for(;(o=u.next())&&!o.done;){if(!a[f]&&r.equals(s.value,o.value,s.value,o.value,e,t,r)){c=a[f]=!0;break}f++}if(!c)return!1}return!0}function bh(e,t){let r=e.byteLength;if(t.byteLength!==r||e.byteOffset!==t.byteOffset)return!1;for(;r-- >0;)if(e[r]!==t[r])return!1;return!0}function lQ(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function XT(e,t,r,n){return(n===ZJ||n===XJ||n===YJ)&&(e.$$typeof||t.$$typeof)?!0:KJ(t,n)&&r.equals(e[n],t[n],n,n,e,t,r)}const uQ="[object ArrayBuffer]",cQ="[object Arguments]",dQ="[object Boolean]",fQ="[object DataView]",pQ="[object Date]",hQ="[object Error]",mQ="[object Map]",gQ="[object Number]",yQ="[object Object]",vQ="[object RegExp]",xQ="[object Set]",bQ="[object String]",wQ={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},_Q="[object URL]",jQ=Object.prototype.toString;function SQ({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:r,areDatesEqual:n,areErrorsEqual:a,areFunctionsEqual:i,areMapsEqual:s,areNumbersEqual:o,areObjectsEqual:u,arePrimitiveWrappersEqual:c,areRegExpsEqual:f,areSetsEqual:d,areTypedArraysEqual:p,areUrlsEqual:h,unknownTagComparators:x}){return function(g,y,m){if(g===y)return!0;if(g==null||y==null)return!1;const w=typeof g;if(w!==typeof y)return!1;if(w!=="object")return w==="number"?o(g,y,m):w==="function"?i(g,y,m):!1;const j=g.constructor;if(j!==y.constructor)return!1;if(j===Object)return u(g,y,m);if(Array.isArray(g))return t(g,y,m);if(j===Date)return n(g,y,m);if(j===RegExp)return f(g,y,m);if(j===Map)return s(g,y,m);if(j===Set)return d(g,y,m);const b=jQ.call(g);if(b===pQ)return n(g,y,m);if(b===vQ)return f(g,y,m);if(b===mQ)return s(g,y,m);if(b===xQ)return d(g,y,m);if(b===yQ)return typeof g.then!="function"&&typeof y.then!="function"&&u(g,y,m);if(b===_Q)return h(g,y,m);if(b===hQ)return a(g,y,m);if(b===cQ)return u(g,y,m);if(wQ[b])return p(g,y,m);if(b===uQ)return e(g,y,m);if(b===fQ)return r(g,y,m);if(b===dQ||b===gQ||b===bQ)return c(g,y,m);if(x){let _=x[b];if(!_){const k=qJ(g);k&&(_=x[k])}if(_)return _(g,y,m)}return!1}}function kQ({circular:e,createCustomConfig:t,strict:r}){let n={areArrayBuffersEqual:JJ,areArraysEqual:r?Tu:QJ,areDataViewsEqual:eQ,areDatesEqual:tQ,areErrorsEqual:rQ,areFunctionsEqual:nQ,areMapsEqual:r?Ny(o2,Tu):o2,areNumbersEqual:aQ,areObjectsEqual:r?Tu:iQ,arePrimitiveWrappersEqual:sQ,areRegExpsEqual:oQ,areSetsEqual:r?Ny(l2,Tu):l2,areTypedArraysEqual:r?Ny(bh,Tu):bh,areUrlsEqual:lQ,unknownTagComparators:void 0};if(t&&(n=Object.assign({},n,t(n))),e){const a=$f(n.areArraysEqual),i=$f(n.areMapsEqual),s=$f(n.areObjectsEqual),o=$f(n.areSetsEqual);n=Object.assign({},n,{areArraysEqual:a,areMapsEqual:i,areObjectsEqual:s,areSetsEqual:o})}return n}function OQ(e){return function(t,r,n,a,i,s,o){return e(t,r,o)}}function NQ({circular:e,comparator:t,createState:r,equals:n,strict:a}){if(r)return function(o,u){const{cache:c=e?new WeakMap:void 0,meta:f}=r();return t(o,u,{cache:c,equals:n,meta:f,strict:a})};if(e)return function(o,u){return t(o,u,{cache:new WeakMap,equals:n,meta:void 0,strict:a})};const i={cache:void 0,equals:n,meta:void 0,strict:a};return function(o,u){return t(o,u,i)}}const AQ=cs();cs({strict:!0});cs({circular:!0});cs({circular:!0,strict:!0});cs({createInternalComparator:()=>co});cs({strict:!0,createInternalComparator:()=>co});cs({circular:!0,createInternalComparator:()=>co});cs({circular:!0,createInternalComparator:()=>co,strict:!0});function cs(e={}){const{circular:t=!1,createInternalComparator:r,createState:n,strict:a=!1}=e,i=kQ(e),s=SQ(i),o=r?r(s):OQ(s);return NQ({circular:t,comparator:s,createState:n,equals:o,strict:a})}function EQ(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function u2(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=-1,n=function a(i){r<0&&(r=i),i-r>t?(e(i),r=-1):EQ(a)};requestAnimationFrame(n)}function h0(e){"@babel/helpers - typeof";return h0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},h0(e)}function PQ(e){return RQ(e)||$Q(e)||TQ(e)||CQ()}function CQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function TQ(e,t){if(e){if(typeof e=="string")return c2(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c2(e,t)}}function c2(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r1?1:y<0?0:y},v=function(y){for(var m=y>1?1:y,w=m,j=0;j<8;++j){var b=d(w)-m,_=h(w);if(Math.abs(b-m)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,a=t.damping,i=a===void 0?8:a,s=t.dt,o=s===void 0?17:s,u=function(f,d,p){var h=-(f-d)*n,x=p*i,v=p+(h-x)*o/1e3,g=p*o/1e3+f;return Math.abs(g-d)e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function dee(e,t){if(e==null)return{};var r={},n=Object.keys(e),a,i;for(i=0;i=0)&&(r[a]=e[a]);return r}function Ay(e){return mee(e)||hee(e)||pee(e)||fee()}function fee(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pee(e,t){if(e){if(typeof e=="string")return x0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return x0(e,t)}}function hee(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function mee(e){if(Array.isArray(e))return x0(e)}function x0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function jh(e){return jh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},jh(e)}var da=function(e){bee(r,e);var t=wee(r);function r(n,a){var i;gee(this,r),i=t.call(this,n,a);var s=i.props,o=s.isActive,u=s.attributeName,c=s.from,f=s.to,d=s.steps,p=s.children,h=s.duration;if(i.handleStyleChange=i.handleStyleChange.bind(_0(i)),i.changeStyle=i.changeStyle.bind(_0(i)),!o||h<=0)return i.state={style:{}},typeof p=="function"&&(i.state={style:f}),w0(i);if(d&&d.length)i.state={style:d[0].style};else if(c){if(typeof p=="function")return i.state={style:c},w0(i);i.state={style:u?Hu({},u,c):c}}else i.state={style:{}};return i}return vee(r,[{key:"componentDidMount",value:function(){var a=this.props,i=a.isActive,s=a.canBegin;this.mounted=!0,!(!i||!s)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(a){var i=this.props,s=i.isActive,o=i.canBegin,u=i.attributeName,c=i.shouldReAnimate,f=i.to,d=i.from,p=this.state.style;if(o){if(!s){var h={style:u?Hu({},u,f):f};this.state&&p&&(u&&p[u]!==f||!u&&p!==f)&&this.setState(h);return}if(!(AQ(a.to,f)&&a.canBegin&&a.isActive)){var x=!a.canBegin||!a.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var v=x||c?d:a.to;if(this.state&&p){var g={style:u?Hu({},u,v):v};(u&&p[u]!==v||!u&&p!==v)&&this.setState(g)}this.runAnimation(Xn(Xn({},this.props),{},{from:v,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var a=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),a&&a()}},{key:"handleStyleChange",value:function(a){this.changeStyle(a)}},{key:"changeStyle",value:function(a){this.mounted&&this.setState({style:a})}},{key:"runJSAnimation",value:function(a){var i=this,s=a.from,o=a.to,u=a.duration,c=a.easing,f=a.begin,d=a.onAnimationEnd,p=a.onAnimationStart,h=lee(s,o,ZQ(c),u,this.changeStyle),x=function(){i.stopJSAnimation=h()};this.manager.start([p,f,x,u,d])}},{key:"runStepAnimation",value:function(a){var i=this,s=a.steps,o=a.begin,u=a.onAnimationStart,c=s[0],f=c.style,d=c.duration,p=d===void 0?0:d,h=function(v,g,y){if(y===0)return v;var m=g.duration,w=g.easing,j=w===void 0?"ease":w,b=g.style,_=g.properties,k=g.onAnimationEnd,O=y>0?s[y-1]:g,E=_||Object.keys(b);if(typeof j=="function"||j==="spring")return[].concat(Ay(v),[i.runJSAnimation.bind(i,{from:O.style,to:b,duration:m,easing:j}),m]);var T=p2(E,m,j),$=Xn(Xn(Xn({},O.style),b),{},{transition:T});return[].concat(Ay(v),[$,m,k]).filter(FQ)};return this.manager.start([u].concat(Ay(s.reduce(h,[f,Math.max(p,o)])),[a.onAnimationEnd]))}},{key:"runAnimation",value:function(a){this.manager||(this.manager=IQ());var i=a.begin,s=a.duration,o=a.attributeName,u=a.to,c=a.easing,f=a.onAnimationStart,d=a.onAnimationEnd,p=a.steps,h=a.children,x=this.manager;if(this.unSubscribe=x.subscribe(this.handleStyleChange),typeof c=="function"||typeof h=="function"||c==="spring"){this.runJSAnimation(a);return}if(p.length>1){this.runStepAnimation(a);return}var v=o?Hu({},o,u):u,g=p2(Object.keys(v),s,c);x.start([f,i,Xn(Xn({},v),{},{transition:g}),s,d])}},{key:"render",value:function(){var a=this.props,i=a.children;a.begin;var s=a.duration;a.attributeName,a.easing;var o=a.isActive;a.steps,a.from,a.to,a.canBegin,a.onAnimationEnd,a.shouldReAnimate,a.onAnimationReStart;var u=cee(a,uee),c=S.Children.count(i),f=this.state.style;if(typeof i=="function")return i(f);if(!o||c===0||s<=0)return i;var d=function(h){var x=h.props,v=x.style,g=v===void 0?{}:v,y=x.className,m=S.cloneElement(h,Xn(Xn({},u),{},{style:Xn(Xn({},g),f),className:y}));return m};return c===1?d(S.Children.only(i)):P.createElement("div",null,S.Children.map(i,function(p){return d(p)}))}}]),r}(S.PureComponent);da.displayName="Animate";da.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};da.propTypes={from:gt.oneOfType([gt.object,gt.string]),to:gt.oneOfType([gt.object,gt.string]),attributeName:gt.string,duration:gt.number,begin:gt.number,easing:gt.oneOfType([gt.string,gt.func]),steps:gt.arrayOf(gt.shape({duration:gt.number.isRequired,style:gt.object.isRequired,easing:gt.oneOfType([gt.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),gt.func]),properties:gt.arrayOf("string"),onAnimationEnd:gt.func})),children:gt.oneOfType([gt.node,gt.func]),isActive:gt.bool,canBegin:gt.bool,onAnimationEnd:gt.func,shouldReAnimate:gt.bool,onAnimationStart:gt.func,onAnimationReStart:gt.func};function ud(e){"@babel/helpers - typeof";return ud=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ud(e)}function Sh(){return Sh=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0?1:-1,u=n>=0?1:-1,c=a>=0&&n>=0||a<0&&n<0?1:0,f;if(s>0&&i instanceof Array){for(var d=[0,0,0,0],p=0,h=4;ps?s:i[p];f="M".concat(t,",").concat(r+o*d[0]),d[0]>0&&(f+="A ".concat(d[0],",").concat(d[0],",0,0,").concat(c,",").concat(t+u*d[0],",").concat(r)),f+="L ".concat(t+n-u*d[1],",").concat(r),d[1]>0&&(f+="A ".concat(d[1],",").concat(d[1],",0,0,").concat(c,`, + `).concat(t+n,",").concat(r+o*d[1])),f+="L ".concat(t+n,",").concat(r+a-o*d[2]),d[2]>0&&(f+="A ".concat(d[2],",").concat(d[2],",0,0,").concat(c,`, + `).concat(t+n-u*d[2],",").concat(r+a)),f+="L ".concat(t+u*d[3],",").concat(r+a),d[3]>0&&(f+="A ".concat(d[3],",").concat(d[3],",0,0,").concat(c,`, + `).concat(t,",").concat(r+a-o*d[3])),f+="Z"}else if(s>0&&i===+i&&i>0){var x=Math.min(s,i);f="M ".concat(t,",").concat(r+o*x,` + A `).concat(x,",").concat(x,",0,0,").concat(c,",").concat(t+u*x,",").concat(r,` + L `).concat(t+n-u*x,",").concat(r,` + A `).concat(x,",").concat(x,",0,0,").concat(c,",").concat(t+n,",").concat(r+o*x,` + L `).concat(t+n,",").concat(r+a-o*x,` + A `).concat(x,",").concat(x,",0,0,").concat(c,",").concat(t+n-u*x,",").concat(r+a,` + L `).concat(t+u*x,",").concat(r+a,` + A `).concat(x,",").concat(x,",0,0,").concat(c,",").concat(t,",").concat(r+a-o*x," Z")}else f="M ".concat(t,",").concat(r," h ").concat(n," v ").concat(a," h ").concat(-n," Z");return f},Cee=function(t,r){if(!t||!r)return!1;var n=t.x,a=t.y,i=r.x,s=r.y,o=r.width,u=r.height;if(Math.abs(o)>0&&Math.abs(u)>0){var c=Math.min(i,i+o),f=Math.max(i,i+o),d=Math.min(s,s+u),p=Math.max(s,s+u);return n>=c&&n<=f&&a>=d&&a<=p}return!1},Tee={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},d1=function(t){var r=w2(w2({},Tee),t),n=S.useRef(),a=S.useState(-1),i=jee(a,2),s=i[0],o=i[1];S.useEffect(function(){if(n.current&&n.current.getTotalLength)try{var j=n.current.getTotalLength();j&&o(j)}catch{}},[]);var u=r.x,c=r.y,f=r.width,d=r.height,p=r.radius,h=r.className,x=r.animationEasing,v=r.animationDuration,g=r.animationBegin,y=r.isAnimationActive,m=r.isUpdateAnimationActive;if(u!==+u||c!==+c||f!==+f||d!==+d||f===0||d===0)return null;var w=He("recharts-rectangle",h);return m?P.createElement(da,{canBegin:s>0,from:{width:f,height:d,x:u,y:c},to:{width:f,height:d,x:u,y:c},duration:v,animationEasing:x,isActive:m},function(j){var b=j.width,_=j.height,k=j.x,O=j.y;return P.createElement(da,{canBegin:s>0,from:"0px ".concat(s===-1?1:s,"px"),to:"".concat(s,"px 0px"),attributeName:"strokeDasharray",begin:g,duration:v,isActive:y,easing:x},P.createElement("path",Sh({},Ee(r,!0),{className:w,d:_2(k,O,b,_,p),ref:n})))}):P.createElement("path",Sh({},Ee(r,!0),{className:w,d:_2(u,c,f,d,p)}))},$ee=["points","className","baseLinePoints","connectNulls"];function Vo(){return Vo=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Iee(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function j2(e){return Fee(e)||Lee(e)||Dee(e)||Mee()}function Mee(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Dee(e,t){if(e){if(typeof e=="string")return j0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return j0(e,t)}}function Lee(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Fee(e){if(Array.isArray(e))return j0(e)}function j0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&arguments[0]!==void 0?arguments[0]:[],r=[[]];return t.forEach(function(n){S2(n)?r[r.length-1].push(n):r[r.length-1].length>0&&r.push([])}),S2(t[0])&&r[r.length-1].push(t[0]),r[r.length-1].length<=0&&(r=r.slice(0,-1)),r},fc=function(t,r){var n=zee(t);r&&(n=[n.reduce(function(i,s){return[].concat(j2(i),j2(s))},[])]);var a=n.map(function(i){return i.reduce(function(s,o,u){return"".concat(s).concat(u===0?"M":"L").concat(o.x,",").concat(o.y)},"")}).join("");return n.length===1?"".concat(a,"Z"):a},Bee=function(t,r,n){var a=fc(t,n);return"".concat(a.slice(-1)==="Z"?a.slice(0,-1):a,"L").concat(fc(r.reverse(),n).slice(1))},Uee=function(t){var r=t.points,n=t.className,a=t.baseLinePoints,i=t.connectNulls,s=Ree(t,$ee);if(!r||!r.length)return null;var o=He("recharts-polygon",n);if(a&&a.length){var u=s.stroke&&s.stroke!=="none",c=Bee(r,a,i);return P.createElement("g",{className:o},P.createElement("path",Vo({},Ee(s,!0),{fill:c.slice(-1)==="Z"?s.fill:"none",stroke:"none",d:c})),u?P.createElement("path",Vo({},Ee(s,!0),{fill:"none",d:fc(r,i)})):null,u?P.createElement("path",Vo({},Ee(s,!0),{fill:"none",d:fc(a,i)})):null)}var f=fc(r,i);return P.createElement("path",Vo({},Ee(s,!0),{fill:f.slice(-1)==="Z"?s.fill:"none",className:o,d:f}))};function S0(){return S0=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Yee(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var Xee=function(t,r,n,a,i,s){return"M".concat(t,",").concat(i,"v").concat(a,"M").concat(s,",").concat(r,"h").concat(n)},Zee=function(t){var r=t.x,n=r===void 0?0:r,a=t.y,i=a===void 0?0:a,s=t.top,o=s===void 0?0:s,u=t.left,c=u===void 0?0:u,f=t.width,d=f===void 0?0:f,p=t.height,h=p===void 0?0:p,x=t.className,v=Kee(t,Vee),g=Wee({x:n,y:i,top:o,left:c,width:d,height:h},v);return!se(n)||!se(i)||!se(d)||!se(h)||!se(o)||!se(c)?null:P.createElement("path",k0({},Ee(g,!0),{className:He("recharts-cross",x),d:Xee(n,i,d,h,o,c)}))},Jee=eg,Qee=hT,ete=Ma;function tte(e,t){return e&&e.length?Jee(e,ete(t),Qee):void 0}var rte=tte;const nte=vt(rte);var ate=eg,ite=Ma,ste=mT;function ote(e,t){return e&&e.length?ate(e,ite(t),ste):void 0}var lte=ote;const ute=vt(lte);var cte=["cx","cy","angle","ticks","axisLine"],dte=["ticks","tick","angle","tickFormatter","stroke"];function El(e){"@babel/helpers - typeof";return El=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},El(e)}function pc(){return pc=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function fte(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function pte(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function A2(e,t){for(var r=0;rC2?s=a==="outer"?"start":"end":i<-C2?s=a==="outer"?"end":"start":s="middle",s}},{key:"renderAxisLine",value:function(){var n=this.props,a=n.cx,i=n.cy,s=n.radius,o=n.axisLine,u=n.axisLineType,c=ys(ys({},Ee(this.props,!1)),{},{fill:"none"},Ee(o,!1));if(u==="circle")return P.createElement(Ud,Ss({className:"recharts-polar-angle-axis-line"},c,{cx:a,cy:i,r:s}));var f=this.props.ticks,d=f.map(function(p){return Et(a,i,s,p.coordinate)});return P.createElement(Uee,Ss({className:"recharts-polar-angle-axis-line"},c,{points:d}))}},{key:"renderTicks",value:function(){var n=this,a=this.props,i=a.ticks,s=a.tick,o=a.tickLine,u=a.tickFormatter,c=a.stroke,f=Ee(this.props,!1),d=Ee(s,!1),p=ys(ys({},f),{},{fill:"none"},Ee(o,!1)),h=i.map(function(x,v){var g=n.getTickLineCoord(x),y=n.getTickTextAnchor(x),m=ys(ys(ys({textAnchor:y},f),{},{stroke:"none",fill:c},d),{},{index:v,payload:x,x:g.x2,y:g.y2});return P.createElement(Qe,Ss({className:He("recharts-polar-angle-axis-tick",VT(s)),key:"tick-".concat(x.coordinate)},Ks(n.props,x,v)),o&&P.createElement("line",Ss({className:"recharts-polar-angle-axis-tick-line"},p,g)),s&&t.renderTickItem(s,m,u?u(x.value,v):x.value))});return P.createElement(Qe,{className:"recharts-polar-angle-axis-ticks"},h)}},{key:"render",value:function(){var n=this.props,a=n.ticks,i=n.radius,s=n.axisLine;return i<=0||!a||!a.length?null:P.createElement(Qe,{className:He("recharts-polar-angle-axis",this.props.className)},s&&this.renderAxisLine(),this.renderTicks())}}],[{key:"renderTickItem",value:function(n,a,i){var s;return P.isValidElement(n)?s=P.cloneElement(n,a):Te(n)?s=n(a):s=P.createElement(Ys,Ss({},a,{className:"recharts-polar-angle-axis-tick-value"}),i),s}}])}(S.PureComponent);sg(og,"displayName","PolarAngleAxis");sg(og,"axisType","angleAxis");sg(og,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var Ate=dC,Ete=Ate(Object.getPrototypeOf,Object),Pte=Ete,Cte=hi,Tte=Pte,$te=mi,Rte="[object Object]",Ite=Function.prototype,Mte=Object.prototype,o$=Ite.toString,Dte=Mte.hasOwnProperty,Lte=o$.call(Object);function Fte(e){if(!$te(e)||Cte(e)!=Rte)return!1;var t=Tte(e);if(t===null)return!0;var r=Dte.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&o$.call(r)==Lte}var zte=Fte;const Bte=vt(zte);var Ute=hi,Vte=mi,Wte="[object Boolean]";function Hte(e){return e===!0||e===!1||Vte(e)&&Ute(e)==Wte}var Gte=Hte;const qte=vt(Gte);function dd(e){"@babel/helpers - typeof";return dd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dd(e)}function Nh(){return Nh=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0,from:{upperWidth:0,lowerWidth:0,height:p,x:u,y:c},to:{upperWidth:f,lowerWidth:d,height:p,x:u,y:c},duration:v,animationEasing:x,isActive:y},function(w){var j=w.upperWidth,b=w.lowerWidth,_=w.height,k=w.x,O=w.y;return P.createElement(da,{canBegin:s>0,from:"0px ".concat(s===-1?1:s,"px"),to:"".concat(s,"px 0px"),attributeName:"strokeDasharray",begin:g,duration:v,easing:x},P.createElement("path",Nh({},Ee(r,!0),{className:m,d:I2(k,O,j,b,_),ref:n})))}):P.createElement("g",null,P.createElement("path",Nh({},Ee(r,!0),{className:m,d:I2(u,c,f,d,p)})))},are=["option","shapeType","propTransformer","activeClassName","isActive"];function fd(e){"@babel/helpers - typeof";return fd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fd(e)}function ire(e,t){if(e==null)return{};var r=sre(e,t),n,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function sre(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function M2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ah(e){for(var t=1;t0?wn(w,"paddingAngle",0):0;if(b){var k=dr(b.endAngle-b.startAngle,w.endAngle-w.startAngle),O=Ot(Ot({},w),{},{startAngle:m+_,endAngle:m+k(v)+_});g.push(O),m=O.endAngle}else{var E=w.endAngle,T=w.startAngle,$=dr(0,E-T),A=$(v),R=Ot(Ot({},w),{},{startAngle:m+_,endAngle:m+A+_});g.push(R),m=R.endAngle}}),P.createElement(Qe,null,n.renderSectorsStatically(g))})}},{key:"attachKeyboardHandlers",value:function(n){var a=this;n.onkeydown=function(i){if(!i.altKey)switch(i.key){case"ArrowLeft":{var s=++a.state.sectorToFocus%a.sectorRefs.length;a.sectorRefs[s].focus(),a.setState({sectorToFocus:s});break}case"ArrowRight":{var o=--a.state.sectorToFocus<0?a.sectorRefs.length-1:a.state.sectorToFocus%a.sectorRefs.length;a.sectorRefs[o].focus(),a.setState({sectorToFocus:o});break}case"Escape":{a.sectorRefs[a.state.sectorToFocus].blur(),a.setState({sectorToFocus:0});break}}}}},{key:"renderSectors",value:function(){var n=this.props,a=n.sectors,i=n.isAnimationActive,s=this.state.prevSectors;return i&&a&&a.length&&(!s||!Xs(s,a))?this.renderSectorsWithAnimation():this.renderSectorsStatically(a)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var n=this,a=this.props,i=a.hide,s=a.sectors,o=a.className,u=a.label,c=a.cx,f=a.cy,d=a.innerRadius,p=a.outerRadius,h=a.isAnimationActive,x=this.state.isAnimationFinished;if(i||!s||!s.length||!se(c)||!se(f)||!se(d)||!se(p))return null;var v=He("recharts-pie",o);return P.createElement(Qe,{tabIndex:this.props.rootTabIndex,className:v,ref:function(y){n.pieRef=y}},this.renderSectors(),u&&this.renderLabels(s),xr.renderCallByParent(this.props,null,!1),(!h||x)&&Aa.renderCallByParent(this.props,s,!1))}}],[{key:"getDerivedStateFromProps",value:function(n,a){return a.prevIsAnimationActive!==n.isAnimationActive?{prevIsAnimationActive:n.isAnimationActive,prevAnimationId:n.animationId,curSectors:n.sectors,prevSectors:[],isAnimationFinished:!0}:n.isAnimationActive&&n.animationId!==a.prevAnimationId?{prevAnimationId:n.animationId,curSectors:n.sectors,prevSectors:a.curSectors,isAnimationFinished:!0}:n.sectors!==a.curSectors?{curSectors:n.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(n,a){return n>a?"start":n=360?m:m-1)*u,j=g-m*h-w,b=a.reduce(function(O,E){var T=er(E,y,0);return O+(se(T)?T:0)},0),_;if(b>0){var k;_=a.map(function(O,E){var T=er(O,y,0),$=er(O,f,E),A=(se(T)?T:0)/b,R;E?R=k.endAngle+Hr(v)*u*(T!==0?1:0):R=s;var M=R+Hr(v)*((T!==0?h:0)+A*j),L=(R+M)/2,V=(x.innerRadius+x.outerRadius)/2,H=[{name:$,value:T,payload:O,dataKey:y,type:p}],I=Et(x.cx,x.cy,V,L);return k=Ot(Ot(Ot({percent:A,cornerRadius:i,name:$,tooltipPayload:H,midAngle:L,middleRadius:V,tooltipPosition:I},O),x),{},{value:er(O,y),startAngle:R,endAngle:M,payload:O,paddingAngle:Hr(v)*u}),k})}return Ot(Ot({},x),{},{sectors:_,data:a})});var Nre=Math.ceil,Are=Math.max;function Ere(e,t,r,n){for(var a=-1,i=Are(Nre((t-e)/(r||1)),0),s=Array(i);i--;)s[n?i:++a]=e,e+=r;return s}var Pre=Ere,Cre=PC,z2=1/0,Tre=17976931348623157e292;function $re(e){if(!e)return e===0?e:0;if(e=Cre(e),e===z2||e===-z2){var t=e<0?-1:1;return t*Tre}return e===e?e:0}var d$=$re,Rre=Pre,Ire=qm,Ey=d$;function Mre(e){return function(t,r,n){return n&&typeof n!="number"&&Ire(t,r,n)&&(r=n=void 0),t=Ey(t),r===void 0?(r=t,t=0):r=Ey(r),n=n===void 0?t0&&n.handleDrag(a.changedTouches[0])}),mn(n,"handleDragEnd",function(){n.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var a=n.props,i=a.endIndex,s=a.onDragEnd,o=a.startIndex;s==null||s({endIndex:i,startIndex:o})}),n.detachDragEndListener()}),mn(n,"handleLeaveWrapper",function(){(n.state.isTravellerMoving||n.state.isSlideMoving)&&(n.leaveTimer=window.setTimeout(n.handleDragEnd,n.props.leaveTimeOut))}),mn(n,"handleEnterSlideOrTraveller",function(){n.setState({isTextActive:!0})}),mn(n,"handleLeaveSlideOrTraveller",function(){n.setState({isTextActive:!1})}),mn(n,"handleSlideDragStart",function(a){var i=H2(a)?a.changedTouches[0]:a;n.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:i.pageX}),n.attachDragEndListener()}),n.travellerDragStartHandlers={startX:n.handleTravellerDragStart.bind(n,"startX"),endX:n.handleTravellerDragStart.bind(n,"endX")},n.state={},n}return Xre(t,e),Gre(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(n){var a=n.startX,i=n.endX,s=this.state.scaleValues,o=this.props,u=o.gap,c=o.data,f=c.length-1,d=Math.min(a,i),p=Math.max(a,i),h=t.getIndexInRange(s,d),x=t.getIndexInRange(s,p);return{startIndex:h-h%u,endIndex:x===f?f:x-x%u}}},{key:"getTextOfTick",value:function(n){var a=this.props,i=a.data,s=a.tickFormatter,o=a.dataKey,u=er(i[n],o,n);return Te(s)?s(u,n):u}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(n){var a=this.state,i=a.slideMoveStartX,s=a.startX,o=a.endX,u=this.props,c=u.x,f=u.width,d=u.travellerWidth,p=u.startIndex,h=u.endIndex,x=u.onChange,v=n.pageX-i;v>0?v=Math.min(v,c+f-d-o,c+f-d-s):v<0&&(v=Math.max(v,c-s,c-o));var g=this.getIndex({startX:s+v,endX:o+v});(g.startIndex!==p||g.endIndex!==h)&&x&&x(g),this.setState({startX:s+v,endX:o+v,slideMoveStartX:n.pageX})}},{key:"handleTravellerDragStart",value:function(n,a){var i=H2(a)?a.changedTouches[0]:a;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:n,brushMoveStartX:i.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(n){var a=this.state,i=a.brushMoveStartX,s=a.movingTravellerId,o=a.endX,u=a.startX,c=this.state[s],f=this.props,d=f.x,p=f.width,h=f.travellerWidth,x=f.onChange,v=f.gap,g=f.data,y={startX:this.state.startX,endX:this.state.endX},m=n.pageX-i;m>0?m=Math.min(m,d+p-h-c):m<0&&(m=Math.max(m,d-c)),y[s]=c+m;var w=this.getIndex(y),j=w.startIndex,b=w.endIndex,_=function(){var O=g.length-1;return s==="startX"&&(o>u?j%v===0:b%v===0)||ou?b%v===0:j%v===0)||o>u&&b===O};this.setState(mn(mn({},s,c+m),"brushMoveStartX",n.pageX),function(){x&&_()&&x(w)})}},{key:"handleTravellerMoveKeyboard",value:function(n,a){var i=this,s=this.state,o=s.scaleValues,u=s.startX,c=s.endX,f=this.state[a],d=o.indexOf(f);if(d!==-1){var p=d+n;if(!(p===-1||p>=o.length)){var h=o[p];a==="startX"&&h>=c||a==="endX"&&h<=u||this.setState(mn({},a,h),function(){i.props.onChange(i.getIndex({startX:i.state.startX,endX:i.state.endX}))})}}}},{key:"renderBackground",value:function(){var n=this.props,a=n.x,i=n.y,s=n.width,o=n.height,u=n.fill,c=n.stroke;return P.createElement("rect",{stroke:c,fill:u,x:a,y:i,width:s,height:o})}},{key:"renderPanorama",value:function(){var n=this.props,a=n.x,i=n.y,s=n.width,o=n.height,u=n.data,c=n.children,f=n.padding,d=S.Children.only(c);return d?P.cloneElement(d,{x:a,y:i,width:s,height:o,margin:f,compact:!0,data:u}):null}},{key:"renderTravellerLayer",value:function(n,a){var i,s,o=this,u=this.props,c=u.y,f=u.travellerWidth,d=u.height,p=u.traveller,h=u.ariaLabel,x=u.data,v=u.startIndex,g=u.endIndex,y=Math.max(n,this.props.x),m=Py(Py({},Ee(this.props,!1)),{},{x:y,y:c,width:f,height:d}),w=h||"Min value: ".concat((i=x[v])===null||i===void 0?void 0:i.name,", Max value: ").concat((s=x[g])===null||s===void 0?void 0:s.name);return P.createElement(Qe,{tabIndex:0,role:"slider","aria-label":w,"aria-valuenow":n,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[a],onTouchStart:this.travellerDragStartHandlers[a],onKeyDown:function(b){["ArrowLeft","ArrowRight"].includes(b.key)&&(b.preventDefault(),b.stopPropagation(),o.handleTravellerMoveKeyboard(b.key==="ArrowRight"?1:-1,a))},onFocus:function(){o.setState({isTravellerFocused:!0})},onBlur:function(){o.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(p,m))}},{key:"renderSlide",value:function(n,a){var i=this.props,s=i.y,o=i.height,u=i.stroke,c=i.travellerWidth,f=Math.min(n,a)+c,d=Math.max(Math.abs(a-n)-c,0);return P.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:u,fillOpacity:.2,x:f,y:s,width:d,height:o})}},{key:"renderText",value:function(){var n=this.props,a=n.startIndex,i=n.endIndex,s=n.y,o=n.height,u=n.travellerWidth,c=n.stroke,f=this.state,d=f.startX,p=f.endX,h=5,x={pointerEvents:"none",fill:c};return P.createElement(Qe,{className:"recharts-brush-texts"},P.createElement(Ys,Ch({textAnchor:"end",verticalAnchor:"middle",x:Math.min(d,p)-h,y:s+o/2},x),this.getTextOfTick(a)),P.createElement(Ys,Ch({textAnchor:"start",verticalAnchor:"middle",x:Math.max(d,p)+u+h,y:s+o/2},x),this.getTextOfTick(i)))}},{key:"render",value:function(){var n=this.props,a=n.data,i=n.className,s=n.children,o=n.x,u=n.y,c=n.width,f=n.height,d=n.alwaysShowText,p=this.state,h=p.startX,x=p.endX,v=p.isTextActive,g=p.isSlideMoving,y=p.isTravellerMoving,m=p.isTravellerFocused;if(!a||!a.length||!se(o)||!se(u)||!se(c)||!se(f)||c<=0||f<=0)return null;var w=He("recharts-brush",i),j=P.Children.count(s)===1,b=Wre("userSelect","none");return P.createElement(Qe,{className:w,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:b},this.renderBackground(),j&&this.renderPanorama(),this.renderSlide(h,x),this.renderTravellerLayer(h,"startX"),this.renderTravellerLayer(x,"endX"),(v||g||y||m||d)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(n){var a=n.x,i=n.y,s=n.width,o=n.height,u=n.stroke,c=Math.floor(i+o/2)-1;return P.createElement(P.Fragment,null,P.createElement("rect",{x:a,y:i,width:s,height:o,fill:u,stroke:"none"}),P.createElement("line",{x1:a+1,y1:c,x2:a+s-1,y2:c,fill:"none",stroke:"#fff"}),P.createElement("line",{x1:a+1,y1:c+2,x2:a+s-1,y2:c+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(n,a){var i;return P.isValidElement(n)?i=P.cloneElement(n,a):Te(n)?i=n(a):i=t.renderDefaultTraveller(a),i}},{key:"getDerivedStateFromProps",value:function(n,a){var i=n.data,s=n.width,o=n.x,u=n.travellerWidth,c=n.updateId,f=n.startIndex,d=n.endIndex;if(i!==a.prevData||c!==a.prevUpdateId)return Py({prevData:i,prevTravellerWidth:u,prevUpdateId:c,prevX:o,prevWidth:s},i&&i.length?Jre({data:i,width:s,x:o,travellerWidth:u,startIndex:f,endIndex:d}):{scale:null,scaleValues:null});if(a.scale&&(s!==a.prevWidth||o!==a.prevX||u!==a.prevTravellerWidth)){a.scale.range([o,o+s-u]);var p=a.scale.domain().map(function(h){return a.scale(h)});return{prevData:i,prevTravellerWidth:u,prevUpdateId:c,prevX:o,prevWidth:s,startX:a.scale(n.startIndex),endX:a.scale(n.endIndex),scaleValues:p}}return null}},{key:"getIndexInRange",value:function(n,a){for(var i=n.length,s=0,o=i-1;o-s>1;){var u=Math.floor((s+o)/2);n[u]>a?o=u:s=u}return a>=n[o]?o:s}}])}(S.PureComponent);mn($l,"displayName","Brush");mn($l,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var Qre=Dw;function ene(e,t){var r;return Qre(e,function(n,a,i){return r=t(n,a,i),!r}),!!r}var tne=ene,rne=nC,nne=Ma,ane=tne,ine=cn,sne=qm;function one(e,t,r){var n=ine(e)?rne:ane;return r&&sne(e,t,r)&&(t=void 0),n(e,nne(t))}var lne=one;const une=vt(lne);var Ea=function(t,r){var n=t.alwaysShow,a=t.ifOverflow;return n&&(a="extendDomain"),a===r},G2=kC;function cne(e,t,r){t=="__proto__"&&G2?G2(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var dne=cne,fne=dne,pne=jC,hne=Ma;function mne(e,t){var r={};return t=hne(t),pne(e,function(n,a,i){fne(r,a,t(n,a,i))}),r}var gne=mne;const yne=vt(gne);function vne(e,t){for(var r=-1,n=e==null?0:e.length;++r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Ine(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Mne(e,t){var r=e.x,n=e.y,a=Rne(e,Pne),i="".concat(r),s=parseInt(i,10),o="".concat(n),u=parseInt(o,10),c="".concat(t.height||a.height),f=parseInt(c,10),d="".concat(t.width||a.width),p=parseInt(d,10);return $u($u($u($u($u({},t),a),s?{x:s}:{}),u?{y:u}:{}),{},{height:f,width:p,name:t.name,radius:t.radius})}function K2(e){return P.createElement(l$,P0({shapeType:"rectangle",propTransformer:Mne,activeClassName:"recharts-active-bar"},e))}var Dne=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(n,a){if(typeof t=="number")return t;var i=se(n)||i8(n);return i?t(n,a):(i||Js(),r)}},Lne=["value","background"],g$;function Rl(e){"@babel/helpers - typeof";return Rl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rl(e)}function Fne(e,t){if(e==null)return{};var r=zne(e,t),n,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function zne(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function $h(){return $h=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs(L)0&&Math.abs(M)0&&(R=Math.min((q||0)-(M[le-1]||0),R))}),Number.isFinite(R)){var L=R/A,V=v.layout==="vertical"?n.height:n.width;if(v.padding==="gap"&&(k=L*V/2),v.padding==="no-gap"){var H=Gr(t.barCategoryGap,L*V),I=L*V/2;k=I-H-(I-H)/V*H}}}a==="xAxis"?O=[n.left+(w.left||0)+(k||0),n.left+n.width-(w.right||0)-(k||0)]:a==="yAxis"?O=u==="horizontal"?[n.top+n.height-(w.bottom||0),n.top+(w.top||0)]:[n.top+(w.top||0)+(k||0),n.top+n.height-(w.bottom||0)-(k||0)]:O=v.range,b&&(O=[O[1],O[0]]);var B=MT(v,i,p),W=B.scale,G=B.realScaleType;W.domain(y).range(O),DT(W);var K=LT(W,ea(ea({},v),{},{realScaleType:G}));a==="xAxis"?($=g==="top"&&!j||g==="bottom"&&j,E=n.left,T=d[_]-$*v.height):a==="yAxis"&&($=g==="left"&&!j||g==="right"&&j,E=d[_]-$*v.width,T=n.top);var ee=ea(ea(ea({},v),K),{},{realScaleType:G,x:E,y:T,scale:W,width:a==="xAxis"?n.width:v.width,height:a==="yAxis"?n.height:v.height});return ee.bandSize=yh(ee,K),!v.hide&&a==="xAxis"?d[_]+=($?-1:1)*ee.height:v.hide||(d[_]+=($?-1:1)*ee.width),ea(ea({},h),{},cg({},x,ee))},{})},b$=function(t,r){var n=t.x,a=t.y,i=r.x,s=r.y;return{x:Math.min(n,i),y:Math.min(a,s),width:Math.abs(i-n),height:Math.abs(s-a)}},Zne=function(t){var r=t.x1,n=t.y1,a=t.x2,i=t.y2;return b$({x:r,y:n},{x:a,y:i})},w$=function(){function e(t){Kne(this,e),this.scale=t}return Yne(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=n.bandAware,i=n.position;if(r!==void 0){if(i)switch(i){case"start":return this.scale(r);case"middle":{var s=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+s}case"end":{var o=this.bandwidth?this.bandwidth():0;return this.scale(r)+o}default:return this.scale(r)}if(a){var u=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+u}return this.scale(r)}}},{key:"isInRange",value:function(r){var n=this.range(),a=n[0],i=n[n.length-1];return a<=i?r>=a&&r<=i:r>=i&&r<=a}}],[{key:"create",value:function(r){return new e(r)}}])}();cg(w$,"EPS",1e-4);var p1=function(t){var r=Object.keys(t).reduce(function(n,a){return ea(ea({},n),{},cg({},a,w$.create(t[a])))},{});return ea(ea({},r),{},{apply:function(a){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=i.bandAware,o=i.position;return yne(a,function(u,c){return r[c].apply(u,{bandAware:s,position:o})})},isInRange:function(a){return m$(a,function(i,s){return r[s].isInRange(i)})}})};function Jne(e){return(e%180+180)%180}var Qne=function(t){var r=t.width,n=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=Jne(a),s=i*Math.PI/180,o=Math.atan(n/r),u=s>o&&s-1?a[i?t[s]:s]:void 0}}var aae=nae,iae=d$;function sae(e){var t=iae(e),r=t%1;return t===t?r?t-r:t:0}var oae=sae,lae=yC,uae=Ma,cae=oae,dae=Math.max;function fae(e,t,r){var n=e==null?0:e.length;if(!n)return-1;var a=r==null?0:cae(r);return a<0&&(a=dae(n+a,0)),lae(e,uae(t),a)}var pae=fae,hae=aae,mae=pae,gae=hae(mae),yae=gae;const vae=vt(yae);var xae=d6(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),h1=S.createContext(void 0),m1=S.createContext(void 0),_$=S.createContext(void 0),j$=S.createContext({}),S$=S.createContext(void 0),k$=S.createContext(0),O$=S.createContext(0),Q2=function(t){var r=t.state,n=r.xAxisMap,a=r.yAxisMap,i=r.offset,s=t.clipPathId,o=t.children,u=t.width,c=t.height,f=xae(i);return P.createElement(h1.Provider,{value:n},P.createElement(m1.Provider,{value:a},P.createElement(j$.Provider,{value:i},P.createElement(_$.Provider,{value:f},P.createElement(S$.Provider,{value:s},P.createElement(k$.Provider,{value:c},P.createElement(O$.Provider,{value:u},o)))))))},bae=function(){return S.useContext(S$)},N$=function(t){var r=S.useContext(h1);r==null&&Js();var n=r[t];return n==null&&Js(),n},wae=function(){var t=S.useContext(h1);return Pi(t)},_ae=function(){var t=S.useContext(m1),r=vae(t,function(n){return m$(n.domain,Number.isFinite)});return r||Pi(t)},A$=function(t){var r=S.useContext(m1);r==null&&Js();var n=r[t];return n==null&&Js(),n},jae=function(){var t=S.useContext(_$);return t},Sae=function(){return S.useContext(j$)},g1=function(){return S.useContext(O$)},y1=function(){return S.useContext(k$)};function Il(e){"@babel/helpers - typeof";return Il=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Il(e)}function kae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Oae(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);re*a)return!1;var i=r();return e*(t-e*i/2-n)>=0&&e*(t+e*i/2-a)<=0}function oie(e,t){return I$(e,t+1)}function lie(e,t,r,n,a){for(var i=(n||[]).slice(),s=t.start,o=t.end,u=0,c=1,f=s,d=function(){var x=n==null?void 0:n[u];if(x===void 0)return{v:I$(n,c)};var v=u,g,y=function(){return g===void 0&&(g=r(x,v)),g},m=x.coordinate,w=u===0||Lh(e,m,y,f,o);w||(u=0,f=s,c+=1),w&&(f=m+e*(y()/2+a),u+=c)},p;c<=i.length;)if(p=d(),p)return p.v;return[]}function yd(e){"@babel/helpers - typeof";return yd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yd(e)}function oO(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ir(e){for(var t=1;t0?h.coordinate-g*e:h.coordinate})}else i[p]=h=Ir(Ir({},h),{},{tickCoord:h.coordinate});var y=Lh(e,h.tickCoord,v,o,u);y&&(u=h.tickCoord-e*(v()/2+a),i[p]=Ir(Ir({},h),{},{isShow:!0}))},f=s-1;f>=0;f--)c(f);return i}function pie(e,t,r,n,a,i){var s=(n||[]).slice(),o=s.length,u=t.start,c=t.end;if(i){var f=n[o-1],d=r(f,o-1),p=e*(f.coordinate+e*d/2-c);s[o-1]=f=Ir(Ir({},f),{},{tickCoord:p>0?f.coordinate-p*e:f.coordinate});var h=Lh(e,f.tickCoord,function(){return d},u,c);h&&(c=f.tickCoord-e*(d/2+a),s[o-1]=Ir(Ir({},f),{},{isShow:!0}))}for(var x=i?o-1:o,v=function(m){var w=s[m],j,b=function(){return j===void 0&&(j=r(w,m)),j};if(m===0){var _=e*(w.coordinate-e*b()/2-u);s[m]=w=Ir(Ir({},w),{},{tickCoord:_<0?w.coordinate-_*e:w.coordinate})}else s[m]=w=Ir(Ir({},w),{},{tickCoord:w.coordinate});var k=Lh(e,w.tickCoord,b,u,c);k&&(u=w.tickCoord+e*(b()/2+a),s[m]=Ir(Ir({},w),{},{isShow:!0}))},g=0;g=2?Hr(a[1].coordinate-a[0].coordinate):1,y=sie(i,g,h);return u==="equidistantPreserveStart"?lie(g,y,v,a,s):(u==="preserveStart"||u==="preserveStartEnd"?p=pie(g,y,v,a,s,u==="preserveStartEnd"):p=fie(g,y,v,a,s),p.filter(function(m){return m.isShow}))}var hie=["viewBox"],mie=["viewBox"],gie=["ticks"];function Ll(e){"@babel/helpers - typeof";return Ll=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ll(e)}function Ho(){return Ho=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function yie(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function vie(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function uO(e,t){for(var r=0;r0?u(this.props):u(h)),s<=0||o<=0||!x||!x.length?null:P.createElement(Qe,{className:He("recharts-cartesian-axis",c),ref:function(g){n.layerReference=g}},i&&this.renderAxisLine(),this.renderTicks(x,this.state.fontSize,this.state.letterSpacing),xr.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(n,a,i){var s,o=He(a.className,"recharts-cartesian-axis-tick-value");return P.isValidElement(n)?s=P.cloneElement(n,or(or({},a),{},{className:o})):Te(n)?s=n(or(or({},a),{},{className:o})):s=P.createElement(Ys,Ho({},a,{className:"recharts-cartesian-axis-tick-value"}),i),s}}])}(S.Component);w1(du,"displayName","CartesianAxis");w1(du,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var kie=["x1","y1","x2","y2","key"],Oie=["offset"];function Qs(e){"@babel/helpers - typeof";return Qs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qs(e)}function cO(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Lr(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Pie(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var Cie=function(t){var r=t.fill;if(!r||r==="none")return null;var n=t.fillOpacity,a=t.x,i=t.y,s=t.width,o=t.height,u=t.ry;return P.createElement("rect",{x:a,y:i,ry:u,width:s,height:o,stroke:"none",fill:r,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function L$(e,t){var r;if(P.isValidElement(e))r=P.cloneElement(e,t);else if(Te(e))r=e(t);else{var n=t.x1,a=t.y1,i=t.x2,s=t.y2,o=t.key,u=dO(t,kie),c=Ee(u,!1);c.offset;var f=dO(c,Oie);r=P.createElement("line",$s({},f,{x1:n,y1:a,x2:i,y2:s,fill:"none",key:o}))}return r}function Tie(e){var t=e.x,r=e.width,n=e.horizontal,a=n===void 0?!0:n,i=e.horizontalPoints;if(!a||!i||!i.length)return null;var s=i.map(function(o,u){var c=Lr(Lr({},e),{},{x1:t,y1:o,x2:t+r,y2:o,key:"line-".concat(u),index:u});return L$(a,c)});return P.createElement("g",{className:"recharts-cartesian-grid-horizontal"},s)}function $ie(e){var t=e.y,r=e.height,n=e.vertical,a=n===void 0?!0:n,i=e.verticalPoints;if(!a||!i||!i.length)return null;var s=i.map(function(o,u){var c=Lr(Lr({},e),{},{x1:o,y1:t,x2:o,y2:t+r,key:"line-".concat(u),index:u});return L$(a,c)});return P.createElement("g",{className:"recharts-cartesian-grid-vertical"},s)}function Rie(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,a=e.y,i=e.width,s=e.height,o=e.horizontalPoints,u=e.horizontal,c=u===void 0?!0:u;if(!c||!t||!t.length)return null;var f=o.map(function(p){return Math.round(p+a-a)}).sort(function(p,h){return p-h});a!==f[0]&&f.unshift(0);var d=f.map(function(p,h){var x=!f[h+1],v=x?a+s-p:f[h+1]-p;if(v<=0)return null;var g=h%t.length;return P.createElement("rect",{key:"react-".concat(h),y:p,x:n,height:v,width:i,stroke:"none",fill:t[g],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return P.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function Iie(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,a=e.fillOpacity,i=e.x,s=e.y,o=e.width,u=e.height,c=e.verticalPoints;if(!r||!n||!n.length)return null;var f=c.map(function(p){return Math.round(p+i-i)}).sort(function(p,h){return p-h});i!==f[0]&&f.unshift(0);var d=f.map(function(p,h){var x=!f[h+1],v=x?i+o-p:f[h+1]-p;if(v<=0)return null;var g=h%n.length;return P.createElement("rect",{key:"react-".concat(h),x:p,y:s,width:v,height:u,stroke:"none",fill:n[g],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return P.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var Mie=function(t,r){var n=t.xAxis,a=t.width,i=t.height,s=t.offset;return IT(b1(Lr(Lr(Lr({},du.defaultProps),n),{},{ticks:Xa(n,!0),viewBox:{x:0,y:0,width:a,height:i}})),s.left,s.left+s.width,r)},Die=function(t,r){var n=t.yAxis,a=t.width,i=t.height,s=t.offset;return IT(b1(Lr(Lr(Lr({},du.defaultProps),n),{},{ticks:Xa(n,!0),viewBox:{x:0,y:0,width:a,height:i}})),s.top,s.top+s.height,r)},vo={horizontal:!0,vertical:!0,stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function fp(e){var t,r,n,a,i,s,o=g1(),u=y1(),c=Sae(),f=Lr(Lr({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:vo.stroke,fill:(r=e.fill)!==null&&r!==void 0?r:vo.fill,horizontal:(n=e.horizontal)!==null&&n!==void 0?n:vo.horizontal,horizontalFill:(a=e.horizontalFill)!==null&&a!==void 0?a:vo.horizontalFill,vertical:(i=e.vertical)!==null&&i!==void 0?i:vo.vertical,verticalFill:(s=e.verticalFill)!==null&&s!==void 0?s:vo.verticalFill,x:se(e.x)?e.x:c.left,y:se(e.y)?e.y:c.top,width:se(e.width)?e.width:c.width,height:se(e.height)?e.height:c.height}),d=f.x,p=f.y,h=f.width,x=f.height,v=f.syncWithTicks,g=f.horizontalValues,y=f.verticalValues,m=wae(),w=_ae();if(!se(h)||h<=0||!se(x)||x<=0||!se(d)||d!==+d||!se(p)||p!==+p)return null;var j=f.verticalCoordinatesGenerator||Mie,b=f.horizontalCoordinatesGenerator||Die,_=f.horizontalPoints,k=f.verticalPoints;if((!_||!_.length)&&Te(b)){var O=g&&g.length,E=b({yAxis:w?Lr(Lr({},w),{},{ticks:O?g:w.ticks}):void 0,width:o,height:u,offset:c},O?!0:v);la(Array.isArray(E),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(Qs(E),"]")),Array.isArray(E)&&(_=E)}if((!k||!k.length)&&Te(j)){var T=y&&y.length,$=j({xAxis:m?Lr(Lr({},m),{},{ticks:T?y:m.ticks}):void 0,width:o,height:u,offset:c},T?!0:v);la(Array.isArray($),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(Qs($),"]")),Array.isArray($)&&(k=$)}return P.createElement("g",{className:"recharts-cartesian-grid"},P.createElement(Cie,{fill:f.fill,fillOpacity:f.fillOpacity,x:f.x,y:f.y,width:f.width,height:f.height,ry:f.ry}),P.createElement(Tie,$s({},f,{offset:c,horizontalPoints:_,xAxis:m,yAxis:w})),P.createElement($ie,$s({},f,{offset:c,verticalPoints:k,xAxis:m,yAxis:w})),P.createElement(Rie,$s({},f,{horizontalPoints:_})),P.createElement(Iie,$s({},f,{verticalPoints:k})))}fp.displayName="CartesianGrid";var Lie=["type","layout","connectNulls","ref"],Fie=["key"];function Fl(e){"@babel/helpers - typeof";return Fl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fl(e)}function fO(e,t){if(e==null)return{};var r=zie(e,t),n,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function zie(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function hc(){return hc=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);rd){h=[].concat(xo(u.slice(0,x)),[d-v]);break}var g=h.length%2===0?[0,p]:[p];return[].concat(xo(t.repeat(u,f)),xo(h),g).map(function(y){return"".concat(y,"px")}).join(", ")}),ta(r,"id",oo("recharts-line-")),ta(r,"pathRef",function(s){r.mainCurve=s}),ta(r,"handleAnimationEnd",function(){r.setState({isAnimationFinished:!0}),r.props.onAnimationEnd&&r.props.onAnimationEnd()}),ta(r,"handleAnimationStart",function(){r.setState({isAnimationFinished:!1}),r.props.onAnimationStart&&r.props.onAnimationStart()}),r}return Xie(t,e),Gie(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();this.setState({totalLength:n})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();n!==this.state.totalLength&&this.setState({totalLength:n})}}},{key:"getTotalLength",value:function(){var n=this.mainCurve;try{return n&&n.getTotalLength&&n.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(n,a){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var i=this.props,s=i.points,o=i.xAxis,u=i.yAxis,c=i.layout,f=i.children,d=_n(f,Bd);if(!d)return null;var p=function(v,g){return{x:v.x,y:v.y,value:v.value,errorVal:er(v.payload,g)}},h={clipPath:n?"url(#clipPath-".concat(a,")"):null};return P.createElement(Qe,h,d.map(function(x){return P.cloneElement(x,{key:"bar-".concat(x.props.dataKey),data:s,xAxis:o,yAxis:u,layout:c,dataPointFormatter:p})}))}},{key:"renderDots",value:function(n,a,i){var s=this.props.isAnimationActive;if(s&&!this.state.isAnimationFinished)return null;var o=this.props,u=o.dot,c=o.points,f=o.dataKey,d=Ee(this.props,!1),p=Ee(u,!0),h=c.map(function(v,g){var y=hn(hn(hn({key:"dot-".concat(g),r:3},d),p),{},{index:g,cx:v.x,cy:v.y,value:v.value,dataKey:f,payload:v.payload,points:c});return t.renderDotItem(u,y)}),x={clipPath:n?"url(#clipPath-".concat(a?"":"dots-").concat(i,")"):null};return P.createElement(Qe,hc({className:"recharts-line-dots",key:"dots"},x),h)}},{key:"renderCurveStatically",value:function(n,a,i,s){var o=this.props,u=o.type,c=o.layout,f=o.connectNulls;o.ref;var d=fO(o,Lie),p=hn(hn(hn({},Ee(d,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:a?"url(#clipPath-".concat(i,")"):null,points:n},s),{},{type:u,layout:c,connectNulls:f});return P.createElement(Bs,hc({},p,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(n,a){var i=this,s=this.props,o=s.points,u=s.strokeDasharray,c=s.isAnimationActive,f=s.animationBegin,d=s.animationDuration,p=s.animationEasing,h=s.animationId,x=s.animateNewValues,v=s.width,g=s.height,y=this.state,m=y.prevPoints,w=y.totalLength;return P.createElement(da,{begin:f,duration:d,isActive:c,easing:p,from:{t:0},to:{t:1},key:"line-".concat(h),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(j){var b=j.t;if(m){var _=m.length/o.length,k=o.map(function(A,R){var M=Math.floor(R*_);if(m[M]){var L=m[M],V=dr(L.x,A.x),H=dr(L.y,A.y);return hn(hn({},A),{},{x:V(b),y:H(b)})}if(x){var I=dr(v*2,A.x),B=dr(g/2,A.y);return hn(hn({},A),{},{x:I(b),y:B(b)})}return hn(hn({},A),{},{x:A.x,y:A.y})});return i.renderCurveStatically(k,n,a)}var O=dr(0,w),E=O(b),T;if(u){var $="".concat(u).split(/[,\s]+/gim).map(function(A){return parseFloat(A)});T=i.getStrokeDasharray(E,w,$)}else T=i.generateSimpleStrokeDasharray(w,E);return i.renderCurveStatically(o,n,a,{strokeDasharray:T})})}},{key:"renderCurve",value:function(n,a){var i=this.props,s=i.points,o=i.isAnimationActive,u=this.state,c=u.prevPoints,f=u.totalLength;return o&&s&&s.length&&(!c&&f>0||!Xs(c,s))?this.renderCurveWithAnimation(n,a):this.renderCurveStatically(s,n,a)}},{key:"render",value:function(){var n,a=this.props,i=a.hide,s=a.dot,o=a.points,u=a.className,c=a.xAxis,f=a.yAxis,d=a.top,p=a.left,h=a.width,x=a.height,v=a.isAnimationActive,g=a.id;if(i||!o||!o.length)return null;var y=this.state.isAnimationFinished,m=o.length===1,w=He("recharts-line",u),j=c&&c.allowDataOverflow,b=f&&f.allowDataOverflow,_=j||b,k=Fe(g)?this.id:g,O=(n=Ee(s,!1))!==null&&n!==void 0?n:{r:3,strokeWidth:2},E=O.r,T=E===void 0?3:E,$=O.strokeWidth,A=$===void 0?2:$,R=AP(s)?s:{},M=R.clipDot,L=M===void 0?!0:M,V=T*2+A;return P.createElement(Qe,{className:w},j||b?P.createElement("defs",null,P.createElement("clipPath",{id:"clipPath-".concat(k)},P.createElement("rect",{x:j?p:p-h/2,y:b?d:d-x/2,width:j?h:h*2,height:b?x:x*2})),!L&&P.createElement("clipPath",{id:"clipPath-dots-".concat(k)},P.createElement("rect",{x:p-V/2,y:d-V/2,width:h+V,height:x+V}))):null,!m&&this.renderCurve(_,k),this.renderErrorBar(_,k),(m||s)&&this.renderDots(_,L,k),(!v||y)&&Aa.renderCallByParent(this.props,o))}}],[{key:"getDerivedStateFromProps",value:function(n,a){return n.animationId!==a.prevAnimationId?{prevAnimationId:n.animationId,curPoints:n.points,prevPoints:a.curPoints}:n.points!==a.curPoints?{curPoints:n.points}:null}},{key:"repeat",value:function(n,a){for(var i=n.length%2!==0?[].concat(xo(n),[0]):n,s=[],o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function ese(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Rs(){return Rs=Object.assign?Object.assign.bind():function(e){for(var t=1;t0||!Xs(f,s)||!Xs(d,o))?this.renderAreaWithAnimation(n,a):this.renderAreaStatically(s,o,n,a)}},{key:"render",value:function(){var n,a=this.props,i=a.hide,s=a.dot,o=a.points,u=a.className,c=a.top,f=a.left,d=a.xAxis,p=a.yAxis,h=a.width,x=a.height,v=a.isAnimationActive,g=a.id;if(i||!o||!o.length)return null;var y=this.state.isAnimationFinished,m=o.length===1,w=He("recharts-area",u),j=d&&d.allowDataOverflow,b=p&&p.allowDataOverflow,_=j||b,k=Fe(g)?this.id:g,O=(n=Ee(s,!1))!==null&&n!==void 0?n:{r:3,strokeWidth:2},E=O.r,T=E===void 0?3:E,$=O.strokeWidth,A=$===void 0?2:$,R=AP(s)?s:{},M=R.clipDot,L=M===void 0?!0:M,V=T*2+A;return P.createElement(Qe,{className:w},j||b?P.createElement("defs",null,P.createElement("clipPath",{id:"clipPath-".concat(k)},P.createElement("rect",{x:j?f:f-h/2,y:b?c:c-x/2,width:j?h:h*2,height:b?x:x*2})),!L&&P.createElement("clipPath",{id:"clipPath-dots-".concat(k)},P.createElement("rect",{x:f-V/2,y:c-V/2,width:h+V,height:x+V}))):null,m?null:this.renderArea(_,k),(s||m)&&this.renderDots(_,L,k),(!v||y)&&Aa.renderCallByParent(this.props,o))}}],[{key:"getDerivedStateFromProps",value:function(n,a){return n.animationId!==a.prevAnimationId?{prevAnimationId:n.animationId,curPoints:n.points,curBaseLine:n.baseLine,prevPoints:a.curPoints,prevBaseLine:a.curBaseLine}:n.points!==a.curPoints||n.baseLine!==a.curBaseLine?{curPoints:n.points,curBaseLine:n.baseLine}:null}}])}(S.PureComponent);B$=ds;Sa(ds,"displayName","Area");Sa(ds,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!os.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});Sa(ds,"getBaseValue",function(e,t,r,n){var a=e.layout,i=e.baseValue,s=t.props.baseValue,o=s??i;if(se(o)&&typeof o=="number")return o;var u=a==="horizontal"?n:r,c=u.scale.domain();if(u.type==="number"){var f=Math.max(c[0],c[1]),d=Math.min(c[0],c[1]);return o==="dataMin"?d:o==="dataMax"||f<0?f:Math.max(Math.min(c[0],c[1]),0)}return o==="dataMin"?c[0]:o==="dataMax"?c[1]:c[0]});Sa(ds,"getComposedData",function(e){var t=e.props,r=e.item,n=e.xAxis,a=e.yAxis,i=e.xAxisTicks,s=e.yAxisTicks,o=e.bandSize,u=e.dataKey,c=e.stackedData,f=e.dataStartIndex,d=e.displayedData,p=e.offset,h=t.layout,x=c&&c.length,v=B$.getBaseValue(t,r,n,a),g=h==="horizontal",y=!1,m=d.map(function(j,b){var _;x?_=c[f+b]:(_=er(j,u),Array.isArray(_)?y=!0:_=[v,_]);var k=_[1]==null||x&&er(j,u)==null;return g?{x:gh({axis:n,ticks:i,bandSize:o,entry:j,index:b}),y:k?null:a.scale(_[1]),value:_,payload:j}:{x:k?null:n.scale(_[1]),y:gh({axis:a,ticks:s,bandSize:o,entry:j,index:b}),value:_,payload:j}}),w;return x||y?w=m.map(function(j){var b=Array.isArray(j.value)?j.value[0]:null;return g?{x:j.x,y:b!=null&&j.y!=null?a.scale(b):null}:{x:b!=null?n.scale(b):null,y:j.y}}):w=g?a.scale(v):n.scale(v),_i({points:m,baseLine:w,layout:h,isRange:y},p)});Sa(ds,"renderDotItem",function(e,t){var r;if(P.isValidElement(e))r=P.cloneElement(e,t);else if(Te(e))r=e(t);else{var n=He("recharts-area-dot",typeof e!="boolean"?e.className:""),a=t.key,i=U$(t,Qie);r=P.createElement(Ud,Rs({},i,{key:a,className:n}))}return r});function Bl(e){"@babel/helpers - typeof";return Bl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bl(e)}function lse(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function use(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Yse(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Xse(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zse(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?s:t&&t.length&&se(a)&&se(i)?t.slice(a,i+1):[]};function aR(e){return e==="number"?[0,"auto"]:void 0}var X0=function(t,r,n,a){var i=t.graphicalItems,s=t.tooltipAxis,o=mg(r,t);return n<0||!i||!i.length||n>=o.length?null:i.reduce(function(u,c){var f,d=(f=c.props.data)!==null&&f!==void 0?f:r;d&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=n&&(d=d.slice(t.dataStartIndex,t.dataEndIndex+1));var p;if(s.dataKey&&!s.allowDuplicatedCategory){var h=d===void 0?o:d;p=Bp(h,s.dataKey,a)}else p=d&&d[n]||o[n];return p?[].concat(Wl(u),[zT(c,p)]):u},[])},_O=function(t,r,n,a){var i=a||{x:t.chartX,y:t.chartY},s=uoe(i,n),o=t.orderedTooltipTicks,u=t.tooltipAxis,c=t.tooltipTicks,f=yZ(s,o,c,u);if(f>=0&&c){var d=c[f]&&c[f].value,p=X0(t,r,f,d),h=coe(n,o,f,i);return{activeTooltipIndex:f,activeLabel:d,activePayload:p,activeCoordinate:h}}return null},doe=function(t,r){var n=r.axes,a=r.graphicalItems,i=r.axisType,s=r.axisIdKey,o=r.stackGroups,u=r.dataStartIndex,c=r.dataEndIndex,f=t.layout,d=t.children,p=t.stackOffset,h=RT(f,i);return n.reduce(function(x,v){var g,y=v.type.defaultProps!==void 0?Z(Z({},v.type.defaultProps),v.props):v.props,m=y.type,w=y.dataKey,j=y.allowDataOverflow,b=y.allowDuplicatedCategory,_=y.scale,k=y.ticks,O=y.includeHidden,E=y[s];if(x[E])return x;var T=mg(t.data,{graphicalItems:a.filter(function(K){var ee,q=s in K.props?K.props[s]:(ee=K.type.defaultProps)===null||ee===void 0?void 0:ee[s];return q===E}),dataStartIndex:u,dataEndIndex:c}),$=T.length,A,R,M;Dse(y.domain,j,m)&&(A=u0(y.domain,null,j),h&&(m==="number"||_!=="auto")&&(M=cc(T,w,"category")));var L=aR(m);if(!A||A.length===0){var V,H=(V=y.domain)!==null&&V!==void 0?V:L;if(w){if(A=cc(T,w,m),m==="category"&&h){var I=o8(A);b&&I?(R=A,A=Ph(0,$)):b||(A=Hk(H,A,v).reduce(function(K,ee){return K.indexOf(ee)>=0?K:[].concat(Wl(K),[ee])},[]))}else if(m==="category")b?A=A.filter(function(K){return K!==""&&!Fe(K)}):A=Hk(H,A,v).reduce(function(K,ee){return K.indexOf(ee)>=0||ee===""||Fe(ee)?K:[].concat(Wl(K),[ee])},[]);else if(m==="number"){var B=_Z(T,a.filter(function(K){var ee,q,le=s in K.props?K.props[s]:(ee=K.type.defaultProps)===null||ee===void 0?void 0:ee[s],ge="hide"in K.props?K.props.hide:(q=K.type.defaultProps)===null||q===void 0?void 0:q.hide;return le===E&&(O||!ge)}),w,i,f);B&&(A=B)}h&&(m==="number"||_!=="auto")&&(M=cc(T,w,"category"))}else h?A=Ph(0,$):o&&o[E]&&o[E].hasStack&&m==="number"?A=p==="expand"?[0,1]:FT(o[E].stackGroups,u,c):A=$T(T,a.filter(function(K){var ee=s in K.props?K.props[s]:K.type.defaultProps[s],q="hide"in K.props?K.props.hide:K.type.defaultProps.hide;return ee===E&&(O||!q)}),m,f,!0);if(m==="number")A=q0(d,A,E,i,k),H&&(A=u0(H,A,j));else if(m==="category"&&H){var W=H,G=A.every(function(K){return W.indexOf(K)>=0});G&&(A=W)}}return Z(Z({},x),{},Ce({},E,Z(Z({},y),{},{axisType:i,domain:A,categoricalDomain:M,duplicateDomain:R,originalDomain:(g=y.domain)!==null&&g!==void 0?g:L,isCategorical:h,layout:f})))},{})},foe=function(t,r){var n=r.graphicalItems,a=r.Axis,i=r.axisType,s=r.axisIdKey,o=r.stackGroups,u=r.dataStartIndex,c=r.dataEndIndex,f=t.layout,d=t.children,p=mg(t.data,{graphicalItems:n,dataStartIndex:u,dataEndIndex:c}),h=p.length,x=RT(f,i),v=-1;return n.reduce(function(g,y){var m=y.type.defaultProps!==void 0?Z(Z({},y.type.defaultProps),y.props):y.props,w=m[s],j=aR("number");if(!g[w]){v++;var b;return x?b=Ph(0,h):o&&o[w]&&o[w].hasStack?(b=FT(o[w].stackGroups,u,c),b=q0(d,b,w,i)):(b=u0(j,$T(p,n.filter(function(_){var k,O,E=s in _.props?_.props[s]:(k=_.type.defaultProps)===null||k===void 0?void 0:k[s],T="hide"in _.props?_.props.hide:(O=_.type.defaultProps)===null||O===void 0?void 0:O.hide;return E===w&&!T}),"number",f),a.defaultProps.allowDataOverflow),b=q0(d,b,w,i)),Z(Z({},g),{},Ce({},w,Z(Z({axisType:i},a.defaultProps),{},{hide:!0,orientation:wn(ooe,"".concat(i,".").concat(v%2),null),domain:b,originalDomain:j,isCategorical:x,layout:f})))}return g},{})},poe=function(t,r){var n=r.axisType,a=n===void 0?"xAxis":n,i=r.AxisComp,s=r.graphicalItems,o=r.stackGroups,u=r.dataStartIndex,c=r.dataEndIndex,f=t.children,d="".concat(a,"Id"),p=_n(f,i),h={};return p&&p.length?h=doe(t,{axes:p,graphicalItems:s,axisType:a,axisIdKey:d,stackGroups:o,dataStartIndex:u,dataEndIndex:c}):s&&s.length&&(h=foe(t,{Axis:i,graphicalItems:s,axisType:a,axisIdKey:d,stackGroups:o,dataStartIndex:u,dataEndIndex:c})),h},hoe=function(t){var r=Pi(t),n=Xa(r,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:Lw(n,function(a){return a.coordinate}),tooltipAxis:r,tooltipAxisBandSize:yh(r,n)}},jO=function(t){var r=t.children,n=t.defaultShowTooltip,a=yn(r,$l),i=0,s=0;return t.data&&t.data.length!==0&&(s=t.data.length-1),a&&a.props&&(a.props.startIndex>=0&&(i=a.props.startIndex),a.props.endIndex>=0&&(s=a.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:i,dataEndIndex:s,activeTooltipIndex:-1,isTooltipActive:!!n}},moe=function(t){return!t||!t.length?!1:t.some(function(r){var n=Qa(r&&r.type);return n&&n.indexOf("Bar")>=0})},SO=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},goe=function(t,r){var n=t.props,a=t.graphicalItems,i=t.xAxisMap,s=i===void 0?{}:i,o=t.yAxisMap,u=o===void 0?{}:o,c=n.width,f=n.height,d=n.children,p=n.margin||{},h=yn(d,$l),x=yn(d,ia),v=Object.keys(u).reduce(function(b,_){var k=u[_],O=k.orientation;return!k.mirror&&!k.hide?Z(Z({},b),{},Ce({},O,b[O]+k.width)):b},{left:p.left||0,right:p.right||0}),g=Object.keys(s).reduce(function(b,_){var k=s[_],O=k.orientation;return!k.mirror&&!k.hide?Z(Z({},b),{},Ce({},O,wn(b,"".concat(O))+k.height)):b},{top:p.top||0,bottom:p.bottom||0}),y=Z(Z({},g),v),m=y.bottom;h&&(y.bottom+=h.props.height||$l.defaultProps.height),x&&r&&(y=bZ(y,a,n,r));var w=c-y.left-y.right,j=f-y.top-y.bottom;return Z(Z({brushBottom:m},y),{},{width:Math.max(w,0),height:Math.max(j,0)})},yoe=function(t,r){if(r==="xAxis")return t[r].width;if(r==="yAxis")return t[r].height},gg=function(t){var r=t.chartName,n=t.GraphicalChild,a=t.defaultTooltipEventType,i=a===void 0?"axis":a,s=t.validateTooltipEventTypes,o=s===void 0?["axis"]:s,u=t.axisComponents,c=t.legendContent,f=t.formatAxisMap,d=t.defaultProps,p=function(y,m){var w=m.graphicalItems,j=m.stackGroups,b=m.offset,_=m.updateId,k=m.dataStartIndex,O=m.dataEndIndex,E=y.barSize,T=y.layout,$=y.barGap,A=y.barCategoryGap,R=y.maxBarSize,M=SO(T),L=M.numericAxisName,V=M.cateAxisName,H=moe(w),I=[];return w.forEach(function(B,W){var G=mg(y.data,{graphicalItems:[B],dataStartIndex:k,dataEndIndex:O}),K=B.type.defaultProps!==void 0?Z(Z({},B.type.defaultProps),B.props):B.props,ee=K.dataKey,q=K.maxBarSize,le=K["".concat(L,"Id")],ge=K["".concat(V,"Id")],$e={},Pe=u.reduce(function(Ge,We){var C=m["".concat(We.axisType,"Map")],z=K["".concat(We.axisType,"Id")];C&&C[z]||We.axisType==="zAxis"||Js();var U=C[z];return Z(Z({},Ge),{},Ce(Ce({},We.axisType,U),"".concat(We.axisType,"Ticks"),Xa(U)))},$e),J=Pe[V],ue=Pe["".concat(V,"Ticks")],de=j&&j[le]&&j[le].hasStack&&CZ(B,j[le].stackGroups),X=Qa(B.type).indexOf("Bar")>=0,we=yh(J,ue),ye=[],qe=H&&vZ({barSize:E,stackGroups:j,totalSize:yoe(Pe,V)});if(X){var De,ke,Re=Fe(q)?R:q,Ie=(De=(ke=yh(J,ue,!0))!==null&&ke!==void 0?ke:Re)!==null&&De!==void 0?De:0;ye=xZ({barGap:$,barCategoryGap:A,bandSize:Ie!==we?Ie:we,sizeList:qe[ge],maxBarSize:Re}),Ie!==we&&(ye=ye.map(function(Ge){return Z(Z({},Ge),{},{position:Z(Z({},Ge.position),{},{offset:Ge.position.offset-Ie/2})})}))}var Oe=B&&B.type&&B.type.getComposedData;Oe&&I.push({props:Z(Z({},Oe(Z(Z({},Pe),{},{displayedData:G,props:y,dataKey:ee,item:B,bandSize:we,barPosition:ye,offset:b,stackedData:de,layout:T,dataStartIndex:k,dataEndIndex:O}))),{},Ce(Ce(Ce({key:B.key||"item-".concat(W)},L,Pe[L]),V,Pe[V]),"animationId",_)),childIndex:x8(B,y.children),item:B})}),I},h=function(y,m){var w=y.props,j=y.dataStartIndex,b=y.dataEndIndex,_=y.updateId;if(!Fj({props:w}))return null;var k=w.children,O=w.layout,E=w.stackOffset,T=w.data,$=w.reverseStackOrder,A=SO(O),R=A.numericAxisName,M=A.cateAxisName,L=_n(k,n),V=EZ(T,L,"".concat(R,"Id"),"".concat(M,"Id"),E,$),H=u.reduce(function(K,ee){var q="".concat(ee.axisType,"Map");return Z(Z({},K),{},Ce({},q,poe(w,Z(Z({},ee),{},{graphicalItems:L,stackGroups:ee.axisType===R&&V,dataStartIndex:j,dataEndIndex:b}))))},{}),I=goe(Z(Z({},H),{},{props:w,graphicalItems:L}),m==null?void 0:m.legendBBox);Object.keys(H).forEach(function(K){H[K]=f(w,H[K],I,K.replace("Map",""),r)});var B=H["".concat(M,"Map")],W=hoe(B),G=p(w,Z(Z({},H),{},{dataStartIndex:j,dataEndIndex:b,updateId:_,graphicalItems:L,stackGroups:V,offset:I}));return Z(Z({formattedGraphicalItems:G,graphicalItems:L,offset:I,stackGroups:V},W),H)},x=function(g){function y(m){var w,j,b;return Xse(this,y),b=Qse(this,y,[m]),Ce(b,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Ce(b,"accessibilityManager",new Mse),Ce(b,"handleLegendBBoxUpdate",function(_){if(_){var k=b.state,O=k.dataStartIndex,E=k.dataEndIndex,T=k.updateId;b.setState(Z({legendBBox:_},h({props:b.props,dataStartIndex:O,dataEndIndex:E,updateId:T},Z(Z({},b.state),{},{legendBBox:_}))))}}),Ce(b,"handleReceiveSyncEvent",function(_,k,O){if(b.props.syncId===_){if(O===b.eventEmitterSymbol&&typeof b.props.syncMethod!="function")return;b.applySyncEvent(k)}}),Ce(b,"handleBrushChange",function(_){var k=_.startIndex,O=_.endIndex;if(k!==b.state.dataStartIndex||O!==b.state.dataEndIndex){var E=b.state.updateId;b.setState(function(){return Z({dataStartIndex:k,dataEndIndex:O},h({props:b.props,dataStartIndex:k,dataEndIndex:O,updateId:E},b.state))}),b.triggerSyncEvent({dataStartIndex:k,dataEndIndex:O})}}),Ce(b,"handleMouseEnter",function(_){var k=b.getMouseInfo(_);if(k){var O=Z(Z({},k),{},{isTooltipActive:!0});b.setState(O),b.triggerSyncEvent(O);var E=b.props.onMouseEnter;Te(E)&&E(O,_)}}),Ce(b,"triggeredAfterMouseMove",function(_){var k=b.getMouseInfo(_),O=k?Z(Z({},k),{},{isTooltipActive:!0}):{isTooltipActive:!1};b.setState(O),b.triggerSyncEvent(O);var E=b.props.onMouseMove;Te(E)&&E(O,_)}),Ce(b,"handleItemMouseEnter",function(_){b.setState(function(){return{isTooltipActive:!0,activeItem:_,activePayload:_.tooltipPayload,activeCoordinate:_.tooltipPosition||{x:_.cx,y:_.cy}}})}),Ce(b,"handleItemMouseLeave",function(){b.setState(function(){return{isTooltipActive:!1}})}),Ce(b,"handleMouseMove",function(_){_.persist(),b.throttleTriggeredAfterMouseMove(_)}),Ce(b,"handleMouseLeave",function(_){b.throttleTriggeredAfterMouseMove.cancel();var k={isTooltipActive:!1};b.setState(k),b.triggerSyncEvent(k);var O=b.props.onMouseLeave;Te(O)&&O(k,_)}),Ce(b,"handleOuterEvent",function(_){var k=v8(_),O=wn(b.props,"".concat(k));if(k&&Te(O)){var E,T;/.*touch.*/i.test(k)?T=b.getMouseInfo(_.changedTouches[0]):T=b.getMouseInfo(_),O((E=T)!==null&&E!==void 0?E:{},_)}}),Ce(b,"handleClick",function(_){var k=b.getMouseInfo(_);if(k){var O=Z(Z({},k),{},{isTooltipActive:!0});b.setState(O),b.triggerSyncEvent(O);var E=b.props.onClick;Te(E)&&E(O,_)}}),Ce(b,"handleMouseDown",function(_){var k=b.props.onMouseDown;if(Te(k)){var O=b.getMouseInfo(_);k(O,_)}}),Ce(b,"handleMouseUp",function(_){var k=b.props.onMouseUp;if(Te(k)){var O=b.getMouseInfo(_);k(O,_)}}),Ce(b,"handleTouchMove",function(_){_.changedTouches!=null&&_.changedTouches.length>0&&b.throttleTriggeredAfterMouseMove(_.changedTouches[0])}),Ce(b,"handleTouchStart",function(_){_.changedTouches!=null&&_.changedTouches.length>0&&b.handleMouseDown(_.changedTouches[0])}),Ce(b,"handleTouchEnd",function(_){_.changedTouches!=null&&_.changedTouches.length>0&&b.handleMouseUp(_.changedTouches[0])}),Ce(b,"handleDoubleClick",function(_){var k=b.props.onDoubleClick;if(Te(k)){var O=b.getMouseInfo(_);k(O,_)}}),Ce(b,"handleContextMenu",function(_){var k=b.props.onContextMenu;if(Te(k)){var O=b.getMouseInfo(_);k(O,_)}}),Ce(b,"triggerSyncEvent",function(_){b.props.syncId!==void 0&&Ty.emit($y,b.props.syncId,_,b.eventEmitterSymbol)}),Ce(b,"applySyncEvent",function(_){var k=b.props,O=k.layout,E=k.syncMethod,T=b.state.updateId,$=_.dataStartIndex,A=_.dataEndIndex;if(_.dataStartIndex!==void 0||_.dataEndIndex!==void 0)b.setState(Z({dataStartIndex:$,dataEndIndex:A},h({props:b.props,dataStartIndex:$,dataEndIndex:A,updateId:T},b.state)));else if(_.activeTooltipIndex!==void 0){var R=_.chartX,M=_.chartY,L=_.activeTooltipIndex,V=b.state,H=V.offset,I=V.tooltipTicks;if(!H)return;if(typeof E=="function")L=E(I,_);else if(E==="value"){L=-1;for(var B=0;B=0){var de,X;if(R.dataKey&&!R.allowDuplicatedCategory){var we=typeof R.dataKey=="function"?ue:"payload.".concat(R.dataKey.toString());de=Bp(B,we,L),X=W&&G&&Bp(G,we,L)}else de=B==null?void 0:B[M],X=W&&G&&G[M];if(ge||le){var ye=_.props.activeIndex!==void 0?_.props.activeIndex:M;return[S.cloneElement(_,Z(Z(Z({},E.props),Pe),{},{activeIndex:ye})),null,null]}if(!Fe(de))return[J].concat(Wl(b.renderActivePoints({item:E,activePoint:de,basePoint:X,childIndex:M,isRange:W})))}else{var qe,De=(qe=b.getItemByXY(b.state.activeCoordinate))!==null&&qe!==void 0?qe:{graphicalItem:J},ke=De.graphicalItem,Re=ke.item,Ie=Re===void 0?_:Re,Oe=ke.childIndex,Ge=Z(Z(Z({},E.props),Pe),{},{activeIndex:Oe});return[S.cloneElement(Ie,Ge),null,null]}return W?[J,null,null]:[J,null]}),Ce(b,"renderCustomized",function(_,k,O){return S.cloneElement(_,Z(Z({key:"recharts-customized-".concat(O)},b.props),b.state))}),Ce(b,"renderMap",{CartesianGrid:{handler:If,once:!0},ReferenceArea:{handler:b.renderReferenceElement},ReferenceLine:{handler:If},ReferenceDot:{handler:b.renderReferenceElement},XAxis:{handler:If},YAxis:{handler:If},Brush:{handler:b.renderBrush,once:!0},Bar:{handler:b.renderGraphicChild},Line:{handler:b.renderGraphicChild},Area:{handler:b.renderGraphicChild},Radar:{handler:b.renderGraphicChild},RadialBar:{handler:b.renderGraphicChild},Scatter:{handler:b.renderGraphicChild},Pie:{handler:b.renderGraphicChild},Funnel:{handler:b.renderGraphicChild},Tooltip:{handler:b.renderCursor,once:!0},PolarGrid:{handler:b.renderPolarGrid,once:!0},PolarAngleAxis:{handler:b.renderPolarAxis},PolarRadiusAxis:{handler:b.renderPolarAxis},Customized:{handler:b.renderCustomized}}),b.clipPathId="".concat((w=m.id)!==null&&w!==void 0?w:oo("recharts"),"-clip"),b.throttleTriggeredAfterMouseMove=CC(b.triggeredAfterMouseMove,(j=m.throttleDelay)!==null&&j!==void 0?j:1e3/60),b.state={},b}return roe(y,g),Jse(y,[{key:"componentDidMount",value:function(){var w,j;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(w=this.props.margin.left)!==null&&w!==void 0?w:0,top:(j=this.props.margin.top)!==null&&j!==void 0?j:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var w=this.props,j=w.children,b=w.data,_=w.height,k=w.layout,O=yn(j,Or);if(O){var E=O.props.defaultIndex;if(!(typeof E!="number"||E<0||E>this.state.tooltipTicks.length-1)){var T=this.state.tooltipTicks[E]&&this.state.tooltipTicks[E].value,$=X0(this.state,b,E,T),A=this.state.tooltipTicks[E].coordinate,R=(this.state.offset.top+_)/2,M=k==="horizontal",L=M?{x:A,y:R}:{y:A,x:R},V=this.state.formattedGraphicalItems.find(function(I){var B=I.item;return B.type.name==="Scatter"});V&&(L=Z(Z({},L),V.props.points[E].tooltipPosition),$=V.props.points[E].tooltipPayload);var H={activeTooltipIndex:E,isTooltipActive:!0,activeLabel:T,activePayload:$,activeCoordinate:L};this.setState(H),this.renderCursor(O),this.accessibilityManager.setIndex(E)}}}},{key:"getSnapshotBeforeUpdate",value:function(w,j){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==j.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==w.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==w.margin){var b,_;this.accessibilityManager.setDetails({offset:{left:(b=this.props.margin.left)!==null&&b!==void 0?b:0,top:(_=this.props.margin.top)!==null&&_!==void 0?_:0}})}return null}},{key:"componentDidUpdate",value:function(w){Sx([yn(w.children,Or)],[yn(this.props.children,Or)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var w=yn(this.props.children,Or);if(w&&typeof w.props.shared=="boolean"){var j=w.props.shared?"axis":"item";return o.indexOf(j)>=0?j:i}return i}},{key:"getMouseInfo",value:function(w){if(!this.container)return null;var j=this.container,b=j.getBoundingClientRect(),_=HG(b),k={chartX:Math.round(w.pageX-_.left),chartY:Math.round(w.pageY-_.top)},O=b.width/j.offsetWidth||1,E=this.inRange(k.chartX,k.chartY,O);if(!E)return null;var T=this.state,$=T.xAxisMap,A=T.yAxisMap,R=this.getTooltipEventType(),M=_O(this.state,this.props.data,this.props.layout,E);if(R!=="axis"&&$&&A){var L=Pi($).scale,V=Pi(A).scale,H=L&&L.invert?L.invert(k.chartX):null,I=V&&V.invert?V.invert(k.chartY):null;return Z(Z({},k),{},{xValue:H,yValue:I},M)}return M?Z(Z({},k),M):null}},{key:"inRange",value:function(w,j){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,_=this.props.layout,k=w/b,O=j/b;if(_==="horizontal"||_==="vertical"){var E=this.state.offset,T=k>=E.left&&k<=E.left+E.width&&O>=E.top&&O<=E.top+E.height;return T?{x:k,y:O}:null}var $=this.state,A=$.angleAxisMap,R=$.radiusAxisMap;if(A&&R){var M=Pi(A);return Kk({x:k,y:O},M)}return null}},{key:"parseEventsOfWrapper",value:function(){var w=this.props.children,j=this.getTooltipEventType(),b=yn(w,Or),_={};b&&j==="axis"&&(b.props.trigger==="click"?_={onClick:this.handleClick}:_={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var k=Up(this.props,this.handleOuterEvent);return Z(Z({},k),_)}},{key:"addListener",value:function(){Ty.on($y,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){Ty.removeListener($y,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(w,j,b){for(var _=this.state.formattedGraphicalItems,k=0,O=_.length;k{let t;const r=new Set,n=(f,d)=>{const p=typeof f=="function"?f(t):f;if(!Object.is(p,t)){const h=t;t=d??(typeof p!="object"||p===null)?p:Object.assign({},t,p),r.forEach(x=>x(t,h))}},a=()=>t,u={setState:n,getState:a,getInitialState:()=>c,subscribe:f=>(r.add(f),()=>r.delete(f)),destroy:()=>{(boe?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}},c=t=e(n,a,u);return u},woe=e=>e?kO(e):kO;var iR={exports:{}},sR={};/** + * @license React + * use-sync-external-store-shim/with-selector.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var yg=S,_oe=px;function joe(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Soe=typeof Object.is=="function"?Object.is:joe,koe=_oe.useSyncExternalStore,Ooe=yg.useRef,Noe=yg.useEffect,Aoe=yg.useMemo,Eoe=yg.useDebugValue;sR.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var i=Ooe(null);if(i.current===null){var s={hasValue:!1,value:null};i.current=s}else s=i.current;i=Aoe(function(){function u(h){if(!c){if(c=!0,f=h,h=n(h),a!==void 0&&s.hasValue){var x=s.value;if(a(x,h))return d=x}return d=h}if(x=d,Soe(f,h))return x;var v=n(h);return a!==void 0&&a(x,v)?(f=h,x):(f=h,d=v)}var c=!1,f,d,p=r===void 0?null:r;return[function(){return u(t())},p===null?void 0:function(){return u(p())}]},[t,r,n,a]);var o=koe(e,i[0],i[1]);return Noe(function(){s.hasValue=!0,s.value=o},[o]),Eoe(o),o};iR.exports=sR;var Poe=iR.exports;const Coe=vt(Poe),oR={},{useDebugValue:Toe}=P,{useSyncExternalStoreWithSelector:$oe}=Coe;let OO=!1;const Roe=e=>e;function Ioe(e,t=Roe,r){(oR?"production":void 0)!=="production"&&r&&!OO&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),OO=!0);const n=$oe(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return Toe(n),n}const Moe=e=>{(oR?"production":void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const t=typeof e=="function"?woe(e):e,r=(n,a)=>Ioe(t,n,a);return Object.assign(r,t),r},lR=e=>Moe,Doe={};function Loe(e,t){let r;try{r=e()}catch{return}return{getItem:a=>{var i;const s=u=>u===null?null:JSON.parse(u,void 0),o=(i=r.getItem(a))!=null?i:null;return o instanceof Promise?o.then(s):s(o)},setItem:(a,i)=>r.setItem(a,JSON.stringify(i,void 0)),removeItem:a=>r.removeItem(a)}}const bd=e=>t=>{try{const r=e(t);return r instanceof Promise?r:{then(n){return bd(n)(r)},catch(n){return this}}}catch(r){return{then(n){return this},catch(n){return bd(n)(r)}}}},Foe=(e,t)=>(r,n,a)=>{let i={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:g=>g,version:0,merge:(g,y)=>({...y,...g}),...t},s=!1;const o=new Set,u=new Set;let c;try{c=i.getStorage()}catch{}if(!c)return e((...g)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),r(...g)},n,a);const f=bd(i.serialize),d=()=>{const g=i.partialize({...n()});let y;const m=f({state:g,version:i.version}).then(w=>c.setItem(i.name,w)).catch(w=>{y=w});if(y)throw y;return m},p=a.setState;a.setState=(g,y)=>{p(g,y),d()};const h=e((...g)=>{r(...g),d()},n,a);let x;const v=()=>{var g;if(!c)return;s=!1,o.forEach(m=>m(n()));const y=((g=i.onRehydrateStorage)==null?void 0:g.call(i,n()))||void 0;return bd(c.getItem.bind(c))(i.name).then(m=>{if(m)return i.deserialize(m)}).then(m=>{if(m)if(typeof m.version=="number"&&m.version!==i.version){if(i.migrate)return i.migrate(m.state,m.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return m.state}).then(m=>{var w;return x=i.merge(m,(w=n())!=null?w:h),r(x,!0),d()}).then(()=>{y==null||y(x,void 0),s=!0,u.forEach(m=>m(x))}).catch(m=>{y==null||y(void 0,m)})};return a.persist={setOptions:g=>{i={...i,...g},g.getStorage&&(c=g.getStorage())},clearStorage:()=>{c==null||c.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>v(),hasHydrated:()=>s,onHydrate:g=>(o.add(g),()=>{o.delete(g)}),onFinishHydration:g=>(u.add(g),()=>{u.delete(g)})},v(),x||h},zoe=(e,t)=>(r,n,a)=>{let i={storage:Loe(()=>localStorage),partialize:v=>v,version:0,merge:(v,g)=>({...g,...v}),...t},s=!1;const o=new Set,u=new Set;let c=i.storage;if(!c)return e((...v)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),r(...v)},n,a);const f=()=>{const v=i.partialize({...n()});return c.setItem(i.name,{state:v,version:i.version})},d=a.setState;a.setState=(v,g)=>{d(v,g),f()};const p=e((...v)=>{r(...v),f()},n,a);a.getInitialState=()=>p;let h;const x=()=>{var v,g;if(!c)return;s=!1,o.forEach(m=>{var w;return m((w=n())!=null?w:p)});const y=((g=i.onRehydrateStorage)==null?void 0:g.call(i,(v=n())!=null?v:p))||void 0;return bd(c.getItem.bind(c))(i.name).then(m=>{if(m)if(typeof m.version=="number"&&m.version!==i.version){if(i.migrate)return[!0,i.migrate(m.state,m.version)];console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,m.state];return[!1,void 0]}).then(m=>{var w;const[j,b]=m;if(h=i.merge(b,(w=n())!=null?w:p),r(h,!0),j)return f()}).then(()=>{y==null||y(h,void 0),h=n(),s=!0,u.forEach(m=>m(h))}).catch(m=>{y==null||y(void 0,m)})};return a.persist={setOptions:v=>{i={...i,...v},v.storage&&(c=v.storage)},clearStorage:()=>{c==null||c.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>x(),hasHydrated:()=>s,onHydrate:v=>(o.add(v),()=>{o.delete(v)}),onFinishHydration:v=>(u.add(v),()=>{u.delete(v)})},i.skipHydration||x(),h||p},Boe=(e,t)=>"getStorage"in t||"serialize"in t||"deserialize"in t?((Doe?"production":void 0)!=="production"&&console.warn("[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead."),Foe(e,t)):zoe(e,t),uR=Boe,Nn=lR()(uR(e=>({merchantId:"",setMerchantId:t=>{console.log(` +[STORE] Merchant ID changed: "${t}"`),e({merchantId:t})}}),{name:"merchant-store"}));let NO=null;const qo={get:()=>NO,set:e=>{NO=e}},ua=lR()(uR(e=>({token:null,user:null,merchants:[],setAuth:(t,r,n=[])=>{qo.set(t),e({token:t,user:r,merchants:n})},updateMerchant:(t,r,n)=>{qo.set(t),e(a=>({token:t,merchants:n,user:a.user?{...a.user,merchantId:r}:null}))},clearAuth:()=>{qo.set(null),e({token:null,user:null,merchants:[]})}}),{name:"auth-store",onRehydrateStorage:()=>e=>{e!=null&&e.token&&qo.set(e.token)}})),Uoe=Object.freeze(Object.defineProperty({__proto__:null,useAuthStore:ua},Symbol.toStringTag,{value:"Module"})),Voe="modulepreload",Woe=function(e){return"/decision-engine/"+e},AO={},Hoe=function(t,r,n){let a=Promise.resolve();if(r&&r.length>0){document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),o=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));a=Promise.allSettled(r.map(u=>{if(u=Woe(u),u in AO)return;AO[u]=!0;const c=u.endsWith(".css"),f=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${f}`))return;const d=document.createElement("link");if(d.rel=c?"stylesheet":Voe,c||(d.as="script"),d.crossOrigin="",d.href=u,o&&d.setAttribute("nonce",o),document.head.appendChild(d),c)return new Promise((p,h)=>{d.addEventListener("load",p),d.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(s){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s}return a.then(s=>{for(const o of s||[])o.status==="rejected"&&i(o.reason);return t().catch(i)})},Goe="public",Iy="/decision-engine-api".replace(/\/$/,""),qoe="decision-engine";function Koe(e){if(/^https?:\/\//.test(e))return e;const t=e.startsWith("/")?e:`/${e}`;return t.startsWith(`${Iy}/`)||t===Iy?t:`${Iy}${t}`}function Yoe(e,t,r){console.log(` +`+"=".repeat(80)),console.log(`[API REQUEST] ${new Date().toISOString()}`),console.log(`Method: ${e}`),console.log(`Path: ${t}`),r!==void 0&&console.log("Body:",JSON.stringify(r,null,2)),console.log("=".repeat(80))}function Xoe(e,t,r,n){console.log(` +`+"-".repeat(80)),console.log(`[API RESPONSE] ${new Date().toISOString()}`),console.log(`Path: ${e}`),console.log(`Status: ${t} ${r}`),console.log("Response Body:",n),console.log("-".repeat(80)+` +`)}function EO(e,t){console.log(` +`+"!".repeat(80)),console.log(`[API ERROR] ${new Date().toISOString()}`),console.log(`Path: ${e}`),t instanceof Error?(console.log("Error:",t.message),console.log("Stack:",t.stack)):console.log("Error:",t),console.log("!".repeat(80)+` +`)}async function ui(e,t){const r=(t==null?void 0:t.method)||"GET",n=t!=null&&t.body?JSON.parse(t.body):void 0,a=Koe(e);Yoe(r,a,n);try{const i=qo.get(),s=new Headers(t==null?void 0:t.headers);s.set("Content-Type","application/json"),s.set("x-tenant-id",Goe),s.set("x-feature",qoe),i&&s.set("Authorization",`Bearer ${i}`);const o=await fetch(a,{...t,headers:s}),u=await o.text();let c;try{const f=JSON.parse(u);c=JSON.stringify(f,null,2)}catch{c=u}if(Xoe(a,o.status,o.statusText,c),o.status===401&&!e.startsWith("/auth/")){let f=!1;try{const p=`${JSON.parse(u).message??""}`.toLowerCase();f=p.includes("expired")||p.includes("invalid or expired")}catch{}if(f)throw qo.set(null),Hoe(async()=>{const{useAuthStore:d}=await Promise.resolve().then(()=>Uoe);return{useAuthStore:d}},void 0).then(({useAuthStore:d})=>{d.getState().clearAuth()}),window.location.href="/decision-engine/login",new Error("Session expired")}if(!o.ok){const f=new Error(`API error ${o.status}: ${u}`);throw EO(a,f),f}return u.trim()?JSON.parse(u):void 0}catch(i){throw EO(a,i),i}}async function zt(e,t){return ui(e,{method:"POST",body:t!==void 0?JSON.stringify(t):void 0})}async function nn(e){return ui(e)}const Zoe={primary:"bg-brand-600 text-white hover:bg-brand-700 disabled:opacity-50 shadow-sm border border-transparent dark:bg-white dark:text-black dark:hover:bg-slate-200",secondary:"bg-white text-slate-700 border border-slate-200 hover:bg-slate-50 hover:text-slate-900 disabled:opacity-40 shadow-sm dark:bg-[#121214] dark:text-[#a1a1aa] dark:border-[#27272a] dark:hover:bg-[#18181b] dark:hover:text-white",ghost:"text-slate-500 hover:text-slate-900 hover:bg-slate-100 disabled:opacity-40 dark:text-[#a1a1aa] dark:hover:text-white dark:hover:bg-[#121214]",danger:"bg-red-50 text-red-600 hover:bg-red-100 border border-red-200 disabled:opacity-40 dark:bg-[#2a0505] dark:text-red-500 dark:hover:bg-[#380808] dark:border-[#5c1c1c]"},Joe={sm:"px-4 py-1.5 text-xs font-semibold",md:"px-5 py-2.5 text-sm font-semibold"};function Ae({variant:e="primary",size:t="md",className:r="",...n}){return l.jsx("button",{className:`relative inline-flex items-center justify-center gap-2 rounded-full transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-brand-500/50 focus:ring-offset-1 focus:ring-offset-transparent focus:border-transparent ${Zoe[e]} ${Joe[t]} ${r}`,...n,children:n.children})}function Se({children:e,className:t="",onClick:r}){const n=`relative overflow-hidden rounded-[30px] border border-slate-200 bg-white shadow-[0_18px_60px_-42px_rgba(15,23,42,0.15)] dark:border-[#2a303a] dark:bg-[#11151d] dark:shadow-[0_18px_60px_-42px_rgba(0,0,0,0.7)] ${r?"cursor-pointer text-left transition duration-300 hover:-translate-y-0.5 hover:border-[#3b82f6]/35 hover:bg-slate-50 dark:hover:bg-[#141923]":""} ${t}`,a=l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-[#3b82f6]/25 to-transparent dark:via-[#3b82f6]/30"}),l.jsx("div",{className:"absolute inset-0 bg-[linear-gradient(180deg,rgba(255,255,255,0.55),transparent_26%)] dark:bg-[linear-gradient(180deg,rgba(255,255,255,0.02),transparent_26%)]"}),l.jsx("div",{className:"relative",children:e})]});return r?l.jsx("button",{type:"button",onClick:r,className:n,children:a}):l.jsx("div",{className:n,children:a})}function nt({children:e,className:t=""}){return l.jsx("div",{className:`border-b border-slate-200 px-6 py-5 dark:border-[#2a303a] ${t}`,children:e})}function Be({children:e,className:t=""}){return l.jsx("div",{className:`px-6 py-5 ${t}`,children:e})}function an({children:e,className:t=""}){return l.jsx("p",{className:`text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8390a7] ${t}`,children:e})}function Hh({children:e,className:t=""}){return l.jsx("div",{className:`rounded-[22px] border border-slate-200 bg-white/80 px-4 py-4 shadow-[0_14px_30px_-28px_rgba(15,23,42,0.18)] dark:border-[#2a303a] dark:bg-[#161b24] dark:shadow-none ${t}`,children:e})}const Qoe={green:"bg-emerald-500/10 text-emerald-600 ring-1 ring-inset ring-emerald-500/20 dark:text-emerald-300",gray:"bg-slate-900/[0.04] text-slate-700 ring-1 ring-inset ring-slate-900/8 dark:bg-white/[0.05] dark:text-slate-300 dark:ring-white/8",blue:"bg-sky-500/12 text-sky-700 ring-1 ring-inset ring-sky-500/22 dark:bg-sky-400/14 dark:text-sky-200 dark:ring-sky-400/28",red:"bg-red-500/10 text-red-600 ring-1 ring-inset ring-red-500/20 dark:text-red-300",orange:"bg-orange-500/10 text-orange-600 ring-1 ring-inset ring-orange-500/20 dark:text-orange-300",purple:"bg-purple-500/10 text-purple-600 ring-1 ring-inset ring-purple-500/20 dark:text-purple-300"};function ze({variant:e="gray",children:t}){return l.jsx("span",{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-md text-xs font-medium tracking-wide ${Qoe[e]}`,children:t})}function Ft({size:e=20}){return l.jsxs("svg",{className:"animate-spin text-brand-500",width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[l.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),l.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8v4a4 4 0 00-4 4H4z"})]})}function Nr({error:e}){return e?l.jsx("div",{className:"rounded-lg border border-red-500/20 bg-red-500/8 px-4 py-3 text-sm text-red-400 font-mono",children:e}):null}/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var ele={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const tle=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Xe=(e,t)=>{const r=S.forwardRef(({color:n="currentColor",size:a=24,strokeWidth:i=2,absoluteStrokeWidth:s,className:o="",children:u,...c},f)=>S.createElement("svg",{ref:f,...ele,width:a,height:a,stroke:n,strokeWidth:s?Number(i)*24/Number(a):i,className:["lucide",`lucide-${tle(e)}`,o].join(" "),...c},[...t.map(([d,p])=>S.createElement(d,p)),...Array.isArray(u)?u:[u]]));return r.displayName=`${e}`,r};/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const sl=Xe("Activity",[["path",{d:"M22 12h-4l-3 9L9 3l-3 9H2",key:"d5dnw9"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const j1=Xe("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Gh=Xe("BarChart3",[["path",{d:"M3 3v18h18",key:"1s2lah"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const rle=Xe("BookOpen",[["path",{d:"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z",key:"vv98re"}],["path",{d:"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z",key:"1cyq3y"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const qh=Xe("Building2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const nle=Xe("CalendarDays",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ale=Xe("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ks=Xe("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ile=Xe("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const sle=Xe("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const No=Xe("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ole=Xe("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const lle=Xe("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ule=Xe("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const J0=Xe("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const My=Xe("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const cle=Xe("CreditCard",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const dle=Xe("EyeOff",[["path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24",key:"1jxqfv"}],["path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68",key:"9wicm4"}],["path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61",key:"1jreej"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Wd=Xe("Eye",[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const mc=Xe("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const fle=Xe("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ple=Xe("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const hle=Xe("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const S1=Xe("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const mle=Xe("LockKeyhole",[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const gle=Xe("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const yle=Xe("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const vle=Xe("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Kh=Xe("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Yh=Xe("PieChart",[["path",{d:"M21.21 15.89A10 10 0 1 1 8 2.83",key:"k2fpak"}],["path",{d:"M22 12A10 10 0 0 0 12 2v10z",key:"1rfc4y"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Mf=Xe("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ci=Xe("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Df=Xe("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const xle=Xe("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ble=Xe("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const wle=Xe("Sparkles",[["path",{d:"m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z",key:"17u4zn"}],["path",{d:"M5 3v4",key:"bklmnn"}],["path",{d:"M19 17v4",key:"iiml17"}],["path",{d:"M3 5h4",key:"nem4j1"}],["path",{d:"M17 19h4",key:"lbex7p"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const _le=Xe("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const di=Xe("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const cR=Xe("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);/** + * @license lucide-react v0.363.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const PO=Xe("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function Li(e){return e.toString().padStart(2,"0")}function jle(e){return`${e.getFullYear()}-${Li(e.getMonth()+1)}-${Li(e.getDate())}T${Li(e.getHours())}:${Li(e.getMinutes())}`}function Sle(e){const t=new Date(e);return Number.isFinite(t.getTime())?t:null}function kle(e){return e?new Intl.DateTimeFormat(void 0,{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"}).format(e):"Select date and time"}function Ole(e){return new Intl.DateTimeFormat(void 0,{month:"long",year:"numeric"}).format(e)}function Nle(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function Ale(e){const t=new Date(e.getFullYear(),e.getMonth(),1),r=t.getDay(),n=new Date(t);return n.setDate(n.getDate()-r),Array.from({length:42},(a,i)=>{const s=new Date(n);return s.setDate(n.getDate()+i),{key:`${s.getFullYear()}-${s.getMonth()}-${s.getDate()}`,date:s,inMonth:s.getMonth()===e.getMonth()}})}function Xh({value:e,onChange:t,className:r=""}){const n=S.useRef(null),a=S.useMemo(()=>Sle(e),[e]),[i,s]=S.useState(!1),[o,u]=S.useState(a||new Date),[c,f]=S.useState(a||new Date);S.useEffect(()=>{a&&(u(a),f(new Date(a.getFullYear(),a.getMonth(),1)))},[a==null?void 0:a.getTime()]),S.useEffect(()=>{if(!i)return;function g(m){var w;(w=n.current)!=null&&w.contains(m.target)||s(!1)}function y(m){m.key==="Escape"&&s(!1)}return document.addEventListener("mousedown",g),document.addEventListener("keydown",y),()=>{document.removeEventListener("mousedown",g),document.removeEventListener("keydown",y)}},[i]);const d=S.useMemo(()=>Ale(c),[c]);function p(g){u(y=>{const m=new Date(g);return m.setHours(y.getHours(),y.getMinutes(),0,0),m})}function h(g,y){u(m=>{const w=new Date(m);return g==="hours"?w.setHours(Number(y)):w.setMinutes(Number(y)),w})}function x(){t(jle(o)),s(!1)}function v(){const g=new Date;u(g),f(new Date(g.getFullYear(),g.getMonth(),1))}return l.jsxs("div",{ref:n,className:`relative ${r}`,children:[l.jsxs("button",{type:"button",onClick:()=>{if(!i){const g=a||new Date;u(g),f(new Date(g.getFullYear(),g.getMonth(),1))}s(g=>!g)},className:"flex h-11 w-full items-center justify-between gap-3 rounded-2xl border border-slate-200 bg-white/90 px-4 text-left text-sm text-slate-700 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.2)] transition focus:outline-none focus:ring-2 focus:ring-brand-500/20 dark:border-[#2a303a] dark:bg-[#161b24] dark:text-[#e5ecf7] dark:shadow-none",children:[l.jsx("span",{className:"truncate",children:kle(a)}),l.jsx(nle,{size:16,className:"shrink-0 text-slate-400 dark:text-[#8a8a93]"})]}),i?l.jsxs("div",{className:"absolute left-0 top-[calc(100%+10px)] z-[80] w-[284px] rounded-[24px] border border-slate-200 bg-white/95 p-3 shadow-[0_24px_70px_-40px_rgba(15,23,42,0.45)] backdrop-blur dark:border-[#2a303a] dark:bg-[#11151d]/95 dark:shadow-[0_24px_70px_-40px_rgba(0,0,0,0.7)]",children:[l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-[13px] font-semibold text-slate-900 dark:text-white",children:Ole(c)}),l.jsx("p",{className:"mt-1 text-[11px] text-slate-500 dark:text-[#8a8a93]",children:"Choose a day and time"})]}),l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx("button",{type:"button",onClick:()=>f(g=>new Date(g.getFullYear(),g.getMonth()-1,1)),className:"flex h-7 w-7 items-center justify-center rounded-full border border-slate-200 text-slate-500 transition hover:border-slate-300 hover:text-slate-900 dark:border-[#2a303a] dark:text-[#8a8a93] dark:hover:text-white",children:l.jsx(ile,{size:14})}),l.jsx("button",{type:"button",onClick:()=>f(g=>new Date(g.getFullYear(),g.getMonth()+1,1)),className:"flex h-7 w-7 items-center justify-center rounded-full border border-slate-200 text-slate-500 transition hover:border-slate-300 hover:text-slate-900 dark:border-[#2a303a] dark:text-[#8a8a93] dark:hover:text-white",children:l.jsx(sle,{size:14})})]})]}),l.jsx("div",{className:"mt-3 grid grid-cols-7 gap-1 text-center text-[10px] font-semibold uppercase tracking-[0.14em] text-slate-400 dark:text-[#667085]",children:["S","M","T","W","T","F","S"].map(g=>l.jsx("span",{className:"py-2",children:g},g))}),l.jsx("div",{className:"grid grid-cols-7 gap-1",children:d.map(g=>{const y=Nle(g.date,o);return l.jsx("button",{type:"button",onClick:()=>p(g.date),className:`flex h-9 items-center justify-center rounded-lg text-[13px] transition ${y?"bg-brand-600 text-white shadow-[0_12px_30px_-22px_rgba(59,130,246,0.7)] dark:bg-brand-500 dark:text-white":g.inMonth?"text-slate-700 hover:bg-slate-100 dark:text-[#e5ecf7] dark:hover:bg-[#1a2130]":"text-slate-300 hover:bg-slate-100 dark:text-[#4b5565] dark:hover:bg-[#161b24]"}`,children:g.date.getDate()},g.key)})}),l.jsxs("div",{className:"mt-3 rounded-[18px] border border-slate-200 bg-slate-50/70 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:[l.jsxs("div",{className:"mb-2 flex items-center gap-2",children:[l.jsx(J0,{size:13,className:"text-slate-400 dark:text-[#8a8a93]"}),l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Time"})]}),l.jsxs("div",{className:"grid grid-cols-[1fr_auto_1fr] items-center gap-2",children:[l.jsx("select",{value:Li(o.getHours()),onChange:g=>h("hours",g.target.value),className:"h-9 rounded-xl border border-slate-200 bg-white/90 px-3 text-sm text-slate-700 dark:border-[#2a303a] dark:bg-[#11151d] dark:text-[#e5ecf7]",children:Array.from({length:24},(g,y)=>Li(y)).map(g=>l.jsx("option",{value:g,children:g},g))}),l.jsx("span",{className:"text-sm font-semibold text-slate-400 dark:text-[#8a8a93]",children:":"}),l.jsx("select",{value:Li(o.getMinutes()),onChange:g=>h("minutes",g.target.value),className:"h-9 rounded-xl border border-slate-200 bg-white/90 px-3 text-sm text-slate-700 dark:border-[#2a303a] dark:bg-[#11151d] dark:text-[#e5ecf7]",children:Array.from({length:60},(g,y)=>Li(y)).map(g=>l.jsx("option",{value:g,children:g},g))})]})]}),l.jsxs("div",{className:"mt-3 flex items-center justify-between gap-2",children:[l.jsx(Ae,{size:"sm",variant:"ghost",onClick:v,children:"Now"}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>s(!1),children:"Cancel"}),l.jsx(Ae,{size:"sm",onClick:x,children:"Apply"})]})]})]}):null]})}const CO=[{value:"15m",label:"Last 15 mins"},{value:"1h",label:"Last 1 hour"},{value:"12h",label:"Last 12 hours"},{value:"1d",label:"Last 1 day"},{value:"1w",label:"Last 1 week"},{value:"custom",label:"Custom window"}],Cn=["#0069ED","#14b8a6","#f97316","#e11d48","#8b5cf6","#22c55e"],Lf={backgroundColor:"#0d0d12",border:"1px solid #1c1c24",borderRadius:"14px",color:"#e8e8f4",boxShadow:"0 16px 40px rgba(0, 0, 0, 0.35)"},Ff={color:"#f8fafc",fontWeight:600,marginBottom:8},zf={color:"#e2e8f0"},Bf={zIndex:30,outline:"none"},TO={dimensions:{},gateways:[]},Ru=3,Dy=50,Ele=5,Ly=10,bo={hits:{title:"API call counts",purpose:"Use these cards to see how much traffic each major decision-engine API handled in the selected window.",calculation:"Each request records one lightweight API-call event. The cards count those recorded calls for the endpoints surfaced in the current view.",source:"Counts come from ClickHouse-backed API analytics rows ingested from Kafka into `analytics_api_events`."},share:{title:"Gateway share over time",purpose:"Use this to see when traffic shifted from one connector to another for the selected merchant.",calculation:"Decision events are bucketed by time and grouped by chosen connector. The chart shows how many decisions each gateway captured in each bucket.",source:"Reads ClickHouse-backed domain analytics rows from `analytics_domain_events`."},sr:{title:"Connector success rate over time",purpose:"Use this to explain why a connector won routing at a given time, based on the recorded historical score trail.",calculation:"Stored `score_snapshot` events are bucketed over the selected window and averaged per connector. The line values are displayed as percentages.",source:"Reads ClickHouse-backed `score_snapshot` analytics rows from `analytics_domain_events`. The current score state still originates from Redis-backed scoring flows."},preview_hits:{title:"Rule-based summary",purpose:"Use these cards to distinguish preview request volume from the connector coverage produced by rule-based routing.",calculation:"Rule Evaluate counts come from request-hit analytics for `/routing/evaluate`. Gateway coverage counts the unique connectors selected in the fetched preview sample.",source:"Reads `request_hit` and `rule_evaluation_preview` analytics associated with preview routing activity."},preview_activity:{title:"Connector selections over time",purpose:"Use this to see which connectors were selected in each time bucket inside the selected preview window.",calculation:"Returned preview traces are bucketed by time using each trace's latest activity timestamp, then grouped by latest selected connector. The chart shows connector counts per bucket.",source:"Reads `rule_evaluation_preview` activity through `/analytics/preview-trace`."},preview_share:{title:"Rule-based gateway selection mix",purpose:"Use this to see which connectors dominate the fetched rule-preview sample, separate from real transaction decisions.",calculation:"Returned preview traces are grouped by latest selected connector and displayed as share of the fetched preview sample.",source:"Reads `rule_evaluation_preview` activity through `/analytics/preview-trace`."}};function dR(e){const t=new URLSearchParams;return Object.entries(e).forEach(([r,n])=>{n!==void 0&&n!==""&&t.set(r,String(n))}),t.toString()}function Fy(e,t,r,n){const a={range:t==="custom"?"1h":t,start_ms:r==null?void 0:r.start_ms,end_ms:r==null?void 0:r.end_ms,gateway:n!=null&&n.gateways.length?n.gateways.join(","):void 0};Object.entries((n==null?void 0:n.dimensions)||{}).forEach(([s,o])=>{o&&(a[s]=o)});const i=dR(a);return i?`${e}?${i}`:e}function Q0(e,t,r,n){const a={range:e==="custom"?"1h":e,start_ms:n==null?void 0:n.start_ms,end_ms:n==null?void 0:n.end_ms,page:t,page_size:r},i=dR(a);return i?`/analytics/preview-trace?${i}`:"/analytics/preview-trace"}async function Ple(e,t){const r=await nn(Q0(e,1,Dy,t)),n=Math.min(Math.ceil(r.total_results/Dy),Ele);if(n<=1)return r;const a=await Promise.all(Array.from({length:n-1},(i,s)=>nn(Q0(e,s+2,Dy,t))));return{...r,results:[r.results,...a.map(i=>i.results)].flat()}}function Zh(e,t=2){if(e==null||Number.isNaN(Number(e)))return"0";const r=Number(e);return Number.isInteger(r)?r.toString():r.toFixed(t)}function fR(e){return Number.isFinite(e)?e<=1?e*100:e:0}function Uf(e,t=1){return e==null||Number.isNaN(Number(e))?"0%":`${Zh(fR(Number(e)),t)}%`}function Cle(e,t){const r=Math.max(0,t.end_ms-t.start_ms);return r<=24*60*60*1e3?new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit"}).format(new Date(e)):r<=7*24*60*60*1e3?new Intl.DateTimeFormat(void 0,{day:"numeric",month:"short",hour:"2-digit"}).format(new Date(e)):new Intl.DateTimeFormat(void 0,{day:"numeric",month:"short"}).format(new Date(e))}function vs(e){return new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(e))}function Tle(e,t){const r=t?t.end_ms-t.start_ms:e==="15m"?9e5:e==="1h"?36e5:e==="12h"?432e5:e==="1d"?864e5:6048e5;return r<=15*60*1e3?60*1e3:r<=60*60*1e3?5*60*1e3:r<=12*60*60*1e3||r<=24*60*60*1e3?60*60*1e3:24*60*60*1e3}function eb(e,t){return e-e%Math.max(1,t)}function zy(e,t){const r=[],n=Math.max(1,t),a=eb(e.start_ms,n),i=eb(e.end_ms,n);for(let s=a;s<=i;s+=n)r.push(s);return r}function $O(e){const t=Date.now(),r=e==="15m"?15*60*1e3:e==="1h"?60*60*1e3:e==="12h"?12*60*60*1e3:e==="1d"?24*60*60*1e3:7*24*60*60*1e3;return{start_ms:t-r,end_ms:t}}function Vf(e){const t=new Date(e),r=n=>n.toString().padStart(2,"0");return`${t.getFullYear()}-${r(t.getMonth()+1)}-${r(t.getDate())}T${r(t.getHours())}:${r(t.getMinutes())}`}function RO(e){const t=new Date(e).getTime();return Number.isFinite(t)?t:null}function bi({title:e,body:t}){return l.jsxs("div",{className:"rounded-[24px] border border-dashed border-slate-200 bg-white/60 px-6 py-12 text-center dark:border-[#222227] dark:bg-[#0b0b0d]",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:t})]})}function Iu({title:e,body:t}){return l.jsxs("div",{className:"rounded-[24px] border border-slate-200 bg-white/60 px-6 py-12 text-center dark:border-[#222227] dark:bg-[#0b0b0d]",children:[l.jsx("div",{className:"flex justify-center",children:l.jsx(Ft,{size:20})}),l.jsx("p",{className:"mt-4 text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:t})]})}function $le({label:e}){return l.jsxs("div",{className:"overflow-hidden rounded-[22px] border border-brand-500/20 bg-white shadow-[0_10px_30px_-24px_rgba(0,105,237,0.9)] dark:bg-[#0c0c0e]",children:[l.jsx("div",{className:"h-2 w-full bg-brand-500/15",children:l.jsx("div",{className:"h-full origin-left animate-[analytics-progress_1.8s_ease-in-out_infinite] rounded-r-full bg-brand-500"})}),l.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-3",children:[l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:e}),l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-brand-600 dark:text-brand-300",children:"Loading"})]})]})}function Rle(){return"h-11 w-full rounded-2xl border border-slate-200 bg-white px-4 text-sm text-slate-700 shadow-sm outline-none transition focus:border-brand-500 focus:ring-2 focus:ring-brand-500/20 dark:border-[#27272a] dark:bg-[#121214] dark:text-[#e5e7eb]"}function By(e){return e?"!border-slate-200 !bg-white !text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.28)] dark:!border-[#2a303a] dark:!bg-[#161b24] dark:!text-white":"!border-transparent !bg-slate-100 !text-slate-600 hover:!bg-slate-200 hover:!text-slate-900 dark:!bg-[#161b24] dark:!text-[#a7b2c6] dark:hover:!bg-[#1c2330] dark:hover:!text-white"}function wo({content:e}){const[t,r]=S.useState(!1),n=S.useRef(null),[a,i]=S.useState({top:0,left:0,width:320});return S.useEffect(()=>{if(!t)return;function s(o){var u;(u=n.current)!=null&&u.contains(o.target)||r(!1)}return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[t]),S.useLayoutEffect(()=>{if(!t||!n.current)return;const s=320,o=280,u=16,c=12;function f(){if(!n.current)return;const d=n.current.getBoundingClientRect(),p=Math.min(s,window.innerWidth-u*2),h=Math.min(Math.max(d.right-p,u),window.innerWidth-p-u),v=d.bottom+c+o>window.innerHeight-u?Math.max(d.top-o-c,u):d.bottom+c;i({top:v,left:h,width:p})}return f(),window.addEventListener("resize",f),window.addEventListener("scroll",f,!0),()=>{window.removeEventListener("resize",f),window.removeEventListener("scroll",f,!0)}},[t]),l.jsxs("div",{ref:n,className:"relative shrink-0",children:[l.jsx("button",{type:"button","aria-label":`About ${e.title}`,onClick:()=>r(s=>!s),className:`flex h-7 w-7 items-center justify-center rounded-full border text-xs font-semibold transition ${t?"border-brand-500/50 bg-brand-500/10 text-brand-700 dark:text-brand-200":"border-slate-200 bg-white text-slate-500 hover:border-slate-300 hover:text-slate-900 dark:border-[#27272a] dark:bg-[#121214] dark:text-[#8a8a93] dark:hover:text-white"}`,children:"i"}),t?l.jsxs("div",{style:{position:"fixed",top:a.top,left:a.left,width:a.width},className:"z-[120] rounded-[24px] border border-slate-200 bg-white/95 p-4 shadow-2xl backdrop-blur dark:border-[#1d1d23] dark:bg-[#09090d]/95",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e.title}),l.jsxs("div",{className:"mt-3 space-y-3 text-xs leading-6 text-slate-600 dark:text-[#b3b3bd]",children:[l.jsxs("div",{children:[l.jsx("p",{className:"font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Why it matters"}),l.jsx("p",{className:"mt-1",children:e.purpose})]}),l.jsxs("div",{children:[l.jsx("p",{className:"font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"How it is calculated"}),l.jsx("p",{className:"mt-1",children:e.calculation})]}),l.jsxs("div",{children:[l.jsx("p",{className:"font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Data source"}),l.jsx("p",{className:"mt-1",children:e.source})]})]})]}):null]})}function Uy({label:e,value:t,subtitle:r,eyebrow:n="Endpoint hits"}){return l.jsx(Se,{className:"h-full overflow-hidden",children:l.jsxs(Be,{className:"flex h-full min-h-[150px] flex-col justify-between",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:n}),l.jsx("p",{className:"text-lg font-semibold text-slate-900 dark:text-white",children:e})]}),l.jsxs("div",{className:"flex items-end justify-between gap-4",children:[l.jsx("p",{className:"text-5xl font-semibold tracking-tight text-slate-950 dark:text-white",children:Zh(t,0)}),l.jsx(ze,{variant:"blue",children:r})]})]})})}function Ile(e){return e==="/decide_gateway"?"Decide Gateway":e==="/update_gateway"?"Update Gateway":e==="/rule_evaluate"?"Rule Evaluate":e}function Mle(){var Pt,Ye,Br,st,Ct,Tt,qn,Gt,fn,mr,Zr,ma,ga,pn,Kn,Da,Yd,Xd,Zd,Jd,Qd,fs,fo,ps;const{merchantId:e}=Nn(),t=ua(F=>{var re;return((re=F.user)==null?void 0:re.merchantId)||""}),r=e||t,[n,a]=S.useState("1h"),[i,s]=S.useState("transactions"),[o,u]=S.useState(TO),[c,f]=S.useState(!1),[d,p]=S.useState(1),[h,x]=S.useState(()=>Vf(Date.now()-2*60*60*1e3)),[v,g]=S.useState(()=>Vf(Date.now())),y=S.useMemo(()=>{if(n!=="custom")return;const F=RO(h),re=RO(v);if(!(F===null||re===null||re<=F))return{start_ms:F,end_ms:re}},[v,h,n]),m=n!=="custom"||y?Fy("/analytics/overview",n,y):null,w=n!=="custom"||y?Fy("/analytics/routing-stats",n,y):null,j=n!=="custom"||y?Fy("/analytics/routing-stats",n,y,o):null,b=n!=="custom"||y?["preview-trace-analytics",n,(y==null?void 0:y.start_ms)??null,(y==null?void 0:y.end_ms)??null]:null,_=n!=="custom"||y?Q0(n,d,Ly,y):null,k={revalidateOnFocus:!1,revalidateIfStale:!1},O={revalidateOnFocus:!1,revalidateIfStale:!1},E={...O,keepPreviousData:!0},T={revalidateOnFocus:!1,revalidateIfStale:!1,keepPreviousData:!0},$=Xt(m,nn,k),A=Xt(w,nn,O),R=Xt(j,nn,E),M=Xt(b,async F=>{const[,re,me,Le]=F;return Ple(re,me!==null&&Le!==null?{start_ms:Number(me),end_ms:Number(Le)}:void 0)},{revalidateOnFocus:!1,revalidateIfStale:!1}),L=Xt(_,nn,T),V=!$.data&&$.isLoading||!A.data&&A.isLoading||!R.data&&R.isLoading,H=!$.data&&$.isLoading||!M.data&&M.isLoading,I=((Pt=$.error)==null?void 0:Pt.message)||((Ye=A.error)==null?void 0:Ye.message)||((Br=R.error)==null?void 0:Br.message)||null,B=((st=$.error)==null?void 0:st.message)||((Ct=M.error)==null?void 0:Ct.message)||((Tt=L.error)==null?void 0:Tt.message)||null,W=i==="transactions"?V:H,G=i==="transactions"?I:B,K=!V&&($.isValidating||A.isValidating||R.isValidating),ee=!H&&($.isValidating||M.isValidating||L.isValidating),q=i==="transactions"?K:ee,le={dimensions:((Gt=(qn=A.data)==null?void 0:qn.available_filters)==null?void 0:Gt.dimensions)||((mr=(fn=R.data)==null?void 0:fn.available_filters)==null?void 0:mr.dimensions)||[],missing_dimensions:((ma=(Zr=A.data)==null?void 0:Zr.available_filters)==null?void 0:ma.missing_dimensions)||((pn=(ga=R.data)==null?void 0:ga.available_filters)==null?void 0:pn.missing_dimensions)||[],gateways:((Da=(Kn=A.data)==null?void 0:Kn.available_filters)==null?void 0:Da.gateways)||((Xd=(Yd=R.data)==null?void 0:Yd.available_filters)==null?void 0:Xd.gateways)||[]},ge=S.useMemo(()=>new Map(le.dimensions.map(F=>[F.key,F])),[le.dimensions]);S.useEffect(()=>{u(F=>{const re=Object.fromEntries(Object.entries(F.dimensions).filter(([Le,tt])=>{if(!tt)return!1;const Ke=ge.get(Le);return Ke?Ke.values.includes(tt):!1})),me=F.gateways.filter(Le=>le.gateways.includes(Le));return Object.keys(re).length===Object.keys(F.dimensions).length&&Object.entries(re).every(([Le,tt])=>F.dimensions[Le]===tt)&&me.length===F.gateways.length&&me.every((Le,tt)=>Le===F.gateways[tt])?F:{dimensions:re,gateways:me}})},[ge,le.gateways]),S.useEffect(()=>{le.dimensions.length<=Ru&&c&&f(!1)},[le.dimensions.length,c]),S.useEffect(()=>{p(1)},[n,y==null?void 0:y.start_ms,y==null?void 0:y.end_ms]);const $e=S.useMemo(()=>{var F;return n!=="custom"?((F=CO.find(re=>re.value===n))==null?void 0:F.label)||"Selected window":y?`${vs(y.start_ms)} to ${vs(y.end_ms)}`:"Custom window"},[y,n]),Pe=S.useMemo(()=>y||$O(n),[y,n]),J=S.useMemo(()=>{var re,me;const F=[{route:"/decide_gateway",count:0},{route:"/update_gateway",count:0},{route:"/rule_evaluate",count:0}];return(me=(re=$.data)==null?void 0:re.route_hits)!=null&&me.length?F.map(Le=>{var tt,Ke;return{...Le,count:((Ke=(tt=$.data)==null?void 0:tt.route_hits.find(it=>it.route===Le.route))==null?void 0:Ke.count)||0}}):F},[$.data]),ue=S.useMemo(()=>J.filter(F=>F.route!=="/rule_evaluate"),[J]),de=S.useMemo(()=>{var F;return((F=J.find(re=>re.route==="/rule_evaluate"))==null?void 0:F.count)||0},[J]),X=((Zd=M.data)==null?void 0:Zd.results)||[],we=((Jd=L.data)==null?void 0:Jd.results)||[],ye=S.useMemo(()=>{const F=new Map;for(const re of X){const me=re.latest_gateway||"No gateway selected";F.set(me,(F.get(me)||0)+1)}return Array.from(F.entries()).map(([re,me])=>({gateway:re,count:me})).sort((re,me)=>me.count-re.count).slice(0,6)},[X]),qe=S.useMemo(()=>{const F=new Map;for(const re of X){const me=re.latest_status||"unknown";F.set(me,(F.get(me)||0)+1)}return Array.from(F.entries()).map(([re,me])=>({status:re,count:me})).sort((re,me)=>me.count-re.count)},[X]),De=S.useMemo(()=>Tle(n,y),[y,n]),ke=S.useMemo(()=>F=>Cle(Number(F),Pe),[Pe]),Re=S.useMemo(()=>{const F=ye.map(me=>me.gateway).slice(0,6),re=new Map;for(const me of zy(Pe,De))re.set(me,F.reduce((Le,tt)=>(Le[tt]=0,Le),{bucket_ms:me}));for(const me of X){const Le=me.latest_gateway||"No gateway selected";if(!F.includes(Le))continue;const tt=eb(me.last_seen_ms,De),Ke=re.get(tt)||F.reduce((it,Ze)=>(it[Ze]=0,it),{bucket_ms:tt});Ke[Le]=(Ke[Le]||0)+1,re.set(tt,Ke)}return{gateways:F,rows:Array.from(re.values()).sort((me,Le)=>me.bucket_ms-Le.bucket_ms)}},[De,Pe,X,ye]),Ie=(Qd=X[0])==null?void 0:Qd.last_seen_ms,Oe=((fs=L.data)==null?void 0:fs.total_results)||0,Ge=Math.max(1,Math.ceil(Oe/Ly)),We=Oe?(d-1)*Ly+1:0,C=Oe?We+we.length-1:0,z=ye.filter(F=>F.gateway!=="No gateway selected").length,U=((fo=ye[0])==null?void 0:fo.count)||1,ae=S.useMemo(()=>{const F=ye.reduce((re,me)=>re+me.count,0);return ye.map((re,me)=>({name:re.gateway,value:re.count,percentage:F?re.count/F*100:0,color:re.gateway==="No gateway selected"?"#64748b":Cn[me%Cn.length]}))},[ye]),te=de>0&&!M.error&&!L.error&&X.length===0&&we.length===0;S.useEffect(()=>{if(!Oe&&d!==1){p(1);return}d>Ge&&p(Ge)},[d,Ge,Oe]);const Q=S.useMemo(()=>{var me,Le;const F=Array.from(new Set((((me=A.data)==null?void 0:me.gateway_share)||[]).map(tt=>tt.gateway))).slice(0,6);if(!F.length)return{gateways:F,rows:[]};const re=new Map;for(const tt of zy(Pe,De))re.set(tt,F.reduce((Ke,it)=>(Ke[it]=0,Ke),{bucket_ms:tt}));for(const tt of((Le=A.data)==null?void 0:Le.gateway_share)||[]){if(!F.includes(tt.gateway))continue;const Ke=re.get(tt.bucket_ms)||F.reduce((it,Ze)=>(it[Ze]=0,it),{bucket_ms:tt.bucket_ms});Ke[tt.gateway]=tt.count,re.set(tt.bucket_ms,Ke)}return{gateways:F,rows:Array.from(re.values()).sort((tt,Ke)=>tt.bucket_ms-Ke.bucket_ms)}},[De,Pe,A.data]),ne=S.useMemo(()=>{var Le,tt;const F=Array.from(new Set((((Le=R.data)==null?void 0:Le.sr_trend)||[]).map(Ke=>Ke.gateway))).slice(0,6);if(!F.length)return{gateways:F,rows:[]};const re=new Map;for(const Ke of zy(Pe,De))re.set(Ke,F.reduce((it,Ze)=>(it[Ze]=null,it),{bucket_ms:Ke}));for(const Ke of((tt=R.data)==null?void 0:tt.sr_trend)||[]){if(!F.includes(Ke.gateway))continue;const it=re.get(Ke.bucket_ms)||F.reduce((Ze,yi)=>(Ze[yi]=null,Ze),{bucket_ms:Ke.bucket_ms});it[Ke.gateway]=fR(Ke.score_value),re.set(Ke.bucket_ms,it)}const me=Array.from(re.values()).sort((Ke,it)=>Number(Ke.bucket_ms)-Number(it.bucket_ms));for(const Ke of F){let it=null,Ze=!1;for(const yi of me){if(typeof yi[Ke]=="number"){it=yi[Ke],Ze=!0;continue}Ze&&(yi[Ke]=it)}}return{gateways:F,rows:me}},[De,Pe,R.data]),_e=S.useMemo(()=>{if(!ne.rows.length)return[];const F=[...ne.rows].reverse().find(re=>ne.gateways.some(me=>typeof re[me]=="number"));return F?ne.gateways.map(re=>({gateway:re,value:typeof F[re]=="number"?F[re]:null})).filter(re=>re.value!==null):[]},[ne]),Ne=S.useMemo(()=>{const F=ne.rows.flatMap(tt=>ne.gateways.map(Ke=>tt[Ke]).filter(Ke=>typeof Ke=="number"));if(!F.length)return[0,100];const re=Math.min(...F),me=Math.max(...F),Le=re===me?5:Math.max(2,(me-re)*.35);return[Math.max(0,Math.floor(re-Le)),Math.min(100,Math.ceil(me+Le))]},[ne]),dt=S.useMemo(()=>{const F=le.dimensions.flatMap(re=>{const me=o.dimensions[re.key];return me?[`${re.label}: ${me}`]:[]});return o.gateways.length&&F.push(o.gateways.join(", ")),F.length?F.join(" / "):"All routing dimensions"},[le.dimensions,o]),mt=S.useMemo(()=>c||le.dimensions.length<=Ru?le.dimensions:le.dimensions.slice(0,Ru),[le.dimensions,c]),Lt=le.dimensions.length>Ru,zr=Lt?le.dimensions.length-Ru:0,Pr=S.useMemo(()=>{const F=le.dimensions.flatMap(me=>{const Le=o.dimensions[me.key];return Le?[{key:`dimension:${me.key}`,label:`${me.label}: ${Le}`}]:[]}),re=o.gateways.map(me=>({key:`gateway:${me}`,label:`Connector: ${me}`}));return[...F,...re]},[le.dimensions,o]);function Cr(F){if(a(F),F!=="custom"){const re=$O(F);x(Vf(re.start_ms)),g(Vf(re.end_ms))}}function Y(){$.mutate(),A.mutate(),R.mutate(),M.mutate(),L.mutate()}function Me(F){u(re=>{const me=re.gateways.includes(F);return{...re,gateways:me?re.gateways.filter(Le=>Le!==F):[...re.gateways,F]}})}function ft(){u(TO)}function Zt(F){if(F.startsWith("dimension:")){pt(F.replace("dimension:",""),"");return}F.startsWith("gateway:")&&Me(F.replace("gateway:",""))}function pt(F,re){u(me=>{const Le={...me.dimensions};return re?Le[F]=re:delete Le[F],{...me,dimensions:Le}})}return l.jsxs("div",{className:"space-y-8 px-5 sm:px-6 lg:px-8 xl:px-10",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900 dark:text-white",children:"Analytics"}),l.jsx(ze,{variant:"green",children:((ps=$.data)==null?void 0:ps.merchant_id)||r||"Signed-in merchant"})]}),l.jsx("p",{className:"text-sm text-slate-500 dark:text-[#8a8a93]",children:i==="transactions"?"One working surface for route volume, connector share, and historical connector success rate.":"Preview-only activity for rule-based routing, separate from transaction decisions and score updates."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2 md:justify-end",children:[l.jsx(Ae,{size:"sm",variant:"ghost",onClick:Y,children:"Refresh"}),l.jsx("div",{className:"flex flex-wrap items-center gap-2 rounded-full border border-slate-200 bg-white/70 p-1 dark:border-[#2a303a] dark:bg-[#11151d]",children:CO.map(F=>l.jsx(Ae,{size:"sm",variant:"secondary",className:By(n===F.value),onClick:()=>Cr(F.value),children:F.value==="custom"?"Custom":F.value},F.value))})]})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",className:By(i==="transactions"),onClick:()=>s("transactions"),children:"Transactions"}),l.jsx(Ae,{size:"sm",variant:"secondary",className:By(i==="rule_based"),onClick:()=>s("rule_based"),children:"Rule-Based"})]}),n==="custom"?l.jsxs(Se,{className:"overflow-visible p-4",children:[l.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[l.jsxs("label",{className:"space-y-2",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Start time"}),l.jsx(Xh,{className:"w-full",value:h,onChange:x})]}),l.jsxs("label",{className:"space-y-2",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"End time"}),l.jsx(Xh,{className:"w-full",value:v,onChange:g})]})]}),y?null:l.jsx("p",{className:"mt-3 text-xs text-red-500",children:"Choose an end time after the start time."})]}):null,l.jsx(Nr,{error:G}),W?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading analytics…"]}):null,q?l.jsx($le,{label:i==="transactions"?`Refreshing transaction analytics for ${$e.toLowerCase()}`:`Refreshing rule-based analytics for ${$e.toLowerCase()}`}):null,l.jsxs("div",{className:"relative",children:[q?l.jsx("div",{className:"pointer-events-none absolute inset-0 z-20 rounded-[28px] bg-white/45 backdrop-blur-[1px] dark:bg-[#050507]/45"}):null,i==="transactions"?l.jsxs("div",{className:q?"transition-opacity duration-200 opacity-60 space-y-6":"transition-opacity duration-200 opacity-100 space-y-6",children:[l.jsxs("section",{className:"space-y-5",children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-lg font-semibold text-slate-900 dark:text-white",children:"API calls"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#8a8a93]",children:"Counts for the decision and feedback surfaces tied to real transaction flow."})]}),l.jsx(wo,{content:bo.hits})]}),l.jsx("div",{className:"grid gap-5 lg:grid-cols-2",children:ue.map(F=>l.jsx(Uy,{label:Ile(F.route),value:F.count,subtitle:n==="custom"?"Custom window":$e},F.route))})]}),l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Gateway share over time"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"How decision volume moved across connectors inside the selected merchant window."})]}),l.jsx(wo,{content:bo.share})]})}),l.jsx(Be,{children:Q.rows.length?l.jsx("div",{className:"h-80",children:l.jsx(Ii,{width:"100%",height:"100%",children:l.jsxs(xoe,{data:Q.rows,children:[l.jsx(fp,{strokeDasharray:"3 3",stroke:"#e2e8f0"}),l.jsx(Pa,{dataKey:"bucket_ms",tickFormatter:ke,tick:{fontSize:11}}),l.jsx(Ca,{tick:{fontSize:11}}),l.jsx(Or,{labelFormatter:F=>vs(Number(F)),contentStyle:Lf,labelStyle:Ff,itemStyle:zf,wrapperStyle:Bf}),l.jsx(ia,{}),Q.gateways.map((F,re)=>l.jsx(ds,{type:"monotone",dataKey:F,stackId:"1",stroke:Cn[re%Cn.length],fill:Cn[re%Cn.length],fillOpacity:.24,name:F},F))]})})}):l.jsx(bi,{title:"No gateway share history yet",body:"Send real decide-gateway traffic in the selected window to populate connector share."})})]}),l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Connector success rate over time"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Historical connector score trend for the selected merchant window."}),l.jsxs("p",{className:"mt-2 text-xs font-medium text-slate-600 dark:text-[#b3b3bd]",children:["Active filters: ",dt]})]}),l.jsx(wo,{content:bo.sr})]})}),l.jsxs(Be,{className:"space-y-4",children:[l.jsxs("div",{className:"rounded-[24px] border border-slate-200 bg-white p-4 dark:border-[#1d1d23] dark:bg-[#0c0c0e]",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Connector filters"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Narrow the success-rate line chart by the routing dimensions present for this merchant."})]}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:ft,disabled:!Object.values(o.dimensions).some(Boolean)&&!o.gateways.length,children:"Clear filters"})]}),le.dimensions.length?l.jsxs("div",{className:"mt-4 space-y-3",children:[l.jsx("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-3",children:mt.map(F=>l.jsxs("label",{className:"space-y-2",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:F.label}),l.jsxs("select",{value:o.dimensions[F.key]||"",onChange:re=>pt(F.key,re.target.value),className:Rle(),disabled:!F.values.length,children:[l.jsxs("option",{value:"",children:["All ",F.label.toLowerCase()]}),F.values.map(re=>l.jsx("option",{value:re,children:re},re))]})]},F.key))}),Lt?l.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-2xl border border-slate-200 bg-white px-4 py-3 dark:border-[#1d1d23] dark:bg-[#09090b]",children:[l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:c?"Showing all routing dimensions available for this merchant.":`${zr} more routing dimension${zr===1?"":"s"} available for this merchant.`}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>f(F=>!F),children:c?"Show fewer filters":"More filters"})]}):null]}):le.missing_dimensions.length?l.jsx(bi,{title:"No populated routing dimensions in this window",body:"The merchant has score history, but none of the dynamic routing dimensions have values recorded in the selected time window yet."}):null,le.missing_dimensions.length?l.jsxs("div",{className:"mt-4 rounded-2xl border border-dashed border-slate-200 bg-white px-4 py-3 dark:border-[#1d1d23] dark:bg-[#09090b]",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"No values in this window yet"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:le.missing_dimensions.map(F=>F.label).join(", ")})]}):null,Pr.length?l.jsxs("div",{className:"mt-4 space-y-2",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Active filters"}),l.jsx("div",{className:"flex flex-wrap gap-2",children:Pr.map(F=>l.jsxs("button",{type:"button",onClick:()=>Zt(F.key),className:"inline-flex items-center gap-2 rounded-full border border-brand-500/30 bg-brand-500/10 px-3 py-1.5 text-xs font-semibold text-brand-700 transition hover:bg-brand-500/15 dark:text-brand-200",children:[l.jsx("span",{children:F.label}),l.jsx("span",{"aria-hidden":"true",children:"×"})]},F.key))})]}):null,l.jsxs("div",{className:"mt-4 space-y-2",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Connectors"}),l.jsx("div",{className:"flex flex-wrap gap-2",children:le.gateways.length?le.gateways.map(F=>{const re=o.gateways.includes(F);return l.jsx("button",{type:"button",onClick:()=>Me(F),className:`rounded-full border px-3 py-1.5 text-xs font-semibold transition ${re?"border-brand-500/50 bg-brand-500/10 text-brand-700 dark:text-brand-200":"border-slate-200 bg-white text-slate-600 hover:border-slate-300 hover:text-slate-900 dark:border-[#27272a] dark:bg-[#121214] dark:text-[#a1a1aa] dark:hover:text-white"}`,children:F},F)}):l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:"No connector history yet for the selected window."})})]})]}),_e.length?l.jsx("div",{className:"flex flex-wrap gap-2",children:_e.map(F=>l.jsxs(ze,{variant:"blue",children:[F.gateway,": ",Uf(F.value)]},F.gateway))}):null,ne.rows.length?l.jsx("div",{className:"h-80",children:l.jsx(Ii,{width:"100%",height:"100%",children:l.jsxs(voe,{data:ne.rows,children:[l.jsx(fp,{strokeDasharray:"3 3",stroke:"#e2e8f0"}),l.jsx(Pa,{dataKey:"bucket_ms",tickFormatter:ke,tick:{fontSize:11}}),l.jsx(Ca,{domain:Ne,tick:{fontSize:11},tickFormatter:F=>`${Zh(Number(F),0)}%`}),l.jsx(Or,{labelFormatter:F=>vs(Number(F)),formatter:(F,re)=>[Uf(F),String(re)],contentStyle:Lf,labelStyle:Ff,itemStyle:zf,wrapperStyle:Bf}),l.jsx(ia,{}),ne.gateways.map((F,re)=>l.jsx(Vd,{type:"monotone",dataKey:F,stroke:Cn[re%Cn.length],strokeWidth:3,dot:!1,activeDot:{r:5},connectNulls:!0,name:F},F))]})})}):l.jsx(bi,{title:"No connector score history yet",body:"Send decide-gateway and update-gateway-score traffic in the selected window to populate connector history."})]})]})]}):l.jsxs("div",{className:q?"transition-opacity duration-200 opacity-60 space-y-6":"transition-opacity duration-200 opacity-100 space-y-6",children:[l.jsxs("section",{className:"space-y-5",children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-lg font-semibold text-slate-900 dark:text-white",children:"Rule-based activity"}),l.jsxs("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#8a8a93]",children:["Preview-only routing activity from ",l.jsx("code",{children:"/routing/evaluate"}),", kept separate from transaction routing and gateway scoring."]})]}),l.jsx(wo,{content:bo.preview_hits})]}),l.jsxs("div",{className:"grid gap-5 lg:grid-cols-2",children:[l.jsx(Uy,{label:"Rule Evaluate",value:de,subtitle:n==="custom"?"Custom window":$e}),l.jsx(Uy,{label:"Gateways touched",value:z,subtitle:"Across recent preview selections",eyebrow:"Preview coverage"})]})]}),l.jsxs("div",{className:"grid gap-5 xl:grid-cols-2",children:[l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Connector selections over time"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Time-bucketed connector counts from the fetched rule-preview sample."})]}),l.jsx(wo,{content:bo.preview_activity})]})}),l.jsx(Be,{children:Re.gateways.length?l.jsx("div",{className:"h-80",children:l.jsx(Ii,{width:"100%",height:"100%",children:l.jsxs(Z0,{data:Re.rows,barGap:6,children:[l.jsx(fp,{strokeDasharray:"3 3",stroke:"#e2e8f0"}),l.jsx(Pa,{dataKey:"bucket_ms",tickFormatter:ke,tick:{fontSize:11}}),l.jsx(Ca,{tick:{fontSize:11}}),l.jsx(Or,{labelFormatter:F=>vs(Number(F)),contentStyle:Lf,labelStyle:Ff,itemStyle:zf,wrapperStyle:Bf}),l.jsx(ia,{}),Re.gateways.map((F,re)=>l.jsx(li,{dataKey:F,stackId:"preview-connectors",fill:F==="No gateway selected"?"#64748b":Cn[re%Cn.length],radius:[6,6,0,0],name:F},F))]})})}):te?l.jsx(Iu,{title:"Processing recent rule previews",body:"Rule evaluate calls have landed, but the preview sample has not been materialized yet. This panel is auto-refreshing and will fill in once analytics catches up."}):l.jsx(bi,{title:"No connector selections yet",body:"Send /routing/evaluate preview traffic in the selected window to populate connector time-series."})})]}),l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Gateway selection mix"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Connector share across the fetched rule-preview sample."})]}),l.jsx(wo,{content:bo.preview_share})]})}),l.jsx(Be,{children:ae.length?l.jsxs("div",{className:"grid gap-4 lg:grid-cols-[minmax(0,1fr)_240px]",children:[l.jsxs("div",{className:"relative h-80",children:[l.jsx(Ii,{width:"100%",height:"100%",children:l.jsxs(_1,{children:[l.jsx(Or,{formatter:(F,re,me)=>{var Le;return[`${Zh(F,0)} previews`,`${String(re)} (${Uf(((Le=me.payload)==null?void 0:Le.percentage)||0)})`]},contentStyle:Lf,labelStyle:Ff,itemStyle:zf,wrapperStyle:Bf}),l.jsx(ia,{}),l.jsx(ha,{data:ae,dataKey:"value",nameKey:"name",innerRadius:72,outerRadius:108,paddingAngle:3,children:ae.map(F=>l.jsx(qi,{fill:F.color},F.name))})]})}),l.jsxs("div",{className:"pointer-events-none absolute inset-0 flex flex-col items-center justify-center text-center",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Sample size"}),l.jsx("p",{className:"mt-2 text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:X.length}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"preview groups"})]})]}),l.jsx("div",{className:"space-y-3",children:ae.map(F=>l.jsxs("div",{className:"rounded-[20px] border border-slate-200 bg-white/80 px-4 py-3 dark:border-[#1d1d23] dark:bg-[#0c0c0e]",children:[l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:F.color}}),l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:F.name})]}),l.jsx("p",{className:"text-xs font-semibold text-slate-500 dark:text-[#8a8a93]",children:F.value})]}),l.jsxs("p",{className:"mt-2 text-xs text-slate-500 dark:text-[#8a8a93]",children:[Uf(F.percentage)," of fetched previews"]})]},F.name))})]}):te?l.jsx(Iu,{title:"Building preview connector mix",body:"Recent rule-preview activity is still being folded into the fetched sample. This card will update automatically once the preview rows appear."}):l.jsx(bi,{title:"No preview connector mix yet",body:"Rule previews need to return gateway selections before the mix chart can render."})})]})]}),l.jsxs("div",{className:"grid gap-5 xl:grid-cols-[minmax(0,1.2fr)_minmax(320px,0.8fr)]",children:[l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Recent rule previews"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:["Preview-only evaluations captured from ",l.jsx("code",{children:"/routing/evaluate"}),". This does not affect transaction scoring."]})]}),l.jsx(ze,{variant:"purple",children:Ie?`Latest ${vs(Ie)}`:"No activity"})]})}),l.jsx(Be,{children:!L.data&&L.isLoading?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading rule previews…"]}):L.error&&!L.data?l.jsx(Nr,{error:L.error.message}):we.length?l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:["Showing ",We,"-",C," of ",Oe]}),L.isLoading?l.jsxs("div",{className:"flex items-center gap-2 text-xs text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:14}),"Loading page…"]}):null]}),l.jsx("div",{className:"space-y-3",children:we.map(F=>l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-white/90 px-4 py-4 dark:border-[#1d1d23] dark:bg-[#0c0c0e]",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:F.payment_id||F.request_id||F.lookup_key}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:[F.merchant_id||"unknown merchant"," · ",vs(F.last_seen_ms)]})]}),l.jsx(ze,{variant:"purple",children:F.latest_status||"preview"})]}),l.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[l.jsx(ze,{variant:"blue",children:"Rule Evaluate"}),F.latest_gateway?l.jsx(ze,{variant:"green",children:F.latest_gateway}):null,l.jsxs(ze,{variant:"gray",children:[F.event_count," events"]})]})]},F.lookup_key))}),Ge>1?l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 border-t border-slate-200 pt-4 dark:border-[#1d1d23]",children:[l.jsxs("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:["Page ",d," of ",Ge]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>p(F=>Math.max(1,F-1)),disabled:d===1||L.isLoading,children:"Previous"}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>p(F=>Math.min(Ge,F+1)),disabled:d>=Ge||L.isLoading,children:"Next"})]})]}):null]}):te?l.jsx(Iu,{title:"Waiting for preview rows",body:"Recent /routing/evaluate calls were recorded, but the detailed rule-preview rows are still being flushed. This list is polling every few seconds."}):l.jsx(bi,{title:"No rule-based activity yet",body:"Send /routing/evaluate preview traffic in the selected window to populate rule-based activity."})})]}),l.jsxs("div",{className:"space-y-5",children:[l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Gateway activity"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Recent preview selections grouped by latest chosen gateway."})]})}),l.jsx(Be,{children:ye.length?l.jsx("div",{className:"space-y-3",children:ye.map((F,re)=>l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:F.gateway}),l.jsx("p",{className:"text-xs font-semibold text-slate-500 dark:text-[#8a8a93]",children:F.count})]}),l.jsx("div",{className:"h-2 overflow-hidden rounded-full bg-slate-100 dark:bg-[#141822]",children:l.jsx("div",{className:"h-full rounded-full",style:{width:`${F.count/U*100}%`,backgroundColor:Cn[re%Cn.length]}})})]},F.gateway))}):te?l.jsx(Iu,{title:"Waiting for gateway activity",body:"The preview sample is still being assembled from recent rule-evaluate calls. Gateway activity will appear here automatically once the rows are available."}):l.jsx(bi,{title:"No gateway activity yet",body:"Once rule previews are captured, this panel will show which connectors are being selected."})})]}),l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Recent preview outcomes"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Status mix from the loaded preview sample."})]})}),l.jsx(Be,{children:qe.length?l.jsx("div",{className:"flex flex-wrap gap-2",children:qe.map(F=>l.jsxs(ze,{variant:F.status.toLowerCase().includes("fail")?"red":F.status==="default_selection"?"orange":"purple",children:[F.status," · ",F.count]},F.status))}):te?l.jsx(Iu,{title:"Waiting for preview outcomes",body:"Recent preview traffic is still being ingested. Outcome summaries will appear here automatically once the preview rows land."}):l.jsx(bi,{title:"No preview outcomes yet",body:"Recent rule preview results will appear here once preview traffic is recorded."})})]})]})]})]})]})]})}const Dle={SR_SELECTION_V3_ROUTING:"bg-blue-100 text-blue-800",PRIORITY_LOGIC:"bg-purple-100 text-purple-800",NTW_BASED_ROUTING:"bg-green-100 text-green-800",SR_SELECTION_V3_ROUTING_WITH_HEDGING:"bg-orange-100 text-orange-800",HEDGING:"bg-orange-100 text-orange-800"},Lle=["card","card_redirect","pay_later","wallet","bank_redirect","bank_transfer","crypto","bank_debit","reward","real_time_payment","upi","voucher","gift_card","open_banking","mobile_payment"],Fle={card:["credit","debit"],bank_debit:["ach","sepa","bacs","becs"],bank_transfer:["ach","sepa","sepa_bank_transfer","bacs","multibanco","pix","pse","permata_bank_transfer","bca_bank_transfer","bni_va","bri_va","cimb_va","danamon_va","mandiri_va","local_bank_transfer","instant_bank_transfer"],wallet:["amazon_pay","apple_pay","google_pay","paypal","ali_pay","ali_pay_hk","dana","mb_way","mobile_pay","samsung_pay","twint","vipps","touch_n_go","swish","we_chat_pay","go_pay","gcash","momo","kakao_pay","cashapp","mifinity","paze"],pay_later:["affirm","alma","afterpay_clearpay","klarna","pay_bright","atome","walley"],upi:["upi_collect","upi_intent"],voucher:["boleto","efecty","pago_efectivo","red_compra","red_pagos","indomaret","alfamart","oxxo","seven_eleven","lawson","mini_stop","family_mart","seicomart","pay_easy"],bank_redirect:["giropay","ideal","sofort","eft","eps","bancontact_card","blik","local_bank_redirect","online_banking_thailand","online_banking_czech_republic","online_banking_finland","online_banking_fpx","online_banking_poland","online_banking_slovakia","przelewy24","trustly","bizum","interac","open_banking_uk","open_banking_pis"],gift_card:["givex","pay_safe_card"],card_redirect:["knet","benefit","momo_atm","card_redirect"],real_time_payment:["fps","duit_now","prompt_pay","viet_qr"],crypto:["crypto_currency"],reward:["evoucher","classic_reward"],open_banking:["open_banking_pis"],mobile_payment:["direct_carrier_billing"]};function zle(e){var n;if(!e)return[];const t=a=>{if(!a||typeof a!="object")return{};const i=a.keys;return i&&typeof i=="object"?i:a},r={...t(e.keys),...t((n=e.routing_config)==null?void 0:n.keys)};return Object.keys(r).length===0?[]:Object.entries(r).map(([a,i])=>{const s=(i.type||i.data_type||"str_value").toString().toLowerCase(),o={key:a,type:s};return i.values&&(o.values=Array.isArray(i.values)?i.values.map(u=>u.trim()):i.values.split(",").map(u=>u.trim())),i.min_value!==void 0&&(o.min_value=i.min_value),i.max_value!==void 0&&(o.max_value=i.max_value),i.min_length!==void 0&&(o.min_length=i.min_length),i.max_length!==void 0&&(o.max_length=i.max_length),i.exact_length!==void 0&&(o.exact_length=i.exact_length),i.regex&&(o.regex=i.regex),o})}function pR(){const{data:e,error:t,isLoading:r}=Xt("/config/routing-keys",nn,{refreshInterval:0,revalidateOnFocus:!1}),n=S.useMemo(()=>zle(e||null),[e]),a=S.useMemo(()=>n.reduce((s,o)=>(s[o.key]=o,s),{}),[n]),i=S.useMemo(()=>{const s={};return n.forEach(o=>{s[o.key]={type:o.type,values:o.values||[]}}),s},[n]);return{config:e,keys:n,keysByName:a,routingKeysConfig:i,isLoading:r,error:t,getKeyValues:s=>{var o;return((o=a[s])==null?void 0:o.values)||[]},isIntegerKey:s=>{var o;return((o=a[s])==null?void 0:o.type)==="integer"},isEnumKey:s=>{var o;return((o=a[s])==null?void 0:o.type)==="enum"}}}function hR(e){const t=e?`/merchant-account/${e}/debit-routing`:null,{data:r,error:n,isLoading:a,mutate:i}=Xt(t,nn);async function s(o){if(!e||!t)throw new Error("Set a merchant ID first");const u=await zt(t,{enabled:o});return await i(u,!1),u}return{data:r,error:n,isLoading:a,isEnabled:!!(r!=null&&r.debit_routing_enabled),mutate:i,setDebitRoutingEnabled:s}}const mR=["SrBasedRouting","PlBasedRouting","NtwBasedRouting","NtwSrHybridRouting"],Ble={SrBasedRouting:"Success Rate Based",PlBasedRouting:"Priority List Based",NtwBasedRouting:"Network Based",NtwSrHybridRouting:"Network + SR Hybrid"};function Ule(e){for(const[t,r]of Object.entries(Dle))if(e.includes(t)||t.includes(e))return r;return"bg-white/5 text-slate-600 ring-1 ring-inset ring-white/8"}const Jr=["#0069ED","#10b981","#f59e0b","#ef4444","#8b5cf6","#ec4899","#06b6d4","#84cc16"],gR="decision-explorer-state-v2",yR={amount:"1000",currency:"",payment_method_type:"",payment_method:"",card_brand:"",auth_type:"",eligible_gateways:"stripe, adyen",ranking_algorithm:"SrBasedRouting",elimination_enabled:!1},Vle={amount:"1000",currency:"USD",auth_type:"THREE_DS",eligible_gateways:"stripe, adyen",merchant_category_code:"merchant_category_code_0001",acquirer_country:"US",co_badged_networks:"VISA, NYCE, PULSE, STAR",issuer_country:"US",is_regulated:!1,regulated_name:"",card_type:"Debit"},Wle={totalPayments:"10",successCount:"7",failureCount:"3"},Hle=[{key:"payment_method_type",type:"enum_variant",value:"",metadataKey:""},{key:"currency",type:"enum_variant",value:"",metadataKey:""}],Gle=[{gateway_name:"stripe",gateway_id:"gateway_001"},{gateway_name:"adyen",gateway_id:"gateway_002"}];function vR(e){return e.map(t=>({...t}))}function xR(e){return e.map(t=>({...t}))}function qle(e){return e==="SR_BASED_ROUTING"?"SrBasedRouting":e==="PL_BASED_ROUTING"?"PlBasedRouting":e==="NTW_BASED_ROUTING"?"NtwBasedRouting":e==="NTW_SR_HYBRID_ROUTING"?"NtwSrHybridRouting":mR.includes(e)?e:yR.ranking_algorithm}function Gu(){return{activeTab:"batch",form:{...yR},simulationConfig:{...Wle},debitForm:{...Vle},ruleParams:vR(Hle),fallbackConnectors:xR(Gle),volumePayments:"100",result:null,debitResult:null,debitPaymentId:null,singleRunPaymentId:null,singleRunOutcome:"CHARGED",ruleResult:null,volumeDistribution:[],volumeEvaluationLog:[],volumeProgress:0,simulationResults:[],responseOpen:!1,debitResponseOpen:!1,volumeResponseOpen:!1}}function Kle(){var e,t,r;if(typeof window>"u")return Gu();try{const n=window.localStorage.getItem(gR);if(!n)return Gu();const a=JSON.parse(n),i=Gu();return{...i,...a,activeTab:a.activeTab&&a.activeTab!=="single"?a.activeTab:i.activeTab,form:{...i.form,...a.form||{},ranking_algorithm:qle((e=a.form)==null?void 0:e.ranking_algorithm)},simulationConfig:{...i.simulationConfig,...a.simulationConfig||{}},debitForm:{...i.debitForm,...a.debitForm||{}},ruleParams:(t=a.ruleParams)!=null&&t.length?vR(a.ruleParams):i.ruleParams,fallbackConnectors:(r=a.fallbackConnectors)!=null&&r.length?xR(a.fallbackConnectors):i.fallbackConnectors,volumeDistribution:a.volumeDistribution||i.volumeDistribution,volumeEvaluationLog:a.volumeEvaluationLog||i.volumeEvaluationLog,simulationResults:a.simulationResults||i.simulationResults}}catch{return Gu()}}function pp(e=[]){return e.map(t=>t.trim()).filter(Boolean).map(t=>t.toUpperCase())}function Vy(e=[]){return Array.from(new Set(pp(e)))}function Yle(e){var t,r,n,a,i;return((r=(t=e.evaluated_output)==null?void 0:t[0])==null?void 0:r.gateway_name)||((n=e.output.connector)==null?void 0:n.gateway_name)||((i=(a=e.output.connectors)==null?void 0:a[0])==null?void 0:i.gateway_name)||null}function Wy(e){return e==="enum"?"enum_variant":e==="integer"?"number":e==="udf"||e==="global_ref"?"metadata_variant":"str_value"}function bR(e){const t=new URLSearchParams;return Object.entries(e).forEach(([r,n])=>{n!==void 0&&n!==""&&t.set(r,String(n))}),t.toString()}function qu(e){return new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(e))}function Tn(e){return e?e.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().toLowerCase().replace(/\b\w/g,r=>r.toUpperCase()):""}function Ku(e){return e?e==="decision_gateway"||e==="decide_gateway"?"Decide Gateway":e==="update_gateway_score"?"Update Gateway":e==="routing_evaluate"?"Rule Evaluate":Tn(e):"Unknown route"}function IO(e){return e?e==="decide_gateway_decision"?"Decide Gateway":e==="update_gateway_score_update"||e==="update_gateway_score_score_snapshot"||e==="update_score_legacy_score_snapshot"?"Update Gateway":e==="decide_gateway_rule_hit"?"Rule Evaluate":e.startsWith("routing_evaluate_")&&e!=="routing_evaluate_request_hit"?"Preview Result":e.endsWith("_error")?"Errors":Tn(e):"Unknown event"}function k1(e){return e.flow_type||""}function Yu(e){const t=k1(e);return e.event_stage==="gateway_decided"?"Decide Gateway":e.event_stage==="score_updated"?"Update Gateway":e.event_stage==="rule_applied"?"Rule Evaluate":e.event_stage==="preview_evaluated"||t.startsWith("routing_evaluate_")&&t!=="routing_evaluate_request_hit"?"Preview Result":t.endsWith("_error")?"Errors":Tn(e.event_stage||t)}function tb(e){const t=k1(e);return t.startsWith("decide_gateway_")&&t!=="decide_gateway_rule_hit"||e.event_stage==="gateway_decided"?"Decide Gateway":t==="decide_gateway_rule_hit"||e.event_stage==="rule_applied"?"Rule Evaluate":t.startsWith("update_gateway_score_")||t.startsWith("update_score_legacy_")||e.event_stage==="score_updated"?"Update Gateway":t.startsWith("routing_evaluate_")&&t!=="routing_evaluate_request_hit"||e.event_stage==="preview_evaluated"?"Preview":"Errors"}function Wf(e){const t=k1(e),r=(e.status||"").toUpperCase();return t.endsWith("_error")||r==="FAILURE"||r.includes("FAILED")||r.includes("DECLINED")?"red":t==="decide_gateway_rule_hit"?"purple":r==="CHARGED"||r==="AUTHORIZED"||r==="SUCCESS"?"green":t.startsWith("routing_evaluate_")&&t!=="routing_evaluate_request_hit"?"purple":t.startsWith("update_gateway_score_")||t.startsWith("update_score_legacy_")?"green":t.startsWith("decide_gateway_")?"blue":"orange"}function MO(e){const t=(e||"").toUpperCase();return t==="FAILURE"||t.includes("FAILED")||t.includes("DECLINED")?"red":t==="SUCCESS"||t==="CHARGED"||t==="AUTHORIZED"?"green":"gray"}function DO(e){return e==="Decide Gateway"?"blue":e==="Rule Evaluate"||e==="Preview"?"purple":e==="Update Gateway"?"green":e==="Errors"?"red":"gray"}function Mu(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Hy(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""))}function wR(e){return typeof e=="string"?e:JSON.stringify(e,null,2)}function Xle(e){return`/analytics/payment-audit?${bR({range:"1d",page:1,page_size:25,payment_id:e})}`}function Zle(e){return`/analytics/preview-trace?${bR({range:"1d",page:1,page_size:25,payment_id:e})}`}function LO(e){if(!e)return null;const t=Mu(e.details_json)?e.details_json:{},r=t.response??t.response_payload??t.result??t.output??null,n=t.request??t.request_payload??t.input??t.payload??Hy({payment_id:e.payment_id,request_id:e.request_id,payment_method_type:e.payment_method_type,payment_method:e.payment_method,gateway:e.gateway}),a=r??Hy({flow_type:e.flow_type,status:e.status,error_code:e.error_code,error_message:e.error_message,score_value:e.score_value,sigma_factor:e.sigma_factor,average_latency:e.average_latency,tp99_latency:e.tp99_latency,transaction_count:e.transaction_count,rule_name:e.rule_name,routing_approach:e.routing_approach}),i=Mu(r)?r:null,s=Mu(i==null?void 0:i.decided_gateway)?i.decided_gateway:null,o=t.score_context??(s?s.gateway_priority_map:null)??(i?i.gateway_priority_map:null)??null,u=t.selection_reason??null,c=[{label:"Phase",value:tb(e)},{label:"Stage",value:Yu(e)},{label:"Route",value:Ku(e.route)},{label:"Timestamp",value:qu(e.created_at_ms)},...e.merchant_id?[{label:"Merchant",value:e.merchant_id}]:[],...e.payment_id?[{label:"Payment ID",value:e.payment_id}]:[],...e.request_id?[{label:"Request ID",value:e.request_id}]:[],...e.gateway?[{label:"Gateway",value:e.gateway}]:[],...e.status?[{label:"Status",value:Tn(e.status)}]:[]],f=Hy(Object.fromEntries(Object.entries(t).filter(([d])=>!["request","request_payload","input","payload","response","response_payload","result","output","score_context","selection_reason"].includes(d))));return{summaryRows:c,requestPayload:Mu(n)&&!Object.keys(n).length?null:n,responsePayload:Mu(a)&&!Object.keys(a).length?null:a,scoreContext:o,selectionReason:u,signalRecord:Object.keys(f).length?f:null,rawEvent:{...e,details_json:e.details_json}}}function _o(e){return e?"!border-slate-200 !bg-white !text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.28)] dark:!border-[#2a303a] dark:!bg-[#161b24] dark:!text-white":"!border-transparent !bg-slate-100 !text-slate-600 hover:!bg-slate-200 hover:!text-slate-900 dark:!bg-[#161b24] dark:!text-[#a7b2c6] dark:hover:!bg-[#1c2330] dark:hover:!text-white"}function Xu({title:e,body:t}){return l.jsxs("div",{className:"rounded-[22px] border border-dashed border-slate-200 bg-slate-50/80 px-6 py-12 text-center dark:border-[#2a303a] dark:bg-[#161b24]/80",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:t})]})}function FO({title:e,body:t}){return l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-slate-50/80 px-6 py-10 text-center dark:border-[#2a303a] dark:bg-[#161b24]/80",children:[l.jsx("div",{className:"flex justify-center",children:l.jsx(Ft,{size:18})}),l.jsx("p",{className:"mt-4 text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:t}),l.jsx("div",{className:"mt-5 h-2 overflow-hidden rounded-full bg-slate-200 dark:bg-[#202734]",children:l.jsx("div",{className:"h-full w-1/3 animate-pulse rounded-full bg-brand-500"})}),l.jsx("p",{className:"mt-3 text-[11px] uppercase tracking-[0.16em] text-slate-400 dark:text-[#8390a7]",children:"Polling every second"})]})}function zO({rows:e}){return e.length?l.jsx("div",{className:"grid gap-3 md:grid-cols-2",children:e.map(t=>l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-white/80 px-4 py-3 shadow-[0_14px_30px_-28px_rgba(15,23,42,0.18)] dark:border-[#2a303a] dark:bg-[#161b24] dark:shadow-none",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8390a7]",children:t.label}),l.jsx("p",{className:"mt-2 break-words text-sm text-slate-900 dark:text-white",children:t.value})]},`${t.label}-${t.value}`))}):null}function Fa({title:e,value:t,emptyMessage:r}){return l.jsxs("div",{className:"space-y-3",children:[l.jsx("div",{children:l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e})}),t?l.jsx("pre",{className:"overflow-x-auto rounded-[22px] border border-slate-200 bg-slate-950/95 px-4 py-4 text-xs leading-6 text-slate-200 shadow-[0_16px_30px_-28px_rgba(15,23,42,0.4)] dark:border-[#2a303a] dark:bg-[#0b1017] dark:text-[#d8e1ef] dark:shadow-none",children:wR(t)}):l.jsx(Xu,{title:`No ${e.toLowerCase()} captured`,body:r})]})}function Jle(){var V1,W1,H1,G1,q1,K1,Y1,X1,Z1,J1,Q1;const{merchantId:e}=Nn(),t=ua(N=>{var D;return((D=N.user)==null?void 0:D.merchantId)||""}),r=e||t,n=hR(r),{routingKeysConfig:a,isLoading:i,error:s}=pR(),o=Object.keys(a).length>0,u=!i&&(!o||!!s),c=S.useMemo(()=>Kle(),[]),[f,d]=S.useState(c.activeTab),[p,h]=S.useState(c.form),[x,v]=S.useState(c.simulationConfig),[g,y]=S.useState(c.debitForm),[m,w]=S.useState(c.ruleParams),[j,b]=S.useState(c.fallbackConnectors),[_,k]=S.useState(c.volumePayments),[O,E]=S.useState(c.result),[T,$]=S.useState(c.debitResult),[A,R]=S.useState(c.debitPaymentId),[M,L]=S.useState(c.singleRunPaymentId),[V,H]=S.useState(c.singleRunOutcome),[I,B]=S.useState(c.ruleResult),[W,G]=S.useState(c.volumeDistribution),[K,ee]=S.useState(c.volumeEvaluationLog),[q,le]=S.useState(c.volumeProgress),[ge,$e]=S.useState(c.simulationResults),[Pe,J]=S.useState(!1),[ue,de]=S.useState(null),[X,we]=S.useState(!1),[ye,qe]=S.useState(!1),[De,ke]=S.useState(c.responseOpen),[Re,Ie]=S.useState(c.debitResponseOpen),[Oe,Ge]=S.useState(c.volumeResponseOpen),[We,C]=S.useState(null),[z,U]=S.useState(null),[ae,te]=S.useState("summary"),[Q,ne]=S.useState(null),[_e,Ne]=S.useState(null),[dt,mt]=S.useState("summary"),[Lt,zr]=S.useState("Rule Evaluation Preview"),Pr=S.useDeferredValue(ge),Cr=S.useMemo(()=>Object.keys(a).sort(),[a]),Y=S.useMemo(()=>{var N;return pp(((N=a.payment_method)==null?void 0:N.values)||[])},[a]),Me=S.useMemo(()=>{var D;const N=p.payment_method_type.toLowerCase();return pp(((D=a[N])==null?void 0:D.values)||[])},[p.payment_method_type,a]),ft=S.useMemo(()=>{var N;return Vy(((N=a.currency)==null?void 0:N.values)||[])},[a]),Zt=S.useMemo(()=>{var N;return Vy(((N=a.card_network)==null?void 0:N.values)||[])},[a]),pt=S.useMemo(()=>{var N;return Vy(((N=a.authentication_type)==null?void 0:N.values)||[])},[a]),Pt=We?Xle(We):null,Ye=Xt(Pt,nn,{refreshInterval:We?12e3:0,revalidateOnFocus:!0}),Br=Q?Zle(Q):null,st=Xt(Br,nn,{refreshInterval:N=>{var D;return Q?(((D=N==null?void 0:N.timeline)==null?void 0:D.length)||0)>0?12e3:1e3:0},revalidateOnFocus:!0});S.useEffect(()=>{u||i||(h(N=>{var ht;const D={...N};let ie=!1;ft.length>0&&!ft.includes(D.currency)&&(D.currency=ft[0],ie=!0),Y.length>0&&!Y.includes(D.payment_method_type)&&(D.payment_method_type=Y[0],ie=!0);const fe=pp(((ht=a[D.payment_method_type.toLowerCase()])==null?void 0:ht.values)||[]);return fe.length>0&&!fe.includes(D.payment_method)&&(D.payment_method=fe[0],ie=!0),pt.length>0&&!pt.includes(D.auth_type)&&(D.auth_type=pt[0],ie=!0),Zt.length>0&&!Zt.includes(D.card_brand)&&(D.card_brand=Zt[0],ie=!0),ie?D:N}),w(N=>{let D=!1;const ie=N.map(fe=>{if(!fe.key||!a[fe.key])return fe;const ht=a[fe.key],qt=Wy(ht.type),wt=ht.values||[],jr=qt==="enum_variant"?wt.includes(fe.value)?fe.value:wt[0]||"":fe.value;return fe.type!==qt||fe.value!==jr?(D=!0,{...fe,type:qt,value:jr}):fe});return D?ie:N}))},[u,i,a,ft,Y,pt,Zt]),S.useEffect(()=>{if(!We&&!Q)return;const N=document.body.style.overflow,D=ie=>{ie.key==="Escape"&&(C(null),U(null),te("summary"),ne(null),Ne(null),mt("summary"))};return document.body.style.overflow="hidden",window.addEventListener("keydown",D),()=>{document.body.style.overflow=N,window.removeEventListener("keydown",D)}},[We,Q]),S.useEffect(()=>{const N={activeTab:f,form:p,simulationConfig:x,debitForm:g,ruleParams:m,fallbackConnectors:j,volumePayments:_,result:O,debitResult:T,debitPaymentId:A,singleRunPaymentId:M,singleRunOutcome:V,ruleResult:I,volumeDistribution:W,volumeEvaluationLog:K,volumeProgress:q,simulationResults:ge,responseOpen:De,debitResponseOpen:Re,volumeResponseOpen:Oe};typeof window<"u"&&window.localStorage.setItem(gR,JSON.stringify(N))},[f,p,x,g,m,j,_,O,T,A,M,V,I,W,K,q,ge,De,Re,Oe]);function Ct(N,D){h(ie=>({...ie,[N]:D}))}function Tt(N,D){y(ie=>({...ie,[N]:D}))}function qn(){const N=g.co_badged_networks.split(",").map(D=>D.trim().toUpperCase()).filter(Boolean);return JSON.stringify({merchant_category_code:g.merchant_category_code.trim(),acquirer_country:g.acquirer_country.trim().toUpperCase(),co_badged_card_data:{co_badged_card_networks:N,issuer_country:g.issuer_country.trim().toUpperCase(),is_regulated:g.is_regulated,regulated_name:g.is_regulated&&g.regulated_name.trim()?g.regulated_name.trim():null,card_type:g.card_type}})}function Gt(){var ht;if(Cr.length===0)return;const N=Cr[0],D=a[N],ie=Wy(D==null?void 0:D.type),fe=ie==="enum_variant"&&((ht=D==null?void 0:D.values)==null?void 0:ht[0])||"";w([...m,{key:N,type:ie,value:fe,metadataKey:""}])}function fn(N){w(m.filter((D,ie)=>ie!==N))}function mr(N,D,ie){w(m.map((fe,ht)=>ht===N?{...fe,[D]:ie}:fe))}function Zr(N,D){w(m.map((ie,fe)=>fe===N?{...ie,metadataKey:D}:ie))}function ma(N,D){var qt;const ie=a[D],fe=Wy(ie==null?void 0:ie.type),ht=fe==="enum_variant"&&((qt=ie==null?void 0:ie.values)==null?void 0:qt[0])||"";w(m.map((wt,jr)=>jr===N?{...wt,key:D,type:fe,value:ht,metadataKey:""}:wt))}function ga(){b([...j,{gateway_name:"",gateway_id:""}])}function pn(N){b(j.filter((D,ie)=>ie!==N))}function Kn(N,D,ie){b(j.map((fe,ht)=>ht===N?{...fe,[D]:ie}:fe))}async function Da(){if(!r)return de("Sign in with a merchant-linked account to continue");if(u)return de("Routing key config unavailable. Fix /config/routing-keys and retry.");we(!0),de(null),L(null);const N=p.eligible_gateways.split(",").map(ie=>ie.trim()).filter(Boolean),D=`explorer_${Date.now()}`;try{const ie=await zt("/decide-gateway",{merchantId:r,paymentInfo:{paymentId:D,amount:parseFloat(p.amount)||1e3,currency:p.currency,paymentType:"ORDER_PAYMENT",paymentMethodType:p.payment_method_type,paymentMethod:p.payment_method,authType:p.auth_type,cardBrand:p.card_brand},eligibleGatewayList:N,rankingAlgorithm:p.ranking_algorithm,eliminationEnabled:p.elimination_enabled});await zt("/update-gateway-score",{merchantId:r,gateway:ie.decided_gateway,gatewayReferenceId:null,status:V,paymentId:D,enforceDynamicRoutingFailure:null}),E(ie),L(D)}catch(ie){de(ie instanceof Error?ie.message:"Request failed")}finally{we(!1)}}async function Yd(){if(!r)return de("Sign in with a merchant-linked account to continue");we(!0),de(null);try{await n.setDebitRoutingEnabled(!0)}catch(N){de(N instanceof Error?N.message:"Failed to enable debit routing")}finally{we(!1)}}async function Xd(){if(!r)return de("Sign in with a merchant-linked account to continue");if(!n.isEnabled)return de("Debit routing is disabled for this merchant. Enable it before running network routing.");const N=g.eligible_gateways.split(",").map(ie=>ie.trim()).filter(Boolean);if(N.length===0)return de("Add at least one eligible gateway");we(!0),de(null),$(null);const D=`debit_${Date.now()}`;try{const ie=await zt("/decide-gateway",{merchantId:r,paymentInfo:{paymentId:D,amount:parseFloat(g.amount)||1e3,currency:g.currency,paymentType:"ORDER_PAYMENT",paymentMethodType:"CARD",paymentMethod:"DEBIT",authType:g.auth_type,metadata:qn()},eligibleGatewayList:N,rankingAlgorithm:"NtwBasedRouting",eliminationEnabled:!1});$(ie),R(D)}catch(ie){const fe=ie instanceof Error?ie.message:"Request failed";de(fe.includes("debit_routing_not_enabled")?"Debit routing is disabled for this merchant. Enable it and retry.":fe)}finally{we(!1)}}async function Zd(){if(!r)return de("Sign in with a merchant-linked account to continue");if(u)return de("Routing key config unavailable. Fix /config/routing-keys and retry.");const N=parseInt(x.totalPayments)||0,D=parseInt(x.successCount)||0,ie=parseInt(x.failureCount)||0;if(N<=0)return de("Total Payments must be greater than 0");if(D+ie!==N)return de("Success + Failure count must equal Total Payments");J(!0),de(null),$e([]);const fe=p.eligible_gateways.split(",").map(wt=>wt.trim()).filter(Boolean),ht=[],qt=[...Array(D).fill("CHARGED"),...Array(ie).fill("FAILURE")];for(let wt=qt.length-1;wt>0;wt--){const jr=Math.floor(Math.random()*(wt+1));[qt[wt],qt[jr]]=[qt[jr],qt[wt]]}try{for(let wt=0;wt{fe.key&&(fe.type==="metadata_variant"?D[fe.key]={type:fe.type,value:{key:fe.metadataKey||fe.key,value:fe.value}}:fe.type==="number"?D[fe.key]={type:fe.type,value:parseFloat(fe.value)||0}:D[fe.key]={type:fe.type,value:fe.value})});const ie=await zt("/routing/evaluate",{created_by:r||"test_user",payment_id:N,fallback_output:j.filter(fe=>fe.gateway_name),parameters:D});if(B(ie),ie.output.type==="volume_split"&&ie.output.splits){const fe=parseInt(_)||100,ht=ie.output.splits.map(qt=>({name:qt.connector.gateway_name,count:Math.round(qt.split/100*fe),percentage:qt.split}));G(ht)}}catch(D){de(D instanceof Error?D.message:"Request failed")}finally{we(!1)}}async function Qd(){if(!r)return de("Sign in with a merchant-linked account to continue");we(!0),de(null),B(null),G([]),ee([]),le(0);const N=parseInt(_)||0;if(N<=0)return we(!1),de("Total Payments must be greater than 0");try{const ie=`volume_preview_${Date.now()}`,fe=[],ht=new Map;let qt=null;for(let wt=0;wt{const ho=wt+vi,e_=`${ie}_${ho}`,yI=await zt("/routing/evaluate",{created_by:r,payment_id:e_,fallback_output:[{gateway_name:"stripe",gateway_id:"gateway_001"},{gateway_name:"adyen",gateway_id:"gateway_002"}],parameters:{}});return{paymentId:e_,response:yI}}));for(const{paymentId:mu,response:vi}of hs){if(vi.output.type!=="volume_split")throw new Error("Active routing algorithm is not a volume split rule.");const ho=Yle(vi);if(!ho)throw new Error("Volume split evaluation did not return a connector.");ht.set(ho,(ht.get(ho)||0)+1),fe.push({paymentId:mu,connector:ho}),qt=vi}le(fe.length)}if(qt){const wt=Array.from(ht.entries()).map(([jr,hs])=>({name:jr,count:hs,percentage:Number((hs/N*100).toFixed(1))})).sort((jr,hs)=>hs.count-jr.count);B(qt),ee(fe),G(wt),ne(qt.payment_id)}}catch(D){de(D instanceof Error?D.message:"Request failed")}finally{we(!1)}}const fs=O!=null&&O.gateway_priority_map?Object.entries(O.gateway_priority_map).sort(([,N],[,D])=>D-N).map(([N,D])=>({name:N,score:Math.round(D*1e3)/10})):[],fo=parseInt(x.totalPayments)||0,ps=ge.length,F=fo>0?Math.round(ps/fo*100):0,re=Pe||ps>0,me=Pr.reduce((N,D)=>(N[D.decidedGateway]||(N[D.decidedGateway]={total:0,success:0,failure:0}),N[D.decidedGateway].total++,D.status==="CHARGED"?N[D.decidedGateway].success++:N[D.decidedGateway].failure++,N),{}),Le=W.map(N=>({name:N.name,value:N.count})),tt=((V1=T==null?void 0:T.debit_routing_output)==null?void 0:V1.co_badged_card_networks_info)||[],Ke=S.useMemo(()=>new Map(W.map((N,D)=>[N.name,D])),[W]),it=S.useMemo(()=>{var D;const N=((D=Ye.data)==null?void 0:D.results)||[];return N.find(ie=>ie.payment_id===We)||N[0]||null},[(W1=Ye.data)==null?void 0:W1.results,We]),Ze=S.useMemo(()=>{var D;const N=((D=Ye.data)==null?void 0:D.timeline)||[];return N.find(ie=>ie.id===z)||N[0]||null},[(H1=Ye.data)==null?void 0:H1.timeline,z]);S.useEffect(()=>{var D,ie;if(Ze!=null&&Ze.id){U(Ze.id);return}const N=(ie=(D=Ye.data)==null?void 0:D.timeline)==null?void 0:ie[0];N!=null&&N.id&&U(N.id)},[(G1=Ye.data)==null?void 0:G1.timeline,Ze==null?void 0:Ze.id]);const yi=S.useMemo(()=>{var D;const N=[];for(const ie of((D=Ye.data)==null?void 0:D.timeline)||[]){const fe=tb(ie),ht=N[N.length-1];!ht||ht.phase!==fe?N.push({phase:fe,events:[ie]}):ht.events.push(ie)}return N},[(q1=Ye.data)==null?void 0:q1.timeline]),ya=S.useMemo(()=>LO(Ze),[Ze]),_r=S.useMemo(()=>{var D;const N=((D=st.data)==null?void 0:D.results)||[];return N.find(ie=>ie.payment_id===Q)||N[0]||null},[(K1=st.data)==null?void 0:K1.results,Q]),kt=S.useMemo(()=>{var D;const N=((D=st.data)==null?void 0:D.timeline)||[];return N.find(ie=>ie.id===_e)||N[0]||null},[(Y1=st.data)==null?void 0:Y1.timeline,_e]);S.useEffect(()=>{var D,ie;if(kt!=null&&kt.id){Ne(kt.id);return}const N=(ie=(D=st.data)==null?void 0:D.timeline)==null?void 0:ie[0];N!=null&&N.id&&Ne(N.id)},[(X1=st.data)==null?void 0:X1.timeline,kt==null?void 0:kt.id]);const z1=S.useMemo(()=>{var D;const N=[];for(const ie of((D=st.data)==null?void 0:D.timeline)||[]){const fe=tb(ie),ht=N[N.length-1];!ht||ht.phase!==fe?N.push({phase:fe,events:[ie]}):ht.events.push(ie)}return N},[(Z1=st.data)==null?void 0:Z1.timeline]),po=S.useMemo(()=>LO(kt),[kt]);S.useEffect(()=>{Q&&st.mutate()},[Q]);function kg(N){ne(null),Ne(null),mt("summary"),C(N),U(null),te("summary")}function B1(){C(null),U(null),te("summary")}function ef(N,D){C(null),U(null),te("summary"),zr(D),ne(N),Ne(null),mt("summary")}function U1(){ne(null),Ne(null),mt("summary")}function mI(){const N=Gu();f==="single"?(h(N.form),E(N.result),L(N.singleRunPaymentId),H(N.singleRunOutcome),ke(N.responseOpen)):f==="batch"?(h(N.form),v(N.simulationConfig),$e(N.simulationResults),J(!1)):f==="rule"?(w(N.ruleParams),b(N.fallbackConnectors),B(N.ruleResult),ne(null),Ne(null),mt("summary"),zr("Rule Evaluation Preview")):f==="volume"?(k(N.volumePayments),B(N.ruleResult),G(N.volumeDistribution),ee(N.volumeEvaluationLog),le(N.volumeProgress),Ge(N.volumeResponseOpen),ne(null),Ne(null),mt("summary"),zr("Volume Split Preview")):f==="debit"&&(y(N.debitForm),$(N.debitResult),R(N.debitPaymentId),Ie(N.debitResponseOpen),C(null),U(null),te("summary")),de(null),we(!1),qe(!1),C(null),U(null),te("summary")}const gI=f==="batch"?"Reset Auth-Rate Based Routing":f==="rule"?"Reset Rule Based Routing":f==="volume"?"Reset Volume Based Routing":"Reset Debit Routing";return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900 dark:text-white",children:"Decision Explorer"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#b2bdd1]",children:"Run payment routing checks across auth-rate based, rule based, volume based, and debit network strategies."})]}),l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{className:"flex flex-wrap gap-2",children:[l.jsx("button",{onClick:()=>d("batch"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${_o(f==="batch")}`,children:"Auth-Rate Based Routing"}),l.jsx("button",{onClick:()=>d("rule"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${_o(f==="rule")}`,children:"Rule Based Routing"}),l.jsx("button",{onClick:()=>d("volume"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${_o(f==="volume")}`,children:"Volume Based Routing"}),l.jsx("button",{onClick:()=>d("debit"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${_o(f==="debit")}`,children:"Debit Routing"})]}),l.jsxs(Ae,{size:"sm",variant:"secondary",onClick:mI,children:[l.jsx(Df,{size:14}),gI]})]}),l.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx(an,{children:f==="rule"?"Rule Evaluation":f==="volume"?"Volume Split":f==="debit"?"Network Routing":"Simulation"}),l.jsx("h2",{className:"mt-3 font-medium text-slate-800 dark:text-white",children:f==="rule"?"Rule Evaluation Parameters":f==="volume"?"Volume Split Configuration":f==="debit"?"Debit Routing Parameters":"Auth-Rate Based Routing Parameters"})]})}),l.jsxs(Be,{className:"space-y-3",children:[!r&&l.jsx("p",{className:"text-xs text-amber-600 bg-amber-50 border border-amber-200 rounded px-3 py-2",children:"Set a merchant ID in the top bar first."}),f!=="volume"&&f!=="debit"&&i&&l.jsx("p",{className:"text-xs text-slate-600 bg-slate-50 border border-slate-200 rounded px-3 py-2",children:"Loading routing config from backend..."}),f!=="volume"&&f!=="debit"&&u&&l.jsx(Nr,{error:"Routing config unavailable from /config/routing-keys. Parameter forms are disabled."}),f==="rule"?l.jsxs(l.Fragment,{children:[i&&l.jsx("p",{className:"text-sm text-slate-500",children:"Loading routing keys from backend..."}),u&&l.jsx(Nr,{error:"Routing keys are unavailable from backend (/config/routing-keys). Rule Evaluation is disabled."}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Parameters"}),l.jsx("div",{className:"space-y-2",children:m.map((N,D)=>{var ie;return l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex gap-2 items-center",children:[l.jsx("select",{value:N.key,onChange:fe=>ma(D,fe.target.value),disabled:u||i,className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Cr.length===0?l.jsx("option",{value:"",children:"No keys available"}):Cr.map(fe=>l.jsx("option",{value:fe,children:fe},fe))}),l.jsx("input",{value:N.type,readOnly:!0,className:"w-36 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("button",{onClick:()=>fn(D),className:"p-1.5 text-slate-400 hover:text-red-500",children:l.jsx(di,{size:14})})]}),N.type==="metadata_variant"?l.jsxs("div",{className:"flex gap-2 items-center pl-1",children:[l.jsx("input",{placeholder:"Metadata Key",value:N.metadataKey||"",onChange:fe=>Zr(D,fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{placeholder:"Metadata Value",value:N.value,onChange:fe=>mr(D,"value",fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}):N.type==="enum_variant"?l.jsx("div",{className:"flex gap-2 items-center pl-1",children:l.jsx("select",{value:N.value,onChange:fe=>mr(D,"value",fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:(((ie=a[N.key])==null?void 0:ie.values)||[]).map(fe=>l.jsx("option",{value:fe,children:fe},fe))})}):N.type==="number"?l.jsx("div",{className:"flex gap-2 items-center pl-1",children:l.jsx("input",{type:"number",placeholder:"Value",value:N.value,onChange:fe=>mr(D,"value",fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})}):l.jsx("div",{className:"flex gap-2 items-center pl-1",children:l.jsx("input",{placeholder:"Value",value:N.value,onChange:fe=>mr(D,"value",fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})})]},D)})}),l.jsxs("button",{onClick:Gt,disabled:u||i||Cr.length===0,className:"mt-2 flex items-center gap-1 text-xs text-brand-500 hover:text-brand-600",children:[l.jsx(ci,{size:12})," Add Parameter"]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Fallback gateway_name/gateway_id"}),l.jsx("div",{className:"space-y-2",children:j.map((N,D)=>l.jsxs("div",{className:"flex gap-2 items-center",children:[l.jsx("input",{placeholder:"gateway_name",value:N.gateway_name,onChange:ie=>Kn(D,"gateway_name",ie.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{placeholder:"gateway_id",value:N.gateway_id||"",onChange:ie=>Kn(D,"gateway_id",ie.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("button",{onClick:()=>pn(D),className:"p-1.5 text-slate-400 hover:text-red-500",children:l.jsx(di,{size:14})})]},D))}),l.jsxs("button",{onClick:ga,className:"mt-2 flex items-center gap-1 text-xs text-brand-500 hover:text-brand-600",children:[l.jsx(ci,{size:12})," Add Gateway"]})]})]}):f==="debit"?l.jsxs("div",{className:"space-y-4",children:[n.isLoading?l.jsxs("p",{className:"flex items-center gap-2 rounded-lg border border-slate-200 bg-slate-50 px-3 py-2 text-xs text-slate-600 dark:border-[#222226] dark:bg-[#10131a] dark:text-[#aab5c8]",children:[l.jsx(Ft,{size:14}),"Loading debit routing flag..."]}):n.isEnabled?l.jsx("p",{className:"rounded-lg border border-emerald-200 bg-emerald-50 px-3 py-2 text-xs text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/10 dark:text-emerald-300",children:"Debit routing is enabled for this merchant. This tab will call /decide-gateway with NtwBasedRouting."}):l.jsx("div",{className:"rounded-lg border border-amber-200 bg-amber-50 px-3 py-3 text-xs text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-300",children:l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsx("span",{children:"Debit routing is disabled for this merchant."}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:Yd,disabled:!r||X,children:"Enable Debit Routing"})]})}),l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Amount"}),l.jsx("input",{value:g.amount,onChange:N=>Tt("amount",N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Currency"}),l.jsx("input",{value:g.currency,onChange:N=>Tt("currency",N.target.value.toUpperCase()),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Auth Type"}),l.jsxs("select",{value:g.auth_type,onChange:N=>Tt("auth_type",N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:[l.jsx("option",{value:"THREE_DS",children:"THREE_DS"}),l.jsx("option",{value:"NO_THREE_DS",children:"NO_THREE_DS"})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Card Type"}),l.jsxs("select",{value:g.card_type,onChange:N=>Tt("card_type",N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:[l.jsx("option",{value:"Debit",children:"Debit"}),l.jsx("option",{value:"Credit",children:"Credit"})]})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Eligible Gateways (comma-separated)"}),l.jsx("input",{value:g.eligible_gateways,onChange:N=>Tt("eligible_gateways",N.target.value),placeholder:"stripe, adyen",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Merchant Category Code"}),l.jsx("input",{value:g.merchant_category_code,onChange:N=>Tt("merchant_category_code",N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Acquirer Country"}),l.jsx("input",{value:g.acquirer_country,onChange:N=>Tt("acquirer_country",N.target.value.toUpperCase()),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Co-badged Networks (comma-separated)"}),l.jsx("input",{value:g.co_badged_networks,onChange:N=>Tt("co_badged_networks",N.target.value),placeholder:"VISA, NYCE, PULSE, STAR",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Issuer Country"}),l.jsx("input",{value:g.issuer_country,onChange:N=>Tt("issuer_country",N.target.value.toUpperCase()),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{className:"flex items-center gap-2 pt-6",children:[l.jsx("input",{id:"debit-is-regulated",type:"checkbox",checked:g.is_regulated,onChange:N=>Tt("is_regulated",N.target.checked),className:"h-4 w-4 rounded border-slate-300"}),l.jsx("label",{htmlFor:"debit-is-regulated",className:"text-sm text-slate-600 dark:text-[#aab5c8]",children:"Regulated debit card"})]})]}),g.is_regulated&&l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Regulated Name"}),l.jsx("input",{value:g.regulated_name,onChange:N=>Tt("regulated_name",N.target.value),placeholder:"GOVERNMENT NON-EXEMPT INTERCHANGE FEE (WITH FRAUD)",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsx("p",{className:"text-xs text-slate-500",children:"The request sends debit details inside paymentInfo.metadata because the backend debit router parses co-badged card data from metadata."})]}):f==="volume"?l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Number of Payments"}),l.jsx("input",{type:"text",value:_,onChange:N=>k(N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("p",{className:"text-xs text-slate-500 mt-1",children:"Enter how many preview evaluations to run against the active volume split rule."})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Amount"}),l.jsx("input",{value:p.amount,onChange:N=>Ct("amount",N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Currency"}),l.jsx("select",{value:p.currency,onChange:N=>Ct("currency",N.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:ft.map(N=>l.jsx("option",{children:N},N))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Payment Method Type"}),l.jsx("select",{value:p.payment_method_type,onChange:N=>Ct("payment_method_type",N.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Y.map(N=>l.jsx("option",{children:N},N))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Payment Method"}),l.jsx("select",{value:p.payment_method,onChange:N=>Ct("payment_method",N.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Me.map(N=>l.jsx("option",{children:N},N))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Card Brand"}),l.jsx("select",{value:p.card_brand,onChange:N=>Ct("card_brand",N.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Zt.map(N=>l.jsx("option",{children:N},N))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Auth Type"}),l.jsx("select",{value:p.auth_type,onChange:N=>Ct("auth_type",N.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:pt.map(N=>l.jsx("option",{children:N},N))})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Eligible Gateways (comma-separated)"}),l.jsx("input",{value:p.eligible_gateways,onChange:N=>Ct("eligible_gateways",N.target.value),placeholder:"stripe, adyen",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsx("div",{children:l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Algorithm"}),l.jsx("select",{value:p.ranking_algorithm,onChange:N=>Ct("ranking_algorithm",N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:mR.map(N=>l.jsx("option",{value:N,children:Ble[N]},N))})]})}),f==="single"&&l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Transaction Outcome"}),l.jsxs("select",{value:V,onChange:N=>H(N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:[l.jsx("option",{value:"CHARGED",children:"Success (CHARGED)"}),l.jsx("option",{value:"FAILURE",children:"Failure (FAILURE)"})]}),l.jsx("p",{className:"mt-1 text-xs text-slate-500",children:"After deciding the gateway, single test will post feedback with this outcome so the payment appears in Decision Audit."})]}),f==="batch"&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-4 mt-4 space-y-3",children:[l.jsxs("h3",{className:"text-sm font-medium text-slate-800 flex items-center gap-2",children:[l.jsx(sl,{size:14}),"Simulation Configuration"]}),l.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Total Payments"}),l.jsx("input",{type:"text",value:x.totalPayments,onChange:N=>v(D=>({...D,totalPayments:N.target.value})),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Success Count"}),l.jsx("input",{type:"text",value:x.successCount,onChange:N=>v(D=>({...D,successCount:N.target.value})),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Failure Count"}),l.jsx("input",{type:"text",value:x.failureCount,onChange:N=>v(D=>({...D,failureCount:N.target.value})),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]}),l.jsxs("p",{className:"text-xs text-slate-500",children:["Will run ",x.totalPayments||0," payments: ",x.successCount||0," SUCCESS, ",x.failureCount||0," FAILURE"]})]})]}),l.jsx(Nr,{error:ue}),f==="rule"?l.jsx(Ae,{onClick:Jd,disabled:X||u,className:"w-full justify-center",children:X?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Evaluating…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Mf,{size:14})," Evaluate Rules"]})}):f==="debit"?l.jsx(Ae,{onClick:Xd,disabled:X||!r||n.isLoading||!n.isEnabled,className:"w-full justify-center",children:X?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Running Debit Routing…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Kh,{size:14})," Run Debit Routing"]})}):f==="volume"?l.jsx(Ae,{onClick:Qd,disabled:X||!r,className:"w-full justify-center",children:X?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Running ",q,"/",_||0," previews…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Yh,{size:14})," Run Volume Evaluation"]})}):f==="batch"?l.jsx(Ae,{onClick:Zd,disabled:Pe||!r||u,className:"w-full justify-center",children:Pe?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14}),"Simulating ",ge.length,"/",x.totalPayments||0,"..."]}):l.jsxs(l.Fragment,{children:[l.jsx(sl,{size:14})," Run Auth-Rate Simulation"]})}):l.jsx(Ae,{onClick:Da,disabled:X||!r||u,className:"w-full justify-center",children:X?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Running…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Mf,{size:14})," Run Single Transaction"]})})]})]}),l.jsx("div",{className:"space-y-4",children:f==="debit"?T?l.jsx(l.Fragment,{children:l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800 dark:text-white",children:"Debit Routing Result"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#9ca7ba]",children:["Real response from ",l.jsx("code",{children:"/decide-gateway"})," using ",l.jsx("code",{children:"NtwBasedRouting"}),"."]})]}),A?l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>kg(A),children:"View audit"}):null]})}),l.jsxs(Be,{className:"space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{className:"rounded-lg bg-slate-50 p-3 dark:bg-[#111114]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"routing_approach"}),l.jsx("p",{className:"mt-1 font-semibold text-slate-900 dark:text-white",children:T.routing_approach})]}),l.jsxs("div",{className:"rounded-lg bg-slate-50 p-3 dark:bg-[#111114]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"request payment_id"}),l.jsx("p",{className:"mt-1 font-mono text-xs text-slate-900 dark:text-white",children:A})]})]}),T.debit_routing_output?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[l.jsxs("div",{className:"rounded-lg border border-slate-200 p-3 dark:border-[#222226]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"Issuer country"}),l.jsx("p",{className:"mt-1 text-lg font-semibold text-slate-900 dark:text-white",children:T.debit_routing_output.issuer_country})]}),l.jsxs("div",{className:"rounded-lg border border-slate-200 p-3 dark:border-[#222226]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"Regulated"}),l.jsx("p",{className:"mt-1 text-lg font-semibold text-slate-900 dark:text-white",children:T.debit_routing_output.is_regulated?"Yes":"No"})]}),l.jsxs("div",{className:"rounded-lg border border-slate-200 p-3 dark:border-[#222226]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"Card type"}),l.jsx("p",{className:"mt-1 text-lg font-semibold text-slate-900 dark:text-white",children:T.debit_routing_output.card_type})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800 dark:text-white",children:"Ranked Debit Networks"})}),l.jsx(Be,{className:"p-0",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 text-xs text-slate-500 dark:bg-[#111114]",children:l.jsxs("tr",{children:[l.jsx("th",{className:"px-4 py-2 text-left",children:"Rank"}),l.jsx("th",{className:"px-4 py-2 text-left",children:"Network"}),l.jsx("th",{className:"px-4 py-2 text-right",children:"Saving %"})]})}),l.jsx("tbody",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:tt.map((N,D)=>l.jsxs("tr",{className:"hover:bg-slate-50 dark:hover:bg-[#111114]",children:[l.jsxs("td",{className:"px-4 py-2 font-mono text-xs text-slate-500",children:["#",D+1]}),l.jsx("td",{className:"px-4 py-2 font-medium text-slate-900 dark:text-white",children:N.network}),l.jsxs("td",{className:"px-4 py-2 text-right text-slate-700 dark:text-[#d8e1ef]",children:[N.saving_percentage.toFixed(2),"%"]})]},`${N.network}-${D}`))})]})})]})]}):l.jsx(Nr,{error:"Debit routing output was not returned. Check the raw response for backend details."}),l.jsxs("div",{className:"border-t border-slate-200 pt-3 dark:border-[#222226]",children:[l.jsxs("button",{type:"button",onClick:()=>Ie(!Re),className:"flex items-center gap-1 text-xs font-medium text-slate-500 hover:text-slate-700",children:[Re?l.jsx(No,{size:14}):l.jsx(ks,{size:14}),"Raw response"]}),Re&&l.jsx("pre",{className:"mt-3 max-h-96 overflow-auto rounded-lg bg-slate-950 p-4 text-xs text-slate-200",children:JSON.stringify(T,null,2)})]})]})]})}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-12 text-center",children:[l.jsx(Kh,{size:32,className:"mx-auto mb-3 text-slate-300"}),l.jsx("p",{className:"text-sm text-slate-500",children:'Enable debit routing, keep the default debit metadata, and click "Run Debit Routing" to inspect ranked networks.'})]})}):f==="volume"?W.length>0?l.jsxs(l.Fragment,{children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Volume Distribution Overview"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500",children:["Actual distribution from ",K.length," calls to ",l.jsx("code",{children:"/routing/evaluate"})," using the active volume split rule."]})]}),I!=null&&I.payment_id?l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>ef(I.payment_id,"Volume Split Preview"),children:"View latest preview trace"}):null]})}),l.jsxs(Be,{children:[l.jsxs("div",{className:"text-center mb-4",children:[l.jsx("p",{className:"text-3xl font-bold text-slate-900",children:K.length}),l.jsx("p",{className:"text-xs text-slate-500",children:"Evaluations completed"})]}),l.jsx("div",{className:"grid grid-cols-2 gap-4",children:W.map((N,D)=>l.jsxs("div",{className:"bg-slate-50 dark:bg-[#111114] rounded-lg p-3",children:[l.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[l.jsx("div",{className:"w-3 h-3 rounded",style:{backgroundColor:Jr[D%Jr.length]}}),l.jsx("span",{className:"font-medium text-sm",children:N.name})]}),l.jsxs("div",{className:"flex justify-between text-xs text-slate-500",children:[l.jsxs("span",{children:[N.percentage,"%"]}),l.jsxs("span",{className:"font-medium text-slate-700",children:[N.count," payments"]})]})]},D))})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Pie Chart"})}),l.jsx(Be,{children:l.jsx(Ii,{width:"100%",height:250,children:l.jsxs(_1,{children:[l.jsx(ha,{data:Le,cx:"50%",cy:"50%",innerRadius:60,outerRadius:100,paddingAngle:3,dataKey:"value",label:({name:N,percent:D})=>`${N} ${(D*100).toFixed(0)}%`,labelLine:!1,children:Le.map((N,D)=>l.jsx(qi,{fill:Jr[D%Jr.length]},`cell-${D}`))}),l.jsx(Or,{formatter:N=>[`${N} payments`,"Count"],contentStyle:document.documentElement.classList.contains("dark")?{backgroundColor:"#111114",border:"1px solid #222226",borderRadius:"8px",color:"#fff"}:{backgroundColor:"#fff",border:"1px solid #e5e7eb",borderRadius:"8px",color:"#1f2937"}})]})})})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Bar Chart"})}),l.jsx(Be,{children:l.jsx(Ii,{width:"100%",height:W.length*50+40,children:l.jsxs(Z0,{data:W,layout:"vertical",margin:{left:20,right:40},children:[l.jsx(Pa,{type:"number",tick:{fontSize:12,fill:"#666"},axisLine:{stroke:"#e5e7eb"},tickLine:!1}),l.jsx(Ca,{type:"category",dataKey:"name",tick:{fontSize:12,fill:"#666"},width:80,axisLine:!1,tickLine:!1}),l.jsx(Or,{formatter:N=>[`${N} payments`,"Count"],contentStyle:document.documentElement.classList.contains("dark")?{backgroundColor:"#111114",border:"1px solid #222226",borderRadius:"8px",color:"#fff"}:{backgroundColor:"#fff",border:"1px solid #e5e7eb",borderRadius:"8px",color:"#1f2937"}}),l.jsx(li,{dataKey:"count",radius:[0,6,6,0],children:W.map((N,D)=>l.jsx(qi,{fill:Jr[D%Jr.length]},`cell-${D}`))})]})})})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Percentage Distribution"})}),l.jsxs(Be,{children:[l.jsx("div",{className:"h-4 rounded-full overflow-hidden flex",children:W.map((N,D)=>l.jsx("div",{style:{width:`${N.percentage}%`,backgroundColor:Jr[D%Jr.length]},className:"h-full transition-all duration-300",title:`${N.name}: ${N.percentage}%`},D))}),l.jsx("div",{className:"flex flex-wrap gap-3 mt-3",children:W.map((N,D)=>l.jsxs("div",{className:"flex items-center gap-1.5 text-xs",children:[l.jsx("div",{className:"w-2.5 h-2.5 rounded-sm",style:{backgroundColor:Jr[D%Jr.length]}}),l.jsx("span",{className:"text-slate-600",children:N.name}),l.jsxs("span",{className:"font-medium",children:[N.percentage,"%"]})]},D))})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Gateway Summary"})}),l.jsx(Be,{className:"p-0",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#111114] text-xs text-slate-500",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-4 py-2",children:"gateway_name"}),l.jsx("th",{className:"text-right px-4 py-2",children:"Payments"}),l.jsx("th",{className:"text-right px-4 py-2",children:"Percentage"})]})}),l.jsxs("tbody",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:[W.map((N,D)=>l.jsxs("tr",{className:"hover:bg-slate-50 dark:bg-[#111114]",children:[l.jsx("td",{className:"px-4 py-2",children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"w-3 h-3 rounded",style:{backgroundColor:Jr[D%Jr.length]}}),l.jsx("span",{className:"font-medium",children:N.name})]})}),l.jsx("td",{className:"px-4 py-2 text-right font-medium",children:N.count}),l.jsxs("td",{className:"px-4 py-2 text-right text-slate-500",children:[N.percentage,"%"]})]},D)),l.jsxs("tr",{className:"bg-slate-50 dark:bg-[#111114] font-medium",children:[l.jsx("td",{className:"px-4 py-2",children:"Total"}),l.jsx("td",{className:"px-4 py-2 text-right",children:K.length}),l.jsx("td",{className:"px-4 py-2 text-right",children:"100%"})]})]})]})})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Evaluation Sequence"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500",children:["Actual connector sequence returned by repeated ",l.jsx("code",{children:"/routing/evaluate"})," calls."]})]})}),l.jsx(Be,{className:"p-0 max-h-80 overflow-auto",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#111114] text-xs text-slate-500 sticky top-0",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-4 py-2 w-20",children:"#"}),l.jsx("th",{className:"text-left px-4 py-2",children:"payment_id"}),l.jsx("th",{className:"text-left px-4 py-2",children:"gateway_name"}),l.jsx("th",{className:"text-right px-4 py-2 w-28",children:"trace"})]})}),l.jsx("tbody",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:K.map((N,D)=>l.jsxs("tr",{className:"cursor-pointer hover:bg-slate-50 dark:bg-[#111114]",onClick:()=>ef(N.paymentId,"Volume Split Preview"),children:[l.jsx("td",{className:"px-4 py-1.5 text-slate-500 font-mono text-xs",children:D+1}),l.jsx("td",{className:"px-4 py-1.5 font-mono text-xs text-slate-500",children:N.paymentId}),l.jsx("td",{className:"px-4 py-1.5",children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"w-2 h-2 rounded",style:{backgroundColor:Jr[(Ke.get(N.connector)||0)%Jr.length]}}),l.jsx("span",{className:"font-medium",children:N.connector})]})}),l.jsx("td",{className:"px-4 py-1.5 text-right",children:l.jsx("button",{type:"button",className:"text-xs font-medium text-brand-600 hover:text-brand-700",onClick:ie=>{ie.stopPropagation(),ef(N.paymentId,"Volume Split Preview")},children:"View trace"})})]},N.paymentId))})]})})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("button",{onClick:()=>Ge(N=>!N),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(My,{size:14}),"API Response"]}),Oe?l.jsx(No,{size:14}):l.jsx(ks,{size:14})]})}),Oe&&I&&l.jsx(Be,{className:"p-0",children:l.jsx("pre",{className:"text-xs text-slate-600 bg-slate-50 dark:bg-[#0a0a0f] p-4 overflow-auto max-h-96 font-mono",children:JSON.stringify(I,null,2)})})]})]}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-16 text-center",children:[l.jsx(Yh,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsxs("p",{className:"text-slate-400 text-sm",children:['Enter the number of payments and click "Run Volume Evaluation" to execute repeated ',l.jsx("code",{children:"/routing/evaluate"})," calls against the active volume rule."]})]})}):f==="rule"?I?l.jsxs(l.Fragment,{children:[l.jsx(Se,{children:l.jsxs(Be,{children:[l.jsxs("div",{className:"flex items-start justify-between mb-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs text-slate-500 uppercase tracking-wide mb-1",children:"Status"}),l.jsx("p",{className:"text-2xl font-bold text-slate-900",children:I.status}),l.jsxs("p",{className:"text-xs text-slate-500 mt-1",children:["output_type: ",I.output.type]})]}),I.payment_id?l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>ef(I.payment_id,"Rule Evaluation Preview"),children:"View preview trace"}):null]}),I.output.type==="single"&&I.output.connector&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsx("p",{className:"text-xs text-slate-400 mb-1",children:"Selected gateway_name"}),l.jsx("p",{className:"text-lg font-semibold",children:I.output.connector.gateway_name}),I.output.connector.gateway_id&&l.jsxs("p",{className:"text-xs text-slate-500",children:["gateway_id: ",I.output.connector.gateway_id]})]}),I.output.type==="priority"&&I.output.connectors&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsx("p",{className:"text-xs text-slate-400 mb-2",children:"Priority gateway_name list"}),l.jsx("div",{className:"space-y-1",children:I.output.connectors.map((N,D)=>l.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[l.jsx("span",{className:"w-5 h-5 rounded-full bg-brand-500 text-white text-xs flex items-center justify-center",children:D+1}),l.jsx("span",{className:"font-medium",children:N.gateway_name}),N.gateway_id&&l.jsxs("span",{className:"text-xs text-slate-500",children:["(",N.gateway_id,")"]})]},D))})]}),I.output.type==="volume_split"&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsx("p",{className:"text-xs text-slate-400 mb-2",children:"Volume Split Result"}),l.jsx("p",{className:"text-sm text-slate-600",children:"See Volume Split tab for detailed visualization."})]})]})}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("button",{onClick:()=>ke(N=>!N),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(My,{size:14}),"API Response"]}),De?l.jsx(No,{size:14}):l.jsx(ks,{size:14})]})}),De&&l.jsx(Be,{className:"p-0",children:l.jsx("pre",{className:"text-xs text-slate-600 bg-slate-50 dark:bg-[#0a0a0f] p-4 overflow-auto max-h-96 font-mono",children:JSON.stringify(I,null,2)})})]})]}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-16 text-center",children:[l.jsx(Mf,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsx("p",{className:"text-slate-400 text-sm",children:'Configure rule parameters and click "Evaluate Rules" to test routing.'})]})}):f==="batch"?re?l.jsxs(l.Fragment,{children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Simulation Progress"})}),l.jsxs(Be,{children:[l.jsxs("div",{className:"mb-4",children:[l.jsxs("div",{className:"flex justify-between text-xs text-slate-600 mb-1",children:[l.jsx("span",{children:"Progress"}),l.jsxs("span",{children:[F,"%"]})]}),l.jsx("div",{className:"w-full overflow-hidden rounded-full bg-gray-200 h-2",children:l.jsx("div",{className:`h-2 rounded-full bg-brand-500 transition-[width] duration-300 ease-out ${Pe&&ps===0?"animate-pulse":""}`,style:{width:`${F}%`}})}),l.jsxs("p",{className:"mt-2 text-xs text-slate-500",children:[ps," of ",fo||0," payments processed."]})]}),Object.keys(me).length>0&&l.jsxs("div",{className:"space-y-2",children:[l.jsx("h4",{className:"text-xs font-medium text-slate-700",children:"Gateway Selection Summary"}),Object.entries(me).map(([N,D])=>l.jsxs("div",{className:"flex items-center justify-between text-sm",children:[l.jsx("span",{className:"font-medium",children:N}),l.jsxs("div",{className:"flex gap-3 text-xs",children:[l.jsxs("span",{className:"text-emerald-600",children:[D.success," ✓"]}),l.jsxs("span",{className:"text-red-500",children:[D.failure," ✗"]}),l.jsxs("span",{className:"text-slate-500",children:["(",D.total," total)"]})]})]},N))]})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Transaction Log"})}),l.jsx(Be,{className:"p-0 max-h-96 overflow-auto",children:Pr.length>0?l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#0a0a0f] text-xs text-slate-500 sticky top-0",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-3 py-2",children:"#"}),l.jsx("th",{className:"text-left px-3 py-2",children:"Payment ID"}),l.jsx("th",{className:"text-left px-3 py-2",children:"Gateway"}),l.jsx("th",{className:"text-left px-3 py-2",children:"Outcome"})]})}),l.jsx("tbody",{className:"divide-y divide-[#1c1c24]",children:Pr.map((N,D)=>l.jsxs("tr",{className:"hover:bg-slate-100 dark:bg-[#0f0f16]",children:[l.jsx("td",{className:"px-3 py-2 text-slate-500",children:D+1}),l.jsx("td",{className:"px-3 py-2",children:l.jsxs("button",{type:"button",title:N.paymentId,onClick:()=>kg(N.paymentId),className:"group flex items-start gap-3 text-left",children:[l.jsx("span",{className:"inline-flex h-8 w-8 items-center justify-center rounded-full bg-brand-500/10 text-[11px] font-semibold uppercase tracking-[0.16em] text-brand-600 dark:text-brand-300",children:D+1}),l.jsxs("span",{className:"min-w-0",children:[l.jsx("span",{className:"block truncate font-mono text-xs font-semibold text-slate-900 transition group-hover:text-brand-600 dark:text-white",children:N.paymentId}),l.jsx("span",{className:"mt-1 block text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-400 transition group-hover:text-brand-500",children:"View audit"})]})]})}),l.jsx("td",{className:"px-3 py-2 font-medium",children:N.decidedGateway}),l.jsx("td",{className:"px-3 py-2",children:l.jsx(ze,{variant:N.status==="CHARGED"?"green":"red",children:N.status})})]},N.paymentId))})]}):l.jsxs("div",{className:"flex items-center gap-3 px-4 py-6 text-sm text-slate-500",children:[l.jsx(Ft,{size:16}),"Waiting for the first simulated payment result…"]})})]})]}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-16 text-center",children:[l.jsx(sl,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsx("p",{className:"text-slate-400 text-sm",children:'Configure simulation parameters and click "Run Auth-Rate Simulation" to test auth-rate based routing.'})]})}):O?l.jsxs(l.Fragment,{children:[l.jsx(Se,{children:l.jsxs(Be,{children:[l.jsxs("div",{className:"flex items-start justify-between mb-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs text-slate-500 uppercase tracking-wide mb-1",children:"Decided Gateway"}),l.jsx("p",{className:"text-3xl font-bold text-slate-900",children:O.decided_gateway})]}),l.jsxs("div",{className:"text-right space-y-2",children:[l.jsx("div",{children:l.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded text-xs font-medium ${Ule(O.routing_approach)}`,children:O.routing_approach})}),M?l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>kg(M),children:"View audit"}):null,O.is_scheduled_outage&&l.jsx(ze,{variant:"red",children:"Scheduled Outage"}),M?l.jsx(ze,{variant:V==="CHARGED"?"green":"red",children:V}):null,O.latency!=null&&l.jsxs("p",{className:"text-xs text-slate-400",children:[O.latency,"ms"]})]})]}),M?l.jsxs("div",{className:"mb-3 rounded-[18px] border border-slate-200 bg-slate-50/80 px-4 py-3 dark:border-[#1c1c23] dark:bg-[#0b0b10]",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Payment ID"}),l.jsx("p",{className:"mt-2 font-mono text-sm text-slate-900 dark:text-white",children:M}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:["Feedback recorded as ",V,". Open audit to inspect the full decide and update flow."]})]}):null,O.routing_dimension&&l.jsxs("div",{className:"flex gap-4 text-sm text-slate-600 border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-xs text-slate-400",children:"Dimension"}),l.jsx("p",{className:"font-medium",children:O.routing_dimension})]}),O.routing_dimension_level&&l.jsxs("div",{children:[l.jsx("span",{className:"text-xs text-slate-400",children:"Level"}),l.jsx("p",{className:"font-medium",children:O.routing_dimension_level})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-xs text-slate-400",children:"Reset"}),l.jsx("p",{className:"font-medium",children:O.reset_approach})]})]})]})}),fs.length>0&&l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Gateway Scores"}),l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:Da,className:"text-xs",children:[l.jsx(Df,{size:12})," Refresh"]})]})}),l.jsx(Be,{children:l.jsx(Ii,{width:"100%",height:fs.length*40+20,children:l.jsxs(Z0,{data:fs,layout:"vertical",margin:{left:10,right:30},children:[l.jsx(Pa,{type:"number",domain:[0,100],tickFormatter:N=>`${N}%`,tick:{fontSize:11,fill:"#66667a"},axisLine:{stroke:"#1c1c24"},tickLine:!1}),l.jsx(Ca,{type:"category",dataKey:"name",tick:{fontSize:12,fill:"#8e8ea0"},width:60,axisLine:!1,tickLine:!1}),l.jsx(Or,{formatter:N=>`${N}%`,contentStyle:{backgroundColor:"#0d0d12",border:"1px solid #1c1c24",borderRadius:"8px",color:"#e8e8f4"}}),l.jsx(li,{dataKey:"score",radius:[0,4,4,0],children:fs.map((N,D)=>l.jsx(qi,{fill:N.name===O.decided_gateway?"#0069ED":N.score<30?"#ef4444":N.score<60?"#f59e0b":"#10b981"},D))})]})})})]}),O.filter_wise_gateways&&l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("button",{onClick:()=>qe(N=>!N),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:["Filter Chain",ye?l.jsx(No,{size:14}):l.jsx(ks,{size:14})]})}),ye&&l.jsx(Be,{className:"space-y-2",children:Object.entries(O.filter_wise_gateways).map(([N,D])=>l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("span",{className:"text-xs font-mono bg-slate-100 dark:bg-[#111118] text-slate-600 rounded-md px-2 py-0.5 mt-0.5 shrink-0 border border-slate-200 dark:border-[#1c1c24]",children:N}),l.jsx("div",{className:"flex flex-wrap gap-1",children:Array.isArray(D)?D.map(ie=>l.jsx("span",{className:"text-xs bg-blue-500/10 text-blue-400 ring-1 ring-inset ring-blue-500/20 rounded-md px-2 py-0.5",children:ie},ie)):l.jsx("span",{className:"text-xs text-slate-400",children:"—"})})]},N))})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("button",{onClick:()=>ke(N=>!N),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(My,{size:14}),"API Response"]}),De?l.jsx(No,{size:14}):l.jsx(ks,{size:14})]})}),De&&l.jsx(Be,{className:"p-0",children:l.jsx("pre",{className:"text-xs text-slate-600 bg-slate-50 dark:bg-[#0a0a0f] p-4 overflow-auto max-h-96 font-mono",children:JSON.stringify(O,null,2)})})]})]}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-16 text-center",children:[l.jsx(Mf,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsx("p",{className:"text-slate-400 text-sm",children:'Fill in the parameters and click "Run Single Transaction" to decide a gateway, post feedback, and inspect the audit trail.'})]})})})]}),We&&l.jsxs("div",{className:"fixed bottom-0 left-64 right-0 top-[76px] z-[130] p-8",children:[l.jsx("button",{type:"button","aria-label":"Close payment audit",className:"absolute inset-0 bg-slate-950/70 backdrop-blur-sm",onClick:B1}),l.jsxs("div",{role:"dialog","aria-modal":"true","aria-labelledby":"decision-explorer-audit-title",className:"relative mx-auto flex h-full w-full max-w-7xl flex-col overflow-hidden rounded-[30px] border border-slate-200 bg-white shadow-2xl dark:border-[#1c1c23] dark:bg-[#09090d]",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4 border-b border-slate-200 bg-slate-50/90 px-6 py-5 dark:border-[#1c1c23] dark:bg-[#0b0b10]",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.2em] text-slate-500 dark:text-[#8a8a93]",children:"Simulation Audit"}),l.jsx("h2",{id:"decision-explorer-audit-title",className:"mt-2 truncate text-2xl font-semibold text-slate-900 dark:text-white",children:We}),l.jsx("p",{className:"mt-2 max-w-3xl text-sm text-slate-500 dark:text-[#8a8a93]",children:"Inspect the exact decision trail for this simulated payment, including request payloads, API responses, score context, and the final transaction outcome."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[it!=null&&it.latest_gateway?l.jsx(ze,{variant:"green",children:it.latest_gateway}):null,it!=null&&it.latest_status?l.jsx(ze,{variant:MO(it.latest_status),children:Tn(it.latest_status)}):null,it!=null&&it.event_count?l.jsxs(ze,{variant:"gray",children:[it.event_count," events"]}):null,l.jsxs(Ae,{size:"sm",variant:"secondary",onClick:()=>Ye.mutate(),children:[l.jsx(Df,{size:12}),"Refresh"]}),l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:B1,children:[l.jsx(PO,{size:14}),"Close"]})]})]}),l.jsxs("div",{className:"grid min-h-0 flex-1 gap-0 xl:grid-cols-[340px_minmax(0,1fr)]",children:[l.jsxs("div",{className:"flex min-h-0 flex-col border-b border-slate-200 bg-slate-50/70 xl:border-b-0 xl:border-r dark:border-[#1c1c23] dark:bg-[#08080b]",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Audit Timeline"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Choose a step to inspect its request, response, and scoring context."})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:Ye.isLoading&&!Ye.data?l.jsxs("div",{className:"flex items-center gap-2 px-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading payment audit…"]}):Ye.error?l.jsx(Nr,{error:Ye.error.message}):yi.length?l.jsx("div",{className:"space-y-4",children:yi.map(N=>l.jsxs("section",{className:"space-y-2",children:[l.jsx("div",{className:"px-2",children:l.jsx(ze,{variant:DO(N.phase),children:N.phase})}),l.jsx("div",{className:"space-y-2",children:N.events.map(D=>l.jsxs("button",{type:"button",onClick:()=>{U(D.id),te("summary")},className:`w-full rounded-[22px] border px-4 py-3 text-left transition ${(Ze==null?void 0:Ze.id)===D.id?"border-brand-500/50 bg-brand-500/8":"border-slate-200 bg-white hover:border-slate-300 dark:border-[#1d1d23] dark:bg-[#0c0c10] dark:hover:border-[#2a2a31]"}`,children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:Yu(D)}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:qu(D.created_at_ms)})]}),l.jsx(ze,{variant:Wf(D),children:Tn(D.status)||IO(D.flow_type)})]}),l.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[l.jsx(ze,{variant:"gray",children:Ku(D.route)}),D.gateway?l.jsx(ze,{variant:"green",children:D.gateway}):null,D.request_id?l.jsx(ze,{variant:"blue",children:"Request"}):null]})]},D.id))})]},N.phase))}):l.jsx(Xu,{title:"No audit trail captured yet",body:"Run a simulated payment and gateway update first, then reopen the row once the audit payload is available."})})]}),l.jsxs("div",{className:"flex min-h-0 flex-col",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Ze?Yu(Ze):"Audit Inspector"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:Ze?`${Ku(Ze.route)} · ${qu(Ze.created_at_ms)}`:"Select an event from the left to inspect payloads."})]}),l.jsxs("div",{className:"flex flex-wrap gap-2",children:[Ze!=null&&Ze.gateway?l.jsx(ze,{variant:"green",children:Ze.gateway}):null,Ze!=null&&Ze.status?l.jsx(ze,{variant:Wf(Ze),children:Tn(Ze.status)}):null]})]}),l.jsx("div",{className:"mt-4 flex flex-wrap gap-2",children:["summary","input","response","raw"].map(N=>l.jsx("button",{type:"button",onClick:()=>te(N),className:`rounded-full px-4 py-2 text-xs font-semibold uppercase tracking-[0.16em] transition ${_o(ae===N)}`,children:N==="raw"?"Raw JSON":Tn(N)},N))})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-5",children:Ye.isLoading&&!Ye.data?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading inspector…"]}):ya?l.jsxs("div",{className:"space-y-5",children:[ae==="summary"?l.jsxs(l.Fragment,{children:[l.jsx(zO,{rows:ya.summaryRows}),ya.selectionReason?l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-slate-50/80 px-5 py-4 dark:border-[#1d1d23] dark:bg-[#0b0b10]",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Selection Reason"}),l.jsx("p",{className:"mt-3 text-sm leading-6 text-slate-700 dark:text-slate-200",children:wR(ya.selectionReason)})]}):null,l.jsx(Fa,{title:"Score Context",value:ya.scoreContext,emptyMessage:"No scoring context was captured for this event."}),ya.signalRecord?l.jsx(Fa,{title:"Additional Signals",value:ya.signalRecord,emptyMessage:"No additional signals were captured for this event."}):null]}):null,ae==="input"?l.jsx(Fa,{title:"Request Payload",value:ya.requestPayload,emptyMessage:"This step did not persist a request payload."}):null,ae==="response"?l.jsx(Fa,{title:"Response Payload",value:ya.responsePayload,emptyMessage:"This step did not persist a response payload."}):null,ae==="raw"?l.jsx(Fa,{title:"Raw Event JSON",value:ya.rawEvent,emptyMessage:"No raw event payload is available."}):null]}):l.jsx(Xu,{title:"Select a timeline step",body:"Choose one of the audit events on the left to inspect its request, response, and score context."})})]})]})]})]}),Q&&l.jsxs("div",{className:"fixed bottom-0 left-64 right-0 top-[76px] z-[130] p-8",children:[l.jsx("button",{type:"button","aria-label":"Close preview trace",className:"absolute inset-0 bg-slate-950/70 backdrop-blur-sm",onClick:U1}),l.jsxs("div",{role:"dialog","aria-modal":"true","aria-labelledby":"decision-explorer-preview-title",className:"relative mx-auto flex h-full w-full max-w-7xl flex-col overflow-hidden rounded-[30px] border border-slate-200 bg-white shadow-2xl dark:border-[#1c1c23] dark:bg-[#09090d]",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4 border-b border-slate-200 bg-slate-50/90 px-6 py-5 dark:border-[#1c1c23] dark:bg-[#0b0b10]",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.2em] text-slate-500 dark:text-[#8a8a93]",children:"Preview Trace"}),l.jsx("h2",{id:"decision-explorer-preview-title",className:"mt-2 truncate text-2xl font-semibold text-slate-900 dark:text-white",children:Q}),l.jsxs("p",{className:"mt-2 max-w-3xl text-sm text-slate-500 dark:text-[#8a8a93]",children:[Lt,". This is a preview-only trace captured from ",l.jsx("code",{className:"font-mono text-xs",children:"/routing/evaluate"}),", not a transaction outcome."]})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[_r!=null&&_r.latest_gateway?l.jsx(ze,{variant:"green",children:_r.latest_gateway}):null,_r!=null&&_r.latest_status?l.jsx(ze,{variant:MO(_r.latest_status),children:Tn(_r.latest_status)}):null,_r!=null&&_r.event_count?l.jsxs(ze,{variant:"gray",children:[_r.event_count," events"]}):null,l.jsxs(Ae,{size:"sm",variant:"secondary",onClick:()=>st.mutate(),children:[l.jsx(Df,{size:12}),"Refresh"]}),l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:U1,children:[l.jsx(PO,{size:14}),"Close"]})]})]}),l.jsxs("div",{className:"grid min-h-0 flex-1 gap-0 xl:grid-cols-[340px_minmax(0,1fr)]",children:[l.jsxs("div",{className:"flex min-h-0 flex-col border-b border-slate-200 bg-slate-50/70 xl:border-b-0 xl:border-r dark:border-[#1c1c23] dark:bg-[#08080b]",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Preview Timeline"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Choose a preview step to inspect its request, response, and routing output."})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:st.isLoading&&!st.data?l.jsxs("div",{className:"flex items-center gap-2 px-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading preview trace…"]}):st.error?l.jsx(Nr,{error:st.error.message}):z1.length?l.jsx("div",{className:"space-y-4",children:z1.map(N=>l.jsxs("section",{className:"space-y-2",children:[l.jsx("div",{className:"px-2",children:l.jsx(ze,{variant:DO(N.phase),children:N.phase})}),l.jsx("div",{className:"space-y-2",children:N.events.map(D=>l.jsxs("button",{type:"button",onClick:()=>{Ne(D.id),mt("summary")},className:`w-full rounded-[22px] border px-4 py-3 text-left transition ${(kt==null?void 0:kt.id)===D.id?"border-brand-500/50 bg-brand-500/8":"border-slate-200 bg-white hover:border-slate-300 dark:border-[#1d1d23] dark:bg-[#0c0c10] dark:hover:border-[#2a2a31]"}`,children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:Yu(D)}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:qu(D.created_at_ms)})]}),l.jsx(ze,{variant:Wf(D),children:Tn(D.status)||IO(D.flow_type)})]}),l.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[l.jsx(ze,{variant:"gray",children:Ku(D.route)}),D.gateway?l.jsx(ze,{variant:"green",children:D.gateway}):null]})]},D.id))})]},N.phase))}):Q?l.jsx(FO,{title:_r?"Preview summary available":"Preview trace still arriving",body:_r?"We already found the preview summary for this run, but the step-by-step timeline has not been flushed yet. The modal is still polling for detailed preview events.":"This preview was just logged. The modal is polling every second and will populate once the analytics writer flushes the trace."}):l.jsx(Xu,{title:"No preview trace captured yet",body:"Run Rule-Based or Volume Split evaluation first, then open the preview trace once the request has been logged."})})]}),l.jsxs("div",{className:"flex min-h-0 flex-col",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:kt?Yu(kt):"Preview Inspector"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:kt?`${Ku(kt.route)} · ${qu(kt.created_at_ms)}`:"Select an event from the left to inspect the preview payload."})]}),l.jsxs("div",{className:"flex flex-wrap gap-2",children:[kt!=null&&kt.gateway?l.jsx(ze,{variant:"green",children:kt.gateway}):null,kt!=null&&kt.status?l.jsx(ze,{variant:Wf(kt),children:Tn(kt.status)}):null]})]}),l.jsx("div",{className:"mt-4 flex flex-wrap gap-2",children:["summary","input","response","raw"].map(N=>l.jsx("button",{type:"button",onClick:()=>mt(N),className:`rounded-full px-4 py-2 text-xs font-semibold uppercase tracking-[0.16em] transition ${_o(dt===N)}`,children:N==="raw"?"Raw JSON":Tn(N)},N))})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-5",children:st.isLoading&&!st.data?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading preview inspector…"]}):po?l.jsxs("div",{className:"space-y-5",children:[dt==="summary"?l.jsxs(l.Fragment,{children:[l.jsx(zO,{rows:po.summaryRows}),l.jsx(Fa,{title:"Preview Signals",value:po.signalRecord,emptyMessage:"No extra preview metadata was captured for this evaluation."})]}):null,dt==="input"?l.jsx(Fa,{title:"Request Payload",value:po.requestPayload,emptyMessage:"No request payload was captured for this preview."}):null,dt==="response"?l.jsx(Fa,{title:"Response Payload",value:po.responsePayload,emptyMessage:"No response payload was captured for this preview."}):null,dt==="raw"?l.jsx(Fa,{title:"Raw Event JSON",value:po.rawEvent,emptyMessage:"No raw event payload is available for this preview."}):null]}):Q&&!((Q1=(J1=st.data)==null?void 0:J1.timeline)!=null&&Q1.length)?l.jsx(FO,{title:_r?"Waiting for detailed preview step":"Waiting for preview step",body:_r?"The preview record exists, but no inspectable step payload has arrived yet. The inspector will unlock as soon as the first timeline event is available.":"Inspector will unlock as soon as the first preview event is available."}):l.jsx(Xu,{title:"Select a preview step",body:"Choose one of the preview events on the left to inspect its request and response payload."})})]})]})]})]})]})}function Qle(){const{merchantId:e}=Nn(),{data:t,error:r,isLoading:n,isEnabled:a,setDebitRoutingEnabled:i}=hR(e),[s,o]=S.useState(!1),[u,c]=S.useState(null),[f,d]=S.useState(null);async function p(h){if(!e){c("Set a merchant ID first");return}o(!0),c(null),d(null);try{const x=await i(h);d(x.debit_routing_enabled?"Debit routing enabled for this merchant.":"Debit routing disabled for this merchant.")}catch(x){c(x instanceof Error?x.message:"Failed to update debit routing")}finally{o(!1)}}return l.jsxs("div",{className:"max-w-3xl space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold text-slate-900 dark:text-white",children:"Network / Debit Routing"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#b2bdd1]",children:"Enable debit network routing for a merchant, then test real network-routing decisions from Decision Explorer."})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Kh,{size:16,className:"text-brand-500"}),l.jsxs("div",{children:[l.jsx(an,{children:"Merchant feature flag"}),l.jsx("h2",{className:"mt-2 font-medium text-slate-800 dark:text-white",children:"Debit Routing Runtime Access"})]})]})}),l.jsxs(Be,{className:"space-y-5",children:[!e&&l.jsx("p",{className:"rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-700",children:"Set a merchant ID in the top bar to load debit routing access."}),e&&n?l.jsxs("div",{className:"flex items-center gap-2 py-4 text-sm text-slate-500",children:[l.jsx(Ft,{size:16}),"Loading debit routing flag..."]}):l.jsx("div",{className:"rounded-[24px] border border-slate-200 bg-slate-50 p-5 dark:border-[#232833] dark:bg-[#0b1017]",children:l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-slate-400 dark:text-[#6d768a]",children:"Current state"}),l.jsx("p",{className:"mt-2 text-2xl font-semibold text-slate-900 dark:text-white",children:a?"Enabled":"Disabled"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#9ca7ba]",children:(t==null?void 0:t.merchant_id)||e||"No merchant selected"})]}),l.jsx(Ae,{onClick:()=>p(!a),disabled:!e||s||n,variant:a?"secondary":"primary",children:s?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14}),"Updating..."]}):a?"Disable Debit Routing":"Enable Debit Routing"})]})}),l.jsx(Nr,{error:u||(r instanceof Error?r.message:r?"Failed to load debit routing flag":null)}),f&&l.jsx("p",{className:"text-sm text-emerald-500",children:f})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"font-medium text-slate-800 dark:text-white",children:"What This Controls"})}),l.jsxs(Be,{className:"space-y-3 text-sm text-slate-600 dark:text-[#aab5c8]",children:[l.jsxs("p",{children:["This toggle controls the backend runtime gate for ",l.jsx("code",{className:"rounded bg-slate-100 px-1.5 py-0.5 text-xs text-brand-600 dark:bg-[#111118]",children:"NtwBasedRouting"})," and hybrid debit routing."]}),l.jsx("p",{children:"Detailed debit fee tables and network cost configuration are still backend configuration, not dashboard-editable rule config. This page only enables or disables merchant access to the runtime debit-routing flow."}),l.jsxs("p",{children:["Use Decision Explorer's Debit Routing tab to send a real ",l.jsx("code",{className:"rounded bg-slate-100 px-1.5 py-0.5 text-xs text-brand-600 dark:bg-[#111118]",children:"/decide-gateway"})," request and inspect the ranked debit networks."]})]})]})]})}function eue(){for(var e=arguments.length,t=new Array(e),r=0;rn=>{t.forEach(a=>a(n))},t)}const vg=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function fu(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function O1(e){return"nodeType"in e}function dn(e){var t,r;return e?fu(e)?e:O1(e)&&(t=(r=e.ownerDocument)==null?void 0:r.defaultView)!=null?t:window:window}function N1(e){const{Document:t}=dn(e);return e instanceof t}function Hd(e){return fu(e)?!1:e instanceof dn(e).HTMLElement}function _R(e){return e instanceof dn(e).SVGElement}function pu(e){return e?fu(e)?e.document:O1(e)?N1(e)?e:Hd(e)||_R(e)?e.ownerDocument:document:document:document}const Ra=vg?S.useLayoutEffect:S.useEffect;function A1(e){const t=S.useRef(e);return Ra(()=>{t.current=e}),S.useCallback(function(){for(var r=arguments.length,n=new Array(r),a=0;a{e.current=setInterval(n,a)},[]),r=S.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,r]}function wd(e,t){t===void 0&&(t=[e]);const r=S.useRef(e);return Ra(()=>{r.current!==e&&(r.current=e)},t),r}function Gd(e,t){const r=S.useRef();return S.useMemo(()=>{const n=e(r.current);return r.current=n,n},[...t])}function Jh(e){const t=A1(e),r=S.useRef(null),n=S.useCallback(a=>{a!==r.current&&(t==null||t(a,r.current)),r.current=a},[]);return[r,n]}function rb(e){const t=S.useRef();return S.useEffect(()=>{t.current=e},[e]),t.current}let Gy={};function qd(e,t){return S.useMemo(()=>{if(t)return t;const r=Gy[e]==null?0:Gy[e]+1;return Gy[e]=r,e+"-"+r},[e,t])}function jR(e){return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),a=1;a{const o=Object.entries(s);for(const[u,c]of o){const f=i[u];f!=null&&(i[u]=f+e*c)}return i},{...t})}}const ol=jR(1),_d=jR(-1);function rue(e){return"clientX"in e&&"clientY"in e}function E1(e){if(!e)return!1;const{KeyboardEvent:t}=dn(e.target);return t&&e instanceof t}function nue(e){if(!e)return!1;const{TouchEvent:t}=dn(e.target);return t&&e instanceof t}function nb(e){if(nue(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:r}=e.touches[0];return{x:t,y:r}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:r}=e.changedTouches[0];return{x:t,y:r}}}return rue(e)?{x:e.clientX,y:e.clientY}:null}const jd=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:r}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(r?Math.round(r):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:r}=e;return"scaleX("+t+") scaleY("+r+")"}},Transform:{toString(e){if(e)return[jd.Translate.toString(e),jd.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:r,easing:n}=e;return t+" "+r+"ms "+n}}}),BO="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function aue(e){return e.matches(BO)?e:e.querySelector(BO)}const iue={display:"none"};function sue(e){let{id:t,value:r}=e;return P.createElement("div",{id:t,style:iue},r)}function oue(e){let{id:t,announcement:r,ariaLiveType:n="assertive"}=e;const a={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return P.createElement("div",{id:t,style:a,role:"status","aria-live":n,"aria-atomic":!0},r)}function lue(){const[e,t]=S.useState("");return{announce:S.useCallback(n=>{n!=null&&t(n)},[]),announcement:e}}const SR=S.createContext(null);function uue(e){const t=S.useContext(SR);S.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function cue(){const[e]=S.useState(()=>new Set),t=S.useCallback(n=>(e.add(n),()=>e.delete(n)),[e]);return[S.useCallback(n=>{let{type:a,event:i}=n;e.forEach(s=>{var o;return(o=s[a])==null?void 0:o.call(s,i)})},[e]),t]}const due={draggable:` + To pick up a draggable item, press the space bar. + While dragging, use the arrow keys to move the item. + Press space again to drop the item in its new position, or press escape to cancel. + `},fue={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:r}=e;return r?"Draggable item "+t.id+" was moved over droppable area "+r.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:r}=e;return r?"Draggable item "+t.id+" was dropped over droppable area "+r.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function pue(e){let{announcements:t=fue,container:r,hiddenTextDescribedById:n,screenReaderInstructions:a=due}=e;const{announce:i,announcement:s}=lue(),o=qd("DndLiveRegion"),[u,c]=S.useState(!1);if(S.useEffect(()=>{c(!0)},[]),uue(S.useMemo(()=>({onDragStart(d){let{active:p}=d;i(t.onDragStart({active:p}))},onDragMove(d){let{active:p,over:h}=d;t.onDragMove&&i(t.onDragMove({active:p,over:h}))},onDragOver(d){let{active:p,over:h}=d;i(t.onDragOver({active:p,over:h}))},onDragEnd(d){let{active:p,over:h}=d;i(t.onDragEnd({active:p,over:h}))},onDragCancel(d){let{active:p,over:h}=d;i(t.onDragCancel({active:p,over:h}))}}),[i,t])),!u)return null;const f=P.createElement(P.Fragment,null,P.createElement(sue,{id:n,value:a.draggable}),P.createElement(oue,{id:o,announcement:s}));return r?Bo.createPortal(f,r):f}var cr;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(cr||(cr={}));function Qh(){}function UO(e,t){return S.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function hue(){for(var e=arguments.length,t=new Array(e),r=0;r[...t].filter(n=>n!=null),[...t])}const fa=Object.freeze({x:0,y:0});function kR(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function OR(e,t){let{data:{value:r}}=e,{data:{value:n}}=t;return r-n}function mue(e,t){let{data:{value:r}}=e,{data:{value:n}}=t;return n-r}function VO(e){let{left:t,top:r,height:n,width:a}=e;return[{x:t,y:r},{x:t+a,y:r},{x:t,y:r+n},{x:t+a,y:r+n}]}function NR(e,t){if(!e||e.length===0)return null;const[r]=e;return r[t]}function WO(e,t,r){return t===void 0&&(t=e.left),r===void 0&&(r=e.top),{x:t+e.width*.5,y:r+e.height*.5}}const gue=e=>{let{collisionRect:t,droppableRects:r,droppableContainers:n}=e;const a=WO(t,t.left,t.top),i=[];for(const s of n){const{id:o}=s,u=r.get(o);if(u){const c=kR(WO(u),a);i.push({id:o,data:{droppableContainer:s,value:c}})}}return i.sort(OR)},yue=e=>{let{collisionRect:t,droppableRects:r,droppableContainers:n}=e;const a=VO(t),i=[];for(const s of n){const{id:o}=s,u=r.get(o);if(u){const c=VO(u),f=a.reduce((p,h,x)=>p+kR(c[x],h),0),d=Number((f/4).toFixed(4));i.push({id:o,data:{droppableContainer:s,value:d}})}}return i.sort(OR)};function vue(e,t){const r=Math.max(t.top,e.top),n=Math.max(t.left,e.left),a=Math.min(t.left+t.width,e.left+e.width),i=Math.min(t.top+t.height,e.top+e.height),s=a-n,o=i-r;if(n{let{collisionRect:t,droppableRects:r,droppableContainers:n}=e;const a=[];for(const i of n){const{id:s}=i,o=r.get(s);if(o){const u=vue(o,t);u>0&&a.push({id:s,data:{droppableContainer:i,value:u}})}}return a.sort(mue)};function bue(e,t,r){return{...e,scaleX:t&&r?t.width/r.width:1,scaleY:t&&r?t.height/r.height:1}}function AR(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:fa}function wue(e){return function(r){for(var n=arguments.length,a=new Array(n>1?n-1:0),i=1;i({...s,top:s.top+e*o.y,bottom:s.bottom+e*o.y,left:s.left+e*o.x,right:s.right+e*o.x}),{...r})}}const _ue=wue(1);function jue(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Sue(e,t,r){const n=jue(t);if(!n)return e;const{scaleX:a,scaleY:i,x:s,y:o}=n,u=e.left-s-(1-a)*parseFloat(r),c=e.top-o-(1-i)*parseFloat(r.slice(r.indexOf(" ")+1)),f=a?e.width/a:e.width,d=i?e.height/i:e.height;return{width:f,height:d,top:c,right:u+f,bottom:c+d,left:u}}const kue={ignoreTransform:!1};function hu(e,t){t===void 0&&(t=kue);let r=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:c,transformOrigin:f}=dn(e).getComputedStyle(e);c&&(r=Sue(r,c,f))}const{top:n,left:a,width:i,height:s,bottom:o,right:u}=r;return{top:n,left:a,width:i,height:s,bottom:o,right:u}}function HO(e){return hu(e,{ignoreTransform:!0})}function Oue(e){const t=e.innerWidth,r=e.innerHeight;return{top:0,left:0,right:t,bottom:r,width:t,height:r}}function Nue(e,t){return t===void 0&&(t=dn(e).getComputedStyle(e)),t.position==="fixed"}function Aue(e,t){t===void 0&&(t=dn(e).getComputedStyle(e));const r=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(a=>{const i=t[a];return typeof i=="string"?r.test(i):!1})}function xg(e,t){const r=[];function n(a){if(t!=null&&r.length>=t||!a)return r;if(N1(a)&&a.scrollingElement!=null&&!r.includes(a.scrollingElement))return r.push(a.scrollingElement),r;if(!Hd(a)||_R(a)||r.includes(a))return r;const i=dn(e).getComputedStyle(a);return a!==e&&Aue(a,i)&&r.push(a),Nue(a,i)?r:n(a.parentNode)}return e?n(e):r}function ER(e){const[t]=xg(e,1);return t??null}function qy(e){return!vg||!e?null:fu(e)?e:O1(e)?N1(e)||e===pu(e).scrollingElement?window:Hd(e)?e:null:null}function PR(e){return fu(e)?e.scrollX:e.scrollLeft}function CR(e){return fu(e)?e.scrollY:e.scrollTop}function ab(e){return{x:PR(e),y:CR(e)}}var vr;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(vr||(vr={}));function TR(e){return!vg||!e?!1:e===document.scrollingElement}function $R(e){const t={x:0,y:0},r=TR(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},n={x:e.scrollWidth-r.width,y:e.scrollHeight-r.height},a=e.scrollTop<=t.y,i=e.scrollLeft<=t.x,s=e.scrollTop>=n.y,o=e.scrollLeft>=n.x;return{isTop:a,isLeft:i,isBottom:s,isRight:o,maxScroll:n,minScroll:t}}const Eue={x:.2,y:.2};function Pue(e,t,r,n,a){let{top:i,left:s,right:o,bottom:u}=r;n===void 0&&(n=10),a===void 0&&(a=Eue);const{isTop:c,isBottom:f,isLeft:d,isRight:p}=$R(e),h={x:0,y:0},x={x:0,y:0},v={height:t.height*a.y,width:t.width*a.x};return!c&&i<=t.top+v.height?(h.y=vr.Backward,x.y=n*Math.abs((t.top+v.height-i)/v.height)):!f&&u>=t.bottom-v.height&&(h.y=vr.Forward,x.y=n*Math.abs((t.bottom-v.height-u)/v.height)),!p&&o>=t.right-v.width?(h.x=vr.Forward,x.x=n*Math.abs((t.right-v.width-o)/v.width)):!d&&s<=t.left+v.width&&(h.x=vr.Backward,x.x=n*Math.abs((t.left+v.width-s)/v.width)),{direction:h,speed:x}}function Cue(e){if(e===document.scrollingElement){const{innerWidth:i,innerHeight:s}=window;return{top:0,left:0,right:i,bottom:s,width:i,height:s}}const{top:t,left:r,right:n,bottom:a}=e.getBoundingClientRect();return{top:t,left:r,right:n,bottom:a,width:e.clientWidth,height:e.clientHeight}}function RR(e){return e.reduce((t,r)=>ol(t,ab(r)),fa)}function Tue(e){return e.reduce((t,r)=>t+PR(r),0)}function $ue(e){return e.reduce((t,r)=>t+CR(r),0)}function Rue(e,t){if(t===void 0&&(t=hu),!e)return;const{top:r,left:n,bottom:a,right:i}=t(e);ER(e)&&(a<=0||i<=0||r>=window.innerHeight||n>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const Iue=[["x",["left","right"],Tue],["y",["top","bottom"],$ue]];class P1{constructor(t,r){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=xg(r),a=RR(n);this.rect={...t},this.width=t.width,this.height=t.height;for(const[i,s,o]of Iue)for(const u of s)Object.defineProperty(this,u,{get:()=>{const c=o(n),f=a[i]-c;return this.rect[u]+f},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class gc{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(r=>{var n;return(n=this.target)==null?void 0:n.removeEventListener(...r)})},this.target=t}add(t,r,n){var a;(a=this.target)==null||a.addEventListener(t,r,n),this.listeners.push([t,r,n])}}function Mue(e){const{EventTarget:t}=dn(e);return e instanceof t?e:pu(e)}function Ky(e,t){const r=Math.abs(e.x),n=Math.abs(e.y);return typeof t=="number"?Math.sqrt(r**2+n**2)>t:"x"in t&&"y"in t?r>t.x&&n>t.y:"x"in t?r>t.x:"y"in t?n>t.y:!1}var $n;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})($n||($n={}));function GO(e){e.preventDefault()}function Due(e){e.stopPropagation()}var at;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"})(at||(at={}));const IR={start:[at.Space,at.Enter],cancel:[at.Esc],end:[at.Space,at.Enter,at.Tab]},Lue=(e,t)=>{let{currentCoordinates:r}=t;switch(e.code){case at.Right:return{...r,x:r.x+25};case at.Left:return{...r,x:r.x-25};case at.Down:return{...r,y:r.y+25};case at.Up:return{...r,y:r.y-25}}};class C1{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:r}}=t;this.props=t,this.listeners=new gc(pu(r)),this.windowListeners=new gc(dn(r)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add($n.Resize,this.handleCancel),this.windowListeners.add($n.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add($n.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:r}=this.props,n=t.node.current;n&&Rue(n),r(fa)}handleKeyDown(t){if(E1(t)){const{active:r,context:n,options:a}=this.props,{keyboardCodes:i=IR,coordinateGetter:s=Lue,scrollBehavior:o="smooth"}=a,{code:u}=t;if(i.end.includes(u)){this.handleEnd(t);return}if(i.cancel.includes(u)){this.handleCancel(t);return}const{collisionRect:c}=n.current,f=c?{x:c.left,y:c.top}:fa;this.referenceCoordinates||(this.referenceCoordinates=f);const d=s(t,{active:r,context:n.current,currentCoordinates:f});if(d){const p=_d(d,f),h={x:0,y:0},{scrollableAncestors:x}=n.current;for(const v of x){const g=t.code,{isTop:y,isRight:m,isLeft:w,isBottom:j,maxScroll:b,minScroll:_}=$R(v),k=Cue(v),O={x:Math.min(g===at.Right?k.right-k.width/2:k.right,Math.max(g===at.Right?k.left:k.left+k.width/2,d.x)),y:Math.min(g===at.Down?k.bottom-k.height/2:k.bottom,Math.max(g===at.Down?k.top:k.top+k.height/2,d.y))},E=g===at.Right&&!m||g===at.Left&&!w,T=g===at.Down&&!j||g===at.Up&&!y;if(E&&O.x!==d.x){const $=v.scrollLeft+p.x,A=g===at.Right&&$<=b.x||g===at.Left&&$>=_.x;if(A&&!p.y){v.scrollTo({left:$,behavior:o});return}A?h.x=v.scrollLeft-$:h.x=g===at.Right?v.scrollLeft-b.x:v.scrollLeft-_.x,h.x&&v.scrollBy({left:-h.x,behavior:o});break}else if(T&&O.y!==d.y){const $=v.scrollTop+p.y,A=g===at.Down&&$<=b.y||g===at.Up&&$>=_.y;if(A&&!p.x){v.scrollTo({top:$,behavior:o});return}A?h.y=v.scrollTop-$:h.y=g===at.Down?v.scrollTop-b.y:v.scrollTop-_.y,h.y&&v.scrollBy({top:-h.y,behavior:o});break}}this.handleMove(t,ol(_d(d,this.referenceCoordinates),h))}}}handleMove(t,r){const{onMove:n}=this.props;t.preventDefault(),n(r)}handleEnd(t){const{onEnd:r}=this.props;t.preventDefault(),this.detach(),r()}handleCancel(t){const{onCancel:r}=this.props;t.preventDefault(),this.detach(),r()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}C1.activators=[{eventName:"onKeyDown",handler:(e,t,r)=>{let{keyboardCodes:n=IR,onActivation:a}=t,{active:i}=r;const{code:s}=e.nativeEvent;if(n.start.includes(s)){const o=i.activatorNode.current;return o&&e.target!==o?!1:(e.preventDefault(),a==null||a({event:e.nativeEvent}),!0)}return!1}}];function qO(e){return!!(e&&"distance"in e)}function KO(e){return!!(e&&"delay"in e)}class T1{constructor(t,r,n){var a;n===void 0&&(n=Mue(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=r;const{event:i}=t,{target:s}=i;this.props=t,this.events=r,this.document=pu(s),this.documentListeners=new gc(this.document),this.listeners=new gc(n),this.windowListeners=new gc(dn(s)),this.initialCoordinates=(a=nb(i))!=null?a:fa,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:r,bypassActivationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),t.cancel&&this.listeners.add(t.cancel.name,this.handleCancel),this.windowListeners.add($n.Resize,this.handleCancel),this.windowListeners.add($n.DragStart,GO),this.windowListeners.add($n.VisibilityChange,this.handleCancel),this.windowListeners.add($n.ContextMenu,GO),this.documentListeners.add($n.Keydown,this.handleKeydown),r){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(KO(r)){this.timeoutId=setTimeout(this.handleStart,r.delay),this.handlePending(r);return}if(qO(r)){this.handlePending(r);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(t,r){const{active:n,onPending:a}=this.props;a(n,t,this.initialCoordinates,r)}handleStart(){const{initialCoordinates:t}=this,{onStart:r}=this.props;t&&(this.activated=!0,this.documentListeners.add($n.Click,Due,{capture:!0}),this.removeTextSelection(),this.documentListeners.add($n.SelectionChange,this.removeTextSelection),r(t))}handleMove(t){var r;const{activated:n,initialCoordinates:a,props:i}=this,{onMove:s,options:{activationConstraint:o}}=i;if(!a)return;const u=(r=nb(t))!=null?r:fa,c=_d(a,u);if(!n&&o){if(qO(o)){if(o.tolerance!=null&&Ky(c,o.tolerance))return this.handleCancel();if(Ky(c,o.distance))return this.handleStart()}if(KO(o)&&Ky(c,o.tolerance))return this.handleCancel();this.handlePending(o,c);return}t.cancelable&&t.preventDefault(),s(u)}handleEnd(){const{onAbort:t,onEnd:r}=this.props;this.detach(),this.activated||t(this.props.active),r()}handleCancel(){const{onAbort:t,onCancel:r}=this.props;this.detach(),this.activated||t(this.props.active),r()}handleKeydown(t){t.code===at.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const Fue={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class $1 extends T1{constructor(t){const{event:r}=t,n=pu(r.target);super(t,Fue,n)}}$1.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:n}=t;return!r.isPrimary||r.button!==0?!1:(n==null||n({event:r}),!0)}}];const zue={move:{name:"mousemove"},end:{name:"mouseup"}};var ib;(function(e){e[e.RightClick=2]="RightClick"})(ib||(ib={}));class Bue extends T1{constructor(t){super(t,zue,pu(t.event.target))}}Bue.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:n}=t;return r.button===ib.RightClick?!1:(n==null||n({event:r}),!0)}}];const Yy={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class Uue extends T1{constructor(t){super(t,Yy)}static setup(){return window.addEventListener(Yy.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(Yy.move.name,t)};function t(){}}}Uue.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:n}=t;const{touches:a}=r;return a.length>1?!1:(n==null||n({event:r}),!0)}}];var yc;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(yc||(yc={}));var em;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(em||(em={}));function Vue(e){let{acceleration:t,activator:r=yc.Pointer,canScroll:n,draggingRect:a,enabled:i,interval:s=5,order:o=em.TreeOrder,pointerCoordinates:u,scrollableAncestors:c,scrollableAncestorRects:f,delta:d,threshold:p}=e;const h=Hue({delta:d,disabled:!i}),[x,v]=tue(),g=S.useRef({x:0,y:0}),y=S.useRef({x:0,y:0}),m=S.useMemo(()=>{switch(r){case yc.Pointer:return u?{top:u.y,bottom:u.y,left:u.x,right:u.x}:null;case yc.DraggableRect:return a}},[r,a,u]),w=S.useRef(null),j=S.useCallback(()=>{const _=w.current;if(!_)return;const k=g.current.x*y.current.x,O=g.current.y*y.current.y;_.scrollBy(k,O)},[]),b=S.useMemo(()=>o===em.TreeOrder?[...c].reverse():c,[o,c]);S.useEffect(()=>{if(!i||!c.length||!m){v();return}for(const _ of b){if((n==null?void 0:n(_))===!1)continue;const k=c.indexOf(_),O=f[k];if(!O)continue;const{direction:E,speed:T}=Pue(_,O,m,t,p);for(const $ of["x","y"])h[$][E[$]]||(T[$]=0,E[$]=0);if(T.x>0||T.y>0){v(),w.current=_,x(j,s),g.current=T,y.current=E;return}}g.current={x:0,y:0},y.current={x:0,y:0},v()},[t,j,n,v,i,s,JSON.stringify(m),JSON.stringify(h),x,c,b,f,JSON.stringify(p)])}const Wue={x:{[vr.Backward]:!1,[vr.Forward]:!1},y:{[vr.Backward]:!1,[vr.Forward]:!1}};function Hue(e){let{delta:t,disabled:r}=e;const n=rb(t);return Gd(a=>{if(r||!n||!a)return Wue;const i={x:Math.sign(t.x-n.x),y:Math.sign(t.y-n.y)};return{x:{[vr.Backward]:a.x[vr.Backward]||i.x===-1,[vr.Forward]:a.x[vr.Forward]||i.x===1},y:{[vr.Backward]:a.y[vr.Backward]||i.y===-1,[vr.Forward]:a.y[vr.Forward]||i.y===1}}},[r,t,n])}function Gue(e,t){const r=t!=null?e.get(t):void 0,n=r?r.node.current:null;return Gd(a=>{var i;return t==null?null:(i=n??a)!=null?i:null},[n,t])}function que(e,t){return S.useMemo(()=>e.reduce((r,n)=>{const{sensor:a}=n,i=a.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,n)}));return[...r,...i]},[]),[e,t])}var Sd;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Sd||(Sd={}));var sb;(function(e){e.Optimized="optimized"})(sb||(sb={}));const YO=new Map;function Kue(e,t){let{dragging:r,dependencies:n,config:a}=t;const[i,s]=S.useState(null),{frequency:o,measure:u,strategy:c}=a,f=S.useRef(e),d=g(),p=wd(d),h=S.useCallback(function(y){y===void 0&&(y=[]),!p.current&&s(m=>m===null?y:m.concat(y.filter(w=>!m.includes(w))))},[p]),x=S.useRef(null),v=Gd(y=>{if(d&&!r)return YO;if(!y||y===YO||f.current!==e||i!=null){const m=new Map;for(let w of e){if(!w)continue;if(i&&i.length>0&&!i.includes(w.id)&&w.rect.current){m.set(w.id,w.rect.current);continue}const j=w.node.current,b=j?new P1(u(j),j):null;w.rect.current=b,b&&m.set(w.id,b)}return m}return y},[e,i,r,d,u]);return S.useEffect(()=>{f.current=e},[e]),S.useEffect(()=>{d||h()},[r,d]),S.useEffect(()=>{i&&i.length>0&&s(null)},[JSON.stringify(i)]),S.useEffect(()=>{d||typeof o!="number"||x.current!==null||(x.current=setTimeout(()=>{h(),x.current=null},o))},[o,d,h,...n]),{droppableRects:v,measureDroppableContainers:h,measuringScheduled:i!=null};function g(){switch(c){case Sd.Always:return!1;case Sd.BeforeDragging:return r;default:return!r}}}function MR(e,t){return Gd(r=>e?r||(typeof t=="function"?t(e):e):null,[t,e])}function Yue(e,t){return MR(e,t)}function Xue(e){let{callback:t,disabled:r}=e;const n=A1(t),a=S.useMemo(()=>{if(r||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:i}=window;return new i(n)},[n,r]);return S.useEffect(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function bg(e){let{callback:t,disabled:r}=e;const n=A1(t),a=S.useMemo(()=>{if(r||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:i}=window;return new i(n)},[r]);return S.useEffect(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function Zue(e){return new P1(hu(e),e)}function XO(e,t,r){t===void 0&&(t=Zue);const[n,a]=S.useState(null);function i(){a(u=>{if(!e)return null;if(e.isConnected===!1){var c;return(c=u??r)!=null?c:null}const f=t(e);return JSON.stringify(u)===JSON.stringify(f)?u:f})}const s=Xue({callback(u){if(e)for(const c of u){const{type:f,target:d}=c;if(f==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),o=bg({callback:i});return Ra(()=>{i(),e?(o==null||o.observe(e),s==null||s.observe(document.body,{childList:!0,subtree:!0})):(o==null||o.disconnect(),s==null||s.disconnect())},[e]),n}function Jue(e){const t=MR(e);return AR(e,t)}const ZO=[];function Que(e){const t=S.useRef(e),r=Gd(n=>e?n&&n!==ZO&&e&&t.current&&e.parentNode===t.current.parentNode?n:xg(e):ZO,[e]);return S.useEffect(()=>{t.current=e},[e]),r}function ece(e){const[t,r]=S.useState(null),n=S.useRef(e),a=S.useCallback(i=>{const s=qy(i.target);s&&r(o=>o?(o.set(s,ab(s)),new Map(o)):null)},[]);return S.useEffect(()=>{const i=n.current;if(e!==i){s(i);const o=e.map(u=>{const c=qy(u);return c?(c.addEventListener("scroll",a,{passive:!0}),[c,ab(c)]):null}).filter(u=>u!=null);r(o.length?new Map(o):null),n.current=e}return()=>{s(e),s(i)};function s(o){o.forEach(u=>{const c=qy(u);c==null||c.removeEventListener("scroll",a)})}},[a,e]),S.useMemo(()=>e.length?t?Array.from(t.values()).reduce((i,s)=>ol(i,s),fa):RR(e):fa,[e,t])}function JO(e,t){t===void 0&&(t=[]);const r=S.useRef(null);return S.useEffect(()=>{r.current=null},t),S.useEffect(()=>{const n=e!==fa;n&&!r.current&&(r.current=e),!n&&r.current&&(r.current=null)},[e]),r.current?_d(e,r.current):fa}function tce(e){S.useEffect(()=>{if(!vg)return;const t=e.map(r=>{let{sensor:n}=r;return n.setup==null?void 0:n.setup()});return()=>{for(const r of t)r==null||r()}},e.map(t=>{let{sensor:r}=t;return r}))}function rce(e,t){return S.useMemo(()=>e.reduce((r,n)=>{let{eventName:a,handler:i}=n;return r[a]=s=>{i(s,t)},r},{}),[e,t])}function DR(e){return S.useMemo(()=>e?Oue(e):null,[e])}const QO=[];function nce(e,t){t===void 0&&(t=hu);const[r]=e,n=DR(r?dn(r):null),[a,i]=S.useState(QO);function s(){i(()=>e.length?e.map(u=>TR(u)?n:new P1(t(u),u)):QO)}const o=bg({callback:s});return Ra(()=>{o==null||o.disconnect(),s(),e.forEach(u=>o==null?void 0:o.observe(u))},[e]),a}function ace(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Hd(t)?t:e}function ice(e){let{measure:t}=e;const[r,n]=S.useState(null),a=S.useCallback(c=>{for(const{target:f}of c)if(Hd(f)){n(d=>{const p=t(f);return d?{...d,width:p.width,height:p.height}:p});break}},[t]),i=bg({callback:a}),s=S.useCallback(c=>{const f=ace(c);i==null||i.disconnect(),f&&(i==null||i.observe(f)),n(f?t(f):null)},[t,i]),[o,u]=Jh(s);return S.useMemo(()=>({nodeRef:o,rect:r,setRef:u}),[r,o,u])}const sce=[{sensor:$1,options:{}},{sensor:C1,options:{}}],oce={current:{}},hp={draggable:{measure:HO},droppable:{measure:HO,strategy:Sd.WhileDragging,frequency:sb.Optimized},dragOverlay:{measure:hu}};class vc extends Map{get(t){var r;return t!=null&&(r=super.get(t))!=null?r:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:r}=t;return!r})}getNodeFor(t){var r,n;return(r=(n=this.get(t))==null?void 0:n.node.current)!=null?r:void 0}}const lce={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new vc,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Qh},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:hp,measureDroppableContainers:Qh,windowRect:null,measuringScheduled:!1},uce={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Qh,draggableNodes:new Map,over:null,measureDroppableContainers:Qh},wg=S.createContext(uce),LR=S.createContext(lce);function cce(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new vc}}}function dce(e,t){switch(t.type){case cr.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case cr.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case cr.DragEnd:case cr.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case cr.RegisterDroppable:{const{element:r}=t,{id:n}=r,a=new vc(e.droppable.containers);return a.set(n,r),{...e,droppable:{...e.droppable,containers:a}}}case cr.SetDroppableDisabled:{const{id:r,key:n,disabled:a}=t,i=e.droppable.containers.get(r);if(!i||n!==i.key)return e;const s=new vc(e.droppable.containers);return s.set(r,{...i,disabled:a}),{...e,droppable:{...e.droppable,containers:s}}}case cr.UnregisterDroppable:{const{id:r,key:n}=t,a=e.droppable.containers.get(r);if(!a||n!==a.key)return e;const i=new vc(e.droppable.containers);return i.delete(r),{...e,droppable:{...e.droppable,containers:i}}}default:return e}}function fce(e){let{disabled:t}=e;const{active:r,activatorEvent:n,draggableNodes:a}=S.useContext(wg),i=rb(n),s=rb(r==null?void 0:r.id);return S.useEffect(()=>{if(!t&&!n&&i&&s!=null){if(!E1(i)||document.activeElement===i.target)return;const o=a.get(s);if(!o)return;const{activatorNode:u,node:c}=o;if(!u.current&&!c.current)return;requestAnimationFrame(()=>{for(const f of[u.current,c.current]){if(!f)continue;const d=aue(f);if(d){d.focus();break}}})}},[n,t,a,s,i]),null}function pce(e,t){let{transform:r,...n}=t;return e!=null&&e.length?e.reduce((a,i)=>i({transform:a,...n}),r):r}function hce(e){return S.useMemo(()=>({draggable:{...hp.draggable,...e==null?void 0:e.draggable},droppable:{...hp.droppable,...e==null?void 0:e.droppable},dragOverlay:{...hp.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function mce(e){let{activeNode:t,measure:r,initialRect:n,config:a=!0}=e;const i=S.useRef(!1),{x:s,y:o}=typeof a=="boolean"?{x:a,y:a}:a;Ra(()=>{if(!s&&!o||!t){i.current=!1;return}if(i.current||!n)return;const c=t==null?void 0:t.node.current;if(!c||c.isConnected===!1)return;const f=r(c),d=AR(f,n);if(s||(d.x=0),o||(d.y=0),i.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const p=ER(c);p&&p.scrollBy({top:d.y,left:d.x})}},[t,s,o,n,r])}const FR=S.createContext({...fa,scaleX:1,scaleY:1});var Oi;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(Oi||(Oi={}));const gce=S.memo(function(t){var r,n,a,i;let{id:s,accessibility:o,autoScroll:u=!0,children:c,sensors:f=sce,collisionDetection:d=xue,measuring:p,modifiers:h,...x}=t;const v=S.useReducer(dce,void 0,cce),[g,y]=v,[m,w]=cue(),[j,b]=S.useState(Oi.Uninitialized),_=j===Oi.Initialized,{draggable:{active:k,nodes:O,translate:E},droppable:{containers:T}}=g,$=k!=null?O.get(k):null,A=S.useRef({initial:null,translated:null}),R=S.useMemo(()=>{var pt;return k!=null?{id:k,data:(pt=$==null?void 0:$.data)!=null?pt:oce,rect:A}:null},[k,$]),M=S.useRef(null),[L,V]=S.useState(null),[H,I]=S.useState(null),B=wd(x,Object.values(x)),W=qd("DndDescribedBy",s),G=S.useMemo(()=>T.getEnabled(),[T]),K=hce(p),{droppableRects:ee,measureDroppableContainers:q,measuringScheduled:le}=Kue(G,{dragging:_,dependencies:[E.x,E.y],config:K.droppable}),ge=Gue(O,k),$e=S.useMemo(()=>H?nb(H):null,[H]),Pe=Zt(),J=Yue(ge,K.draggable.measure);mce({activeNode:k!=null?O.get(k):null,config:Pe.layoutShiftCompensation,initialRect:J,measure:K.draggable.measure});const ue=XO(ge,K.draggable.measure,J),de=XO(ge?ge.parentElement:null),X=S.useRef({activatorEvent:null,active:null,activeNode:ge,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:O,draggingNode:null,draggingNodeRect:null,droppableContainers:T,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),we=T.getNodeFor((r=X.current.over)==null?void 0:r.id),ye=ice({measure:K.dragOverlay.measure}),qe=(n=ye.nodeRef.current)!=null?n:ge,De=_?(a=ye.rect)!=null?a:ue:null,ke=!!(ye.nodeRef.current&&ye.rect),Re=Jue(ke?null:ue),Ie=DR(qe?dn(qe):null),Oe=Que(_?we??ge:null),Ge=nce(Oe),We=pce(h,{transform:{x:E.x-Re.x,y:E.y-Re.y,scaleX:1,scaleY:1},activatorEvent:H,active:R,activeNodeRect:ue,containerNodeRect:de,draggingNodeRect:De,over:X.current.over,overlayNodeRect:ye.rect,scrollableAncestors:Oe,scrollableAncestorRects:Ge,windowRect:Ie}),C=$e?ol($e,E):null,z=ece(Oe),U=JO(z),ae=JO(z,[ue]),te=ol(We,U),Q=De?_ue(De,We):null,ne=R&&Q?d({active:R,collisionRect:Q,droppableRects:ee,droppableContainers:G,pointerCoordinates:C}):null,_e=NR(ne,"id"),[Ne,dt]=S.useState(null),mt=ke?We:ol(We,ae),Lt=bue(mt,(i=Ne==null?void 0:Ne.rect)!=null?i:null,ue),zr=S.useRef(null),Pr=S.useCallback((pt,Pt)=>{let{sensor:Ye,options:Br}=Pt;if(M.current==null)return;const st=O.get(M.current);if(!st)return;const Ct=pt.nativeEvent,Tt=new Ye({active:M.current,activeNode:st,event:Ct,options:Br,context:X,onAbort(Gt){if(!O.get(Gt))return;const{onDragAbort:mr}=B.current,Zr={id:Gt};mr==null||mr(Zr),m({type:"onDragAbort",event:Zr})},onPending(Gt,fn,mr,Zr){if(!O.get(Gt))return;const{onDragPending:ga}=B.current,pn={id:Gt,constraint:fn,initialCoordinates:mr,offset:Zr};ga==null||ga(pn),m({type:"onDragPending",event:pn})},onStart(Gt){const fn=M.current;if(fn==null)return;const mr=O.get(fn);if(!mr)return;const{onDragStart:Zr}=B.current,ma={activatorEvent:Ct,active:{id:fn,data:mr.data,rect:A}};Bo.unstable_batchedUpdates(()=>{Zr==null||Zr(ma),b(Oi.Initializing),y({type:cr.DragStart,initialCoordinates:Gt,active:fn}),m({type:"onDragStart",event:ma}),V(zr.current),I(Ct)})},onMove(Gt){y({type:cr.DragMove,coordinates:Gt})},onEnd:qn(cr.DragEnd),onCancel:qn(cr.DragCancel)});zr.current=Tt;function qn(Gt){return async function(){const{active:mr,collisions:Zr,over:ma,scrollAdjustedTranslate:ga}=X.current;let pn=null;if(mr&&ga){const{cancelDrop:Kn}=B.current;pn={activatorEvent:Ct,active:mr,collisions:Zr,delta:ga,over:ma},Gt===cr.DragEnd&&typeof Kn=="function"&&await Promise.resolve(Kn(pn))&&(Gt=cr.DragCancel)}M.current=null,Bo.unstable_batchedUpdates(()=>{y({type:Gt}),b(Oi.Uninitialized),dt(null),V(null),I(null),zr.current=null;const Kn=Gt===cr.DragEnd?"onDragEnd":"onDragCancel";if(pn){const Da=B.current[Kn];Da==null||Da(pn),m({type:Kn,event:pn})}})}}},[O]),Cr=S.useCallback((pt,Pt)=>(Ye,Br)=>{const st=Ye.nativeEvent,Ct=O.get(Br);if(M.current!==null||!Ct||st.dndKit||st.defaultPrevented)return;const Tt={active:Ct};pt(Ye,Pt.options,Tt)===!0&&(st.dndKit={capturedBy:Pt.sensor},M.current=Br,Pr(Ye,Pt))},[O,Pr]),Y=que(f,Cr);tce(f),Ra(()=>{ue&&j===Oi.Initializing&&b(Oi.Initialized)},[ue,j]),S.useEffect(()=>{const{onDragMove:pt}=B.current,{active:Pt,activatorEvent:Ye,collisions:Br,over:st}=X.current;if(!Pt||!Ye)return;const Ct={active:Pt,activatorEvent:Ye,collisions:Br,delta:{x:te.x,y:te.y},over:st};Bo.unstable_batchedUpdates(()=>{pt==null||pt(Ct),m({type:"onDragMove",event:Ct})})},[te.x,te.y]),S.useEffect(()=>{const{active:pt,activatorEvent:Pt,collisions:Ye,droppableContainers:Br,scrollAdjustedTranslate:st}=X.current;if(!pt||M.current==null||!Pt||!st)return;const{onDragOver:Ct}=B.current,Tt=Br.get(_e),qn=Tt&&Tt.rect.current?{id:Tt.id,rect:Tt.rect.current,data:Tt.data,disabled:Tt.disabled}:null,Gt={active:pt,activatorEvent:Pt,collisions:Ye,delta:{x:st.x,y:st.y},over:qn};Bo.unstable_batchedUpdates(()=>{dt(qn),Ct==null||Ct(Gt),m({type:"onDragOver",event:Gt})})},[_e]),Ra(()=>{X.current={activatorEvent:H,active:R,activeNode:ge,collisionRect:Q,collisions:ne,droppableRects:ee,draggableNodes:O,draggingNode:qe,draggingNodeRect:De,droppableContainers:T,over:Ne,scrollableAncestors:Oe,scrollAdjustedTranslate:te},A.current={initial:De,translated:Q}},[R,ge,ne,Q,O,qe,De,ee,T,Ne,Oe,te]),Vue({...Pe,delta:E,draggingRect:Q,pointerCoordinates:C,scrollableAncestors:Oe,scrollableAncestorRects:Ge});const Me=S.useMemo(()=>({active:R,activeNode:ge,activeNodeRect:ue,activatorEvent:H,collisions:ne,containerNodeRect:de,dragOverlay:ye,draggableNodes:O,droppableContainers:T,droppableRects:ee,over:Ne,measureDroppableContainers:q,scrollableAncestors:Oe,scrollableAncestorRects:Ge,measuringConfiguration:K,measuringScheduled:le,windowRect:Ie}),[R,ge,ue,H,ne,de,ye,O,T,ee,Ne,q,Oe,Ge,K,le,Ie]),ft=S.useMemo(()=>({activatorEvent:H,activators:Y,active:R,activeNodeRect:ue,ariaDescribedById:{draggable:W},dispatch:y,draggableNodes:O,over:Ne,measureDroppableContainers:q}),[H,Y,R,ue,y,W,O,Ne,q]);return P.createElement(SR.Provider,{value:w},P.createElement(wg.Provider,{value:ft},P.createElement(LR.Provider,{value:Me},P.createElement(FR.Provider,{value:Lt},c)),P.createElement(fce,{disabled:(o==null?void 0:o.restoreFocus)===!1})),P.createElement(pue,{...o,hiddenTextDescribedById:W}));function Zt(){const pt=(L==null?void 0:L.autoScrollEnabled)===!1,Pt=typeof u=="object"?u.enabled===!1:u===!1,Ye=_&&!pt&&!Pt;return typeof u=="object"?{...u,enabled:Ye}:{enabled:Ye}}}),yce=S.createContext(null),eN="button",vce="Draggable";function xce(e){let{id:t,data:r,disabled:n=!1,attributes:a}=e;const i=qd(vce),{activators:s,activatorEvent:o,active:u,activeNodeRect:c,ariaDescribedById:f,draggableNodes:d,over:p}=S.useContext(wg),{role:h=eN,roleDescription:x="draggable",tabIndex:v=0}=a??{},g=(u==null?void 0:u.id)===t,y=S.useContext(g?FR:yce),[m,w]=Jh(),[j,b]=Jh(),_=rce(s,t),k=wd(r);Ra(()=>(d.set(t,{id:t,key:i,node:m,activatorNode:j,data:k}),()=>{const E=d.get(t);E&&E.key===i&&d.delete(t)}),[d,t]);const O=S.useMemo(()=>({role:h,tabIndex:v,"aria-disabled":n,"aria-pressed":g&&h===eN?!0:void 0,"aria-roledescription":x,"aria-describedby":f.draggable}),[n,h,v,g,x,f.draggable]);return{active:u,activatorEvent:o,activeNodeRect:c,attributes:O,isDragging:g,listeners:n?void 0:_,node:m,over:p,setNodeRef:w,setActivatorNodeRef:b,transform:y}}function bce(){return S.useContext(LR)}const wce="Droppable",_ce={timeout:25};function jce(e){let{data:t,disabled:r=!1,id:n,resizeObserverConfig:a}=e;const i=qd(wce),{active:s,dispatch:o,over:u,measureDroppableContainers:c}=S.useContext(wg),f=S.useRef({disabled:r}),d=S.useRef(!1),p=S.useRef(null),h=S.useRef(null),{disabled:x,updateMeasurementsFor:v,timeout:g}={..._ce,...a},y=wd(v??n),m=S.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{c(Array.isArray(y.current)?y.current:[y.current]),h.current=null},g)},[g]),w=bg({callback:m,disabled:x||!s}),j=S.useCallback((O,E)=>{w&&(E&&(w.unobserve(E),d.current=!1),O&&w.observe(O))},[w]),[b,_]=Jh(j),k=wd(t);return S.useEffect(()=>{!w||!b.current||(w.disconnect(),d.current=!1,w.observe(b.current))},[b,w]),S.useEffect(()=>(o({type:cr.RegisterDroppable,element:{id:n,key:i,disabled:r,node:b,rect:p,data:k}}),()=>o({type:cr.UnregisterDroppable,key:i,id:n})),[n]),S.useEffect(()=>{r!==f.current.disabled&&(o({type:cr.SetDroppableDisabled,id:n,key:i,disabled:r}),f.current.disabled=r)},[n,i,r,o]),{active:s,rect:p,isOver:(u==null?void 0:u.id)===n,node:b,over:u,setNodeRef:_}}function R1(e,t,r){const n=e.slice();return n.splice(r<0?n.length+r:r,0,n.splice(t,1)[0]),n}function Sce(e,t){return e.reduce((r,n,a)=>{const i=t.get(n);return i&&(r[a]=i),r},Array(e.length))}function Hf(e){return e!==null&&e>=0}function kce(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0;r{let{rects:t,activeIndex:r,overIndex:n,index:a}=e;const i=R1(t,n,r),s=t[a],o=i[a];return!o||!s?null:{x:o.left-s.left,y:o.top-s.top,scaleX:o.width/s.width,scaleY:o.height/s.height}},Gf={scaleX:1,scaleY:1},Nce=e=>{var t;let{activeIndex:r,activeNodeRect:n,index:a,rects:i,overIndex:s}=e;const o=(t=i[r])!=null?t:n;if(!o)return null;if(a===r){const c=i[s];return c?{x:0,y:rr&&a<=s?{x:0,y:-o.height-u,...Gf}:a=s?{x:0,y:o.height+u,...Gf}:{x:0,y:0,...Gf}};function Ace(e,t,r){const n=e[t],a=e[t-1],i=e[t+1];return n?rn.map(_=>typeof _=="object"&&"id"in _?_.id:_),[n]),x=s!=null,v=s?h.indexOf(s.id):-1,g=c?h.indexOf(c.id):-1,y=S.useRef(h),m=!kce(h,y.current),w=g!==-1&&v===-1||m,j=Oce(i);Ra(()=>{m&&x&&f(h)},[m,h,x,f]),S.useEffect(()=>{y.current=h},[h]);const b=S.useMemo(()=>({activeIndex:v,containerId:d,disabled:j,disableTransforms:w,items:h,overIndex:g,useDragOverlay:p,sortedRects:Sce(h,u),strategy:a}),[v,d,j.draggable,j.droppable,w,h,g,u,p,a]);return P.createElement(UR.Provider,{value:b},t)}const Pce=e=>{let{id:t,items:r,activeIndex:n,overIndex:a}=e;return R1(r,n,a).indexOf(t)},Cce=e=>{let{containerId:t,isSorting:r,wasDragging:n,index:a,items:i,newIndex:s,previousItems:o,previousContainerId:u,transition:c}=e;return!c||!n||o!==i&&a===s?!1:r?!0:s!==a&&t===u},Tce={duration:200,easing:"ease"},VR="transform",$ce=jd.Transition.toString({property:VR,duration:0,easing:"linear"}),Rce={roleDescription:"sortable"};function Ice(e){let{disabled:t,index:r,node:n,rect:a}=e;const[i,s]=S.useState(null),o=S.useRef(r);return Ra(()=>{if(!t&&r!==o.current&&n.current){const u=a.current;if(u){const c=hu(n.current,{ignoreTransform:!0}),f={x:u.left-c.left,y:u.top-c.top,scaleX:u.width/c.width,scaleY:u.height/c.height};(f.x||f.y)&&s(f)}}r!==o.current&&(o.current=r)},[t,r,n,a]),S.useEffect(()=>{i&&s(null)},[i]),i}function Mce(e){let{animateLayoutChanges:t=Cce,attributes:r,disabled:n,data:a,getNewIndex:i=Pce,id:s,strategy:o,resizeObserverConfig:u,transition:c=Tce}=e;const{items:f,containerId:d,activeIndex:p,disabled:h,disableTransforms:x,sortedRects:v,overIndex:g,useDragOverlay:y,strategy:m}=S.useContext(UR),w=Dce(n,h),j=f.indexOf(s),b=S.useMemo(()=>({sortable:{containerId:d,index:j,items:f},...a}),[d,a,j,f]),_=S.useMemo(()=>f.slice(f.indexOf(s)),[f,s]),{rect:k,node:O,isOver:E,setNodeRef:T}=jce({id:s,data:b,disabled:w.droppable,resizeObserverConfig:{updateMeasurementsFor:_,...u}}),{active:$,activatorEvent:A,activeNodeRect:R,attributes:M,setNodeRef:L,listeners:V,isDragging:H,over:I,setActivatorNodeRef:B,transform:W}=xce({id:s,data:b,attributes:{...Rce,...r},disabled:w.draggable}),G=eue(T,L),K=!!$,ee=K&&!x&&Hf(p)&&Hf(g),q=!y&&H,le=q&&ee?W:null,$e=ee?le??(o??m)({rects:v,activeNodeRect:R,activeIndex:p,overIndex:g,index:j}):null,Pe=Hf(p)&&Hf(g)?i({id:s,items:f,activeIndex:p,overIndex:g}):j,J=$==null?void 0:$.id,ue=S.useRef({activeId:J,items:f,newIndex:Pe,containerId:d}),de=f!==ue.current.items,X=t({active:$,containerId:d,isDragging:H,isSorting:K,id:s,index:j,items:f,newIndex:ue.current.newIndex,previousItems:ue.current.items,previousContainerId:ue.current.containerId,transition:c,wasDragging:ue.current.activeId!=null}),we=Ice({disabled:!X,index:j,node:O,rect:k});return S.useEffect(()=>{K&&ue.current.newIndex!==Pe&&(ue.current.newIndex=Pe),d!==ue.current.containerId&&(ue.current.containerId=d),f!==ue.current.items&&(ue.current.items=f)},[K,Pe,d,f]),S.useEffect(()=>{if(J===ue.current.activeId)return;if(J&&!ue.current.activeId){ue.current.activeId=J;return}const qe=setTimeout(()=>{ue.current.activeId=J},50);return()=>clearTimeout(qe)},[J]),{active:$,activeIndex:p,attributes:M,data:b,rect:k,index:j,newIndex:Pe,items:f,isOver:E,isSorting:K,isDragging:H,listeners:V,node:O,overIndex:g,over:I,setNodeRef:G,setActivatorNodeRef:B,setDroppableNodeRef:T,setDraggableNodeRef:L,transform:we??$e,transition:ye()};function ye(){if(we||de&&ue.current.newIndex===j)return $ce;if(!(q&&!E1(A)||!c)&&(K||X))return jd.Transition.toString({...c,property:VR})}}function Dce(e,t){var r,n;return typeof e=="boolean"?{draggable:e,droppable:!1}:{draggable:(r=e==null?void 0:e.draggable)!=null?r:t.draggable,droppable:(n=e==null?void 0:e.droppable)!=null?n:t.droppable}}function tm(e){if(!e)return!1;const t=e.data.current;return!!(t&&"sortable"in t&&typeof t.sortable=="object"&&"containerId"in t.sortable&&"items"in t.sortable&&"index"in t.sortable)}const Lce=[at.Down,at.Right,at.Up,at.Left],Fce=(e,t)=>{let{context:{active:r,collisionRect:n,droppableRects:a,droppableContainers:i,over:s,scrollableAncestors:o}}=t;if(Lce.includes(e.code)){if(e.preventDefault(),!r||!n)return;const u=[];i.getEnabled().forEach(d=>{if(!d||d!=null&&d.disabled)return;const p=a.get(d.id);if(p)switch(e.code){case at.Down:n.topp.top&&u.push(d);break;case at.Left:n.left>p.left&&u.push(d);break;case at.Right:n.left1&&(f=c[1].id),f!=null){const d=i.get(r.id),p=i.get(f),h=p?a.get(p.id):null,x=p==null?void 0:p.node.current;if(x&&h&&d&&p){const g=xg(x).some((_,k)=>o[k]!==_),y=WR(d,p),m=zce(d,p),w=g||!y?{x:0,y:0}:{x:m?n.width-h.width:0,y:m?n.height-h.height:0},j={x:h.left,y:h.top};return w.x&&w.y?j:_d(j,w)}}}};function WR(e,t){return!tm(e)||!tm(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function zce(e,t){return!tm(e)||!tm(t)||!WR(e,t)?!1:e.data.current.sortable.index":"greater_than","<":"less_than",">=":"greater_than_equal","<=":"less_than_equal"};function Uce({id:e,name:t,onRemove:r}){const{attributes:n,listeners:a,setNodeRef:i,transform:s,transition:o}=Mce({id:e}),u={transform:jd.Transform.toString(s),transition:o};return l.jsxs("div",{ref:i,style:u,className:"flex items-center gap-2 bg-slate-100 dark:bg-[#111118] border border-slate-200 dark:border-[#1c1c24] rounded-lg px-2 py-1.5",children:[l.jsx("span",{...n,...a,className:"cursor-grab text-slate-400",children:l.jsx(fle,{size:14})}),l.jsx("span",{className:"text-sm flex-1 font-mono",children:t}),l.jsx("button",{type:"button",onClick:r,className:"text-red-400 hover:text-red-600",children:l.jsx(di,{size:12})})]})}function HR({gateways:e,onChange:t}){const[r,n]=S.useState(""),[a,i]=S.useState(""),s=hue(UO($1),UO(C1,{coordinateGetter:Fce}));function o(c){const{active:f,over:d}=c;if(d&&f.id!==d.id){const p=e.findIndex(x=>x.id===f.id),h=e.findIndex(x=>x.id===d.id);t(R1(e,p,h))}}function u(){r.trim()&&(t([...e,{id:crypto.randomUUID(),gatewayName:r.trim(),gatewayId:a.trim()}]),n(""),i(""))}return l.jsxs("div",{className:"space-y-2",children:[l.jsx(gce,{sensors:s,collisionDetection:gue,onDragEnd:o,children:l.jsx(Ece,{items:e.map(c=>c.id),strategy:Nce,children:e.map((c,f)=>l.jsx(Uce,{id:c.id,name:`${f+1}. ${c.gatewayName}${c.gatewayId?` (${c.gatewayId})`:""}`,onRemove:()=>t(e.filter(d=>d.id!==c.id))},c.id))})}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx("input",{value:r,onChange:c=>n(c.target.value),onKeyDown:c=>c.key==="Enter"&&(c.preventDefault(),u()),placeholder:"gateway_name",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{value:a,onChange:c=>i(c.target.value),onKeyDown:c=>c.key==="Enter"&&(c.preventDefault(),u()),placeholder:"gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsxs(Ae,{type:"button",size:"sm",variant:"secondary",onClick:u,children:[l.jsx(ci,{size:13})," Add"]})]})]})}function GR({gateways:e,onChange:t}){const[r,n]=S.useState(""),[a,i]=S.useState(""),s=e.reduce((u,c)=>u+c.split,0);function o(){r.trim()&&(t([...e,{id:crypto.randomUUID(),gatewayName:r.trim(),gatewayId:a.trim(),split:0}]),n(""),i(""))}return l.jsxs("div",{className:"space-y-2",children:[e.map(u=>l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("input",{value:u.gatewayName,onChange:c=>t(e.map(f=>f.id===u.id?{...f,gatewayName:c.target.value}:f)),placeholder:"gateway_name",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs w-32 focus:outline-none"}),l.jsx("input",{value:u.gatewayId,onChange:c=>t(e.map(f=>f.id===u.id?{...f,gatewayId:c.target.value}:f)),placeholder:"gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs w-28 focus:outline-none"}),l.jsx("input",{type:"range",min:0,max:100,value:u.split,onChange:c=>t(e.map(f=>f.id===u.id?{...f,split:Number(c.target.value)}:f)),className:"flex-1 accent-brand-500"}),l.jsxs("span",{className:"text-sm w-10 text-right",children:[u.split,"%"]}),l.jsx("button",{type:"button",onClick:()=>t(e.filter(c=>c.id!==u.id)),className:"text-red-400 hover:text-red-600",children:l.jsx(di,{size:12})})]},u.id)),l.jsxs("div",{className:`text-xs font-medium ${s===100?"text-emerald-400":"text-red-400"}`,children:["Total: ",s,"% ",s!==100&&"(must equal 100)"]}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx("input",{value:r,onChange:u=>n(u.target.value),onKeyDown:u=>u.key==="Enter"&&(u.preventDefault(),o()),placeholder:"gateway_name",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{value:a,onChange:u=>i(u.target.value),onKeyDown:u=>u.key==="Enter"&&(u.preventDefault(),o()),placeholder:"gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsxs(Ae,{type:"button",size:"sm",variant:"secondary",onClick:o,children:[l.jsx(ci,{size:13})," Add"]})]})]})}function Vce({row:e,onChange:t,onRemove:r,routingKeys:n}){var u;const a=n[e.lhs],i=(a==null?void 0:a.type)==="enum",o=(a==null?void 0:a.type)==="integer"?[">","<",">=","<=","==","!="]:["==","!="];return l.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[l.jsx("select",{value:e.lhs,onChange:c=>t({...e,lhs:c.target.value,value:"",operator:"=="}),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs focus:outline-none",children:Object.keys(n).map(c=>l.jsx("option",{value:c,children:c},c))}),l.jsx("select",{value:e.operator,onChange:c=>t({...e,operator:c.target.value}),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs focus:outline-none",children:o.map(c=>l.jsx("option",{value:c,children:c},c))}),i?l.jsxs("select",{value:e.value,onChange:c=>t({...e,value:c.target.value}),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs focus:outline-none",children:[l.jsx("option",{value:"",children:"select..."}),(((u=n[e.lhs])==null?void 0:u.values)||[]).map(c=>l.jsx("option",{value:c,children:c},c))]}):l.jsx("input",{type:"number",value:e.value,onChange:c=>t({...e,value:c.target.value}),placeholder:"value",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs w-24 focus:outline-none"}),l.jsx("button",{type:"button",onClick:r,className:"text-red-400 hover:text-red-600",children:l.jsx(di,{size:12})})]})}function Wce({block:e,onChange:t,onRemove:r,routingKeys:n}){var f;const[a,i]=S.useState(!1),s=Object.keys(n)[0]||"payment_method",u=(((f=n[s])==null?void 0:f.values)||[])[0]||"";function c(){t({...e,conditions:[...e.conditions,{id:crypto.randomUUID(),lhs:s,operator:"==",value:u}]})}return l.jsxs("div",{className:"border border-slate-200 dark:border-[#1c1c24] rounded-xl",children:[l.jsxs("div",{className:"flex items-center justify-between px-4 py-2.5 bg-[#0d0d12] rounded-t-xl cursor-pointer",onClick:()=>i(!a),children:[l.jsx("input",{value:e.name,onChange:d=>{d.stopPropagation(),t({...e,name:d.target.value})},onClick:d=>d.stopPropagation(),placeholder:"Rule name",className:"bg-transparent text-sm font-medium focus:outline-none border-b border-transparent focus:border-[#28282f] text-slate-900"}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("button",{type:"button",onClick:d=>{d.stopPropagation(),r()},className:"text-red-400 hover:text-red-600",children:l.jsx(di,{size:14})}),a?l.jsx(ks,{size:14}):l.jsx(No,{size:14})]})]}),!a&&l.jsxs("div",{className:"px-4 py-3 space-y-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 mb-2",children:"CONDITIONS"}),l.jsxs("div",{className:"space-y-2",children:[e.conditions.map(d=>l.jsx(Vce,{row:d,routingKeys:n,onChange:p=>t({...e,conditions:e.conditions.map(h=>h.id===d.id?p:h)}),onRemove:()=>t({...e,conditions:e.conditions.filter(p=>p.id!==d.id)})},d.id)),l.jsxs(Ae,{type:"button",variant:"ghost",size:"sm",onClick:c,children:[l.jsx(ci,{size:12})," Add Condition"]})]})]}),l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 mb-2",children:"OUTPUT"}),l.jsx("div",{className:"flex gap-4 mb-3",children:["priority","volume_split"].map(d=>l.jsxs("label",{className:"flex items-center gap-1.5 text-xs cursor-pointer",children:[l.jsx("input",{type:"radio",checked:e.outputType===d,onChange:()=>t({...e,outputType:d}),className:"accent-brand-500"}),d==="priority"?"Priority":"Volume Split"]},d))}),e.outputType==="priority"?l.jsx(HR,{gateways:e.priorityGateways,onChange:d=>t({...e,priorityGateways:d})}):l.jsx(GR,{gateways:e.volumeGateways,onChange:d=>t({...e,volumeGateways:d})})]})]})]})}function Hce(e,t,r){function n(i,s,o){return i==="priority"?{priority:s.map(u=>({gateway_name:u.gatewayName,gateway_id:u.gatewayId||null}))}:{volume_split:o.map(u=>({split:u.split,output:{gateway_name:u.gatewayName,gateway_id:u.gatewayId||null}}))}}function a(i){return i==="priority"?"priority":"volume_split"}return{globals:{},default_selection:n(t.type,t.priorityGateways,t.volumeGateways),rules:e.map(i=>({name:i.name,routing_type:a(i.outputType),output:n(i.outputType,i.priorityGateways,i.volumeGateways),statements:[{condition:i.conditions.map(s=>{var o,u;return{lhs:s.lhs,comparison:Bce[s.operator]||s.operator,value:{type:((o=r[s.lhs])==null?void 0:o.type)==="integer"?"number":"enum_variant",value:((u=r[s.lhs])==null?void 0:u.type)==="integer"?Number(s.value):s.value},metadata:{}}})}]}))}}function Gce(){const{merchantId:e}=Nn(),{routingKeysConfig:t,isLoading:r,error:n}=pR(),a=t,i=Object.keys(a).length>0,s=!r&&(!i||!!n),[o,u]=S.useState(""),[c,f]=S.useState(""),[d,p]=S.useState([]),[h,x]=S.useState({type:"priority",priorityGateways:[],volumeGateways:[]}),[v,g]=S.useState(!1),[y,m]=S.useState(!1),[w,j]=S.useState(null),[b,_]=S.useState(null),[k,O]=S.useState(!1),[E,T]=S.useState(null),[$,A]=S.useState(!1),[R,M]=S.useState(new Set),{data:L,mutate:V}=Xt(e?`/routing/list/${e}`:null,()=>zt(`/routing/list/${e}`)),{data:H}=Xt(e?`/routing/list/active/${e}`:null,()=>zt(`/routing/list/active/${e}`)),I=new Set((H||[]).map(q=>q.id)),B=Hce(d,h,a);async function W(q){if(q.preventDefault(),!e){j("Set a Merchant ID first.");return}if(s){j("Routing key config is unavailable. Ensure backend /config/routing-keys is reachable and valid.");return}if(!o.trim()){j("Rule name is required.");return}m(!0),j(null),_(null);try{const le=await zt("/routing/create",{name:o.trim(),description:c,created_by:e,algorithm_for:"payment",algorithm:{type:"advanced",data:B}});_(le.id),V()}catch(le){j(String(le))}finally{m(!1)}}async function G(q){if(e){O(!0),T(null),A(!1);try{await zt("/routing/activate",{created_by:e,routing_algorithm_id:q}),A(!0),V()}catch(le){T(String(le))}finally{O(!1)}}}function K(q){M(le=>{const ge=new Set(le);return ge.has(q)?ge.delete(q):ge.add(q),ge})}function ee(){p(q=>[...q,{id:crypto.randomUUID(),name:`Rule ${q.length+1}`,conditions:[],outputType:"priority",priorityGateways:[],volumeGateways:[]}])}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900",children:"Rule-Based Routing"}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:"Create declarative routing rules"})]}),l.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[l.jsxs("div",{className:"lg:col-span-1 space-y-3",children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Existing Rules"})}),l.jsx(Be,{className:"p-0",children:e?L?L.length===0?l.jsx("p",{className:"px-4 py-3 text-sm text-slate-400",children:"No rules yet."}):l.jsx("div",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:L.map(q=>{const le=I.has(q.id),ge=R.has(q.id),$e=q.algorithm_data||q.algorithm;return l.jsxs("div",{children:[l.jsxs("div",{className:"flex flex-col gap-3 px-4 py-3 sm:flex-row sm:items-start sm:justify-between",children:[l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsx("p",{className:"truncate font-medium",children:q.name}),l.jsx("p",{className:"text-xs text-slate-400 capitalize",children:$e==null?void 0:$e.type})]}),l.jsxs("div",{className:"flex shrink-0 flex-wrap items-center gap-2 sm:justify-end",children:[l.jsx(ze,{variant:le?"green":"gray",children:le?"Active":"Inactive"}),l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:()=>K(q.id),children:[l.jsx(Wd,{size:14,className:"mr-1"}),ge?"Hide":"View"]}),!le&&l.jsx(Ae,{size:"sm",variant:"ghost",onClick:()=>G(q.id),disabled:k,children:"Activate"})]})]}),ge&&l.jsx("div",{className:"bg-slate-50 px-4 py-3 dark:bg-[#151518]",children:l.jsxs("div",{className:"space-y-2 text-xs text-slate-600",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"ID:"})," ",q.id]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Description:"})," ",q.description||"N/A"]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Algorithm For:"})," ",q.algorithm_for]}),q.created_at&&l.jsxs("p",{children:[l.jsx("strong",{children:"Created:"})," ",new Date(q.created_at).toLocaleString()]}),l.jsxs("div",{children:[l.jsx("strong",{children:"Configuration:"}),l.jsx("pre",{className:"mt-1 max-h-48 overflow-auto rounded border border-transparent bg-slate-100 p-2 text-xs dark:border-[#222226] dark:bg-[#0f0f11]",children:JSON.stringify($e,null,2)})]})]})})]},q.id)})}):l.jsx("p",{className:"px-4 py-3 text-sm text-slate-400",children:"Loading..."}):l.jsx("p",{className:"px-4 py-3 text-sm text-slate-400",children:"Set merchant ID to load rules."})})]}),E&&l.jsx(Nr,{error:E}),$&&l.jsx("div",{className:"rounded-lg border border-emerald-500/20 bg-emerald-500/8 px-3 py-2 text-sm text-emerald-400",children:"Rule activated successfully."})]}),l.jsxs("div",{className:"lg:col-span-2 space-y-4",children:[l.jsx("form",{onSubmit:W,className:"space-y-4",children:l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Rule Builder"})}),l.jsxs(Be,{className:"space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs text-slate-500 mb-1",children:"Rule Name *"}),l.jsx("input",{value:o,onChange:q=>u(q.target.value),placeholder:"my-rule",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs text-slate-500 mb-1",children:"Description"}),l.jsx("input",{value:c,onChange:q=>f(q.target.value),placeholder:"Optional description",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 uppercase tracking-wide",children:"Rules"}),r&&l.jsx("p",{className:"text-sm text-slate-500",children:"Loading routing keys from backend..."}),s&&l.jsx(Nr,{error:"Routing keys are unavailable from backend (/config/routing-keys). Rule Builder is disabled until this is fixed."}),d.map(q=>l.jsx(Wce,{block:q,routingKeys:a,onChange:le=>p(ge=>ge.map($e=>$e.id===q.id?le:$e)),onRemove:()=>p(le=>le.filter(ge=>ge.id!==q.id))},q.id)),l.jsxs(Ae,{type:"button",variant:"secondary",size:"sm",onClick:ee,disabled:s,children:[l.jsx(ci,{size:14})," Add Rule Block"]})]}),l.jsxs("div",{className:"border border-slate-200 dark:border-[#1c1c24] rounded-xl px-4 py-3",children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 mb-2",children:"DEFAULT SELECTION (Fallback)"}),l.jsx("div",{className:"flex gap-4 mb-3",children:["priority","volume_split"].map(q=>l.jsxs("label",{className:"flex items-center gap-1.5 text-xs cursor-pointer",children:[l.jsx("input",{type:"radio",checked:h.type===q,onChange:()=>x({...h,type:q}),className:"accent-brand-500"}),q==="priority"?"Priority":"Volume Split"]},q))}),h.type==="priority"?l.jsx(HR,{gateways:h.priorityGateways,onChange:q=>x({...h,priorityGateways:q})}):l.jsx(GR,{gateways:h.volumeGateways,onChange:q=>x({...h,volumeGateways:q})})]}),l.jsx(Nr,{error:w}),b&&l.jsxs("div",{className:"rounded-lg border border-emerald-500/20 bg-emerald-500/8 px-3 py-2 text-sm text-emerald-400 flex items-center justify-between",children:[l.jsxs("span",{children:["Rule created (ID: ",b,")"]}),l.jsx(Ae,{type:"button",size:"sm",onClick:()=>G(b),disabled:k,children:"Activate Now"})]}),l.jsxs("div",{className:"flex gap-3",children:[l.jsx(Ae,{type:"submit",disabled:y||s,children:y?"Creating...":"Create Rule"}),l.jsx(Ae,{type:"button",variant:"secondary",size:"sm",onClick:()=>g(!v),children:v?"Hide JSON":"Preview JSON"})]})]})]})}),v&&l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"JSON Preview"})}),l.jsx(Be,{children:l.jsx("pre",{className:"text-xs text-slate-600 overflow-auto max-h-64 bg-[#07070b] rounded-lg p-4 font-mono border border-slate-200 dark:border-[#1c1c24]",children:JSON.stringify({name:o,description:c,created_by:e,algorithm_for:"payment",algorithm:{type:"advanced",data:B}},null,2)})})]})]})]})]})}const Xy=[{value:"15m",label:"15m",detail:"Last 15 mins",badge:"Live 15m",summaryLabel:"Errors last 15 mins"},{value:"1h",label:"1h",detail:"Last hour",badge:"Live 1h",summaryLabel:"Errors last hour"},{value:"12h",label:"12h",detail:"Last 12 hours",badge:"Live 12h",summaryLabel:"Errors last 12 hours"},{value:"1d",label:"1 day",detail:"Last 1 day",badge:"Live 1d",summaryLabel:"Errors last 1 day"},{value:"1w",label:"1 week",detail:"Last 1 week",badge:"Live 1w",summaryLabel:"Errors last 1 week"}];function qce(){const[e,t]=S.useState("loading");return S.useEffect(()=>{ui("/health").then(()=>t("up")).catch(()=>t("down"))},[]),e}function qf(e){return new Intl.NumberFormat(void 0,{notation:"compact",maximumFractionDigits:e&&e<100?1:0}).format(e||0)}function Zy(e){return e==null||Number.isNaN(e)?"0%":`${e.toFixed(e>=100?0:1)}%`}function Kce(e){return e==="up"?"Healthy":e==="down"?"Needs attention":"Checking"}function Jy({label:e,value:t,detail:r}){return l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-white px-4 py-4 dark:border-[#2a303a] dark:bg-[#161b24]",children:[l.jsx(an,{children:e}),l.jsx("p",{className:"mt-3 text-2xl font-semibold tracking-tight text-slate-950 dark:text-white",children:t}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#b2bdd1]",children:r})]})}function Kf({icon:e,label:t,value:r,detail:n}){return l.jsx(Se,{className:"p-5",children:l.jsxs("div",{className:"flex items-start justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx(an,{children:t}),l.jsx("p",{className:"mt-4 text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:r}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:n})]}),l.jsx("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(e,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})})]})})}function Yce(){return l.jsxs("div",{className:"grid gap-5 pt-8 lg:grid-cols-[1.1fr_0.9fr]",children:[l.jsxs(Se,{className:"p-7",children:[l.jsx(an,{children:"Merchant session required"}),l.jsx("h2",{className:"mt-4 max-w-xl text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:"Sign in with a merchant account to turn this into a live overview."}),l.jsx("p",{className:"mt-4 max-w-xl text-sm leading-7 text-slate-600 dark:text-[#b2bdd1]",children:"Analytics now derive merchant scope from your authenticated session. Once you are signed in, this page shows service health, active routing, request count, and gateway activity without needing analytics query params for merchant selection."})]}),l.jsx(Se,{className:"p-7",children:l.jsx("div",{className:"space-y-5",children:[{icon:sl,title:"System status",text:"Check whether the service is reachable."},{icon:mc,title:"Routing setup",text:"See whether a strategy is configured."},{icon:Gh,title:"Gateway activity",text:"View recent request distribution by gateway."}].map(e=>l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(e.icon,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:e.title}),l.jsx("p",{className:"mt-1 text-sm leading-6 text-slate-600 dark:text-[#b2bdd1]",children:e.text})]})]},e.title))})})]})}function tN({label:e}){return l.jsxs("div",{className:"overflow-hidden rounded-[22px] border border-brand-500/20 bg-white shadow-[0_10px_30px_-24px_rgba(0,105,237,0.9)] dark:bg-[#0c0c0e]",children:[l.jsx("div",{className:"h-2 w-full bg-brand-500/15",children:l.jsx("div",{className:"h-full origin-left animate-[analytics-progress_1.8s_ease-in-out_infinite] rounded-r-full bg-brand-500"})}),l.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-3",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Ft,{size:14}),l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:e})]}),l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-brand-600 dark:text-brand-300",children:"Loading"})]})]})}function Xce(){var T,$,A,R,M,L,V,H,I,B,W;const e=is(),{merchantId:t}=Nn(),r=ua(G=>{var K;return((K=G.user)==null?void 0:K.merchantId)||""}),n=t||r,a=qce(),[i,s]=S.useState("1d"),{data:o}=Xt(n?`/routing/list/active/${n}`:null,()=>zt(`/routing/list/active/${n}`),{shouldRetryOnError:!1}),{data:u}=Xt(n?["/rule/get","successRate",n]:null,()=>zt("/rule/get",{merchant_id:n,algorithm:"successRate"}),{shouldRetryOnError:!1}),c=`/analytics/overview?range=${i}`,f=`/analytics/routing-stats?range=${i}`,d=Xt(c,nn,{refreshInterval:15e3,revalidateOnFocus:!0,shouldRetryOnError:!1,keepPreviousData:!0}),p=Xt(f,nn,{refreshInterval:15e3,revalidateOnFocus:!0,shouldRetryOnError:!1,keepPreviousData:!0}),h=(o==null?void 0:o[0])||null,x=(o||[]).some(G=>{var K;return((K=G.algorithm_data||G.algorithm)==null?void 0:K.type)==="advanced"}),g=(($=(((T=d.data)==null?void 0:T.route_hits)||[]).find(G=>G.route==="/decide_gateway"))==null?void 0:$.count)||0,y=((R=(A=d.data)==null?void 0:A.top_errors)==null?void 0:R.reduce((G,K)=>G+K.count,0))||0,m=S.useMemo(()=>{var ee;const G=new Map;for(const q of((ee=p.data)==null?void 0:ee.gateway_share)||[])G.set(q.gateway,(G.get(q.gateway)||0)+q.count);const K=Array.from(G.values()).reduce((q,le)=>q+le,0);return Array.from(G.entries()).map(([q,le])=>({gateway:q,count:le,share:K?le/K*100:0})).sort((q,le)=>le.count-q.count)},[p.data]),w=((M=m[0])==null?void 0:M.gateway)||((H=(V=(L=d.data)==null?void 0:L.top_scores)==null?void 0:V[0])==null?void 0:H.gateway),j=Xy.find(G=>G.value===i)||Xy[1],b=[a==="up",!!h,!!(u!=null&&u.data),x].filter(Boolean).length,_=[{label:"Service health",description:a==="up"?"Service is reachable.":"Please verify service health.",state:a==="up"?"Healthy":a==="down"?"Issue":"Checking",icon:a==="up"?lle:a==="down"?ule:ole,route:void 0},{label:"Routing strategy",description:h?h.name:"No active routing configured.",state:h?"Configured":"Not set",icon:mc,route:"/routing"},{label:"Auth-rate config",description:u!=null&&u.data?"Configured and available.":"Not configured yet.",state:u!=null&&u.data?"Configured":"Not set",icon:ble,route:"/routing/sr"},{label:"Rule-based routing",description:x?"Enabled for this merchant.":"Not enabled.",state:x?"Enabled":"Optional",icon:wle,route:"/routing/rules"}],k=n?a==="up"?{label:"System live",variant:"green"}:a==="down"?{label:"Attention needed",variant:"red"}:{label:"Checking status",variant:"gray"}:{label:"Merchant not selected",variant:"orange"},O=!d.data&&d.isLoading||!p.data&&p.isLoading,E=!O&&(d.isValidating||p.isValidating);return l.jsxs("div",{className:"relative mx-auto max-w-[1380px]",children:[l.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10 overflow-hidden",children:[l.jsx("div",{className:"absolute -left-16 top-0 h-72 w-72 rounded-full bg-sky-500/10 blur-3xl dark:bg-sky-500/8"}),l.jsx("div",{className:"absolute right-0 top-12 h-80 w-80 rounded-full bg-brand-500/10 blur-3xl dark:bg-brand-500/10"})]}),l.jsxs("section",{className:"relative overflow-hidden rounded-[40px] border border-slate-200 bg-white px-5 py-5 shadow-[0_28px_90px_-56px_rgba(15,23,42,0.16)] md:px-6 md:py-6 dark:border-[#232933] dark:bg-[#090c12] dark:shadow-[0_28px_90px_-56px_rgba(0,0,0,0.72)]",children:[l.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-[#3b82f6]/25 to-transparent dark:via-[#3b82f6]/35"}),l.jsxs("header",{className:"relative flex flex-col gap-4 border-b border-slate-200 pb-5 dark:border-[#232933]",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(ze,{variant:k.variant,children:k.label}),(I=d.data)!=null&&I.merchant_id||n?l.jsx(ze,{variant:"blue",children:((B=d.data)==null?void 0:B.merchant_id)||n}):null]}),l.jsxs("div",{children:[l.jsx("h1",{className:"text-4xl font-semibold tracking-tight text-slate-950 md:text-[4rem] dark:text-white",children:"Overview"}),l.jsx("p",{className:"mt-2 max-w-2xl text-sm leading-7 text-slate-600 dark:text-[#a6b0c3]",children:"Basic business-facing view of system status, setup, request volume, and gateway activity."}),l.jsx("div",{className:"mt-4 inline-flex rounded-2xl border border-slate-200 bg-slate-50 p-1 dark:border-[#2a303a] dark:bg-[#121720]",children:Xy.map(G=>{const K=G.value===i;return l.jsx("button",{type:"button",onClick:()=>s(G.value),className:`rounded-[14px] px-3 py-2 text-xs font-semibold transition ${K?"bg-white text-slate-950 shadow-sm dark:bg-[#1a2332] dark:text-white":"text-slate-500 hover:text-slate-900 dark:text-[#8ea0bb] dark:hover:text-white"}`,children:G.label},G.value)})})]})]}),n?l.jsxs(l.Fragment,{children:[O?l.jsx("div",{className:"pt-8",children:l.jsx(tN,{label:`Loading overview analytics for ${j.detail.toLowerCase()}`})}):null,E?l.jsx("div",{className:"pt-8",children:l.jsx(tN,{label:`Refreshing overview analytics for ${j.detail.toLowerCase()}`})}):null,l.jsxs("div",{className:`grid gap-5 pt-8 xl:grid-cols-[1.15fr_0.85fr] transition-opacity duration-200 ${E?"opacity-60":"opacity-100"}`,children:[l.jsx(Se,{className:"p-6 md:p-7",children:l.jsxs("div",{className:"flex h-full flex-col justify-between",children:[l.jsxs("div",{children:[l.jsx(an,{children:"Traffic leader"}),l.jsxs("div",{className:"mt-5 flex flex-wrap items-end gap-4",children:[l.jsx("h2",{className:"text-[2.5rem] font-semibold tracking-[-0.05em] text-slate-950 md:text-[3rem] dark:text-white",children:(w==null?void 0:w.toUpperCase())||"--"}),l.jsxs("div",{className:"pb-2",children:[l.jsx("p",{className:"text-lg font-medium text-slate-700 dark:text-[#d5dded]",children:m[0]?Zy(m[0].share):"0%"}),l.jsx("p",{className:"mt-1 text-xs uppercase tracking-[0.16em] text-slate-500 dark:text-[#8390a7]",children:"Share in selected window"})]})]}),l.jsx("p",{className:"mt-4 max-w-xl text-sm leading-7 text-slate-600 dark:text-[#a6b0c3]",children:h?`${h.name} is the current routing strategy for this merchant.`:"No active routing strategy is configured for this merchant yet."})]}),l.jsxs("div",{className:"mt-8 grid gap-3 sm:grid-cols-3",children:[l.jsx(Jy,{label:"Requests",value:qf(g),detail:j.detail}),l.jsx(Jy,{label:"Setup ready",value:`${b}/4`,detail:"Core basics configured"}),l.jsx(Jy,{label:"Window",value:j.label,detail:j.detail})]})]})}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 xl:grid-cols-1",children:[l.jsx(Kf,{icon:sl,label:"System status",value:Kce(a),detail:a==="up"?"Service is reachable":"Please verify service health"}),l.jsx(Kf,{icon:mc,label:"Active routing",value:(h==null?void 0:h.name)||"Not set",detail:h?"Currently selected strategy":"No routing configured yet"}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 xl:grid-cols-2",children:[l.jsx(Kf,{icon:J0,label:"Requests",value:qf(g),detail:j.detail}),l.jsx(Kf,{icon:Gh,label:"Top gateway",value:(w==null?void 0:w.toUpperCase())||"--",detail:m[0]?`${Zy(m[0].share)} of traffic`:"No activity yet"})]})]})]}),l.jsxs("div",{className:`mt-6 grid gap-6 xl:grid-cols-[1.02fr_0.98fr] transition-opacity duration-200 ${E?"opacity-60":"opacity-100"}`,children:[l.jsxs(Se,{className:"p-6",children:[l.jsxs("div",{className:"flex items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx(an,{children:"Current setup"}),l.jsx("p",{className:"mt-2 text-sm text-slate-600 dark:text-[#a6b0c3]",children:"The status cards you can explain in a demo without technical jargon."})]}),l.jsxs(ze,{variant:b>=3?"green":"orange",children:[b,"/4 ready"]})]}),l.jsx("div",{className:"mt-5 grid gap-4 md:grid-cols-2",children:_.map(G=>l.jsx(Se,{className:"min-h-[158px] p-5",onClick:G.route?()=>e(G.route):void 0,children:l.jsxs("div",{className:"flex h-full flex-col justify-between",children:[l.jsxs("div",{className:"flex items-start justify-between gap-4",children:[l.jsx("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(G.icon,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})}),l.jsx(ze,{variant:G.state==="Healthy"||G.state==="Configured"||G.state==="Enabled"?"green":G.state==="Issue"?"red":G.state==="Checking"||G.state==="Optional"?"gray":"orange",children:G.state})]}),l.jsxs("div",{className:"mt-6",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:G.label}),l.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-600 dark:text-[#a6b0c3]",children:G.description})]})]})},G.label))})]}),l.jsxs(Se,{className:"p-6",children:[l.jsxs("div",{className:"flex items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx(an,{children:"Gateway activity"}),l.jsx("p",{className:"mt-2 text-sm text-slate-600 dark:text-[#a6b0c3]",children:"Request distribution by gateway for the selected window."})]}),l.jsx(ze,{variant:"blue",children:j.badge})]}),l.jsx("div",{className:"mt-6 space-y-4",children:m.length?m.slice(0,4).map((G,K)=>l.jsxs("div",{className:"rounded-[24px] border border-slate-200 bg-slate-50/80 p-4 dark:border-[#2a303a] dark:bg-[#121720]",children:[l.jsxs("div",{className:"flex items-center justify-between gap-4",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:["#38bdf8","#60a5fa","#22c55e","#f59e0b"][K]||"#38bdf8"}}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:G.gateway.toUpperCase()}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#98a3b8]",children:[qf(G.count)," requests"]})]})]}),l.jsx("p",{className:"text-sm font-medium text-slate-950 dark:text-white",children:Zy(G.share)})]}),l.jsx("div",{className:"mt-4 h-2 rounded-full bg-slate-200 dark:bg-[#232933]",children:l.jsx("div",{className:"h-full rounded-full bg-gradient-to-r from-sky-400 via-blue-500 to-cyan-300",style:{width:`${Math.max(10,G.share)}%`}})})]},G.gateway)):l.jsxs("div",{className:"rounded-[24px] border border-dashed border-white/10 px-5 py-10 text-center",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:"No gateway activity yet"}),l.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-600 dark:text-[#a6b0c3]",children:"Once requests start flowing, this section will show traffic by gateway."})]})})]})]}),l.jsxs("div",{className:`mt-6 grid gap-6 xl:grid-cols-[0.86fr_1.14fr] transition-opacity duration-200 ${E?"opacity-60":"opacity-100"}`,children:[l.jsxs(Se,{className:"p-6",children:[l.jsx(an,{children:"Quick summary"}),l.jsx("div",{className:"mt-5 space-y-4",children:[{label:"Signed-in merchant",value:((W=d.data)==null?void 0:W.merchant_id)||n||"--"},{label:"Time window",value:j.detail},{label:j.summaryLabel,value:qf(y)},{label:"Top gateway",value:(w==null?void 0:w.toUpperCase())||"No activity"}].map(G=>l.jsxs("div",{className:"flex items-center justify-between gap-4 rounded-[20px] border border-slate-200 bg-slate-50/80 px-4 py-3 dark:border-[#2a303a] dark:bg-[#121720]",children:[l.jsx("span",{className:"text-sm text-slate-600 dark:text-[#a6b0c3]",children:G.label}),l.jsx("span",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:G.value})]},G.label))})]}),l.jsx("div",{className:"grid gap-4 md:grid-cols-3",children:[{label:"Routing Hub",text:"Configure routing strategies.",icon:mc,route:"/routing"},{label:"Analytics",text:"Inspect request and gateway trends.",icon:Gh,route:"/analytics"},{label:"Audit Trail",text:"Review individual decision records.",icon:J0,route:"/audit"}].map(G=>l.jsx(Se,{className:"p-5",onClick:()=>e(G.route),children:l.jsxs("div",{className:"flex h-full flex-col justify-between",children:[l.jsx("div",{className:"inline-flex w-fit rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(G.icon,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})}),l.jsxs("div",{className:"mt-10",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:G.label}),l.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-600 dark:text-[#a6b0c3]",children:G.text}),l.jsxs("div",{className:"mt-4 inline-flex items-center gap-2 text-sm font-medium text-brand-600 dark:text-sky-300",children:[l.jsx("span",{children:"Open"}),l.jsx(j1,{className:"h-4 w-4"})]})]})]})},G.label))})]})]}):l.jsx(Yce,{})]})]})}const Zce=["15m","1h","12h","1d","1w","custom"],Jce=[{value:"",label:"Any status"},{value:"success",label:"Success"},{value:"failure",label:"Failure"}],Qce=[{value:"",label:"Any route"},{value:"decide_gateway",label:"Decide Gateway"},{value:"update_gateway_score",label:"Update Gateway"},{value:"routing_evaluate",label:"Rule Evaluate"}],ede=["summary","input","response","raw"],rN={paymentId:"",requestId:"",gateway:"",route:"",status:"",flowType:"",errorCode:""};function Ko(e){const t=e.paymentId.trim(),r=t?"":e.requestId.trim();return{paymentId:t,requestId:r,gateway:e.gateway.trim(),route:e.route,status:e.status,flowType:e.flowType.trim(),errorCode:e.errorCode.trim()}}function qR(e){return e.flow_type||""}function tde(e){return e.endsWith("_error")}function KR(e){return e.startsWith("routing_evaluate_")&&e!=="routing_evaluate_request_hit"}function YR(e){return e==="decide_gateway_rule_hit"}function rde(e){return e.startsWith("update_gateway_score_")||e.startsWith("update_score_legacy_")}function nde(e){return e.startsWith("decide_gateway_")&&!YR(e)}function XR(e){const t=new URLSearchParams;return Object.entries(e).forEach(([r,n])=>{n!==void 0&&n!==""&&t.set(r,String(n))}),t.toString()}function nN(e,t,r,n,a,i){const s=Ko(a),o={range:t==="custom"?"1h":t,page:r,page_size:n,start_ms:i==null?void 0:i.start_ms,end_ms:i==null?void 0:i.end_ms,payment_id:s.paymentId||void 0,request_id:s.requestId||void 0,gateway:s.gateway||void 0,route:s.route||void 0,status:s.status||void 0,flow_type:s.flowType||void 0,error_code:s.errorCode||void 0},u=XR(o);return u?`${e}?${u}`:e}function ade(e){return e==="custom"||e==="15m"||e==="1h"||e==="12h"||e==="1d"||e==="1w"?e:"1d"}function ide(e){return e==="rule_based"?"rule_based":"transactions"}function sde(e){return Ko({paymentId:e.get("payment_id")||"",requestId:e.get("request_id")||"",gateway:e.get("gateway")||"",route:e.get("route")||"",status:e.get("status")||"",flowType:e.get("flow_type")||e.get("event_type")||"",errorCode:e.get("error_code")||""})}function aN(e){const t=Date.now(),r=e==="15m"?15*60*1e3:e==="1h"?60*60*1e3:e==="12h"?12*60*60*1e3:e==="1d"?24*60*60*1e3:7*24*60*60*1e3;return{start_ms:t-r,end_ms:t}}function Yf(e){const t=new Date(e),r=n=>n.toString().padStart(2,"0");return`${t.getFullYear()}-${r(t.getMonth()+1)}-${r(t.getDate())}T${r(t.getHours())}:${r(t.getMinutes())}`}function Xf(e){const t=new Date(e).getTime();return Number.isFinite(t)?t:null}function mp(e){return new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(e))}function ode(e){const t=Math.max(0,Math.round((Date.now()-e)/6e4));if(t<1)return"just now";if(t<60)return`${t}m ago`;const r=Math.round(t/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`}function Os(e){return e?e.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().toLowerCase().replace(/\b\w/g,r=>r.toUpperCase()):""}function iN(e){return e.filter(Boolean).join(" · ")}function lde(e){return e?e==="decision_gateway"||e==="decide_gateway"?"Decide Gateway":e==="update_gateway_score"?"Update Gateway":e==="routing_evaluate"?"Rule Evaluate":Os(e):"Unknown route"}function ob(e){const t=qR(e);return e.event_stage==="gateway_decided"?"Decide Gateway":e.event_stage==="score_updated"?"Update Gateway":e.event_stage==="rule_applied"?"Rule Evaluate":e.event_stage==="preview_evaluated"||KR(t)?"Preview Result":tde(t)?"Errors":Os(e.event_stage||t)}function ude(e){const t=qR(e);return nde(t)||e.event_stage==="gateway_decided"?"Decide Gateway":YR(t)||e.event_stage==="rule_applied"?"Rule Evaluate":KR(t)||e.event_stage==="preview_evaluated"?"Rule Preview":rde(t)||e.event_stage==="score_updated"?"Update Gateway":"Errors"}function Du(e){const t=(e||"").toUpperCase();return t==="FAILURE"||t.includes("FAILED")||t.includes("DECLINED")?"red":t==="SUCCESS"||t==="CHARGED"||t==="AUTHORIZED"?"green":t==="HIT"?"purple":"gray"}function Lu(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Qy(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""))}function cde(e){return typeof e=="string"?e:JSON.stringify(e,null,2)}function Zf(e){return e?"!border-slate-200 !bg-white !text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.28)] dark:!border-[#2a303a] dark:!bg-[#161b24] dark:!text-white":"!border-transparent !bg-slate-100 !text-slate-600 hover:!bg-slate-200 hover:!text-slate-900 dark:!bg-[#161b24] dark:!text-[#a7b2c6] dark:hover:!bg-[#1c2330] dark:hover:!text-white"}function jo(){return"h-11 rounded-2xl border border-slate-200 bg-white/90 px-4 text-sm text-slate-700 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.2)] outline-none transition focus:border-brand-500 focus:ring-2 focus:ring-brand-500/20 dark:border-[#2a303a] dark:bg-[#161b24] dark:text-[#e5ecf7] dark:shadow-none"}function Jf({label:e,children:t}){return l.jsxs("label",{className:"space-y-2",children:[l.jsx("span",{className:"block text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:e}),t]})}function ev({label:e,value:t,helper:r}){return l.jsxs(Se,{className:"p-5",children:[l.jsx(an,{children:e}),l.jsx("p",{className:"mt-4 text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:t}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:r})]})}function gp({title:e,body:t}){return l.jsxs(Hh,{className:"border-dashed border-slate-200 bg-slate-50/70 px-6 py-12 text-center dark:border-[#2a303a] dark:bg-[#161b24]/80",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:t})]})}function dde({rows:e}){return e.length?l.jsx("div",{className:"grid gap-3 md:grid-cols-2",children:e.map(t=>l.jsxs(Hh,{className:"px-4 py-3",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8390a7]",children:t.label}),l.jsx("p",{className:"mt-2 text-sm text-slate-900 dark:text-white break-words",children:t.value})]},`${t.label}-${t.value}`))}):null}function So({title:e,value:t,emptyMessage:r}){return l.jsxs("div",{className:"space-y-3",children:[l.jsx("div",{children:l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e})}),t?l.jsx("pre",{className:"overflow-x-auto rounded-[22px] border border-slate-200 bg-slate-950/95 px-4 py-4 text-xs leading-6 text-slate-200 shadow-[0_16px_30px_-28px_rgba(15,23,42,0.4)] dark:border-[#2a303a] dark:bg-[#0b1017] dark:text-[#d8e1ef] dark:shadow-none",children:cde(t)}):l.jsx(gp,{title:`No ${e.toLowerCase()} captured`,body:r})]})}function fde(e){if(!e)return null;const t=Lu(e.details_json)?e.details_json:{},r=t.response??t.response_payload??t.result??t.output??null,n=t.request??t.request_payload??t.input??t.payload??Qy({payment_id:e.payment_id,request_id:e.request_id,payment_method_type:e.payment_method_type,payment_method:e.payment_method,gateway:e.gateway}),a=r??Qy({flow_type:e.flow_type,status:e.status,error_code:e.error_code,error_message:e.error_message,score_value:e.score_value,sigma_factor:e.sigma_factor,average_latency:e.average_latency,tp99_latency:e.tp99_latency,transaction_count:e.transaction_count,rule_name:e.rule_name,routing_approach:e.routing_approach}),i=Lu(r)?r:null,s=Lu(i==null?void 0:i.decided_gateway)?i.decided_gateway:null,o=t.score_context??(s?s.gateway_priority_map:null)??(i?i.gateway_priority_map:null)??null,u=t.selection_reason??null,c=[{label:"Phase",value:ude(e)},{label:"Stage",value:ob(e)},{label:"Route",value:lde(e.route)},{label:"Timestamp",value:mp(e.created_at_ms)},{label:"Merchant",value:e.merchant_id||"unknown merchant"},...e.payment_id?[{label:"Payment ID",value:e.payment_id}]:[],...e.request_id?[{label:"Request ID",value:e.request_id}]:[],...e.gateway?[{label:"Gateway",value:e.gateway}]:[],...e.status?[{label:"Status",value:e.status}]:[]],f=Qy(Object.fromEntries(Object.entries(t).filter(([d])=>!["request","request_payload","input","payload","response","response_payload","result","output","score_context","selection_reason"].includes(d))));return{summaryRows:c,requestPayload:Lu(n)&&!Object.keys(n).length?null:n,responsePayload:Lu(a)&&!Object.keys(a).length?null:a,scoreContext:o,selectionReason:u,signalRecord:Object.keys(f).length?f:null,rawEvent:{...e,details_json:e.details_json}}}function pde(){var _e,Ne,dt,mt,Lt,zr,Pr,Cr;const{merchantId:e}=Nn(),t=ua(Y=>{var Me;return((Me=Y.user)==null?void 0:Me.merchantId)||""}),r=e||t,[n,a]=W3(),i=ide(n.get("mode")),s=n.get("start_ms")&&n.get("end_ms")?"custom":ade(n.get("range")),o=sde(n),u=Math.max(1,Number(n.get("page")||"1")),c=n.get("selected")||"",f=Number(n.get("start_ms")||"0"),d=Number(n.get("end_ms")||"0"),p=f>0&&d>f?{start_ms:f,end_ms:d}:aN("1h"),[h,x]=S.useState(i),[v,g]=S.useState(s),[y,m]=S.useState(o),[w,j]=S.useState(o),[b,_]=S.useState(u),[k,O]=S.useState(c),[E,T]=S.useState(null),[$,A]=S.useState("summary"),[R,M]=S.useState(!1),[L,V]=S.useState(()=>Yf(p.start_ms)),[H,I]=S.useState(()=>Yf(p.end_ms)),B=12,W=S.useMemo(()=>{if(v!=="custom")return;const Y=Xf(L),Me=Xf(H);if(!(Y===null||Me===null||Me<=Y))return{start_ms:Y,end_ms:Me}},[H,L,v]),G=h==="rule_based"?"/analytics/preview-trace":"/analytics/payment-audit",K=v!=="custom"||W?nN(G,v,b,B,w,W):null,ee=Xt(K,nn,{refreshInterval:12e3,revalidateOnFocus:!0}),q=S.useMemo(()=>{var Me;const Y=((Me=ee.data)==null?void 0:Me.results)||[];return Y.find(ft=>ft.lookup_key===k)||Y[0]||null},[(_e=ee.data)==null?void 0:_e.results,k]);S.useEffect(()=>{var Me,ft;if(q!=null&&q.lookup_key){O(q.lookup_key);return}const Y=(ft=(Me=ee.data)==null?void 0:Me.results)==null?void 0:ft[0];Y!=null&&Y.lookup_key&&O(Y.lookup_key)},[(Ne=ee.data)==null?void 0:Ne.results,q==null?void 0:q.lookup_key]);const le=S.useMemo(()=>{if(!q)return null;const Y=q.payment_id||"";return{paymentId:Y,requestId:Y?"":q.request_id||"",gateway:"",route:"",status:"",flowType:"",errorCode:""}},[q]),ge=le?nN(G,v,1,50,le,W):null,$e=Xt(ge,nn,{refreshInterval:12e3,revalidateOnFocus:!0}),Pe=((dt=$e.data)==null?void 0:dt.timeline)||[],J=S.useMemo(()=>Pe.find(Y=>Y.id===E)||Pe[0]||null,[E,Pe]);S.useEffect(()=>{if(J!=null&&J.id){T(J.id);return}const Y=Pe[0];Y!=null&&Y.id&&T(Y.id)},[J==null?void 0:J.id,Pe]);const ue=S.useMemo(()=>fde(J),[J]),de=((mt=ee.error)==null?void 0:mt.message)||((Lt=$e.error)==null?void 0:Lt.message)||null,X=ee.isLoading||$e.isLoading,we=((zr=ee.data)==null?void 0:zr.results)||[],ye=((Pr=ee.data)==null?void 0:Pr.total_results)||0,qe=Pe.length,De=we.filter(Y=>Du(Y.latest_status)==="red").length,ke=Array.from(new Set(we.flatMap(Y=>{var Me;return(Me=Y.gateways)!=null&&Me.length?Y.gateways.filter(Boolean):Y.latest_gateway?[Y.latest_gateway]:[]}))),Re=ke.length,Ie=h==="rule_based"?{title:"Decision Audit",matchingLabel:"Matching previews",summaryEmpty:"Pick a preview from the left column to see the full rule evaluation trace.",noMatchesTitle:"No matching previews found",noMatchesBody:"Try widening the time range or searching by a preview payment ID, request ID, or gateway."}:{title:"Decision Audit",matchingLabel:"Matching payments",summaryEmpty:"Pick a payment from the left column to see the full transaction trail.",noMatchesTitle:"No matching payments found",noMatchesBody:"Try widening the time range or searching by a single payment ID, request ID, or error code."};function Oe(Y,Me,ft,Zt,pt,Pt){const Ye=Ko(Zt),Br=XR({mode:Y==="rule_based"?Y:void 0,range:Me,page:ft>1?ft:void 0,start_ms:Me==="custom"?Pt==null?void 0:Pt.start_ms:void 0,end_ms:Me==="custom"?Pt==null?void 0:Pt.end_ms:void 0,payment_id:Ye.paymentId||void 0,request_id:Ye.requestId||void 0,gateway:Ye.gateway||void 0,route:Ye.route||void 0,status:Ye.status||void 0,flow_type:Ye.flowType||void 0,error_code:Ye.errorCode||void 0,selected:pt||void 0});a(Br)}function Ge(Y,Me){m(ft=>Ko({...ft,[Y]:Me}))}function We(){const Me=Ko({...y,route:h==="rule_based"?"":y.route});_(1),m(Me),j(Me),Oe(h,v,1,Me,void 0,W)}function C(){const Me={...rN,route:h==="rule_based"?"":rN.route};_(1),m(Me),j(Me),Oe(h,v,1,Me,void 0,W)}function z(){ee.mutate(),$e.mutate()}function U(Y){const ft=Y==="custom"?(()=>{const Zt=Xf(L),pt=Xf(H);return Zt!==null&&pt!==null&&pt>Zt?{start_ms:Zt,end_ms:pt}:void 0})():void 0;if(g(Y),_(1),Y!=="custom"){const Zt=aN(Y);V(Yf(Zt.start_ms)),I(Yf(Zt.end_ms))}Oe(h,Y,1,w,k,ft)}function ae(Y){O(Y),Oe(h,v,b,w,Y,W)}function te(Y){const ft=Ko({...y,route:Y==="rule_based"?"":y.route});x(Y),_(1),O(""),T(null),m(ft),j(ft),Oe(Y,v,1,ft,void 0,W)}async function Q(Y){if(Y)try{await navigator.clipboard.writeText(Y)}catch{}}function ne(){if(!J)return;const Y=J.payment_id||"",Me={paymentId:Y,requestId:Y?"":J.request_id||"",gateway:J.gateway||"",route:"",status:"",flowType:"",errorCode:""};m(Me),j(Me),_(1),Oe(h,v,1,Me,k)}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900 dark:text-white",children:Ie.title}),l.jsx(ze,{variant:"green",children:((Cr=ee.data)==null?void 0:Cr.merchant_id)||r||"Signed-in merchant"})]}),l.jsx("p",{className:"max-w-3xl text-sm text-slate-500 dark:text-[#8a8a93]",children:h==="rule_based"?"Inspect preview traces, routing logic, and simulated rule outcomes for any request.":"Inspect gateway decisions, routing logic, and connector scores for any payment."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"ghost",onClick:z,children:"Refresh"}),l.jsx("div",{className:"flex items-center gap-1 rounded-[18px] border border-slate-200 bg-white/70 p-1 dark:border-[#2a303a] dark:bg-[#161b24]",children:Zce.map(Y=>l.jsx(Ae,{size:"sm",variant:"secondary",className:Zf(v===Y),onClick:()=>U(Y),children:Y},Y))})]})]}),v==="custom"?l.jsxs(Se,{className:"overflow-visible p-4",children:[l.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[l.jsx(Jf,{label:"Start time",children:l.jsx(Xh,{className:"w-full",value:L,onChange:V})}),l.jsx(Jf,{label:"End time",children:l.jsx(Xh,{className:"w-full",value:H,onChange:I})})]}),W?null:l.jsx("p",{className:"mt-3 text-xs text-red-500",children:"Choose an end time after the start time."})]}):null,l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",className:Zf(h==="transactions"),onClick:()=>te("transactions"),children:"Transactions"}),l.jsx(Ae,{size:"sm",variant:"secondary",className:Zf(h==="rule_based"),onClick:()=>te("rule_based"),children:"Rule-Based"})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[l.jsx("input",{className:`${jo()} min-w-[280px] flex-1`,value:y.paymentId,onChange:Y=>Ge("paymentId",Y.target.value),placeholder:h==="rule_based"?"Preview payment ID":"Payment ID or request ID"}),l.jsx("input",{className:`${jo()} min-w-[240px] flex-1`,value:y.requestId,onChange:Y=>Ge("requestId",Y.target.value),placeholder:"Request ID"}),l.jsx("input",{className:`${jo()} min-w-[180px] flex-1`,value:y.gateway,onChange:Y=>Ge("gateway",Y.target.value),placeholder:"Any gateway"}),l.jsx("select",{className:`${jo()} min-w-[160px]`,value:y.status,onChange:Y=>Ge("status",Y.target.value),children:Jce.map(Y=>l.jsx("option",{value:Y.value,children:Y.label},Y.value||"all"))}),l.jsx(Ae,{size:"md",onClick:We,className:"min-w-[116px]",children:"Search"}),l.jsx(Ae,{size:"md",variant:"secondary",onClick:C,className:"min-w-[98px]",children:"Clear"}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>M(Y=>!Y),className:"min-w-[116px]",children:R?"Less filters":"More filters"})]}),R?l.jsx(Se,{className:"p-4",children:l.jsxs("div",{className:`grid gap-3 md:grid-cols-2 ${h==="rule_based"?"xl:grid-cols-2":"xl:grid-cols-3"}`,children:[h==="transactions"?l.jsx(Jf,{label:"Route",children:l.jsx("select",{className:jo(),value:y.route,onChange:Y=>Ge("route",Y.target.value),children:Qce.map(Y=>l.jsx("option",{value:Y.value,children:Y.label},Y.value||"all"))})}):null,l.jsx(Jf,{label:"Error Code",children:l.jsx("input",{className:jo(),value:y.errorCode,onChange:Y=>Ge("errorCode",Y.target.value),placeholder:"Error code"})})]})}):null]}),l.jsx(Nr,{error:de}),X&&l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading decision audit data…"]}),l.jsxs("section",{className:"grid gap-4 xl:grid-cols-3",children:[l.jsx(ev,{label:Ie.matchingLabel,value:String(ye),helper:"In this time window"}),l.jsx(ev,{label:"Failures",value:String(De),helper:"In current results"}),l.jsx(ev,{label:"Active gateways",value:String(Re),helper:ke.length?ke.slice(0,3).join(", "):"No gateway activity yet"})]}),l.jsxs("div",{className:"grid gap-4 xl:grid-cols-[280px_minmax(0,1fr)_340px]",children:[l.jsxs(Se,{className:"overflow-hidden",children:[l.jsx("div",{className:"border-b border-slate-200 px-4 py-4 dark:border-[#2a303a]",children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-slate-200 text-[11px] font-semibold text-slate-600 dark:border-[#2a303a] dark:text-[#8a8a93]",children:"1"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Results"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Click a payment to open its decision trail"})]})]}),l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:ye})]})}),l.jsx("div",{className:"border-b border-slate-200 px-4 py-4 dark:border-[#2a303a]",children:l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsx(an,{children:Ie.matchingLabel}),l.jsxs("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:[we.length," results"]})]})}),l.jsxs("div",{className:"space-y-3 p-4",children:[we.length?we.map(Y=>l.jsxs("button",{type:"button",onClick:()=>ae(Y.lookup_key),className:`w-full rounded-[20px] border p-4 text-left transition-all ${(q==null?void 0:q.lookup_key)===Y.lookup_key?"border-brand-500/70 bg-slate-50 shadow-[0_14px_30px_-28px_rgba(59,130,246,0.35)] dark:border-brand-500 dark:bg-[#161b24]":"border-slate-200/80 bg-white/40 hover:border-slate-300 hover:bg-slate-50/80 dark:border-[#23232a] dark:bg-[#131318] dark:hover:border-[#2a303a] dark:hover:bg-[#17171d]"}`,children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:Y.payment_id||Y.request_id||Y.lookup_key}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:[Y.merchant_id||"unknown merchant"," · ",mp(Y.last_seen_ms)]})]}),l.jsx(ze,{variant:Du(Y.latest_status),children:Os(Y.latest_status)||"Unknown"})]}),l.jsx("p",{className:"mt-3 text-xs text-slate-500 dark:text-[#8a8a93]",children:iN([Y.latest_gateway||null,`${Y.event_count} events`,ode(Y.last_seen_ms)])})]},Y.lookup_key)):l.jsx(gp,{title:Ie.noMatchesTitle,body:Ie.noMatchesBody}),l.jsxs("div",{className:"flex items-center gap-2 pt-1",children:[l.jsx(Ae,{size:"sm",variant:"secondary",disabled:b<=1,onClick:()=>{const Y=Math.max(1,b-1);_(Y),Oe(h,v,Y,w,k)},children:"Prev"}),l.jsx(Ae,{size:"sm",variant:"secondary",disabled:we.length{const Y=b+1;_(Y),Oe(h,v,Y,w,k)},children:"Next"})]})]})]}),l.jsxs(Se,{className:"overflow-hidden",children:[l.jsx("div",{className:"border-b border-slate-200 px-5 py-4 dark:border-[#2a303a]",children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-slate-200 text-[11px] font-semibold text-slate-600 dark:border-[#2a303a] dark:text-[#8a8a93]",children:"2"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Decision trail"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Click an event to inspect its scores and payload"})]})]}),q!=null&&q.payment_id||q!=null&&q.request_id?l.jsx("p",{className:"truncate text-xs text-slate-500 dark:text-[#8a8a93]",children:(q==null?void 0:q.payment_id)||(q==null?void 0:q.request_id)}):null]})}),l.jsxs("div",{className:"space-y-4 p-5",children:[q?l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:q.payment_id||q.request_id||q.lookup_key}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:[qe," event",qe===1?"":"s"," in this decision trail"]})]}),q.latest_status?l.jsx(ze,{variant:Du(q.latest_status),children:Os(q.latest_status)}):null]}):null,Pe.length?l.jsx("div",{className:"space-y-3",children:Pe.map((Y,Me)=>{const ft=(J==null?void 0:J.id)===Y.id;return l.jsx("button",{type:"button",onClick:()=>{T(Y.id),A("summary")},className:`w-full rounded-[20px] border px-4 py-4 text-left transition ${ft?"border-brand-500/70 bg-slate-50 shadow-[0_14px_30px_-28px_rgba(59,130,246,0.35)] dark:border-brand-500 dark:bg-[#161b24]":"border-slate-200/70 bg-white/40 hover:border-slate-300 hover:bg-slate-50/80 dark:border-[#23232a] dark:bg-[#131318] dark:hover:border-[#2a303a] dark:hover:bg-[#17171d]"}`,children:l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx("div",{className:`mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-full border text-sm font-semibold ${ft?"border-brand-500/50 bg-brand-500/10 text-brand-300":"border-slate-200 text-slate-600 dark:border-[#3a284f] dark:text-[#b38cff]"}`,children:Me+1}),l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("p",{className:"text-lg font-semibold text-slate-900 dark:text-[#7da6ff]",children:ob(Y)}),Y.status?l.jsx(ze,{variant:Du(Y.status),children:Os(Y.status)}):null]}),l.jsx("p",{className:"mt-2 text-xs text-slate-500 dark:text-[#8a8a93]",children:iN([Y.gateway?`gateway ${Y.gateway}`:null,mp(Y.created_at_ms),Y.routing_approach||null,Y.payment_method_type||null])}),l.jsx("p",{className:"mt-2 text-[11px] text-slate-500 dark:text-[#667085]",children:Y.request_id||Y.id})]}),ft?l.jsx("p",{className:"text-[11px] font-medium uppercase tracking-[0.14em] text-slate-500 dark:text-[#8a8a93]",children:"Inspecting →"}):null]}),Y.error_message?l.jsx("p",{className:"mt-4 rounded-2xl border border-red-500/20 bg-red-500/[0.08] px-4 py-3 text-sm text-red-600 dark:text-red-300",children:Y.error_message}):null]})]})},Y.id)})}):l.jsx(gp,{title:"No timeline selected yet",body:Ie.summaryEmpty})]})]}),l.jsxs(Se,{className:"overflow-hidden xl:sticky xl:top-6 xl:self-start",children:[l.jsx("div",{className:"border-b border-slate-200 px-5 py-4 dark:border-[#2a303a]",children:l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-slate-200 text-[11px] font-semibold text-slate-600 dark:border-[#2a303a] dark:text-[#8a8a93]",children:"3"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Event inspector"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Click a timeline event to inspect its data"})]})]})}),l.jsx("div",{className:"space-y-4 p-5",children:J&&ue?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"space-y-3",children:[l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:"Connector scores, routing logic, and full payload"}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("p",{className:"text-xl font-semibold text-slate-900 dark:text-[#7da6ff]",children:ob(J)}),J.status?l.jsx(ze,{variant:Du(J.status),children:Os(J.status)}):null]}),l.jsx("p",{className:"text-sm text-slate-500 dark:text-[#8a8a93]",children:mp(J.created_at_ms)})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs(Hh,{className:"px-4 py-3",children:[l.jsx(an,{children:"Gateway"}),l.jsx("p",{className:"mt-2 text-base font-semibold text-slate-900 dark:text-[#7da6ff]",children:J.gateway||"Unknown"})]}),l.jsxs(Hh,{className:"px-4 py-3",children:[l.jsx(an,{children:"Outcome"}),l.jsx("p",{className:"mt-2 text-base font-semibold text-slate-900 dark:text-[#34d399]",children:Os(J.status)||"Unknown"})]})]}),l.jsx("div",{className:"flex flex-wrap gap-2",children:ede.map(Y=>l.jsx(Ae,{size:"sm",variant:"secondary",className:Zf($===Y),onClick:()=>A(Y),children:Y==="summary"?"Summary":Y==="input"?"Input":Y==="response"?"Response":"Raw JSON"},Y))}),$==="summary"?l.jsxs("div",{className:"space-y-4",children:[l.jsx(So,{title:"Connector scores",value:ue.scoreContext,emptyMessage:"No connector score map was captured for this event."}),l.jsx(dde,{rows:ue.summaryRows}),l.jsx(So,{title:"Selection reason",value:ue.selectionReason,emptyMessage:"No explicit selection reason was captured for this event."}),l.jsx(So,{title:"Details",value:ue.signalRecord,emptyMessage:"This event did not capture additional scoring or rule metadata."})]}):null,$==="input"?l.jsx(So,{title:"Input",value:ue.requestPayload,emptyMessage:"No dedicated request payload was captured for this event."}):null,$==="response"?l.jsx(So,{title:"Response",value:ue.responsePayload,emptyMessage:"No dedicated response payload was captured for this event."}):null,$==="raw"?l.jsx(So,{title:"Raw JSON",value:ue.rawEvent,emptyMessage:"No raw payload is available for this event."}):null,l.jsxs("div",{className:"flex flex-wrap gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",disabled:!J.request_id,onClick:()=>Q(J.request_id),children:"Copy request ID"}),l.jsx(Ae,{size:"sm",variant:"secondary",disabled:!J.payment_id,onClick:()=>Q(J.payment_id),children:"Copy payment ID"}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:ne,children:"Open related events"})]})]}):l.jsx(gp,{title:"No event selected",body:"Select a timeline event to inspect connector scores, routing logic, and full payloads."})})]})]})]})}function hde(){const e=is(),{merchantId:t}=Nn(),{data:r}=Xt(t?`/routing/list/active/${t}`:null,()=>zt(`/routing/list/active/${t}`)),{data:n}=Xt(t?["/rule/get","successRate",t]:null,()=>zt("/rule/get",{merchant_id:t,algorithm:"successRate"})),a=[{id:"sr",title:"Auth-Rate Based Routing",description:"Dynamically route to the best-performing gateway based on real-time authorization rates.",icon:cR,route:"/routing/sr",algorithmType:"successRate",checkConfigured:()=>{var i;return!!((i=n==null?void 0:n.config)!=null&&i.data)}},{id:"rules",title:"Rule-Based Routing",description:"Declarative routing rules to route payments based on conditions and attributes.",icon:ple,route:"/routing/rules",algorithmType:"advanced",checkConfigured:()=>(r||[]).some(i=>{var s;return((s=i.algorithm_data||i.algorithm)==null?void 0:s.type)==="advanced"})},{id:"volume",title:"Volume Split",description:"Distribute payment traffic across gateways by configurable percentage splits.",icon:Yh,route:"/routing/volume",algorithmType:"volume_split",checkConfigured:()=>(r||[]).some(i=>{var s;return((s=i.algorithm_data||i.algorithm)==null?void 0:s.type)==="volume_split"})},{id:"debit",title:"Network Routing",description:"Optimise debit network fees with acquirer-aware network-based routing.",icon:cle,route:"/routing/debit",algorithmType:"debitRouting",checkConfigured:()=>!1}];return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900",children:"Routing Hub"}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:"Click on any routing strategy to configure"})]}),l.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:a.map(i=>{const s=i.icon,o=i.checkConfigured();return l.jsx(Se,{className:"flex flex-col hover:border-brand-300 cursor-pointer transition-all hover:shadow-md",onClick:()=>e(i.route),children:l.jsxs(Be,{className:"flex-1 flex flex-col gap-3",children:[l.jsxs("div",{className:"flex items-start justify-between",children:[l.jsx("div",{className:"p-2 bg-brand-50 rounded-lg border border-[#1c2d50]",children:l.jsx(s,{size:20,className:"text-brand-500"})}),l.jsx(ze,{variant:o?"green":"gray",children:o?"Configured":"Not Configured"})]}),l.jsxs("div",{children:[l.jsx("h3",{className:"font-semibold text-slate-900",children:i.title}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:i.description})]}),l.jsx("div",{className:"mt-auto pt-2",children:l.jsx("span",{className:"text-sm text-brand-600 font-medium",children:o?"Manage →":"Setup →"})})]})},i.id)})})]})}var Kd=e=>e.type==="checkbox",Is=e=>e instanceof Date,Qr=e=>e==null;const ZR=e=>typeof e=="object";var tr=e=>!Qr(e)&&!Array.isArray(e)&&ZR(e)&&!Is(e),mde=e=>tr(e)&&e.target?Kd(e.target)?e.target.checked:e.target.value:e,gde=(e,t)=>t.split(".").some((r,n,a)=>!isNaN(Number(r))&&e.has(a.slice(0,n).join("."))),yde=e=>{const t=e.constructor&&e.constructor.prototype;return tr(t)&&t.hasOwnProperty("isPrototypeOf")},I1=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Rt(e){if(e instanceof Date)return new Date(e);const t=typeof FileList<"u"&&e instanceof FileList;if(I1&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!r&&!(tr(e)&&yde(e)))return e;const n=r?[]:Object.create(Object.getPrototypeOf(e));for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(n[a]=Rt(e[a]));return n}var _g=e=>/^\w*$/.test(e),jt=e=>e===void 0,jg=e=>Array.isArray(e)?e.filter(Boolean):[],M1=e=>jg(e.replace(/["|']|\]/g,"").split(/\.|\[/)),pe=(e,t,r)=>{if(!t||!tr(e))return r;const n=(_g(t)?[t]:M1(t)).reduce((a,i)=>Qr(a)?a:a[i],e);return jt(n)||n===e?jt(e[t])?r:e[t]:n},ba=e=>typeof e=="boolean",aa=e=>typeof e=="function",yt=(e,t,r)=>{let n=-1;const a=_g(t)?[t]:M1(t),i=a.length,s=i-1;for(;++nP.useContext(QR);var xde=(e,t,r,n=!0)=>{const a={defaultValues:t._defaultValues};for(const i in e)Object.defineProperty(a,i,{get:()=>{const s=i;return t._proxyFormState[s]!==Dn.all&&(t._proxyFormState[s]=!n||Dn.all),e[s]}});return a};const eI=typeof window<"u"?P.useLayoutEffect:P.useEffect;var Wr=e=>typeof e=="string",bde=(e,t,r,n,a)=>Wr(e)?(n&&t.watch.add(e),pe(r,e,a)):Array.isArray(e)?e.map(i=>(n&&t.watch.add(i),pe(r,i))):(n&&(t.watchAll=!0),r),lb=e=>Qr(e)||!ZR(e);function Ci(e,t,r=new WeakSet){if(lb(e)||lb(t))return Object.is(e,t);if(Is(e)&&Is(t))return Object.is(e.getTime(),t.getTime());const n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;if(r.has(e)||r.has(t))return!0;r.add(e),r.add(t);for(const i of n){const s=e[i];if(!a.includes(i))return!1;if(i!=="ref"){const o=t[i];if(Is(s)&&Is(o)||(tr(s)||Array.isArray(s))&&(tr(o)||Array.isArray(o))?!Ci(s,o,r):!Object.is(s,o))return!1}}return!0}const wde=P.createContext(null);wde.displayName="HookFormContext";var tI=(e,t,r,n,a)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:a||!0}}:{},sn=e=>Array.isArray(e)?e:[e],sN=()=>{let e=[];return{get observers(){return e},next:a=>{for(const i of e)i.next&&i.next(a)},subscribe:a=>(e.push(a),{unsubscribe:()=>{e=e.filter(i=>i!==a)}}),unsubscribe:()=>{e=[]}}};function rI(e,t){const r={};for(const n in e)if(e.hasOwnProperty(n)){const a=e[n],i=t[n];if(a&&tr(a)&&i){const s=rI(a,i);tr(s)&&(r[n]=s)}else e[n]&&(r[n]=i)}return r}var Rr=e=>tr(e)&&!Object.keys(e).length,D1=e=>e.type==="file",rm=e=>{if(!I1)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},nI=e=>e.type==="select-multiple",L1=e=>e.type==="radio",_de=e=>L1(e)||Kd(e),rv=e=>rm(e)&&e.isConnected;function jde(e,t){const r=t.slice(0,-1).length;let n=0;for(;n{for(const t in e)if(aa(e[t]))return!0;return!1};function aI(e){return Array.isArray(e)||tr(e)&&!kde(e)}function ub(e,t={}){for(const r in e){const n=e[r];aI(n)?(t[r]=Array.isArray(n)?[]:{},ub(n,t[r])):jt(n)||(t[r]=!0)}return t}function Zu(e,t,r){r||(r=ub(t));for(const n in e){const a=e[n];if(aI(a))jt(t)||lb(r[n])?r[n]=ub(a,Array.isArray(a)?[]:{}):Zu(a,Qr(t)?{}:t[n],r[n]);else{const i=t[n];r[n]=!Ci(a,i)}}return r}const oN={value:!1,isValid:!1},lN={value:!0,isValid:!0};var iI=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!jt(e[0].attributes.value)?jt(e[0].value)||e[0].value===""?lN:{value:e[0].value,isValid:!0}:lN:oN}return oN},sI=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>jt(e)?e:t?e===""?NaN:e&&+e:r&&Wr(e)?new Date(e):n?n(e):e;const uN={isValid:!1,value:null};var oI=e=>Array.isArray(e)?e.reduce((t,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:t,uN):uN;function cN(e){const t=e.ref;return D1(t)?t.files:L1(t)?oI(e.refs).value:nI(t)?[...t.selectedOptions].map(({value:r})=>r):Kd(t)?iI(e.refs).value:sI(jt(t.value)?e.ref.value:t.value,e)}var Ode=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,Nde=(e,t,r,n)=>{const a={};for(const i of e){const s=pe(t,i);s&&yt(a,i,s._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:n}},nm=e=>e instanceof RegExp,Fu=e=>jt(e)?e:nm(e)?e.source:tr(e)?nm(e.value)?e.value.source:e.value:e,Yo=e=>({isOnSubmit:!e||e===Dn.onSubmit,isOnBlur:e===Dn.onBlur,isOnChange:e===Dn.onChange,isOnAll:e===Dn.all,isOnTouch:e===Dn.onTouched});const dN="AsyncFunction";var Ade=e=>!!e&&!!e.validate&&!!(aa(e.validate)&&e.validate.constructor.name===dN||tr(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===dN)),Ede=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),cb=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(n=>e.startsWith(n)&&/^\.\w+/.test(e.slice(n.length))));const ll=(e,t,r,n)=>{for(const a of r||Object.keys(e)){const i=pe(e,a);if(i){const{_f:s,...o}=i;if(s){if(s.refs&&s.refs[0]&&t(s.refs[0],a)&&!n)return!0;if(s.ref&&t(s.ref,s.name)&&!n)return!0;if(ll(o,t))break}else if(tr(o)&&ll(o,t))break}}};function fN(e,t,r){const n=pe(e,r);if(n||_g(r))return{error:n,name:r};const a=r.split(".");for(;a.length;){const i=a.join("."),s=pe(t,i),o=pe(e,i);if(s&&!Array.isArray(s)&&r!==i)return{name:r};if(o&&o.type)return{name:i,error:o};if(o&&o.root&&o.root.type)return{name:`${i}.root`,error:o.root};a.pop()}return{name:r}}var Pde=(e,t,r,n)=>{r(e);const{name:a,...i}=e;return Rr(i)||Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(s=>t[s]===(!n||Dn.all))},Cde=(e,t,r)=>!e||!t||e===t||sn(e).some(n=>n&&(r?n===t:n.startsWith(t)||t.startsWith(n))),Tde=(e,t,r,n,a)=>a.isOnAll?!1:!r&&a.isOnTouch?!(t||e):(r?n.isOnBlur:a.isOnBlur)?!e:(r?n.isOnChange:a.isOnChange)?e:!0,$de=(e,t)=>!jg(pe(e,t)).length&&Jt(e,t),lI=(e,t,r)=>{const n=sn(pe(e,r));return yt(n,JR,t[r]),yt(e,r,n),e};function pN(e,t,r="validate"){if(Wr(e)||Array.isArray(e)&&e.every(Wr)||ba(e)&&!e)return{type:r,message:Wr(e)?e:"",ref:t}}var Oo=e=>tr(e)&&!nm(e)?e:{value:e,message:""},db=async(e,t,r,n,a,i)=>{const{ref:s,refs:o,required:u,maxLength:c,minLength:f,min:d,max:p,pattern:h,validate:x,name:v,valueAsNumber:g,mount:y}=e._f,m=pe(r,v);if(!y||t.has(v))return{};const w=o?o[0]:s,j=A=>{a&&w.reportValidity&&(w.setCustomValidity(ba(A)?"":A||""),w.reportValidity())},b={},_=L1(s),k=Kd(s),O=_||k,E=(g||D1(s))&&jt(s.value)&&jt(m)||rm(s)&&s.value===""||m===""||Array.isArray(m)&&!m.length,T=tI.bind(null,v,n,b),$=(A,R,M,L=Zn.maxLength,V=Zn.minLength)=>{const H=A?R:M;b[v]={type:A?L:V,message:H,ref:s,...T(A?L:V,H)}};if(i?!Array.isArray(m)||!m.length:u&&(!O&&(E||Qr(m))||ba(m)&&!m||k&&!iI(o).isValid||_&&!oI(o).isValid)){const{value:A,message:R}=Wr(u)?{value:!!u,message:u}:Oo(u);if(A&&(b[v]={type:Zn.required,message:R,ref:w,...T(Zn.required,R)},!n))return j(R),b}if(!E&&(!Qr(d)||!Qr(p))){let A,R;const M=Oo(p),L=Oo(d);if(!Qr(m)&&!isNaN(m)){const V=s.valueAsNumber||m&&+m;Qr(M.value)||(A=V>M.value),Qr(L.value)||(R=Vnew Date(new Date().toDateString()+" "+W),I=s.type=="time",B=s.type=="week";Wr(M.value)&&m&&(A=I?H(m)>H(M.value):B?m>M.value:V>new Date(M.value)),Wr(L.value)&&m&&(R=I?H(m)+A.value,L=!Qr(R.value)&&m.length<+R.value;if((M||L)&&($(M,A.message,R.message),!n))return j(b[v].message),b}if(h&&!E&&Wr(m)){const{value:A,message:R}=Oo(h);if(nm(A)&&!m.match(A)&&(b[v]={type:Zn.pattern,message:R,ref:s,...T(Zn.pattern,R)},!n))return j(R),b}if(x){if(aa(x)){const A=await x(m,r),R=pN(A,w);if(R&&(b[v]={...R,...T(Zn.validate,R.message)},!n))return j(R.message),b}else if(tr(x)){let A={};for(const R in x){if(!Rr(A)&&!n)break;const M=pN(await x[R](m,r),w,R);M&&(A={...M,...T(R,M.message)},j(M.message),n&&(b[v]=A))}if(!Rr(A)&&(b[v]={ref:w,...A},!n))return b}}return j(!0),b};const Rde={mode:Dn.onSubmit,reValidateMode:Dn.onChange,shouldFocusError:!0};function Ide(e={}){let t={...Rde,...e},r={submitCount:0,isDirty:!1,isReady:!1,isLoading:aa(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},n={},a=tr(t.defaultValues)||tr(t.values)?Rt(t.defaultValues||t.values)||{}:{},i=t.shouldUnregister?{}:Rt(a),s={action:!1,mount:!1,watch:!1,keepIsValid:!1},o={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},u,c=0;const f={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},d={...f};let p={...d};const h={array:sN(),state:sN()},x=t.criteriaMode===Dn.all,v=C=>z=>{clearTimeout(c),c=setTimeout(C,z)},g=async C=>{if(!s.keepIsValid&&!t.disabled&&(d.isValid||p.isValid||C)){let z;t.resolver?(z=Rr((await E()).errors),y()):z=await A({fields:n,onlyCheckValid:!0,eventType:ko.VALID}),z!==r.isValid&&h.state.next({isValid:z})}},y=(C,z)=>{!t.disabled&&(d.isValidating||d.validatingFields||p.isValidating||p.validatingFields)&&((C||Array.from(o.mount)).forEach(U=>{U&&(z?yt(r.validatingFields,U,z):Jt(r.validatingFields,U))}),h.state.next({validatingFields:r.validatingFields,isValidating:!Rr(r.validatingFields)}))},m=C=>{const z=Zu(a,i),U=Ode(C);yt(r.dirtyFields,U,pe(z,U))},w=(C,z=[],U,ae,te=!0,Q=!0)=>{if(ae&&U&&!t.disabled){if(s.action=!0,Q&&Array.isArray(pe(n,C))){const ne=U(pe(n,C),ae.argA,ae.argB);te&&yt(n,C,ne)}if(Q&&Array.isArray(pe(r.errors,C))){const ne=U(pe(r.errors,C),ae.argA,ae.argB);te&&yt(r.errors,C,ne),$de(r.errors,C)}if((d.touchedFields||p.touchedFields)&&Q&&Array.isArray(pe(r.touchedFields,C))){const ne=U(pe(r.touchedFields,C),ae.argA,ae.argB);te&&yt(r.touchedFields,C,ne)}(d.dirtyFields||p.dirtyFields)&&m(C),h.state.next({name:C,isDirty:M(C,z),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else yt(i,C,z)},j=(C,z)=>{yt(r.errors,C,z),h.state.next({errors:r.errors})},b=C=>{r.errors=C,h.state.next({errors:r.errors,isValid:!1})},_=(C,z,U,ae)=>{const te=pe(n,C);if(te){const Q=pe(i,C,jt(U)?pe(a,C):U);jt(Q)||ae&&ae.defaultChecked||z?yt(i,C,z?Q:cN(te._f)):H(C,Q),s.mount&&!s.action&&g()}},k=(C,z,U,ae,te)=>{let Q=!1,ne=!1;const _e={name:C};if(!t.disabled){if(!U||ae){(d.isDirty||p.isDirty)&&(ne=r.isDirty,r.isDirty=_e.isDirty=M(),Q=ne!==_e.isDirty);const Ne=Ci(pe(a,C),z);ne=!!pe(r.dirtyFields,C),Ne?Jt(r.dirtyFields,C):yt(r.dirtyFields,C,!0),_e.dirtyFields=r.dirtyFields,Q=Q||(d.dirtyFields||p.dirtyFields)&&ne!==!Ne}if(U){const Ne=pe(r.touchedFields,C);Ne||(yt(r.touchedFields,C,U),_e.touchedFields=r.touchedFields,Q=Q||(d.touchedFields||p.touchedFields)&&Ne!==U)}Q&&te&&h.state.next(_e)}return Q?_e:{}},O=(C,z,U,ae)=>{const te=pe(r.errors,C),Q=(d.isValid||p.isValid)&&ba(z)&&r.isValid!==z;if(t.delayError&&U?(u=v(()=>j(C,U)),u(t.delayError)):(clearTimeout(c),u=null,U?yt(r.errors,C,U):Jt(r.errors,C)),(U?!Ci(te,U):te)||!Rr(ae)||Q){const ne={...ae,...Q&&ba(z)?{isValid:z}:{},errors:r.errors,name:C};r={...r,...ne},h.state.next(ne)}},E=async C=>(y(C,!0),await t.resolver(i,t.context,Nde(C||o.mount,n,t.criteriaMode,t.shouldUseNativeValidation))),T=async C=>{const{errors:z}=await E(C);if(y(C),C)for(const U of C){const ae=pe(z,U);ae?yt(r.errors,U,ae):Jt(r.errors,U)}else r.errors=z;return z},$=async({name:C,eventType:z})=>{if(e.validate){const U=await e.validate({formValues:i,formState:r,name:C,eventType:z});if(tr(U))for(const ae in U)U[ae]&&ge(`${tv}.${ae}`,{message:Wr(U.message)?U.message:"",type:Zn.validate});else Wr(U)||!U?ge(tv,{message:U||"",type:Zn.validate}):le(tv);return U}return!0},A=async({fields:C,onlyCheckValid:z,name:U,eventType:ae,context:te={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(te.runRootValidation=!0,!await $({name:U,eventType:ae})&&(te.valid=!1,z)))return te.valid;for(const Q in C){const ne=C[Q];if(ne){const{_f:_e,...Ne}=ne;if(_e){const dt=o.array.has(_e.name),mt=ne._f&&Ade(ne._f);mt&&d.validatingFields&&y([_e.name],!0);const Lt=await db(ne,o.disabled,i,x,t.shouldUseNativeValidation&&!z,dt);if(mt&&d.validatingFields&&y([_e.name]),Lt[_e.name]&&(te.valid=!1,z)||(!z&&(pe(Lt,_e.name)?dt?lI(r.errors,Lt,_e.name):yt(r.errors,_e.name,Lt[_e.name]):Jt(r.errors,_e.name)),e.shouldUseNativeValidation&&Lt[_e.name]))break}!Rr(Ne)&&await A({context:te,onlyCheckValid:z,fields:Ne,name:Q,eventType:ae})}}return te.valid},R=()=>{for(const C of o.unMount){const z=pe(n,C);z&&(z._f.refs?z._f.refs.every(U=>!rv(U)):!rv(z._f.ref))&&ue(C)}o.unMount=new Set},M=(C,z)=>!t.disabled&&(C&&z&&yt(i,C,z),!Ci(ee(),a)),L=(C,z,U)=>bde(C,o,{...s.mount?i:jt(z)?a:Wr(C)?{[C]:z}:z},U,z),V=C=>jg(pe(s.mount?i:a,C,t.shouldUnregister?pe(a,C,[]):[])),H=(C,z,U={})=>{const ae=pe(n,C);let te=z;if(ae){const Q=ae._f;Q&&(!Q.disabled&&yt(i,C,sI(z,Q)),te=rm(Q.ref)&&Qr(z)?"":z,nI(Q.ref)?[...Q.ref.options].forEach(ne=>ne.selected=te.includes(ne.value)):Q.refs?Kd(Q.ref)?Q.refs.forEach(ne=>{(!ne.defaultChecked||!ne.disabled)&&(Array.isArray(te)?ne.checked=!!te.find(_e=>_e===ne.value):ne.checked=te===ne.value||!!te)}):Q.refs.forEach(ne=>ne.checked=ne.value===te):D1(Q.ref)?Q.ref.value="":(Q.ref.value=te,Q.ref.type||h.state.next({name:C,values:Rt(i)})))}(U.shouldDirty||U.shouldTouch)&&k(C,te,U.shouldTouch,U.shouldDirty,!0),U.shouldValidate&&K(C)},I=(C,z,U)=>{for(const ae in z){if(!z.hasOwnProperty(ae))return;const te=z[ae],Q=C+"."+ae,ne=pe(n,Q);(o.array.has(C)||tr(te)||ne&&!ne._f)&&!Is(te)?I(Q,te,U):H(Q,te,U)}},B=(C,z,U={})=>{const ae=pe(n,C),te=o.array.has(C),Q=Rt(z);yt(i,C,Q),te?(h.array.next({name:C,values:Rt(i)}),(d.isDirty||d.dirtyFields||p.isDirty||p.dirtyFields)&&U.shouldDirty&&(m(C),h.state.next({name:C,dirtyFields:r.dirtyFields,isDirty:M(C,Q)}))):ae&&!ae._f&&!Qr(Q)?I(C,Q,U):H(C,Q,U),cb(C,o)?h.state.next({...r,name:C,values:Rt(i)}):h.state.next({name:s.mount?C:void 0,values:Rt(i)})},W=async C=>{s.mount=!0;const z=C.target;let U=z.name,ae=!0;const te=pe(n,U),Q=Ne=>{ae=Number.isNaN(Ne)||Is(Ne)&&isNaN(Ne.getTime())||Ci(Ne,pe(i,U,Ne))},ne=Yo(t.mode),_e=Yo(t.reValidateMode);if(te){let Ne,dt;const mt=z.type?cN(te._f):mde(C),Lt=C.type===ko.BLUR||C.type===ko.FOCUS_OUT,zr=!Ede(te._f)&&!e.validate&&!t.resolver&&!pe(r.errors,U)&&!te._f.deps||Tde(Lt,pe(r.touchedFields,U),r.isSubmitted,_e,ne),Pr=cb(U,o,Lt);yt(i,U,mt),Lt?(!z||!z.readOnly)&&(te._f.onBlur&&te._f.onBlur(C),u&&u(0)):te._f.onChange&&te._f.onChange(C);const Cr=k(U,mt,Lt),Y=!Rr(Cr)||Pr;if(!Lt&&h.state.next({name:U,type:C.type,values:Rt(i)}),zr)return(d.isValid||p.isValid)&&(t.mode==="onBlur"?Lt&&g():Lt||g()),Y&&h.state.next({name:U,...Pr?{}:Cr});if(!t.resolver&&e.validate&&await $({name:U,eventType:C.type}),!Lt&&Pr&&h.state.next({...r}),t.resolver){const{errors:Me}=await E([U]);if(y([U]),Q(mt),ae){const ft=fN(r.errors,n,U),Zt=fN(Me,n,ft.name||U);Ne=Zt.error,U=Zt.name,dt=Rr(Me)}}else y([U],!0),Ne=(await db(te,o.disabled,i,x,t.shouldUseNativeValidation))[U],y([U]),Q(mt),ae&&(Ne?dt=!1:(d.isValid||p.isValid)&&(dt=await A({fields:n,onlyCheckValid:!0,name:U,eventType:C.type})));ae&&(te._f.deps&&(!Array.isArray(te._f.deps)||te._f.deps.length>0)&&K(te._f.deps),O(U,dt,Ne,Cr))}},G=(C,z)=>{if(pe(r.errors,z)&&C.focus)return C.focus(),1},K=async(C,z={})=>{let U,ae;const te=sn(C);if(t.resolver){const Q=await T(jt(C)?C:te);U=Rr(Q),ae=C?!te.some(ne=>pe(Q,ne)):U}else C?(ae=(await Promise.all(te.map(async Q=>{const ne=pe(n,Q);return await A({fields:ne&&ne._f?{[Q]:ne}:ne,eventType:ko.TRIGGER})}))).every(Boolean),!(!ae&&!r.isValid)&&g()):ae=U=await A({fields:n,name:C,eventType:ko.TRIGGER});return h.state.next({...!Wr(C)||(d.isValid||p.isValid)&&U!==r.isValid?{}:{name:C},...t.resolver||!C?{isValid:U}:{},errors:r.errors}),z.shouldFocus&&!ae&&ll(n,G,C?te:o.mount),ae},ee=(C,z)=>{let U={...s.mount?i:a};return z&&(U=rI(z.dirtyFields?r.dirtyFields:r.touchedFields,U)),jt(C)?U:Wr(C)?pe(U,C):C.map(ae=>pe(U,ae))},q=(C,z)=>({invalid:!!pe((z||r).errors,C),isDirty:!!pe((z||r).dirtyFields,C),error:pe((z||r).errors,C),isValidating:!!pe(r.validatingFields,C),isTouched:!!pe((z||r).touchedFields,C)}),le=C=>{const z=C?sn(C):void 0;z==null||z.forEach(U=>Jt(r.errors,U)),z?z.forEach(U=>{h.state.next({name:U,errors:r.errors})}):h.state.next({errors:{}})},ge=(C,z,U)=>{const ae=(pe(n,C,{_f:{}})._f||{}).ref,te=pe(r.errors,C)||{},{ref:Q,message:ne,type:_e,...Ne}=te;yt(r.errors,C,{...Ne,...z,ref:ae}),h.state.next({name:C,errors:r.errors,isValid:!1}),U&&U.shouldFocus&&ae&&ae.focus&&ae.focus()},$e=(C,z)=>aa(C)?h.state.subscribe({next:U=>"values"in U&&C(L(void 0,z),U)}):L(C,z,!0),Pe=C=>h.state.subscribe({next:z=>{Cde(C.name,z.name,C.exact)&&Pde(z,C.formState||d,Oe,C.reRenderRoot)&&C.callback({values:{...i},...r,...z,defaultValues:a})}}).unsubscribe,J=C=>(s.mount=!0,p={...p,...C.formState},Pe({...C,formState:{...f,...C.formState}})),ue=(C,z={})=>{for(const U of C?sn(C):o.mount)o.mount.delete(U),o.array.delete(U),z.keepValue||(Jt(n,U),Jt(i,U)),!z.keepError&&Jt(r.errors,U),!z.keepDirty&&Jt(r.dirtyFields,U),!z.keepTouched&&Jt(r.touchedFields,U),!z.keepIsValidating&&Jt(r.validatingFields,U),!t.shouldUnregister&&!z.keepDefaultValue&&Jt(a,U);h.state.next({values:Rt(i)}),h.state.next({...r,...z.keepDirty?{isDirty:M()}:{}}),!z.keepIsValid&&g()},de=({disabled:C,name:z})=>{if(ba(C)&&s.mount||C||o.disabled.has(z)){const te=o.disabled.has(z)!==!!C;C?o.disabled.add(z):o.disabled.delete(z),te&&s.mount&&!s.action&&g()}},X=(C,z={})=>{let U=pe(n,C);const ae=ba(z.disabled)||ba(t.disabled),te=!o.registerName.has(C)&&U&&!U._f.mount;return yt(n,C,{...U||{},_f:{...U&&U._f?U._f:{ref:{name:C}},name:C,mount:!0,...z}}),o.mount.add(C),U&&!te?de({disabled:ba(z.disabled)?z.disabled:t.disabled,name:C}):_(C,!0,z.value),{...ae?{disabled:z.disabled||t.disabled}:{},...t.progressive?{required:!!z.required,min:Fu(z.min),max:Fu(z.max),minLength:Fu(z.minLength),maxLength:Fu(z.maxLength),pattern:Fu(z.pattern)}:{},name:C,onChange:W,onBlur:W,ref:Q=>{if(Q){o.registerName.add(C),X(C,z),o.registerName.delete(C),U=pe(n,C);const ne=jt(Q.value)&&Q.querySelectorAll&&Q.querySelectorAll("input,select,textarea")[0]||Q,_e=_de(ne),Ne=U._f.refs||[];if(_e?Ne.find(dt=>dt===ne):ne===U._f.ref)return;yt(n,C,{_f:{...U._f,..._e?{refs:[...Ne.filter(rv),ne,...Array.isArray(pe(a,C))?[{}]:[]],ref:{type:ne.type,name:C}}:{ref:ne}}}),_(C,!1,void 0,ne)}else U=pe(n,C,{}),U._f&&(U._f.mount=!1),(t.shouldUnregister||z.shouldUnregister)&&!(gde(o.array,C)&&s.action)&&o.unMount.add(C)}}},we=()=>t.shouldFocusError&&ll(n,G,o.mount),ye=C=>{ba(C)&&(h.state.next({disabled:C}),ll(n,(z,U)=>{const ae=pe(n,U);ae&&(z.disabled=ae._f.disabled||C,Array.isArray(ae._f.refs)&&ae._f.refs.forEach(te=>{te.disabled=ae._f.disabled||C}))},0,!1))},qe=(C,z)=>async U=>{let ae;U&&(U.preventDefault&&U.preventDefault(),U.persist&&U.persist());let te=Rt(i);if(h.state.next({isSubmitting:!0}),t.resolver){const{errors:Q,values:ne}=await E();y(),r.errors=Q,te=Rt(ne)}else await A({fields:n,eventType:ko.SUBMIT});if(o.disabled.size)for(const Q of o.disabled)Jt(te,Q);if(Jt(r.errors,JR),Rr(r.errors)){h.state.next({errors:{}});try{await C(te,U)}catch(Q){ae=Q}}else z&&await z({...r.errors},U),we(),setTimeout(we);if(h.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Rr(r.errors)&&!ae,submitCount:r.submitCount+1,errors:r.errors}),ae)throw ae},De=(C,z={})=>{pe(n,C)&&(jt(z.defaultValue)?B(C,Rt(pe(a,C))):(B(C,z.defaultValue),yt(a,C,Rt(z.defaultValue))),z.keepTouched||Jt(r.touchedFields,C),z.keepDirty||(Jt(r.dirtyFields,C),r.isDirty=z.defaultValue?M(C,Rt(pe(a,C))):M()),z.keepError||(Jt(r.errors,C),d.isValid&&g()),h.state.next({...r}))},ke=(C,z={})=>{const U=C?Rt(C):a,ae=Rt(U),te=Rr(C),Q=te?a:ae;if(z.keepDefaultValues||(a=U),!z.keepValues){if(z.keepDirtyValues){const ne=new Set([...o.mount,...Object.keys(Zu(a,i))]);for(const _e of Array.from(ne)){const Ne=pe(r.dirtyFields,_e),dt=pe(i,_e),mt=pe(Q,_e);Ne&&!jt(dt)?yt(Q,_e,dt):!Ne&&!jt(mt)&&B(_e,mt)}}else{if(I1&&jt(C))for(const ne of o.mount){const _e=pe(n,ne);if(_e&&_e._f){const Ne=Array.isArray(_e._f.refs)?_e._f.refs[0]:_e._f.ref;if(rm(Ne)){const dt=Ne.closest("form");if(dt){dt.reset();break}}}}if(z.keepFieldsRef)for(const ne of o.mount)B(ne,pe(Q,ne));else n={}}i=t.shouldUnregister?z.keepDefaultValues?Rt(a):{}:Rt(Q),h.array.next({values:{...Q}}),h.state.next({values:{...Q}})}o={mount:z.keepDirtyValues?o.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},s.mount=!d.isValid||!!z.keepIsValid||!!z.keepDirtyValues||!t.shouldUnregister&&!Rr(Q),s.watch=!!t.shouldUnregister,s.keepIsValid=!!z.keepIsValid,s.action=!1,z.keepErrors||(r.errors={}),h.state.next({submitCount:z.keepSubmitCount?r.submitCount:0,isDirty:te?!1:z.keepDirty?r.isDirty:!!(z.keepDefaultValues&&!Ci(C,a)),isSubmitted:z.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:te?{}:z.keepDirtyValues?z.keepDefaultValues&&i?Zu(a,i):r.dirtyFields:z.keepDefaultValues&&C?Zu(a,C):z.keepDirty?r.dirtyFields:{},touchedFields:z.keepTouched?r.touchedFields:{},errors:z.keepErrors?r.errors:{},isSubmitSuccessful:z.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:a})},Re=(C,z)=>ke(aa(C)?C(i):C,{...t.resetOptions,...z}),Ie=(C,z={})=>{const U=pe(n,C),ae=U&&U._f;if(ae){const te=ae.refs?ae.refs[0]:ae.ref;te.focus&&setTimeout(()=>{te.focus(),z.shouldSelect&&aa(te.select)&&te.select()})}},Oe=C=>{r={...r,...C}},We={control:{register:X,unregister:ue,getFieldState:q,handleSubmit:qe,setError:ge,_subscribe:Pe,_runSchema:E,_updateIsValidating:y,_focusError:we,_getWatch:L,_getDirty:M,_setValid:g,_setFieldArray:w,_setDisabledField:de,_setErrors:b,_getFieldArray:V,_reset:ke,_resetDefaultValues:()=>aa(t.defaultValues)&&t.defaultValues().then(C=>{Re(C,t.resetOptions),h.state.next({isLoading:!1})}),_removeUnmounted:R,_disableForm:ye,_subjects:h,_proxyFormState:d,get _fields(){return n},get _formValues(){return i},get _state(){return s},set _state(C){s=C},get _defaultValues(){return a},get _names(){return o},set _names(C){o=C},get _formState(){return r},get _options(){return t},set _options(C){t={...t,...C}}},subscribe:J,trigger:K,register:X,handleSubmit:qe,watch:$e,setValue:B,getValues:ee,reset:Re,resetField:De,clearErrors:le,unregister:ue,setError:ge,setFocus:Ie,getFieldState:q};return{...We,formControl:We}}var wi=()=>{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();const e=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const r=(Math.random()*16+e)%16|0;return(t=="x"?r:r&3|8).toString(16)})},nv=(e,t,r={})=>r.shouldFocus||jt(r.shouldFocus)?r.focusName||`${e}.${jt(r.focusIndex)?t:r.focusIndex}.`:"",av=(e,t)=>[...e,...sn(t)],iv=e=>Array.isArray(e)?e.map(()=>{}):void 0;function sv(e,t,r){return[...e.slice(0,t),...sn(r),...e.slice(t)]}var ov=(e,t,r)=>Array.isArray(e)?(jt(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[],lv=(e,t)=>[...sn(t),...sn(e)];function Mde(e,t){let r=0;const n=[...e];for(const a of t)n.splice(a-r,1),r++;return jg(n).length?n:[]}var uv=(e,t)=>jt(t)?[]:Mde(e,sn(t).sort((r,n)=>r-n)),cv=(e,t,r)=>{[e[t],e[r]]=[e[r],e[t]]},hN=(e,t,r)=>(e[t]=r,e);function Dde(e){const t=vde(),{control:r=t,name:n,keyName:a="id",shouldUnregister:i,rules:s}=e,[o,u]=P.useState(r._getFieldArray(n)),c=P.useRef(r._getFieldArray(n).map(wi)),f=P.useRef(!1);r._names.array.add(n),P.useMemo(()=>s&&o.length>=0&&r.register(n,s),[r,n,o.length,s]),eI(()=>r._subjects.array.subscribe({next:({values:j,name:b})=>{if(b===n||!b){const _=pe(j,n);Array.isArray(_)&&(u(_),c.current=_.map(wi))}}}).unsubscribe,[r,n]);const d=P.useCallback(j=>{f.current=!0,r._setFieldArray(n,j)},[r,n]),p=(j,b)=>{const _=sn(Rt(j)),k=av(r._getFieldArray(n),_);r._names.focus=nv(n,k.length-1,b),c.current=av(c.current,_.map(wi)),d(k),u(k),r._setFieldArray(n,k,av,{argA:iv(j)})},h=(j,b)=>{const _=sn(Rt(j)),k=lv(r._getFieldArray(n),_);r._names.focus=nv(n,0,b),c.current=lv(c.current,_.map(wi)),d(k),u(k),r._setFieldArray(n,k,lv,{argA:iv(j)})},x=j=>{const b=uv(r._getFieldArray(n),j);c.current=uv(c.current,j),d(b),u(b),!Array.isArray(pe(r._fields,n))&&yt(r._fields,n,void 0),r._setFieldArray(n,b,uv,{argA:j})},v=(j,b,_)=>{const k=sn(Rt(b)),O=sv(r._getFieldArray(n),j,k);r._names.focus=nv(n,j,_),c.current=sv(c.current,j,k.map(wi)),d(O),u(O),r._setFieldArray(n,O,sv,{argA:j,argB:iv(b)})},g=(j,b)=>{const _=r._getFieldArray(n);cv(_,j,b),cv(c.current,j,b),d(_),u(_),r._setFieldArray(n,_,cv,{argA:j,argB:b},!1)},y=(j,b)=>{const _=r._getFieldArray(n);ov(_,j,b),ov(c.current,j,b),d(_),u(_),r._setFieldArray(n,_,ov,{argA:j,argB:b},!1)},m=(j,b)=>{const _=Rt(b),k=hN(r._getFieldArray(n),j,_);c.current=[...k].map((O,E)=>!O||E===j?wi():c.current[E]),d(k),u([...k]),r._setFieldArray(n,k,hN,{argA:j,argB:_},!0,!1)},w=j=>{const b=sn(Rt(j));c.current=b.map(wi),d([...b]),u([...b]),r._setFieldArray(n,[...b],_=>_,{},!0,!1)};return P.useEffect(()=>{if(r._state.action=!1,cb(n,r._names)&&r._subjects.state.next({...r._formState}),f.current&&(!Yo(r._options.mode).isOnSubmit||r._formState.isSubmitted)&&!Yo(r._options.reValidateMode).isOnSubmit)if(r._options.resolver)r._runSchema([n]).then(j=>{r._updateIsValidating([n]);const b=pe(j.errors,n),_=pe(r._formState.errors,n);(_?!b&&_.type||b&&(_.type!==b.type||_.message!==b.message):b&&b.type)&&(b?yt(r._formState.errors,n,b):Jt(r._formState.errors,n),r._subjects.state.next({errors:r._formState.errors}))});else{const j=pe(r._fields,n);j&&j._f&&!(Yo(r._options.reValidateMode).isOnSubmit&&Yo(r._options.mode).isOnSubmit)&&db(j,r._names.disabled,r._formValues,r._options.criteriaMode===Dn.all,r._options.shouldUseNativeValidation,!0).then(b=>!Rr(b)&&r._subjects.state.next({errors:lI(r._formState.errors,b,n)}))}r._subjects.state.next({name:n,values:Rt(r._formValues)}),r._names.focus&&ll(r._fields,(j,b)=>{if(r._names.focus&&b.startsWith(r._names.focus)&&j.focus)return j.focus(),1}),r._names.focus="",r._setValid(),f.current=!1},[o,n,r]),P.useEffect(()=>(!pe(r._formValues,n)&&r._setFieldArray(n),()=>{const j=(b,_)=>{const k=pe(r._fields,b);k&&k._f&&(k._f.mount=_)};r._options.shouldUnregister||i?r.unregister(n):j(n,!1)}),[n,r,a,i]),{swap:P.useCallback(g,[d,n,r]),move:P.useCallback(y,[d,n,r]),prepend:P.useCallback(h,[d,n,r]),append:P.useCallback(p,[d,n,r]),remove:P.useCallback(x,[d,n,r]),insert:P.useCallback(v,[d,n,r]),update:P.useCallback(m,[d,n,r]),replace:P.useCallback(w,[d,n,r]),fields:P.useMemo(()=>o.map((j,b)=>({...j,[a]:c.current[b]||wi()})),[o,a])}}function Lde(e={}){const t=P.useRef(void 0),r=P.useRef(void 0),[n,a]=P.useState({isDirty:!1,isValidating:!1,isLoading:aa(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:aa(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:n},e.defaultValues&&!aa(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:s,...o}=Ide(e);t.current={...o,formState:n}}const i=t.current.control;return i._options=e,eI(()=>{const s=i._subscribe({formState:i._proxyFormState,callback:()=>a({...i._formState}),reRenderRoot:!0});return a(o=>({...o,isReady:!0})),i._formState.isReady=!0,s},[i]),P.useEffect(()=>i._disableForm(e.disabled),[i,e.disabled]),P.useEffect(()=>{e.mode&&(i._options.mode=e.mode),e.reValidateMode&&(i._options.reValidateMode=e.reValidateMode)},[i,e.mode,e.reValidateMode]),P.useEffect(()=>{e.errors&&(i._setErrors(e.errors),i._focusError())},[i,e.errors]),P.useEffect(()=>{e.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[i,e.shouldUnregister]),P.useEffect(()=>{if(i._proxyFormState.isDirty){const s=i._getDirty();s!==n.isDirty&&i._subjects.state.next({isDirty:s})}},[i,n.isDirty]),P.useEffect(()=>{var s;e.values&&!Ci(e.values,r.current)?(i._reset(e.values,{keepFieldsRef:!0,...i._options.resetOptions}),!((s=i._options.resetOptions)===null||s===void 0)&&s.keepIsValid||i._setValid(),r.current=e.values,a(o=>({...o}))):i._resetDefaultValues()},[i,e.values]),P.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),t.current.formState=P.useMemo(()=>xde(n,i),[i,n]),t.current}const mN=(e,t,r)=>{if(e&&"reportValidity"in e){const n=pe(r,t);e.setCustomValidity(n&&n.message||""),e.reportValidity()}},uI=(e,t)=>{for(const r in t.fields){const n=t.fields[r];n&&n.ref&&"reportValidity"in n.ref?mN(n.ref,r,e):n.refs&&n.refs.forEach(a=>mN(a,r,e))}},Fde=(e,t)=>{t.shouldUseNativeValidation&&uI(e,t);const r={};for(const n in e){const a=pe(t.fields,n),i=Object.assign(e[n]||{},{ref:a&&a.ref});if(zde(t.names||Object.keys(e),n)){const s=Object.assign({},pe(r,n));yt(s,"root",i),yt(r,n,s)}else yt(r,n,i)}return r},zde=(e,t)=>e.some(r=>r.startsWith(t+"."));var Bde=function(e,t){for(var r={};e.length;){var n=e[0],a=n.code,i=n.message,s=n.path.join(".");if(!r[s])if("unionErrors"in n){var o=n.unionErrors[0].errors[0];r[s]={message:o.message,type:o.code}}else r[s]={message:i,type:a};if("unionErrors"in n&&n.unionErrors.forEach(function(f){return f.errors.forEach(function(d){return e.push(d)})}),t){var u=r[s].types,c=u&&u[n.code];r[s]=tI(s,t,r,a,c?[].concat(c,n.message):n.message)}e.shift()}return r},Ude=function(e,t,r){return r===void 0&&(r={}),function(n,a,i){try{return Promise.resolve(function(s,o){try{var u=Promise.resolve(e[r.mode==="sync"?"parse":"parseAsync"](n,t)).then(function(c){return i.shouldUseNativeValidation&&uI({},i),{errors:{},values:r.raw?n:c}})}catch(c){return o(c)}return u&&u.then?u.then(void 0,o):u}(0,function(s){if(function(o){return Array.isArray(o==null?void 0:o.errors)}(s))return{values:{},errors:Fde(Bde(s.errors,!i.shouldUseNativeValidation&&i.criteriaMode==="all"),i)};throw s}))}catch(s){return Promise.reject(s)}}},ut;(function(e){e.assertEqual=a=>{};function t(a){}e.assertIs=t;function r(a){throw new Error}e.assertNever=r,e.arrayToEnum=a=>{const i={};for(const s of a)i[s]=s;return i},e.getValidEnumValues=a=>{const i=e.objectKeys(a).filter(o=>typeof a[a[o]]!="number"),s={};for(const o of i)s[o]=a[o];return e.objectValues(s)},e.objectValues=a=>e.objectKeys(a).map(function(i){return a[i]}),e.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{const i=[];for(const s in a)Object.prototype.hasOwnProperty.call(a,s)&&i.push(s);return i},e.find=(a,i)=>{for(const s of a)if(i(s))return s},e.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&Number.isFinite(a)&&Math.floor(a)===a;function n(a,i=" | "){return a.map(s=>typeof s=="string"?`'${s}'`:s).join(i)}e.joinValues=n,e.jsonStringifyReplacer=(a,i)=>typeof i=="bigint"?i.toString():i})(ut||(ut={}));var gN;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(gN||(gN={}));const be=ut.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ni=e=>{switch(typeof e){case"undefined":return be.undefined;case"string":return be.string;case"number":return Number.isNaN(e)?be.nan:be.number;case"boolean":return be.boolean;case"function":return be.function;case"bigint":return be.bigint;case"symbol":return be.symbol;case"object":return Array.isArray(e)?be.array:e===null?be.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?be.promise:typeof Map<"u"&&e instanceof Map?be.map:typeof Set<"u"&&e instanceof Set?be.set:typeof Date<"u"&&e instanceof Date?be.date:be.object;default:return be.unknown}},ce=ut.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class fi extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){const r=t||function(i){return i.message},n={_errors:[]},a=i=>{for(const s of i.issues)if(s.code==="invalid_union")s.unionErrors.map(a);else if(s.code==="invalid_return_type")a(s.returnTypeError);else if(s.code==="invalid_arguments")a(s.argumentsError);else if(s.path.length===0)n._errors.push(r(s));else{let o=n,u=0;for(;ur.message){const r={},n=[];for(const a of this.issues)if(a.path.length>0){const i=a.path[0];r[i]=r[i]||[],r[i].push(t(a))}else n.push(t(a));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}}fi.create=e=>new fi(e);const fb=(e,t)=>{let r;switch(e.code){case ce.invalid_type:e.received===be.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case ce.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,ut.jsonStringifyReplacer)}`;break;case ce.unrecognized_keys:r=`Unrecognized key(s) in object: ${ut.joinValues(e.keys,", ")}`;break;case ce.invalid_union:r="Invalid input";break;case ce.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${ut.joinValues(e.options)}`;break;case ce.invalid_enum_value:r=`Invalid enum value. Expected ${ut.joinValues(e.options)}, received '${e.received}'`;break;case ce.invalid_arguments:r="Invalid function arguments";break;case ce.invalid_return_type:r="Invalid function return type";break;case ce.invalid_date:r="Invalid date";break;case ce.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:ut.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case ce.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case ce.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case ce.custom:r="Invalid input";break;case ce.invalid_intersection_types:r="Intersection results could not be merged";break;case ce.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case ce.not_finite:r="Number must be finite";break;default:r=t.defaultError,ut.assertNever(e)}return{message:r}};let Vde=fb;function Wde(){return Vde}const Hde=e=>{const{data:t,path:r,errorMaps:n,issueData:a}=e,i=[...r,...a.path||[]],s={...a,path:i};if(a.message!==void 0)return{...a,path:i,message:a.message};let o="";const u=n.filter(c=>!!c).slice().reverse();for(const c of u)o=c(s,{data:t,defaultError:o}).message;return{...a,path:i,message:o}};function he(e,t){const r=Wde(),n=Hde({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===fb?void 0:fb].filter(a=>!!a)});e.common.issues.push(n)}class Sn{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){const n=[];for(const a of r){if(a.status==="aborted")return Ue;a.status==="dirty"&&t.dirty(),n.push(a.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){const n=[];for(const a of r){const i=await a.key,s=await a.value;n.push({key:i,value:s})}return Sn.mergeObjectSync(t,n)}static mergeObjectSync(t,r){const n={};for(const a of r){const{key:i,value:s}=a;if(i.status==="aborted"||s.status==="aborted")return Ue;i.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),i.value!=="__proto__"&&(typeof s.value<"u"||a.alwaysSet)&&(n[i.value]=s.value)}return{status:t.value,value:n}}}const Ue=Object.freeze({status:"aborted"}),Ju=e=>({status:"dirty",value:e}),Gn=e=>({status:"valid",value:e}),yN=e=>e.status==="aborted",vN=e=>e.status==="dirty",Hl=e=>e.status==="valid",am=e=>typeof Promise<"u"&&e instanceof Promise;var je;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(je||(je={}));class Qi{constructor(t,r,n,a){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=a}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const xN=(e,t)=>{if(Hl(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const r=new fi(e.common.issues);return this._error=r,this._error}}};function Je(e){if(!e)return{};const{errorMap:t,invalid_type_error:r,required_error:n,description:a}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:a}:{errorMap:(s,o)=>{const{message:u}=e;return s.code==="invalid_enum_value"?{message:u??o.defaultError}:typeof o.data>"u"?{message:u??n??o.defaultError}:s.code!=="invalid_type"?{message:o.defaultError}:{message:u??r??o.defaultError}},description:a}}class lt{get description(){return this._def.description}_getType(t){return Ni(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:Ni(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Sn,ctx:{common:t.parent.common,data:t.data,parsedType:Ni(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const r=this._parse(t);if(am(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){const r=this._parse(t);return Promise.resolve(r)}parse(t,r){const n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){const n={common:{issues:[],async:(r==null?void 0:r.async)??!1,contextualErrorMap:r==null?void 0:r.errorMap},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ni(t)},a=this._parseSync({data:t,path:n.path,parent:n});return xN(n,a)}"~validate"(t){var n,a;const r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ni(t)};if(!this["~standard"].async)try{const i=this._parseSync({data:t,path:[],parent:r});return Hl(i)?{value:i.value}:{issues:r.common.issues}}catch(i){(a=(n=i==null?void 0:i.message)==null?void 0:n.toLowerCase())!=null&&a.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(i=>Hl(i)?{value:i.value}:{issues:r.common.issues})}async parseAsync(t,r){const n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){const n={common:{issues:[],contextualErrorMap:r==null?void 0:r.errorMap,async:!0},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ni(t)},a=this._parse({data:t,path:n.path,parent:n}),i=await(am(a)?a:Promise.resolve(a));return xN(n,i)}refine(t,r){const n=a=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(a):r;return this._refinement((a,i)=>{const s=t(a),o=()=>i.addIssue({code:ce.custom,...n(a)});return typeof Promise<"u"&&s instanceof Promise?s.then(u=>u?!0:(o(),!1)):s?!0:(o(),!1)})}refinement(t,r){return this._refinement((n,a)=>t(n)?!0:(a.addIssue(typeof r=="function"?r(n,a):r),!1))}_refinement(t){return new no({schema:this,typeName:Ve.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Yi.create(this,this._def)}nullable(){return Kl.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ta.create(this)}promise(){return lm.create(this,this._def)}or(t){return sm.create([this,t],this._def)}and(t){return om.create(this,t,this._def)}transform(t){return new no({...Je(this._def),schema:this,typeName:Ve.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const r=typeof t=="function"?t:()=>t;return new hb({...Je(this._def),innerType:this,defaultValue:r,typeName:Ve.ZodDefault})}brand(){return new hfe({typeName:Ve.ZodBranded,type:this,...Je(this._def)})}catch(t){const r=typeof t=="function"?t:()=>t;return new mb({...Je(this._def),innerType:this,catchValue:r,typeName:Ve.ZodCatch})}describe(t){const r=this.constructor;return new r({...this._def,description:t})}pipe(t){return F1.create(this,t)}readonly(){return gb.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Gde=/^c[^\s-]{8,}$/i,qde=/^[0-9a-z]+$/,Kde=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Yde=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Xde=/^[a-z0-9_-]{21}$/i,Zde=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Jde=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Qde=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,efe="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let dv;const tfe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,rfe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,nfe=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,afe=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ife=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,sfe=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,cI="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",ofe=new RegExp(`^${cI}$`);function dI(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);const r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function lfe(e){return new RegExp(`^${dI(e)}$`)}function ufe(e){let t=`${cI}T${dI(e)}`;const r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function cfe(e,t){return!!((t==="v4"||!t)&&tfe.test(e)||(t==="v6"||!t)&&nfe.test(e))}function dfe(e,t){if(!Zde.test(e))return!1;try{const[r]=e.split(".");if(!r)return!1;const n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),a=JSON.parse(atob(n));return!(typeof a!="object"||a===null||"typ"in a&&(a==null?void 0:a.typ)!=="JWT"||!a.alg||t&&a.alg!==t)}catch{return!1}}function ffe(e,t){return!!((t==="v4"||!t)&&rfe.test(e)||(t==="v6"||!t)&&afe.test(e))}class Za extends lt{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==be.string){const i=this._getOrReturnCtx(t);return he(i,{code:ce.invalid_type,expected:be.string,received:i.parsedType}),Ue}const n=new Sn;let a;for(const i of this._def.checks)if(i.kind==="min")t.data.lengthi.value&&(a=this._getOrReturnCtx(t,a),he(a,{code:ce.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){const s=t.data.length>i.value,o=t.data.lengtht.test(a),{validation:r,code:ce.invalid_string,...je.errToObj(n)})}_addCheck(t){return new Za({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...je.errToObj(t)})}url(t){return this._addCheck({kind:"url",...je.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...je.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...je.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...je.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...je.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...je.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...je.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...je.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...je.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...je.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...je.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...je.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,offset:(t==null?void 0:t.offset)??!1,local:(t==null?void 0:t.local)??!1,...je.errToObj(t==null?void 0:t.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,...je.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...je.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...je.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r==null?void 0:r.position,...je.errToObj(r==null?void 0:r.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...je.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...je.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...je.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...je.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...je.errToObj(r)})}nonempty(t){return this.min(1,je.errToObj(t))}trim(){return new Za({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Za({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Za({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew Za({checks:[],typeName:Ve.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...Je(e)});function pfe(e,t){const r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,a=r>n?r:n,i=Number.parseInt(e.toFixed(a).replace(".","")),s=Number.parseInt(t.toFixed(a).replace(".",""));return i%s/10**a}class eo extends lt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==be.number){const i=this._getOrReturnCtx(t);return he(i,{code:ce.invalid_type,expected:be.number,received:i.parsedType}),Ue}let n;const a=new Sn;for(const i of this._def.checks)i.kind==="int"?ut.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),he(n,{code:ce.invalid_type,expected:"integer",received:"float",message:i.message}),a.dirty()):i.kind==="min"?(i.inclusive?t.datai.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),he(n,{code:ce.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),a.dirty()):i.kind==="multipleOf"?pfe(t.data,i.value)!==0&&(n=this._getOrReturnCtx(t,n),he(n,{code:ce.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):i.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),he(n,{code:ce.not_finite,message:i.message}),a.dirty()):ut.assertNever(i);return{status:a.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,je.toString(r))}gt(t,r){return this.setLimit("min",t,!1,je.toString(r))}lte(t,r){return this.setLimit("max",t,!0,je.toString(r))}lt(t,r){return this.setLimit("max",t,!1,je.toString(r))}setLimit(t,r,n,a){return new eo({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:je.toString(a)}]})}_addCheck(t){return new eo({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:je.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:je.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:je.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:je.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:je.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:je.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:je.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:je.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:je.toString(t)})}get minValue(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuet.kind==="int"||t.kind==="multipleOf"&&ut.isInteger(t.value))}get isFinite(){let t=null,r=null;for(const n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.valuenew eo({checks:[],typeName:Ve.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Je(e)});class to extends lt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==be.bigint)return this._getInvalidInput(t);let n;const a=new Sn;for(const i of this._def.checks)i.kind==="min"?(i.inclusive?t.datai.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),he(n,{code:ce.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),a.dirty()):i.kind==="multipleOf"?t.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),he(n,{code:ce.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):ut.assertNever(i);return{status:a.value,value:t.data}}_getInvalidInput(t){const r=this._getOrReturnCtx(t);return he(r,{code:ce.invalid_type,expected:be.bigint,received:r.parsedType}),Ue}gte(t,r){return this.setLimit("min",t,!0,je.toString(r))}gt(t,r){return this.setLimit("min",t,!1,je.toString(r))}lte(t,r){return this.setLimit("max",t,!0,je.toString(r))}lt(t,r){return this.setLimit("max",t,!1,je.toString(r))}setLimit(t,r,n,a){return new to({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:je.toString(a)}]})}_addCheck(t){return new to({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:je.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:je.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:je.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:je.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:je.toString(r)})}get minValue(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew to({checks:[],typeName:Ve.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...Je(e)});class im extends lt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==be.boolean){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.boolean,received:n.parsedType}),Ue}return Gn(t.data)}}im.create=e=>new im({typeName:Ve.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Je(e)});class Gl extends lt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==be.date){const i=this._getOrReturnCtx(t);return he(i,{code:ce.invalid_type,expected:be.date,received:i.parsedType}),Ue}if(Number.isNaN(t.data.getTime())){const i=this._getOrReturnCtx(t);return he(i,{code:ce.invalid_date}),Ue}const n=new Sn;let a;for(const i of this._def.checks)i.kind==="min"?t.data.getTime()i.value&&(a=this._getOrReturnCtx(t,a),he(a,{code:ce.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):ut.assertNever(i);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Gl({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:je.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:je.toString(r)})}get minDate(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew Gl({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ve.ZodDate,...Je(e)});class bN extends lt{_parse(t){if(this._getType(t)!==be.symbol){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.symbol,received:n.parsedType}),Ue}return Gn(t.data)}}bN.create=e=>new bN({typeName:Ve.ZodSymbol,...Je(e)});class wN extends lt{_parse(t){if(this._getType(t)!==be.undefined){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.undefined,received:n.parsedType}),Ue}return Gn(t.data)}}wN.create=e=>new wN({typeName:Ve.ZodUndefined,...Je(e)});class _N extends lt{_parse(t){if(this._getType(t)!==be.null){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.null,received:n.parsedType}),Ue}return Gn(t.data)}}_N.create=e=>new _N({typeName:Ve.ZodNull,...Je(e)});class jN extends lt{constructor(){super(...arguments),this._any=!0}_parse(t){return Gn(t.data)}}jN.create=e=>new jN({typeName:Ve.ZodAny,...Je(e)});class SN extends lt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Gn(t.data)}}SN.create=e=>new SN({typeName:Ve.ZodUnknown,...Je(e)});class es extends lt{_parse(t){const r=this._getOrReturnCtx(t);return he(r,{code:ce.invalid_type,expected:be.never,received:r.parsedType}),Ue}}es.create=e=>new es({typeName:Ve.ZodNever,...Je(e)});class kN extends lt{_parse(t){if(this._getType(t)!==be.undefined){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.void,received:n.parsedType}),Ue}return Gn(t.data)}}kN.create=e=>new kN({typeName:Ve.ZodVoid,...Je(e)});class Ta extends lt{_parse(t){const{ctx:r,status:n}=this._processInputParams(t),a=this._def;if(r.parsedType!==be.array)return he(r,{code:ce.invalid_type,expected:be.array,received:r.parsedType}),Ue;if(a.exactLength!==null){const s=r.data.length>a.exactLength.value,o=r.data.lengtha.maxLength.value&&(he(r,{code:ce.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((s,o)=>a.type._parseAsync(new Qi(r,s,r.path,o)))).then(s=>Sn.mergeArray(n,s));const i=[...r.data].map((s,o)=>a.type._parseSync(new Qi(r,s,r.path,o)));return Sn.mergeArray(n,i)}get element(){return this._def.type}min(t,r){return new Ta({...this._def,minLength:{value:t,message:je.toString(r)}})}max(t,r){return new Ta({...this._def,maxLength:{value:t,message:je.toString(r)}})}length(t,r){return new Ta({...this._def,exactLength:{value:t,message:je.toString(r)}})}nonempty(t){return this.min(1,t)}}Ta.create=(e,t)=>new Ta({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ve.ZodArray,...Je(t)});function Ao(e){if(e instanceof nr){const t={};for(const r in e.shape){const n=e.shape[r];t[r]=Yi.create(Ao(n))}return new nr({...e._def,shape:()=>t})}else return e instanceof Ta?new Ta({...e._def,type:Ao(e.element)}):e instanceof Yi?Yi.create(Ao(e.unwrap())):e instanceof Kl?Kl.create(Ao(e.unwrap())):e instanceof ro?ro.create(e.items.map(t=>Ao(t))):e}class nr extends lt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),r=ut.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==be.object){const c=this._getOrReturnCtx(t);return he(c,{code:ce.invalid_type,expected:be.object,received:c.parsedType}),Ue}const{status:n,ctx:a}=this._processInputParams(t),{shape:i,keys:s}=this._getCached(),o=[];if(!(this._def.catchall instanceof es&&this._def.unknownKeys==="strip"))for(const c in a.data)s.includes(c)||o.push(c);const u=[];for(const c of s){const f=i[c],d=a.data[c];u.push({key:{status:"valid",value:c},value:f._parse(new Qi(a,d,a.path,c)),alwaysSet:c in a.data})}if(this._def.catchall instanceof es){const c=this._def.unknownKeys;if(c==="passthrough")for(const f of o)u.push({key:{status:"valid",value:f},value:{status:"valid",value:a.data[f]}});else if(c==="strict")o.length>0&&(he(a,{code:ce.unrecognized_keys,keys:o}),n.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const c=this._def.catchall;for(const f of o){const d=a.data[f];u.push({key:{status:"valid",value:f},value:c._parse(new Qi(a,d,a.path,f)),alwaysSet:f in a.data})}}return a.common.async?Promise.resolve().then(async()=>{const c=[];for(const f of u){const d=await f.key,p=await f.value;c.push({key:d,value:p,alwaysSet:f.alwaysSet})}return c}).then(c=>Sn.mergeObjectSync(n,c)):Sn.mergeObjectSync(n,u)}get shape(){return this._def.shape()}strict(t){return je.errToObj,new nr({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{var i,s;const a=((s=(i=this._def).errorMap)==null?void 0:s.call(i,r,n).message)??n.defaultError;return r.code==="unrecognized_keys"?{message:je.errToObj(t).message??a}:{message:a}}}:{}})}strip(){return new nr({...this._def,unknownKeys:"strip"})}passthrough(){return new nr({...this._def,unknownKeys:"passthrough"})}extend(t){return new nr({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new nr({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Ve.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new nr({...this._def,catchall:t})}pick(t){const r={};for(const n of ut.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new nr({...this._def,shape:()=>r})}omit(t){const r={};for(const n of ut.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new nr({...this._def,shape:()=>r})}deepPartial(){return Ao(this)}partial(t){const r={};for(const n of ut.objectKeys(this.shape)){const a=this.shape[n];t&&!t[n]?r[n]=a:r[n]=a.optional()}return new nr({...this._def,shape:()=>r})}required(t){const r={};for(const n of ut.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof Yi;)i=i._def.innerType;r[n]=i}return new nr({...this._def,shape:()=>r})}keyof(){return fI(ut.objectKeys(this.shape))}}nr.create=(e,t)=>new nr({shape:()=>e,unknownKeys:"strip",catchall:es.create(),typeName:Ve.ZodObject,...Je(t)});nr.strictCreate=(e,t)=>new nr({shape:()=>e,unknownKeys:"strict",catchall:es.create(),typeName:Ve.ZodObject,...Je(t)});nr.lazycreate=(e,t)=>new nr({shape:e,unknownKeys:"strip",catchall:es.create(),typeName:Ve.ZodObject,...Je(t)});class sm extends lt{_parse(t){const{ctx:r}=this._processInputParams(t),n=this._def.options;function a(i){for(const o of i)if(o.result.status==="valid")return o.result;for(const o of i)if(o.result.status==="dirty")return r.common.issues.push(...o.ctx.common.issues),o.result;const s=i.map(o=>new fi(o.ctx.common.issues));return he(r,{code:ce.invalid_union,unionErrors:s}),Ue}if(r.common.async)return Promise.all(n.map(async i=>{const s={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:s}),ctx:s}})).then(a);{let i;const s=[];for(const u of n){const c={...r,common:{...r.common,issues:[]},parent:null},f=u._parseSync({data:r.data,path:r.path,parent:c});if(f.status==="valid")return f;f.status==="dirty"&&!i&&(i={result:f,ctx:c}),c.common.issues.length&&s.push(c.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;const o=s.map(u=>new fi(u));return he(r,{code:ce.invalid_union,unionErrors:o}),Ue}}get options(){return this._def.options}}sm.create=(e,t)=>new sm({options:e,typeName:Ve.ZodUnion,...Je(t)});function pb(e,t){const r=Ni(e),n=Ni(t);if(e===t)return{valid:!0,data:e};if(r===be.object&&n===be.object){const a=ut.objectKeys(t),i=ut.objectKeys(e).filter(o=>a.indexOf(o)!==-1),s={...e,...t};for(const o of i){const u=pb(e[o],t[o]);if(!u.valid)return{valid:!1};s[o]=u.data}return{valid:!0,data:s}}else if(r===be.array&&n===be.array){if(e.length!==t.length)return{valid:!1};const a=[];for(let i=0;i{if(yN(i)||yN(s))return Ue;const o=pb(i.value,s.value);return o.valid?((vN(i)||vN(s))&&r.dirty(),{status:r.value,value:o.data}):(he(n,{code:ce.invalid_intersection_types}),Ue)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,s])=>a(i,s)):a(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}om.create=(e,t,r)=>new om({left:e,right:t,typeName:Ve.ZodIntersection,...Je(r)});class ro extends lt{_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==be.array)return he(n,{code:ce.invalid_type,expected:be.array,received:n.parsedType}),Ue;if(n.data.lengththis._def.items.length&&(he(n,{code:ce.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());const i=[...n.data].map((s,o)=>{const u=this._def.items[o]||this._def.rest;return u?u._parse(new Qi(n,s,n.path,o)):null}).filter(s=>!!s);return n.common.async?Promise.all(i).then(s=>Sn.mergeArray(r,s)):Sn.mergeArray(r,i)}get items(){return this._def.items}rest(t){return new ro({...this._def,rest:t})}}ro.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ro({items:e,typeName:Ve.ZodTuple,rest:null,...Je(t)})};class ON extends lt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==be.map)return he(n,{code:ce.invalid_type,expected:be.map,received:n.parsedType}),Ue;const a=this._def.keyType,i=this._def.valueType,s=[...n.data.entries()].map(([o,u],c)=>({key:a._parse(new Qi(n,o,n.path,[c,"key"])),value:i._parse(new Qi(n,u,n.path,[c,"value"]))}));if(n.common.async){const o=new Map;return Promise.resolve().then(async()=>{for(const u of s){const c=await u.key,f=await u.value;if(c.status==="aborted"||f.status==="aborted")return Ue;(c.status==="dirty"||f.status==="dirty")&&r.dirty(),o.set(c.value,f.value)}return{status:r.value,value:o}})}else{const o=new Map;for(const u of s){const c=u.key,f=u.value;if(c.status==="aborted"||f.status==="aborted")return Ue;(c.status==="dirty"||f.status==="dirty")&&r.dirty(),o.set(c.value,f.value)}return{status:r.value,value:o}}}}ON.create=(e,t,r)=>new ON({valueType:t,keyType:e,typeName:Ve.ZodMap,...Je(r)});class kd extends lt{_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==be.set)return he(n,{code:ce.invalid_type,expected:be.set,received:n.parsedType}),Ue;const a=this._def;a.minSize!==null&&n.data.sizea.maxSize.value&&(he(n,{code:ce.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),r.dirty());const i=this._def.valueType;function s(u){const c=new Set;for(const f of u){if(f.status==="aborted")return Ue;f.status==="dirty"&&r.dirty(),c.add(f.value)}return{status:r.value,value:c}}const o=[...n.data.values()].map((u,c)=>i._parse(new Qi(n,u,n.path,c)));return n.common.async?Promise.all(o).then(u=>s(u)):s(o)}min(t,r){return new kd({...this._def,minSize:{value:t,message:je.toString(r)}})}max(t,r){return new kd({...this._def,maxSize:{value:t,message:je.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}}kd.create=(e,t)=>new kd({valueType:e,minSize:null,maxSize:null,typeName:Ve.ZodSet,...Je(t)});class NN extends lt{get schema(){return this._def.getter()}_parse(t){const{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}}NN.create=(e,t)=>new NN({getter:e,typeName:Ve.ZodLazy,...Je(t)});class AN extends lt{_parse(t){if(t.data!==this._def.value){const r=this._getOrReturnCtx(t);return he(r,{received:r.data,code:ce.invalid_literal,expected:this._def.value}),Ue}return{status:"valid",value:t.data}}get value(){return this._def.value}}AN.create=(e,t)=>new AN({value:e,typeName:Ve.ZodLiteral,...Je(t)});function fI(e,t){return new ql({values:e,typeName:Ve.ZodEnum,...Je(t)})}class ql extends lt{_parse(t){if(typeof t.data!="string"){const r=this._getOrReturnCtx(t),n=this._def.values;return he(r,{expected:ut.joinValues(n),received:r.parsedType,code:ce.invalid_type}),Ue}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){const r=this._getOrReturnCtx(t),n=this._def.values;return he(r,{received:r.data,code:ce.invalid_enum_value,options:n}),Ue}return Gn(t.data)}get options(){return this._def.values}get enum(){const t={};for(const r of this._def.values)t[r]=r;return t}get Values(){const t={};for(const r of this._def.values)t[r]=r;return t}get Enum(){const t={};for(const r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return ql.create(t,{...this._def,...r})}exclude(t,r=this._def){return ql.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}}ql.create=fI;class EN extends lt{_parse(t){const r=ut.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==be.string&&n.parsedType!==be.number){const a=ut.objectValues(r);return he(n,{expected:ut.joinValues(a),received:n.parsedType,code:ce.invalid_type}),Ue}if(this._cache||(this._cache=new Set(ut.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const a=ut.objectValues(r);return he(n,{received:n.data,code:ce.invalid_enum_value,options:a}),Ue}return Gn(t.data)}get enum(){return this._def.values}}EN.create=(e,t)=>new EN({values:e,typeName:Ve.ZodNativeEnum,...Je(t)});class lm extends lt{unwrap(){return this._def.type}_parse(t){const{ctx:r}=this._processInputParams(t);if(r.parsedType!==be.promise&&r.common.async===!1)return he(r,{code:ce.invalid_type,expected:be.promise,received:r.parsedType}),Ue;const n=r.parsedType===be.promise?r.data:Promise.resolve(r.data);return Gn(n.then(a=>this._def.type.parseAsync(a,{path:r.path,errorMap:r.common.contextualErrorMap})))}}lm.create=(e,t)=>new lm({type:e,typeName:Ve.ZodPromise,...Je(t)});class no extends lt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ve.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:r,ctx:n}=this._processInputParams(t),a=this._def.effect||null,i={addIssue:s=>{he(n,s),s.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),a.type==="preprocess"){const s=a.transform(n.data,i);if(n.common.async)return Promise.resolve(s).then(async o=>{if(r.value==="aborted")return Ue;const u=await this._def.schema._parseAsync({data:o,path:n.path,parent:n});return u.status==="aborted"?Ue:u.status==="dirty"||r.value==="dirty"?Ju(u.value):u});{if(r.value==="aborted")return Ue;const o=this._def.schema._parseSync({data:s,path:n.path,parent:n});return o.status==="aborted"?Ue:o.status==="dirty"||r.value==="dirty"?Ju(o.value):o}}if(a.type==="refinement"){const s=o=>{const u=a.refinement(o,i);if(n.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(n.common.async===!1){const o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?Ue:(o.status==="dirty"&&r.dirty(),s(o.value),{status:r.value,value:o.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>o.status==="aborted"?Ue:(o.status==="dirty"&&r.dirty(),s(o.value).then(()=>({status:r.value,value:o.value}))))}if(a.type==="transform")if(n.common.async===!1){const s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Hl(s))return Ue;const o=a.transform(s.value,i);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:o}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>Hl(s)?Promise.resolve(a.transform(s.value,i)).then(o=>({status:r.value,value:o})):Ue);ut.assertNever(a)}}no.create=(e,t,r)=>new no({schema:e,typeName:Ve.ZodEffects,effect:t,...Je(r)});no.createWithPreprocess=(e,t,r)=>new no({schema:t,effect:{type:"preprocess",transform:e},typeName:Ve.ZodEffects,...Je(r)});class Yi extends lt{_parse(t){return this._getType(t)===be.undefined?Gn(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Yi.create=(e,t)=>new Yi({innerType:e,typeName:Ve.ZodOptional,...Je(t)});class Kl extends lt{_parse(t){return this._getType(t)===be.null?Gn(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Kl.create=(e,t)=>new Kl({innerType:e,typeName:Ve.ZodNullable,...Je(t)});class hb extends lt{_parse(t){const{ctx:r}=this._processInputParams(t);let n=r.data;return r.parsedType===be.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}}hb.create=(e,t)=>new hb({innerType:e,typeName:Ve.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Je(t)});class mb extends lt{_parse(t){const{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},a=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return am(a)?a.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new fi(n.common.issues)},input:n.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new fi(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}mb.create=(e,t)=>new mb({innerType:e,typeName:Ve.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Je(t)});class PN extends lt{_parse(t){if(this._getType(t)!==be.nan){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.nan,received:n.parsedType}),Ue}return{status:"valid",value:t.data}}}PN.create=e=>new PN({typeName:Ve.ZodNaN,...Je(e)});class hfe extends lt{_parse(t){const{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}}class F1 extends lt{_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{const i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Ue:i.status==="dirty"?(r.dirty(),Ju(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{const a=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?Ue:a.status==="dirty"?(r.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:n.path,parent:n})}}static create(t,r){return new F1({in:t,out:r,typeName:Ve.ZodPipeline})}}class gb extends lt{_parse(t){const r=this._def.innerType._parse(t),n=a=>(Hl(a)&&(a.value=Object.freeze(a.value)),a);return am(r)?r.then(a=>n(a)):n(r)}unwrap(){return this._def.innerType}}gb.create=(e,t)=>new gb({innerType:e,typeName:Ve.ZodReadonly,...Je(t)});var Ve;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(Ve||(Ve={}));const ul=Za.create,cl=eo.create;to.create;im.create;Gl.create;es.create;const pI=Ta.create,Sg=nr.create;sm.create;om.create;ro.create;ql.create;lm.create;Yi.create;Kl.create;const xc=no.createWithPreprocess,hI={string:e=>Za.create({...e,coerce:!0}),number:e=>eo.create({...e,coerce:!0}),boolean:e=>im.create({...e,coerce:!0}),bigint:e=>to.create({...e,coerce:!0}),date:e=>Gl.create({...e,coerce:!0})},mfe=Sg({paymentMethodType:ul().min(1),paymentMethod:ul().min(1),bucketSize:hI.number().int().positive(),hedgingPercent:xc(e=>e===""||e===null?null:Number(e),cl().nullable()),latencyThreshold:xc(e=>e===""||e===null?null:Number(e),cl().nullable())}),gfe=Sg({defaultBucketSize:hI.number().int().positive(),defaultSuccessRate:xc(e=>e===""||e===null?null:Number(e),cl().min(0).max(1).nullable()),defaultLatencyThreshold:xc(e=>e===""||e===null?null:Number(e),cl().nullable()),defaultHedgingPercent:xc(e=>e===""||e===null?null:Number(e),cl().nullable()),subLevelInputConfig:pI(mfe)});function yfe(){var R,M,L,V,H;const{merchantId:e}=Nn(),[t,r]=S.useState(!1),[n,a]=S.useState(null),[i,s]=S.useState(!1),[o,u]=S.useState(!1),[c,f]=S.useState(!1),[d,p]=S.useState(null),{data:h,isLoading:x,mutate:v}=Xt(e?["rule-sr",e]:null,()=>zt("/rule/get",{merchant_id:e,algorithm:"successRate"}),{shouldRetryOnError:!1}),{register:g,control:y,handleSubmit:m,reset:w,watch:j,formState:{errors:b}}=Lde({resolver:Ude(gfe),defaultValues:{defaultBucketSize:200,defaultSuccessRate:.5,defaultLatencyThreshold:null,defaultHedgingPercent:null,subLevelInputConfig:[]}});S.useEffect(()=>{var I;if((I=h==null?void 0:h.config)!=null&&I.data){const B=h.config.data;w({defaultBucketSize:B.defaultBucketSize??200,defaultSuccessRate:B.defaultSuccessRate??.5,defaultLatencyThreshold:B.defaultLatencyThreshold??null,defaultHedgingPercent:B.defaultHedgingPercent??null,subLevelInputConfig:B.subLevelInputConfig??[]})}},[h,w]);const{fields:_,append:k,remove:O}=Dde({control:y,name:"subLevelInputConfig"}),E=j("subLevelInputConfig");async function T(){try{await zt("/merchant-account/create",{merchant_id:e,gateway_success_rate_based_decider_input:null})}catch{}}async function $(I){if(!e){a("Set a Merchant ID first.");return}r(!0),a(null),s(!1);try{await T(),await zt(h?"/rule/update":"/rule/create",{merchant_id:e,config:{type:"successRate",data:{defaultBucketSize:I.defaultBucketSize,defaultSuccessRate:I.defaultSuccessRate,defaultLatencyThreshold:I.defaultLatencyThreshold,defaultHedgingPercent:I.defaultHedgingPercent,subLevelInputConfig:I.subLevelInputConfig.length>0?I.subLevelInputConfig:null}}}),s(!0),v()}catch(B){a(B instanceof Error?B.message:String(B))}finally{r(!1)}}async function A(){if(e){f(!0),p(null);try{await zt("/rule/delete",{merchant_id:e,algorithm:"successRate"}),v(void 0,{revalidate:!1})}catch(I){p(I instanceof Error?I.message:String(I))}finally{f(!1)}}}return l.jsxs("div",{className:"space-y-6 max-w-5xl",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900",children:"Auth-Rate Based Routing"}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:"Configure success-rate based gateway routing"})]}),!e&&l.jsx("div",{className:"rounded-lg border border-yellow-200 bg-yellow-50 px-4 py-3 text-sm text-yellow-800",children:"Set a Merchant ID in the top bar to load and save configuration."}),e&&!x&&l.jsxs(Se,{children:[l.jsxs(nt,{className:"flex flex-row items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Configuration Status"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:(R=h==null?void 0:h.config)!=null&&R.data?"Success Rate routing is configured and active":"No Success Rate configuration found"})]}),l.jsx(ze,{variant:(M=h==null?void 0:h.config)!=null&&M.data?"green":"gray",children:(L=h==null?void 0:h.config)!=null&&L.data?"Active":"Not Configured"})]}),((V=h==null?void 0:h.config)==null?void 0:V.data)&&l.jsxs(Be,{className:"border-t border-slate-100 dark:border-[#222226]",children:[l.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-600",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Last Modified:"}),l.jsx("span",{className:"ml-1 font-medium",children:h.modified_at?new Date(h.modified_at).toLocaleString():"Unknown"})]}),l.jsxs(Ae,{type:"button",variant:"secondary",size:"sm",onClick:()=>{confirm("Are you sure you want to clear the Success Rate configuration? This will disable SR-based routing.")&&A()},disabled:c,children:[l.jsx(di,{size:14,className:"mr-1"}),c?"Clearing...":"Clear Configuration"]})]}),d&&l.jsx("p",{className:"text-xs text-red-500 mt-2",children:d})]})]}),x?l.jsx("div",{className:"flex justify-center py-12",children:l.jsx(Ft,{})}):l.jsxs("form",{onSubmit:m($),className:"space-y-6",children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Default Success Rate Config"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:"Base settings used when there is no payment-method-specific override."})]})}),l.jsxs(Be,{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-4",children:[l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Bucket Size"}),l.jsx("input",{type:"number",...g("defaultBucketSize"),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"}),b.defaultBucketSize&&l.jsx("p",{className:"text-xs text-red-500",children:b.defaultBucketSize.message})]}),l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Success Rate"}),l.jsx("input",{type:"number",step:"0.1",min:"0",max:"1",...g("defaultSuccessRate"),placeholder:"0.5",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Hedging %"}),l.jsx("input",{type:"number",step:"0.1",...g("defaultHedgingPercent"),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Latency Threshold (ms)"}),l.jsx("input",{type:"number",...g("defaultLatencyThreshold"),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]})]}),l.jsxs(Se,{children:[l.jsxs(nt,{className:"flex flex-row items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Sub-Level Overrides"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:"Optional overrides for specific payment method type and method combinations."})]}),l.jsxs(Ae,{type:"button",variant:"secondary",size:"sm",onClick:()=>k({paymentMethodType:"card",paymentMethod:"credit",bucketSize:20,hedgingPercent:null,latencyThreshold:null}),children:[l.jsx(ci,{size:14})," Add Level"]})]}),l.jsx(Be,{className:"overflow-x-auto p-0",children:_.length?l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-left text-xs text-slate-500 border-b border-slate-200 dark:border-[#1c1c24] bg-slate-50 dark:bg-[#0a0a0f]",children:[l.jsx("th",{className:"px-4 py-2",children:"Payment Method Type"}),l.jsx("th",{className:"px-4 py-2",children:"Payment Method"}),l.jsx("th",{className:"px-4 py-2",children:"Bucket Size"}),l.jsx("th",{className:"px-4 py-2",children:"Hedging %"}),l.jsx("th",{className:"px-4 py-2",children:"Latency Threshold (ms)"}),l.jsx("th",{className:"px-4 py-2"})]})}),l.jsx("tbody",{children:_.map((I,B)=>{var K;const W=((K=E==null?void 0:E[B])==null?void 0:K.paymentMethodType)||"",G=Fle[W]||[];return l.jsxs("tr",{className:"border-b border-slate-200 dark:border-[#1c1c24] hover:bg-slate-100 dark:bg-[#0f0f16] transition-colors",children:[l.jsx("td",{className:"px-4 py-2",children:l.jsx("select",{...g(`subLevelInputConfig.${B}.paymentMethodType`),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Lle.map(ee=>l.jsx("option",{value:ee,children:ee},ee))})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("select",{...g(`subLevelInputConfig.${B}.paymentMethod`),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:(G.length?G:["credit","debit"]).map(ee=>l.jsx("option",{value:ee,children:ee},ee))})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("input",{type:"number",...g(`subLevelInputConfig.${B}.bucketSize`),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 w-20 focus:outline-none focus:ring-1 focus:ring-brand-500"})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("input",{type:"number",step:"0.1",...g(`subLevelInputConfig.${B}.hedgingPercent`),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 w-20 focus:outline-none focus:ring-1 focus:ring-brand-500"})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("input",{type:"number",...g(`subLevelInputConfig.${B}.latencyThreshold`),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 w-24 focus:outline-none focus:ring-1 focus:ring-brand-500"})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("button",{type:"button",onClick:()=>O(B),className:"text-slate-400 hover:text-red-500",children:l.jsx(di,{size:14})})})]},I.id)})})]}):l.jsx("div",{className:"px-4 py-8 text-sm text-slate-500",children:"No sub-level overrides configured. The default row above is the only active configuration."})})]}),l.jsx(Nr,{error:n}),i&&l.jsx("div",{className:"rounded-lg border border-emerald-500/20 bg-emerald-500/8 px-4 py-3 text-sm text-emerald-400",children:"Configuration saved successfully."}),((H=h==null?void 0:h.config)==null?void 0:H.data)&&l.jsxs(Se,{children:[l.jsxs(nt,{className:"flex flex-row items-center justify-between",children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Current Active Configuration"}),l.jsxs(Ae,{type:"button",variant:"ghost",size:"sm",onClick:()=>u(!o),children:[l.jsx(Wd,{size:14,className:"mr-1"}),o?"Hide":"View"]})]}),o&&l.jsx(Be,{children:l.jsxs("div",{className:"text-xs text-slate-600 space-y-4",children:[l.jsxs("div",{className:"border-b border-slate-200 dark:border-[#222226] pb-3",children:[l.jsx("h3",{className:"font-medium text-slate-700 mb-2",children:"Default Settings"}),l.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-3",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Bucket Size:"}),l.jsx("p",{className:"font-medium",children:h.config.data.defaultBucketSize})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Success Rate:"}),l.jsx("p",{className:"font-medium",children:h.config.data.defaultSuccessRate??"Not set"})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Hedging %:"}),l.jsx("p",{className:"font-medium",children:h.config.data.defaultHedgingPercent??"Not set"})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Latency Threshold:"}),l.jsxs("p",{className:"font-medium",children:[h.config.data.defaultLatencyThreshold??"Not set"," ms"]})]})]})]}),h.config.data.subLevelInputConfig&&h.config.data.subLevelInputConfig.length>0&&l.jsxs("div",{children:[l.jsx("h3",{className:"font-medium text-slate-700 mb-2",children:"Sub-Level Configurations"}),l.jsx("div",{className:"space-y-2",children:h.config.data.subLevelInputConfig.map((I,B)=>l.jsx("div",{className:"bg-slate-50 dark:bg-[#151518] rounded-lg p-3",children:l.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-2 text-xs",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Payment Type:"}),l.jsx("p",{className:"font-medium capitalize",children:I.paymentMethodType})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Payment Method:"}),l.jsx("p",{className:"font-medium",children:I.paymentMethod})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Bucket Size:"}),l.jsx("p",{className:"font-medium",children:I.bucketSize})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Hedging %:"}),l.jsx("p",{className:"font-medium",children:I.hedgingPercent??"Default"})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Latency Threshold:"}),l.jsxs("p",{className:"font-medium",children:[I.latencyThreshold??"Default"," ms"]})]})]})},B))})]}),l.jsxs("div",{className:"border-t border-gray-200 pt-3",children:[l.jsx("h3",{className:"font-medium text-slate-700 mb-2",children:"Raw Configuration (JSON)"}),l.jsx("pre",{className:"bg-slate-900 dark:bg-[#0f0f11] text-slate-100 border border-transparent dark:border-[#222226] rounded-lg p-3 text-xs overflow-auto max-h-64",children:JSON.stringify(h.config,null,2)})]})]})})]}),l.jsx(Ae,{type:"submit",disabled:t||!e,children:t?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Saving…"]}):"Save Configuration"})]})]})}const vfe=Sg({id:ul().min(1),gatewayName:ul().trim().min(1,"Gateway name is required"),gatewayId:ul().trim(),split:cl().min(0).max(100)}),xfe=Sg({ruleName:ul().trim().min(1,"Enter a rule name"),gateways:pI(vfe).min(1,"Add at least one gateway")});function bfe(e){var n;const t=xfe.safeParse(e);if(!t.success)return((n=t.error.issues[0])==null?void 0:n.message)||"Invalid volume split rule configuration";const r=t.data.gateways.reduce((a,i)=>a+i.split,0);return r!==100?`Splits must sum to 100 (currently ${r})`:null}function wfe(e,t){return{rule_id:null,name:e.ruleName.trim(),description:"",created_by:t,algorithm_for:"payment",metadata:null,algorithm:{type:"volume_split",data:e.gateways.map(r=>({split:r.split,output:{gateway_name:r.gatewayName.trim(),gateway_id:r.gatewayId.trim()||null}}))}}}function _fe(e){return e.map((t,r)=>{var n,a,i;return{id:`${((n=t.output)==null?void 0:n.gateway_name)||"gateway"}-${r}`,gatewayName:((a=t.output)==null?void 0:a.gateway_name)||"",gatewayId:((i=t.output)==null?void 0:i.gateway_id)||"",split:t.split}})}function jfe(e){const t=e.algorithm_data||e.algorithm;if(!t||t.type!=="volume_split")return null;const r=t.data||[];return{id:e.id,name:e.name,description:e.description,createdAt:e.created_at,gateways:_fe(r)}}const CN=["#0069ED","#10b981","#f59e0b","#ef4444","#8b5cf6","#ec4899"];function zu(){return Math.random().toString(36).slice(2)}function Sfe(){const{merchantId:e}=Nn(),{mutate:t}=hP(),{data:r,mutate:n}=Xt(e?["active-routing",e]:null,()=>zt(`/routing/list/active/${e}`)),a=r==null?void 0:r.find(A=>{var R;return((R=A.algorithm_data||A.algorithm)==null?void 0:R.type)==="volume_split"}),[i,s]=S.useState([{id:zu(),gatewayName:"",gatewayId:"",split:50},{id:zu(),gatewayName:"",gatewayId:"",split:50}]),[o,u]=S.useState(""),[c,f]=S.useState(!1),[d,p]=S.useState(null),[h,x]=S.useState(null),[v,g]=S.useState(!1),[y,m]=S.useState(new Set),w=i.reduce((A,R)=>A+R.split,0);function j(A,R,M){s(L=>L.map(V=>V.id===A?{...V,[R]:M}:V))}function b(){s(A=>[...A,{id:zu(),gatewayName:"",gatewayId:"",split:0}])}function _(A){s(R=>R.filter(M=>M.id!==A))}async function k(){if(!e)return p("Set a merchant ID first");const A=bfe({ruleName:o,gateways:i});if(A)return p(A);f(!0),p(null),x(null);try{const R=wfe({ruleName:o,gateways:i},e);await zt("/routing/create",R),await Promise.all([n(),t(["routing-list",e])]),x(`Rule "${o}" created successfully. Find it in the list below to activate.`),u(""),s([{id:zu(),gatewayName:"",gatewayId:"",split:50},{id:zu(),gatewayName:"",gatewayId:"",split:50}])}catch(R){p(R instanceof Error?R.message:"Failed to create rule")}finally{f(!1)}}async function O(A){if(e)try{await zt("/routing/activate",{created_by:e,routing_algorithm_id:A}),await Promise.all([n(),t(["routing-list",e])]),x("Rule activated.")}catch(R){p(R instanceof Error?R.message:"Failed to activate")}}function E(A){m(R=>{const M=new Set(R);return M.has(A)?M.delete(A):M.add(A),M})}const T=a?a.algorithm_data||a.algorithm:null,$=T&&"data"in T?T.data.map(A=>{var R,M;return{name:`${((R=A.output)==null?void 0:R.gateway_name)??"?"}${(M=A.output)!=null&&M.gateway_id?` (${A.output.gateway_id})`:""}`,value:A.split}}):[];return l.jsxs("div",{className:"space-y-6 max-w-4xl",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold text-slate-900",children:"Volume Split Routing"}),l.jsx("p",{className:"text-slate-500 mt-1 text-sm",children:"Distribute payment traffic across gateways by percentage."})]}),a&&l.jsxs(Se,{children:[l.jsxs(nt,{className:"flex flex-row items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Active Volume Split"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:a.name})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(ze,{variant:"green",children:"Active"}),l.jsxs(Ae,{type:"button",variant:"ghost",size:"sm",onClick:()=>g(!v),children:[l.jsx(Wd,{size:14,className:"mr-1"}),v?"Hide":"View"]})]})]}),v&&l.jsxs(Be,{children:[l.jsx(Ii,{width:"100%",height:220,children:l.jsxs(_1,{children:[l.jsx(ha,{data:$,dataKey:"value",nameKey:"name",cx:"50%",cy:"50%",outerRadius:80,label:({name:A,value:R})=>`${A}: ${R}%`,labelLine:{stroke:"#45454f"},children:$.map((A,R)=>l.jsx(qi,{fill:CN[R%CN.length]},R))}),l.jsx(Or,{formatter:A=>`${A}%`,contentStyle:{backgroundColor:"#0d0d12",border:"1px solid #1c1c24",borderRadius:"8px",color:"#e8e8f4"}}),l.jsx(ia,{wrapperStyle:{color:"#8e8ea0"}})]})}),l.jsxs("div",{className:"mt-4 text-xs text-slate-600",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"Rule ID:"})," ",a.id]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Created:"})," ",a.created_at?new Date(a.created_at).toLocaleString():"Unknown"]})]})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"font-medium text-slate-800",children:"Create Volume Split Rule"})}),l.jsxs(Be,{className:"space-y-4",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Rule Name"}),l.jsx("input",{value:o,onChange:A=>u(A.target.value),placeholder:"e.g. ab-test-split",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm w-64 focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"grid grid-cols-[1fr_1fr_100px_32px] gap-2 text-xs font-medium text-slate-500 px-1",children:[l.jsx("span",{children:"Gateway Name"}),l.jsx("span",{children:"Gateway ID"}),l.jsx("span",{children:"Split %"}),l.jsx("span",{})]}),i.map(A=>l.jsxs("div",{className:"grid grid-cols-[1fr_1fr_100px_32px] gap-2 items-center",children:[l.jsx("input",{value:A.gatewayName,onChange:R=>j(A.id,"gatewayName",R.target.value),placeholder:"e.g. stripe",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{value:A.gatewayId,onChange:R=>j(A.id,"gatewayId",R.target.value),placeholder:"optional gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{type:"number",min:0,max:100,value:A.split,onChange:R=>j(A.id,"split",Number(R.target.value)),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("button",{onClick:()=>_(A.id),className:"text-slate-400 hover:text-red-500",children:l.jsx(di,{size:15})})]},A.id)),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("button",{onClick:b,className:"flex items-center gap-1 text-sm text-brand-500 hover:text-brand-600",children:[l.jsx(ci,{size:14})," Add Gateway"]}),l.jsxs("span",{className:`text-xs font-medium ${w===100?"text-emerald-400":"text-red-400"}`,children:["Total: ",w,"%",w!==100&&" (must be 100)"]})]})]}),l.jsx(Nr,{error:d}),h&&l.jsx("p",{className:"text-sm text-emerald-400",children:h}),l.jsx(Ae,{onClick:k,disabled:c||!e,children:c?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Creating…"]}):"Create Rule"})]})]}),l.jsx(kfe,{merchantId:e,onActivate:O,expandedRuleIds:y,onToggleExpand:E})]})}function kfe({merchantId:e,onActivate:t,expandedRuleIds:r,onToggleExpand:n}){const{data:a,isLoading:i}=Xt(e?["routing-list",e]:null,()=>zt(`/routing/list/${e}`)),s=(a==null?void 0:a.filter(o=>{var u;return((u=o.algorithm_data||o.algorithm)==null?void 0:u.type)==="volume_split"}))??[];return e?i?l.jsx("div",{className:"flex justify-center py-4",children:l.jsx(Ft,{})}):s.length?l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"font-medium text-slate-800",children:"Saved Volume Split Rules"})}),l.jsx(Be,{className:"p-0",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#0a0a0f] text-xs text-slate-500 uppercase tracking-wider",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-4 py-2",children:"Name"}),l.jsx("th",{className:"text-left px-4 py-2",children:"Split"}),l.jsx("th",{className:"px-4 py-2"})]})}),l.jsx("tbody",{className:"divide-y divide-[#1c1c24]",children:s.map(o=>{const u=jfe(o),c=(u==null?void 0:u.gateways.map(p=>`${p.gatewayName}${p.gatewayId?`(${p.gatewayId})`:""}:${p.split}%`).join(" | "))||"",f=o.algorithm_data||o.algorithm,d=r.has(o.id);return l.jsxs(l.Fragment,{children:[l.jsxs("tr",{className:"hover:bg-slate-100 dark:bg-[#0f0f16] transition-colors",children:[l.jsx("td",{className:"px-4 py-2 font-medium text-slate-800",children:o.name}),l.jsx("td",{className:"px-4 py-2 text-slate-600 text-xs",children:c}),l.jsx("td",{className:"px-4 py-2 text-right",children:l.jsxs("div",{className:"flex items-center justify-end gap-2",children:[l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:()=>n(o.id),children:[l.jsx(Wd,{size:14,className:"mr-1"}),d?"Hide":"View"]}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>t(o.id),children:"Activate"})]})})]},o.id),d&&l.jsx("tr",{children:l.jsx("td",{colSpan:3,className:"px-4 py-3 bg-slate-50 dark:bg-[#151518]",children:l.jsxs("div",{className:"text-xs text-slate-600 space-y-2",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"ID:"})," ",o.id]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Description:"})," ",o.description||"N/A"]}),o.created_at&&l.jsxs("p",{children:[l.jsx("strong",{children:"Created:"})," ",new Date(o.created_at).toLocaleString()]}),l.jsxs("div",{children:[l.jsx("strong",{children:"Configuration:"}),l.jsx("pre",{className:"mt-1 p-2 bg-slate-100 dark:bg-[#0f0f11] border border-transparent dark:border-[#222226] rounded text-xs overflow-auto max-h-48",children:JSON.stringify(f,null,2)})]})]})})})]})})})]})})]}):null:null}function Ofe(){const e=$d(),[t,r]=S.useState(null),n=t??e.pathname,a="/decision-engine/";return S.useLayoutEffect(()=>{if(!t)return;(e.pathname===t||e.pathname.startsWith(`${t}/`))&&r(null)},[e.pathname,t]),l.jsxs("aside",{className:"relative z-20 flex h-screen w-64 shrink-0 flex-col border-r border-slate-200 bg-white transition-colors duration-300 dark:border-[#22262f] dark:bg-[#06080d]",children:[l.jsx("div",{className:"flex h-[78px] shrink-0 items-center border-b border-slate-200 px-6 transition-colors duration-300 dark:border-[#22262f]",children:l.jsxs("div",{className:"flex items-center",children:[l.jsx("img",{src:`${a}logo/decision-engine-light.svg`,alt:"Juspay Decision Engine",className:"h-11 w-auto dark:hidden"}),l.jsx("img",{src:`${a}logo/decision-engine-dark.svg`,alt:"Juspay Decision Engine",className:"hidden h-11 w-auto dark:block"})]})}),l.jsxs("nav",{className:"flex-1 space-y-1 overflow-y-auto px-4 py-8",children:[l.jsx(za,{to:"/",icon:hle,end:!0,selectedPath:n,onNavigate:r,children:"Overview"}),l.jsx(za,{to:"/analytics",icon:Gh,selectedPath:n,onNavigate:r,children:"Analytics"}),l.jsx(za,{to:"/audit",icon:sl,selectedPath:n,onNavigate:r,children:"Decision Audit"}),l.jsx("div",{className:"flex items-center gap-2 px-3 pb-3 pt-8",children:l.jsx("span",{className:"text-[11px] font-bold uppercase tracking-widest text-slate-400 dark:text-[#6d768a]",children:"Routing"})}),l.jsx(za,{to:"/routing",icon:mc,end:!0,selectedPath:n,onNavigate:r,children:"Routing Hub"}),l.jsx(za,{to:"/routing/sr",icon:cR,indent:!0,selectedPath:n,onNavigate:r,children:"Auth-Rate Based"}),l.jsx(za,{to:"/routing/rules",icon:rle,indent:!0,selectedPath:n,onNavigate:r,children:"Rule-Based"}),l.jsx(za,{to:"/routing/volume",icon:Yh,indent:!0,selectedPath:n,onNavigate:r,children:"Volume Split"}),l.jsx(za,{to:"/routing/debit",icon:Kh,indent:!0,selectedPath:n,onNavigate:r,children:"Debit Routing"}),l.jsx("div",{className:"flex items-center gap-2 px-3 pb-3 pt-8",children:l.jsx("span",{className:"text-[11px] font-bold uppercase tracking-widest text-slate-400 dark:text-[#6d768a]",children:"Simulation"})}),l.jsx(za,{to:"/decisions",icon:xle,selectedPath:n,onNavigate:r,children:"Decision Explorer"})]}),l.jsx("div",{className:"border-t border-slate-200 bg-white px-6 py-5 transition-colors duration-300 dark:border-[#22262f] dark:bg-[#0a0d12]",children:l.jsx("span",{className:"text-[11px] font-medium tracking-wide text-slate-500 dark:text-[#7d879b]",children:"v1.4"})})]})}function za({to:e,icon:t,children:r,end:n,indent:a,selectedPath:i,onNavigate:s}){const o=is(),u=n?i===e:i===e||i.startsWith(`${e}/`);return l.jsxs("button",{type:"button","aria-current":u?"page":void 0,onMouseDown:c=>{c.detail>0&&c.preventDefault()},onClick:c=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s==null||s(e),c.currentTarget.blur(),o(e)},className:`group relative flex w-full appearance-none items-center gap-3 rounded-[16px] border-0 px-4 py-3 text-[14px] font-medium transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-[#3b82f6]/40 focus-visible:ring-offset-0 ${a?"pl-8":""} ${u?"bg-transparent text-slate-950 dark:text-white":"bg-transparent text-slate-500 hover:bg-slate-900/[0.025] hover:text-slate-900 dark:text-[#8d96aa] dark:hover:bg-white/[0.035] dark:hover:text-white"}`,children:[l.jsx("span",{"aria-hidden":"true",className:`absolute left-1 top-1/2 h-7 w-[3px] -translate-y-1/2 rounded-full transition-all duration-150 ${u?"bg-brand-600 opacity-100 dark:bg-sky-300":"opacity-0"}`}),l.jsx(t,{size:18,className:`transition-colors duration-200 ${u?"text-brand-600 dark:text-sky-300":"text-slate-400 group-hover:text-slate-700 dark:text-[#697387] dark:group-hover:text-white"}`,strokeWidth:u?2.5:2}),l.jsx("span",{className:"flex-1 text-left",children:r})]})}function Nfe(){const e=is(),{user:t,merchants:r,clearAuth:n,updateMerchant:a}=ua(),{setMerchantId:i}=Nn(),[s,o]=S.useState(()=>localStorage.getItem("theme")!=="light"),[u,c]=S.useState(!1),[f,d]=S.useState(null),p=S.useRef(null);S.useEffect(()=>{const y=window.document.documentElement;s?(y.classList.add("dark"),localStorage.setItem("theme","dark")):(y.classList.remove("dark"),localStorage.setItem("theme","light"))},[s]),S.useEffect(()=>{function y(m){p.current&&!p.current.contains(m.target)&&c(!1)}return document.addEventListener("mousedown",y),()=>document.removeEventListener("mousedown",y)},[]);async function h(){try{await ui("/auth/logout",{method:"POST"})}catch{}n(),e("/login",{replace:!0})}async function x(y){if(!(y===(t==null?void 0:t.merchantId)||f)){d(y);try{const m=await ui("/auth/switch-merchant",{method:"POST",body:JSON.stringify({merchant_id:y})});a(m.token,m.merchant_id,m.merchants),i(m.merchant_id),c(!1),window.location.reload()}catch{}finally{d(null)}}}const v=r.find(y=>y.merchant_id===(t==null?void 0:t.merchantId)),g=t!=null&&t.email?t.email.slice(0,2).toUpperCase():"ME";return l.jsxs("header",{className:"h-14 bg-white dark:bg-[#0c0c10] border-b border-[#e6e6ee] dark:border-[#1a1a24] flex items-center justify-between px-6 shrink-0 relative z-10",children:[l.jsx("div",{}),l.jsxs("div",{className:"flex items-center gap-2",children:[r.length>0&&l.jsxs("div",{className:"relative",ref:p,children:[l.jsxs("button",{onClick:()=>c(y=>!y),className:"flex items-center gap-2 h-8 px-3 rounded-lg border border-[#e6e6ee] dark:border-[#1a1a24] bg-white dark:bg-[#121218] hover:bg-slate-50 dark:hover:bg-[#18181f] transition-colors text-slate-700 dark:text-slate-300",children:[l.jsx(qh,{size:13,className:"text-slate-400 shrink-0"}),l.jsx("span",{className:"text-[12px] font-medium max-w-[140px] truncate",children:(v==null?void 0:v.merchant_name)??(t==null?void 0:t.merchantId)??"Select merchant"}),l.jsx(ks,{size:12,className:"text-slate-400 shrink-0"})]}),u&&l.jsxs("div",{className:"absolute right-0 top-10 w-60 bg-white dark:bg-[#0c0c10] border border-[#e6e6ee] dark:border-[#1a1a24] rounded-lg shadow-lg py-1 z-50",children:[l.jsx("p",{className:"px-3 py-1.5 text-[10px] font-semibold uppercase tracking-widest text-slate-400 dark:text-slate-500",children:"Merchants"}),r.map(y=>l.jsxs("button",{onClick:()=>x(y.merchant_id),disabled:f===y.merchant_id,className:"w-full flex items-center gap-2.5 px-3 py-2 hover:bg-slate-50 dark:hover:bg-[#13131a] transition-colors text-left",children:[l.jsx("div",{className:"w-6 h-6 rounded-md bg-brand-50 flex items-center justify-center shrink-0",children:l.jsx(qh,{size:12,className:"text-brand-600"})}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("p",{className:"text-[13px] font-medium text-slate-700 dark:text-slate-300 truncate",children:y.merchant_name}),l.jsx("p",{className:"text-[11px] text-slate-400 truncate",children:y.merchant_id})]}),y.merchant_id===(t==null?void 0:t.merchantId)&&l.jsx(ale,{size:13,className:"text-brand-600 shrink-0"})]},y.merchant_id)),l.jsx("div",{className:"border-t border-[#e6e6ee] dark:border-[#1a1a24] mt-1 pt-1",children:l.jsxs("button",{onClick:()=>{c(!1),e("/onboarding")},className:"w-full flex items-center gap-2.5 px-3 py-2 hover:bg-slate-50 dark:hover:bg-[#13131a] transition-colors text-left text-brand-600",children:[l.jsx(ci,{size:13}),l.jsx("span",{className:"text-[13px] font-medium",children:"Add merchant"})]})})]})]}),l.jsx("button",{onClick:()=>o(!s),className:"w-8 h-8 flex items-center justify-center rounded-lg text-slate-500 hover:bg-slate-100 dark:text-slate-400 dark:hover:bg-[#1a1a24] transition-colors","aria-label":"Toggle theme",children:s?l.jsx(_le,{size:16}):l.jsx(vle,{size:16})}),l.jsx("div",{className:"w-px h-5 bg-[#e6e6ee] dark:bg-[#1a1a24] mx-1"}),t&&l.jsxs("div",{className:"flex items-center gap-2 pl-1",children:[l.jsx("div",{className:"w-7 h-7 rounded-full bg-brand-600 flex items-center justify-center",children:l.jsx("span",{className:"text-[10px] font-semibold text-white",children:g})}),l.jsx("div",{className:"hidden sm:block",children:l.jsx("p",{className:"text-[13px] font-medium text-slate-700 dark:text-slate-300 leading-tight",children:t.email})})]}),l.jsx("button",{onClick:h,className:"w-8 h-8 flex items-center justify-center rounded-lg text-slate-500 hover:bg-red-50 hover:text-red-500 dark:text-slate-400 dark:hover:bg-red-950/30 dark:hover:text-red-400 transition-colors ml-1","aria-label":"Sign out",title:"Sign out",children:l.jsx(gle,{size:16})})]})]})}function Afe(){return l.jsxs("div",{className:"relative flex h-screen overflow-hidden bg-[#ffffff] text-slate-900 transition-colors duration-300 dark:bg-[#030507] dark:text-white",children:[l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(59,130,246,0.05),_transparent_22%),radial-gradient(circle_at_top_right,_rgba(14,165,233,0.04),_transparent_20%),linear-gradient(180deg,_rgba(255,255,255,1),_rgba(255,255,255,1))] dark:bg-[radial-gradient(circle_at_top_left,_rgba(56,189,248,0.06),_transparent_22%),linear-gradient(180deg,_rgba(3,5,7,1),_rgba(5,8,12,1))]"}),l.jsx("div",{className:"aurora-top"}),l.jsx(Ofe,{}),l.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden relative z-10",children:[l.jsx(Nfe,{}),l.jsx("main",{className:"relative flex-1 overflow-y-auto px-4 py-5 sm:px-5 sm:py-6 lg:px-6 lg:py-7 xl:px-8",children:l.jsx("div",{className:"mx-auto w-full max-w-[1760px] px-1 sm:px-2 lg:px-3",children:l.jsx(nP,{})})})]})]})}function Efe(){const e=ua(s=>s.token),t=ua(s=>s.setAuth),r=ua(s=>s.clearAuth),n=Nn(s=>s.setMerchantId),[a,i]=S.useState(e?"checking":"invalid");return S.useEffect(()=>{let s=!1;if(!e){i("invalid");return}return i("checking"),ui("/auth/me").then(o=>{var c;if(s)return;const u=o.merchant_id||((c=o.merchants[0])==null?void 0:c.merchant_id)||"";t(e,{userId:o.user_id,email:o.email,merchantId:u,role:o.role},o.merchants),n(u),i("ready")}).catch(()=>{s||(r(),n(""),i("invalid"))}),()=>{s=!0}},[e,t,r,n]),e?a==="checking"?l.jsx("div",{className:"dark flex min-h-screen items-center justify-center bg-[#030507] text-white",children:l.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-[#1d1d23] bg-[#111318] px-5 py-4 text-sm text-[#c7cfdb]",children:[l.jsx(S1,{size:16,className:"animate-spin text-[#7ea4ff]"}),"Validating session"]})}):a==="invalid"?l.jsx(cx,{to:"/login",replace:!0}):l.jsx(nP,{}):l.jsx(cx,{to:"/login",replace:!0})}function Pfe(e){return e.length<10?"Use at least 10 characters.":/[A-Z]/.test(e)?/[a-z]/.test(e)?/[0-9]/.test(e)?/[^A-Za-z0-9]/.test(e)?null:"Add at least one special character.":"Add at least one number.":"Add at least one lowercase letter.":"Add at least one uppercase letter."}function Cfe(){const e=is(),{setAuth:t,updateMerchant:r}=ua(),{setMerchantId:n}=Nn(),a="/decision-engine/",[i,s]=S.useState("login"),[o,u]=S.useState(""),[c,f]=S.useState(""),[d,p]=S.useState(""),[h,x]=S.useState(!1),[v,g]=S.useState(!1),[y,m]=S.useState(null);function w(b){s(b),m(null)}async function j(b){if(b.preventDefault(),m(null),i==="signup"){const _=Pfe(c);if(_){m(_);return}}g(!0);try{const _=i==="login"?"/auth/login":"/auth/signup",k=d.trim(),O=await ui(_,{method:"POST",body:JSON.stringify({email:o,password:c})});if(t(O.token,{userId:O.user_id,email:O.email,merchantId:O.merchant_id,role:O.role},O.merchants),O.merchant_id&&n(O.merchant_id),i==="signup"&&k&&!O.merchant_id){const E=await ui("/onboarding/merchant",{method:"POST",body:JSON.stringify({merchant_name:k})});r(E.token,E.merchant_id,E.merchants),n(E.merchant_id),e("/",{replace:!0});return}!O.merchant_id||O.merchants.length===0?e("/onboarding",{replace:!0}):e("/",{replace:!0})}catch(_){const k=_ instanceof Error?_.message:"Something went wrong",O=k.match(/API error \d+: (.+)/);if(O)try{const E=JSON.parse(O[1]);m(E.message??k)}catch{m(O[1])}else m(k)}finally{g(!1)}}return l.jsxs("div",{className:"dark relative min-h-screen overflow-hidden bg-white text-slate-900 dark:bg-[#030507] dark:text-white",children:[l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[linear-gradient(180deg,_rgba(255,255,255,1),_rgba(255,255,255,1))] dark:bg-[linear-gradient(180deg,_rgba(3,5,7,1),_rgba(5,8,12,1))]"}),l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_18%_18%,_rgba(59,130,246,0.06),_transparent_24%),radial-gradient(circle_at_78%_20%,_rgba(14,165,233,0.04),_transparent_18%),radial-gradient(circle_at_50%_100%,_rgba(14,165,233,0.03),_transparent_24%)] dark:bg-[radial-gradient(circle_at_18%_18%,_rgba(56,189,248,0.05),_transparent_24%),radial-gradient(circle_at_78%_20%,_rgba(59,130,246,0.04),_transparent_18%),radial-gradient(circle_at_50%_100%,_rgba(14,165,233,0.035),_transparent_24%)]"}),l.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.05] dark:opacity-[0.08] [background-image:linear-gradient(rgba(148,163,184,0.08)_1px,transparent_1px),linear-gradient(90deg,rgba(148,163,184,0.08)_1px,transparent_1px)] [background-size:56px_56px]"}),l.jsxs("div",{className:"relative z-10 grid min-h-screen lg:grid-cols-[1.06fr_0.94fr]",children:[l.jsxs("section",{className:"flex min-h-[44vh] flex-col border-b border-slate-200 px-6 py-8 dark:border-white/6 sm:px-10 lg:min-h-screen lg:border-b-0 lg:border-r lg:border-[#1d1d23] lg:px-14 lg:py-12 xl:px-16",children:[l.jsx("div",{className:"pt-2",children:l.jsx("img",{src:`${a}logo/decision-engine-dark.svg`,alt:"Juspay Decision Engine",className:"h-11 w-auto sm:h-12"})}),l.jsx("div",{className:"flex flex-1 items-center py-12 lg:py-0",children:l.jsxs("div",{className:"max-w-[620px] space-y-9",children:[l.jsxs("div",{className:"space-y-6",children:[l.jsx("h2",{className:"max-w-[10ch] text-[clamp(4rem,7vw,6.2rem)] font-semibold leading-[0.92] tracking-[-0.065em] text-slate-950 dark:text-white",children:"Route, inspect, and iterate from one control surface."}),l.jsx("p",{className:"max-w-[38rem] text-lg leading-9 text-slate-600 dark:text-[#9aa4b6] sm:text-[1.35rem]",children:"Sign in to the internal workspace used for gateway routing setup, merchant-scoped analytics, and payment audit review."})]}),l.jsxs("div",{className:"flex flex-wrap gap-3",children:[l.jsx(hv,{children:"Gateway routing"}),l.jsx(hv,{children:"Merchant analytics"}),l.jsx(hv,{children:"ClickHouse audit"})]})]})})]}),l.jsx("section",{className:"flex min-h-[56vh] items-center justify-center px-6 py-10 sm:px-10 lg:min-h-screen lg:px-14 lg:py-12 xl:px-16",children:l.jsxs("div",{className:"w-full max-w-[520px]",children:[l.jsxs("div",{className:"text-center",children:[l.jsx("h3",{className:"text-[clamp(2.25rem,3.6vw,3.15rem)] font-semibold tracking-[-0.05em] text-slate-950 dark:text-white",children:i==="login"?"Welcome back":"Create account"}),l.jsx("p",{className:"mt-3 text-base text-slate-500 dark:text-[#8a94a7]",children:i==="login"?"Sign in to access your dashboard":"Create operator access for your Decision Engine workspace"})]}),l.jsxs("div",{className:"mt-10",children:[l.jsxs("div",{className:"inline-flex rounded-full border border-slate-200 bg-white p-1 dark:border-[#27272a] dark:bg-[#121214]",children:[l.jsx(TN,{active:i==="login",onClick:()=>w("login"),children:"Sign in"}),l.jsx(TN,{active:i==="signup",onClick:()=>w("signup"),children:"Sign up"})]}),l.jsxs("div",{className:"mt-10 border-t border-slate-200 pt-10 dark:border-[#1d1d23]",children:[l.jsxs("form",{onSubmit:j,className:"space-y-5",children:[l.jsx(fv,{label:"Email",children:l.jsx(pv,{type:"email",value:o,onChange:b=>u(b.target.value),placeholder:"name@company.com",required:!0,icon:l.jsx(yle,{size:16})})}),i==="signup"?l.jsx(fv,{label:"Merchant name",footer:"This uses the same merchant onboarding step already present in the authenticated flow.",children:l.jsx(pv,{type:"text",value:d,onChange:b=>p(b.target.value),placeholder:"e.g. Acme Corp",required:!0,icon:l.jsx(qh,{size:16})})}):null,l.jsx(fv,{label:"Password",footer:i==="login"?"Password reset is managed by your internal operator admin.":"Use at least 10 characters with uppercase, lowercase, number, and special character.",children:l.jsxs("div",{className:"relative",children:[l.jsx(pv,{type:h?"text":"password",value:c,onChange:b=>f(b.target.value),placeholder:"Enter your password",required:!0,icon:l.jsx(mle,{size:16}),className:"pr-12"}),l.jsx("button",{type:"button",onClick:()=>x(b=>!b),className:"absolute right-4 top-1/2 -translate-y-1/2 text-slate-500 transition-colors hover:text-slate-200","aria-label":h?"Hide password":"Show password",children:h?l.jsx(Wd,{size:18}):l.jsx(dle,{size:18})})]})}),i==="signup"?l.jsx("p",{className:"text-xs leading-5 text-slate-500 dark:text-[#7b8496]",children:"Password policy: minimum 10 characters, including 1 uppercase letter, 1 lowercase letter, 1 number, and 1 special character."}):null,l.jsx(Nr,{error:y}),l.jsx("button",{type:"submit",disabled:v,className:"group inline-flex h-14 w-full items-center justify-center gap-2 rounded-2xl bg-[linear-gradient(90deg,#4371ff_0%,#3a63f4_100%)] px-5 text-sm font-semibold text-white transition-all duration-200 hover:brightness-110 disabled:cursor-not-allowed disabled:opacity-60",children:v?l.jsxs(l.Fragment,{children:[l.jsx(S1,{size:16,className:"animate-spin"}),"Authenticating"]}):l.jsxs(l.Fragment,{children:[i==="login"?"Enter workspace":"Create account",l.jsx(j1,{size:16,className:"transition-transform duration-200 group-hover:translate-x-0.5"})]})})]}),l.jsxs("div",{className:"mt-10 border-t border-slate-200 pt-6 text-center text-xs text-slate-500 dark:border-[#1d1d23] dark:text-[#667085]",children:[l.jsx("p",{children:"By continuing you agree to internal access policy and audit logging for operator actions."}),l.jsx("p",{className:"mt-4 text-slate-400 dark:text-[#525866]",children:"Juspay Decision Engine"})]})]})]})]})})]})]})}function TN({active:e,children:t,onClick:r}){return l.jsx("button",{type:"button",onClick:r,className:`rounded-full px-4 py-2 text-sm font-semibold transition-all duration-200 ${e?"bg-slate-950 text-white shadow-[0_8px_24px_-18px_rgba(15,23,42,0.45)] dark:bg-white dark:text-slate-950":"text-slate-500 hover:text-slate-950 dark:text-[#8a94a7] dark:hover:text-white"}`,children:t})}function fv({label:e,children:t,footer:r}){return l.jsxs("label",{className:"block",children:[l.jsx(an,{className:"mb-2 block text-slate-500 dark:text-[#8a94a7]",children:e}),t,r?l.jsx("p",{className:"mt-2 text-xs leading-5 text-slate-500 dark:text-[#7b8496]",children:r}):null]})}function pv({icon:e,className:t="",...r}){return l.jsxs("div",{className:"relative",children:[e?l.jsx("span",{className:"pointer-events-none absolute left-4 top-1/2 -translate-y-1/2 text-slate-400 dark:text-[#667085]",children:e}):null,l.jsx("input",{...r,className:`h-14 w-full rounded-2xl border border-slate-200 bg-white px-4 text-sm text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.12)] outline-none transition placeholder:text-slate-400 focus:border-brand-500 focus:ring-2 focus:ring-brand-500/20 dark:border-[#2a303a] dark:bg-[#161b24] dark:text-white dark:shadow-none ${e?"pl-12":""} ${t}`})]})}function hv({children:e}){return l.jsx("div",{className:"inline-flex items-center rounded-full border border-slate-200 bg-white px-4 py-2 text-sm text-slate-700 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.1)] dark:border-[#27272a] dark:bg-[#121214] dark:text-[#c6d0e1] dark:shadow-none",children:e})}function mv({children:e}){return l.jsx("span",{className:"inline-flex items-center rounded-full border border-slate-200 bg-white px-4 py-2 text-sm font-medium text-slate-700 dark:border-[#2a2d35] dark:bg-[#111318] dark:text-[#d0d7e2]",children:e})}function Tfe({label:e,children:t,footer:r}){return l.jsxs("div",{className:"space-y-3",children:[l.jsx("label",{className:"block text-xs font-semibold uppercase tracking-[0.24em] text-slate-500 dark:text-[#8d95a3]",children:e}),t,r?l.jsx("p",{className:"text-sm leading-6 text-slate-500 dark:text-[#707786]",children:r}):null]})}function $fe(){const e=is(),{updateMerchant:t}=ua(),{setMerchantId:r}=Nn(),n="/decision-engine/",[a,i]=S.useState(""),[s,o]=S.useState(!1),[u,c]=S.useState(null);async function f(d){d.preventDefault(),c(null),o(!0);try{const p=await ui("/onboarding/merchant",{method:"POST",body:JSON.stringify({merchant_name:a})});t(p.token,p.merchant_id,p.merchants),r(p.merchant_id),e("/",{replace:!0})}catch(p){const h=p instanceof Error?p.message:"Something went wrong",x=h.match(/API error \d+: (.+)/);if(x)try{const v=JSON.parse(x[1]);c(v.message??h)}catch{c(x[1])}else c(h)}finally{o(!1)}}return l.jsxs("div",{className:"dark relative min-h-screen overflow-hidden bg-white text-slate-900 dark:bg-[#030507] dark:text-white",children:[l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[linear-gradient(180deg,_rgba(255,255,255,1),_rgba(248,250,252,1))] dark:bg-[linear-gradient(180deg,_rgba(3,5,7,1),_rgba(5,8,12,1))]"}),l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_18%_18%,_rgba(59,130,246,0.06),_transparent_24%),radial-gradient(circle_at_78%_20%,_rgba(14,165,233,0.04),_transparent_18%),radial-gradient(circle_at_50%_100%,_rgba(14,165,233,0.03),_transparent_24%)] dark:bg-[radial-gradient(circle_at_20%_22%,_rgba(56,189,248,0.05),_transparent_24%),radial-gradient(circle_at_74%_18%,_rgba(59,130,246,0.04),_transparent_18%),radial-gradient(circle_at_50%_100%,_rgba(14,165,233,0.03),_transparent_24%)]"}),l.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.05] dark:opacity-[0.08] [background-image:linear-gradient(rgba(148,163,184,0.08)_1px,transparent_1px),linear-gradient(90deg,rgba(148,163,184,0.08)_1px,transparent_1px)] [background-size:56px_56px]"}),l.jsxs("div",{className:"relative z-10 grid min-h-screen lg:grid-cols-[1.08fr_0.92fr]",children:[l.jsxs("section",{className:"flex min-h-[42vh] flex-col border-b border-slate-200 dark:border-white/6 lg:min-h-screen lg:border-b-0 lg:border-r lg:border-[#1d1d23] px-6 py-8 sm:px-10 lg:px-14 lg:py-12 xl:px-16",children:[l.jsx("div",{className:"pt-2",children:l.jsx("img",{src:`${n}logo/decision-engine-dark.svg`,alt:"Juspay Decision Engine",className:"h-10 w-auto sm:h-11"})}),l.jsx("div",{className:"flex flex-1 items-center py-12 lg:py-0",children:l.jsxs("div",{className:"max-w-[620px] space-y-9",children:[l.jsxs("div",{className:"space-y-6",children:[l.jsx("h1",{className:"max-w-[10ch] text-[clamp(3.8rem,6.8vw,6rem)] font-semibold leading-[0.92] tracking-[-0.065em] text-slate-950 dark:text-white",children:"Configure the merchant workspace before first traffic."}),l.jsx("p",{className:"max-w-[38rem] text-lg leading-9 text-slate-600 dark:text-[#9aa4b6] sm:text-[1.3rem]",children:"Create the merchant shell once, then move straight into routing rules, analytics, and payment audit from the same control plane."})]}),l.jsxs("div",{className:"flex flex-wrap gap-3",children:[l.jsx(mv,{children:"Merchant workspace"}),l.jsx(mv,{children:"Routing controls"}),l.jsx(mv,{children:"Analytics ready"})]})]})})]}),l.jsx("section",{className:"flex min-h-[58vh] items-center justify-center px-6 py-10 sm:px-10 lg:min-h-screen lg:px-14 lg:py-12 xl:px-16",children:l.jsxs("div",{className:"w-full max-w-[540px]",children:[l.jsxs("div",{className:"text-center",children:[l.jsx("h2",{className:"text-[clamp(2.15rem,3.6vw,3.05rem)] font-semibold tracking-[-0.05em] text-slate-950 dark:text-white",children:"Create your merchant"}),l.jsx("p",{className:"mt-3 text-base text-slate-500 dark:text-[#8a94a7]",children:"Set up the merchant account that will own your Decision Engine workspace."})]}),l.jsxs("div",{className:"mt-10 border-t border-slate-200 pt-10 dark:border-[#1d1d23]",children:[l.jsxs("form",{onSubmit:f,className:"space-y-6",children:[l.jsx(Tfe,{label:"Merchant name",footer:"You can adjust downstream rules, connectors, and analytics after the workspace is created.",children:l.jsxs("div",{className:"relative",children:[l.jsx(qh,{size:16,className:"pointer-events-none absolute left-4 top-1/2 -translate-y-1/2 text-slate-500 dark:text-[#798191]"}),l.jsx("input",{type:"text",required:!0,autoFocus:!0,value:a,onChange:d=>i(d.target.value),placeholder:"e.g. Acme Corp",className:"h-16 w-full rounded-2xl border border-slate-200 bg-white pl-12 pr-5 text-[15px] text-slate-900 outline-none transition-all placeholder:text-slate-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 dark:border-[#2a2d35] dark:bg-[#1a1d25] dark:text-white dark:placeholder:text-[#6e7684] dark:focus:border-blue-500"})]})}),l.jsx(Nr,{error:u}),l.jsx("button",{type:"submit",disabled:s,className:"group inline-flex h-14 w-full items-center justify-center gap-2 rounded-2xl bg-[linear-gradient(90deg,#4371ff_0%,#3a63f4_100%)] px-5 text-sm font-semibold text-white transition-all duration-200 hover:brightness-110 disabled:cursor-not-allowed disabled:opacity-60",children:s?l.jsxs(l.Fragment,{children:[l.jsx(S1,{size:16,className:"animate-spin"}),"Creating workspace"]}):l.jsxs(l.Fragment,{children:["Create merchant",l.jsx(j1,{size:16,className:"transition-transform duration-200 group-hover:translate-x-0.5"})]})})]}),l.jsxs("div",{className:"mt-10 border-t border-slate-200 pt-6 text-center text-xs text-slate-500 dark:border-[#1d1d23] dark:text-[#667085]",children:[l.jsx("p",{children:"Workspace ownership and merchant-scoped access will be linked to your current operator session."}),l.jsx("p",{className:"mt-4 text-slate-400 dark:text-[#525866]",children:"Juspay Decision Engine"})]})]})]})})]})]})}function Rfe(){return l.jsxs(F3,{children:[l.jsx(Ur,{path:"login",element:l.jsx(Cfe,{})}),l.jsxs(Ur,{element:l.jsx(Efe,{}),children:[l.jsx(Ur,{path:"onboarding",element:l.jsx($fe,{})}),l.jsxs(Ur,{element:l.jsx(Afe,{}),children:[l.jsx(Ur,{index:!0,element:l.jsx(Xce,{})}),l.jsx(Ur,{path:"routing",element:l.jsx(hde,{})}),l.jsx(Ur,{path:"routing/sr",element:l.jsx(yfe,{})}),l.jsx(Ur,{path:"routing/rules",element:l.jsx(Gce,{})}),l.jsx(Ur,{path:"routing/volume",element:l.jsx(Sfe,{})}),l.jsx(Ur,{path:"routing/debit",element:l.jsx(Qle,{})}),l.jsx(Ur,{path:"decisions",element:l.jsx(Jle,{})}),l.jsx(Ur,{path:"analytics",element:l.jsx(Mle,{})}),l.jsx(Ur,{path:"audit",element:l.jsx(pde,{})}),l.jsx(Ur,{path:"*",element:l.jsx(cx,{to:".",replace:!0})})]})]})]})}class Ife extends S.Component{constructor(){super(...arguments);t_(this,"state",{error:null,errorInfo:null})}static getDerivedStateFromError(r){return{error:r,errorInfo:null}}componentDidCatch(r,n){console.log(` +`+"!".repeat(80)),console.log("[ERROR BOUNDARY] Component Error Caught"),console.log(`Timestamp: ${new Date().toISOString()}`),console.log("Error Message:",r.message),console.log("Error Stack:",r.stack),console.log("Component Stack:",n.componentStack),console.log("!".repeat(80)+` +`),this.setState({errorInfo:n})}render(){return this.state.error?l.jsxs("div",{style:{padding:32,fontFamily:"monospace",color:"red"},children:[l.jsx("h2",{children:"Dashboard Error"}),l.jsx("pre",{children:this.state.error.message}),l.jsx("pre",{children:this.state.error.stack}),this.state.errorInfo&&l.jsxs("pre",{style:{marginTop:16,color:"darkred"},children:["Component Stack:",this.state.errorInfo.componentStack]})]}):this.props.children}}const Mfe="/decision-engine/".endsWith("/")?"/decision-engine/".slice(0,-1):"/decision-engine/";console.log(` +`+"=".repeat(80));console.log("[APP STARTUP] Dashboard initializing...");console.log(`Timestamp: ${new Date().toISOString()}`);console.log("Environment: production");console.log("Base URL: /decision-engine/");console.log("=".repeat(80)+` +`);window.onerror=(e,t,r,n,a)=>{console.log(` +`+"!".repeat(80)),console.log("[WINDOW ERROR]"),console.log("Message:",e),console.log("Source:",t),console.log("Line:",r,"Column:",n),a&&(console.log("Error:",a.message),console.log("Stack:",a.stack)),console.log("!".repeat(80)+` +`)};window.onunhandledrejection=e=>{console.log(` +`+"!".repeat(80)),console.log("[UNHANDLED PROMISE REJECTION]"),console.log("Reason:",e.reason),e.reason instanceof Error&&console.log("Stack:",e.reason.stack),console.log("!".repeat(80)+` +`)};gv.createRoot(document.getElementById("root")).render(l.jsx(P.StrictMode,{children:l.jsx(Ife,{children:l.jsx(V3,{basename:Mfe,children:l.jsx(Rfe,{})})})})); diff --git a/website/dist/index.html b/website/dist/index.html index 74607ca6..c497da8d 100644 --- a/website/dist/index.html +++ b/website/dist/index.html @@ -7,8 +7,8 @@ Juspay Decision Engine Dashboard - - + +
diff --git a/website/src/App.tsx b/website/src/App.tsx index bd2aeb59..8643d1e6 100644 --- a/website/src/App.tsx +++ b/website/src/App.tsx @@ -11,12 +11,14 @@ import { VolumeSplitPage } from './components/pages/VolumeSplitPage' import { AppShell } from './components/layout/AppShell' import { AuthGuard } from './components/layout/AuthGuard' import { AuthPage } from './pages/AuthPage' +import { OnboardingPage } from './pages/OnboardingPage' export default function App() { return ( } /> }> + } /> }> } /> } /> diff --git a/website/src/components/layout/AppShell.tsx b/website/src/components/layout/AppShell.tsx index c7bb5ff7..b92fab47 100644 --- a/website/src/components/layout/AppShell.tsx +++ b/website/src/components/layout/AppShell.tsx @@ -10,8 +10,10 @@ export function AppShell() {
-
- +
+
+ +
diff --git a/website/src/components/layout/TopBar.tsx b/website/src/components/layout/TopBar.tsx index bdd2beeb..282e805a 100644 --- a/website/src/components/layout/TopBar.tsx +++ b/website/src/components/layout/TopBar.tsx @@ -1,13 +1,25 @@ -import { useEffect, useState } from 'react' +import { useState, useEffect, useRef } from 'react' import { useNavigate } from 'react-router-dom' -import { ChevronDown, LogOut, Moon, Sun } from 'lucide-react' -import { apiFetch } from '../../lib/api' import { useAuthStore } from '../../store/authStore' +import { useMerchantStore } from '../../store/merchantStore' +import { apiFetch } from '../../lib/api' +import { Moon, Sun, LogOut, ChevronDown, Building2, Check, Plus } from 'lucide-react' + +interface SwitchMerchantResponse { + token: string + merchant_id: string + role: string + merchants: { merchant_id: string; merchant_name: string; role: string }[] +} export function TopBar() { const navigate = useNavigate() - const { user, clearAuth } = useAuthStore() - const [isDark, setIsDark] = useState(() => localStorage.getItem('theme') === 'dark') + const { user, merchants, clearAuth, updateMerchant } = useAuthStore() + const { setMerchantId } = useMerchantStore() + const [isDark, setIsDark] = useState(() => localStorage.getItem('theme') !== 'light') + const [merchantOpen, setMerchantOpen] = useState(false) + const [switching, setSwitching] = useState(null) + const dropdownRef = useRef(null) useEffect(() => { const root = window.document.documentElement @@ -20,6 +32,16 @@ export function TopBar() { } }, [isDark]) + useEffect(() => { + function handleClickOutside(e: MouseEvent) { + if (dropdownRef.current && !dropdownRef.current.contains(e.target as Node)) { + setMerchantOpen(false) + } + } + document.addEventListener('mousedown', handleClickOutside) + return () => document.removeEventListener('mousedown', handleClickOutside) + }, []) + async function handleLogout() { try { await apiFetch('/auth/logout', { method: 'POST' }) @@ -30,6 +52,26 @@ export function TopBar() { navigate('/login', { replace: true }) } + async function handleSwitchMerchant(merchantId: string) { + if (merchantId === user?.merchantId || switching) return + setSwitching(merchantId) + try { + const res = await apiFetch('/auth/switch-merchant', { + method: 'POST', + body: JSON.stringify({ merchant_id: merchantId }), + }) + updateMerchant(res.token, res.merchant_id, res.merchants) + setMerchantId(res.merchant_id) + setMerchantOpen(false) + window.location.reload() + } catch { + // ignore + } finally { + setSwitching(null) + } + } + + const currentMerchant = merchants.find((m) => m.merchant_id === user?.merchantId) const initials = user?.email ? user.email.slice(0, 2).toUpperCase() : 'ME' return ( @@ -37,6 +79,61 @@ export function TopBar() {
+ {/* Merchant switcher */} + {merchants.length > 0 && ( +
+ + + {merchantOpen && ( +
+

+ Merchants +

+ {merchants.map((m) => ( + + ))} +
+ +
+
+ )} +
+ )} + + {/* Theme toggle */}
-
)} diff --git a/website/src/components/pages/AnalyticsPage.tsx b/website/src/components/pages/AnalyticsPage.tsx index 68c2bae4..ecaec79a 100644 --- a/website/src/components/pages/AnalyticsPage.tsx +++ b/website/src/components/pages/AnalyticsPage.tsx @@ -33,6 +33,7 @@ import { Card, CardBody, CardHeader } from '../ui/Card' import { Badge } from '../ui/Badge' import { Spinner } from '../ui/Spinner' import { ErrorMessage } from '../ui/ErrorMessage' +import { DateTimePicker } from '../ui/DateTimePicker' type TimeWindow = { start_ms: number @@ -384,6 +385,12 @@ function controlClassName() { return 'h-11 w-full rounded-2xl border border-slate-200 bg-white px-4 text-sm text-slate-700 shadow-sm outline-none transition focus:border-brand-500 focus:ring-2 focus:ring-brand-500/20 dark:border-[#27272a] dark:bg-[#121214] dark:text-[#e5e7eb]' } +function sectionButtonClass(active: boolean) { + return active + ? '!border-slate-200 !bg-white !text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.28)] dark:!border-[#2a303a] dark:!bg-[#161b24] dark:!text-white' + : '!border-transparent !bg-slate-100 !text-slate-600 hover:!bg-slate-200 hover:!text-slate-900 dark:!bg-[#161b24] dark:!text-[#a7b2c6] dark:hover:!bg-[#1c2330] dark:hover:!text-white' +} + function InfoButton({ content }: { content: InfoContent }) { const [open, setOpen] = useState(false) const containerRef = useRef(null) @@ -580,13 +587,11 @@ export function AnalyticsPage() { : null const overviewSwrOptions = { - refreshInterval: 10000, - revalidateOnFocus: true, + revalidateOnFocus: false, revalidateIfStale: false, } as const const routingSwrOptions = { - refreshInterval: 12000, - revalidateOnFocus: true, + revalidateOnFocus: false, revalidateIfStale: false, } as const const filteredRoutingSwrOptions = { @@ -594,9 +599,7 @@ export function AnalyticsPage() { keepPreviousData: true, } as const const previewListSwrOptions = { - refreshInterval: (data?: PaymentAuditResponse) => - data?.results?.length ? 12000 : 2000, - revalidateOnFocus: true, + revalidateOnFocus: false, revalidateIfStale: false, keepPreviousData: true, } as const @@ -620,9 +623,7 @@ export function AnalyticsPage() { ) }, { - refreshInterval: (data?: PaymentAuditResponse) => - data?.results?.length ? 12000 : 2000, - revalidateOnFocus: true, + revalidateOnFocus: false, revalidateIfStale: false, }, ) @@ -959,11 +960,32 @@ export function AnalyticsPage() { buckets.set(point.bucket_ms, row) } + const rows = Array.from(buckets.values()).sort( + (left, right) => Number(left.bucket_ms) - Number(right.bucket_ms), + ) + + // Treat score snapshots as state updates: once a connector emits a score, + // keep that score in effect until a newer snapshot arrives. + for (const gateway of gateways) { + let lastKnownValue: number | null = null + let hasSeenSnapshot = false + + for (const row of rows) { + if (typeof row[gateway] === 'number') { + lastKnownValue = row[gateway] + hasSeenSnapshot = true + continue + } + + if (hasSeenSnapshot) { + row[gateway] = lastKnownValue + } + } + } + return { gateways, - rows: Array.from(buckets.values()).sort( - (left, right) => Number(left.bucket_ms) - Number(right.bucket_ms), - ), + rows, } }, [chartBucketSize, effectiveWindow, filteredRouting.data]) @@ -1095,8 +1117,8 @@ export function AnalyticsPage() { } return ( -
-
+
+

Analytics

@@ -1109,10 +1131,23 @@ export function AnalyticsPage() {

-
+
+
+ {PRESET_OPTIONS.map((option) => ( + + ))} +
@@ -1120,7 +1155,7 @@ export function AnalyticsPage() {
- - - - - {range === 'custom' ? ( - <> - - - - - ) : null} - -
-

- Active window -

-

{activeWindowLabel}

- {range === 'custom' && !customWindow ? ( -

Choose an end time after the start time.

- ) : null} + {range === 'custom' ? ( + +
+ + +
- -
+ {!customWindow ? ( +

Choose an end time after the start time.

+ ) : null} + + ) : null} @@ -1219,8 +1226,8 @@ export function AnalyticsPage() { ) : null} {view === 'transactions' ? ( -
-
+
+

API calls

@@ -1231,7 +1238,7 @@ export function AnalyticsPage() {
-
+
{transactionRouteHits.map((item) => ( ))} @@ -1503,8 +1511,8 @@ export function AnalyticsPage() {
) : ( -
-
+
+

Rule-based activity

@@ -1515,7 +1523,7 @@ export function AnalyticsPage() {
-
+
-
+
@@ -1692,7 +1700,7 @@ export function AnalyticsPage() {
-
+
@@ -1803,7 +1811,7 @@ export function AnalyticsPage() { -
+
diff --git a/website/src/components/pages/DebitRoutingPage.tsx b/website/src/components/pages/DebitRoutingPage.tsx index cea9ba24..0a760309 100644 --- a/website/src/components/pages/DebitRoutingPage.tsx +++ b/website/src/components/pages/DebitRoutingPage.tsx @@ -1,69 +1,55 @@ import { useState } from 'react' -import useSWR from 'swr' -import { Card, CardBody, CardHeader } from '../ui/Card' +import { Network } from 'lucide-react' +import { Card, CardBody, CardHeader, SurfaceLabel } from '../ui/Card' import { Button } from '../ui/Button' import { ErrorMessage } from '../ui/ErrorMessage' import { Spinner } from '../ui/Spinner' import { useMerchantStore } from '../../store/merchantStore' -import { apiPost } from '../../lib/api' -import { DebitRoutingData, CreateRuleRequest } from '../../types/api' -import { Network } from 'lucide-react' - -interface RuleConfigResponse { - merchant_id: string - config: { type: string; data: DebitRoutingData } -} +import { useDebitRoutingFlag } from '../../hooks/useDebitRoutingFlag' export function DebitRoutingPage() { const { merchantId } = useMerchantStore() - - const { data: existing, mutate, isLoading } = useSWR( - merchantId ? ['rule-debit', merchantId] : null, - () => apiPost('/rule/get', { merchant_id: merchantId, config: { type: 'debitRouting' } }) - ) - - const [mcc, setMcc] = useState('') - const [country, setCountry] = useState('') + const { + data, + error: flagError, + isLoading, + isEnabled, + setDebitRoutingEnabled, + } = useDebitRoutingFlag(merchantId) const [saving, setSaving] = useState(false) const [error, setError] = useState(null) const [success, setSuccess] = useState(null) - // Pre-fill from fetched config - const current = existing?.config?.data - const displayMcc = mcc || current?.merchant_category_code || '' - const displayCountry = country || current?.acquirer_country || '' - - async function handleSave() { - if (!merchantId) return setError('Set a merchant ID first') - const payload: CreateRuleRequest = { - merchant_id: merchantId, - config: { - type: 'debitRouting', - data: { - merchant_category_code: displayMcc.trim(), - acquirer_country: displayCountry.trim(), - } as DebitRoutingData, - }, + async function handleToggle(nextEnabled: boolean) { + if (!merchantId) { + setError('Set a merchant ID first') + return } - setSaving(true); setError(null) + + setSaving(true) + setError(null) + setSuccess(null) + try { - await apiPost(existing ? '/rule/update' : '/rule/create', payload) - setSuccess('Debit routing config saved.') - mutate() + const response = await setDebitRoutingEnabled(nextEnabled) + setSuccess( + response.debit_routing_enabled + ? 'Debit routing enabled for this merchant.' + : 'Debit routing disabled for this merchant.', + ) } catch (e: unknown) { - setError(e instanceof Error ? e.message : 'Failed to save') + setError(e instanceof Error ? e.message : 'Failed to update debit routing') } finally { setSaving(false) } } return ( -
+
-

Network / Debit Routing

-

- Configure network-based routing to optimise processing fees for debit card transactions. - The engine selects the cheapest eligible network (Visa, Mastercard, ACCEL, NYCE, PULSE, STAR). +

Network / Debit Routing

+

+ Enable debit network routing for a merchant, then test real network-routing decisions from Decision Explorer.

@@ -71,67 +57,83 @@ export function DebitRoutingPage() {
-

Debit Routing Configuration

+
+ Merchant feature flag +

Debit Routing Runtime Access

+
- - {isLoading ? ( -
- ) : ( - <> - {!merchantId && ( -

- Set a merchant ID in the top bar to load configuration. -

- )} + + {!merchantId && ( +

+ Set a merchant ID in the top bar to load debit routing access. +

+ )} -
+ {merchantId && isLoading ? ( +
+ + Loading debit routing flag... +
+ ) : ( +
+
- - setMcc(e.target.value)} - placeholder="e.g. 5411" - className="w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500" - /> -

4-digit ISO MCC for your business type

+

+ Current state +

+

+ {isEnabled ? 'Enabled' : 'Disabled'} +

+

+ {data?.merchant_id || merchantId || 'No merchant selected'} +

-
- - setCountry(e.target.value)} - placeholder="e.g. US" - className="w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500" - /> -

ISO 3166-1 alpha-2 country code

-
+
- - - {success &&

{success}

} - - - +
)} + + + {success &&

{success}

} -

How Network Routing Works

+

What This Controls

- -

For co-badged debit cards (e.g. Visa/NYCE, Mastercard/PULSE), the engine evaluates all eligible networks and routes to the one with the lowest processing fee.

-

Supported networks: {['VISA','MASTERCARD','ACCEL','NYCE','PULSE','STAR'].map(n => {n})}

-

Use the Decision Explorer to test network routing decisions with NtwBasedRouting algorithm.

+ +

+ This toggle controls the backend runtime gate for NtwBasedRouting and hybrid debit routing. +

+

+ Detailed debit fee tables and network cost configuration are still backend configuration, not dashboard-editable rule config. This page only enables or disables merchant access to the runtime debit-routing flow. +

+

+ Use Decision Explorer's Debit Routing tab to send a real /decide-gateway request and inspect the ranked debit networks. +

diff --git a/website/src/components/pages/DecisionExplorerPage.tsx b/website/src/components/pages/DecisionExplorerPage.tsx index b464acd1..5faba081 100644 --- a/website/src/components/pages/DecisionExplorerPage.tsx +++ b/website/src/components/pages/DecisionExplorerPage.tsx @@ -9,20 +9,22 @@ import { Spinner } from '../ui/Spinner' import { useMerchantStore } from '../../store/merchantStore' import { useAuthStore } from '../../store/authStore' import { apiPost, fetcher } from '../../lib/api' -import { DecideGatewayResponse, GatewayConnector, PaymentAuditEvent, PaymentAuditResponse } from '../../types/api' +import { DecideGatewayResponse, GatewayConnector, PaymentAuditEvent, PaymentAuditResponse, RoutingAlgorithmName } from '../../types/api' import { ROUTING_APPROACH_COLORS } from '../../lib/constants' import { useDynamicRoutingConfig } from '../../hooks/useDynamicRoutingConfig' -import { Play, RefreshCw, ChevronDown, ChevronUp, Activity, Code, Plus, Trash2, PieChart as PieChartIcon, X } from 'lucide-react' +import { useDebitRoutingFlag } from '../../hooks/useDebitRoutingFlag' +import { Play, RefreshCw, ChevronDown, ChevronUp, Activity, Code, Plus, Trash2, PieChart as PieChartIcon, X, Network } from 'lucide-react' -const ALGORITHMS = ['SR_BASED_ROUTING', 'PL_BASED_ROUTING', 'NTW_BASED_ROUTING'] +const ALGORITHMS: RoutingAlgorithmName[] = ['SrBasedRouting', 'PlBasedRouting', 'NtwBasedRouting', 'NtwSrHybridRouting'] -const ALGORITHM_LABELS: Record = { - 'SR_BASED_ROUTING': 'Success Rate Based', - 'PL_BASED_ROUTING': 'Priority List Based', - 'NTW_BASED_ROUTING': 'Network Based' +const ALGORITHM_LABELS: Record = { + SrBasedRouting: 'Success Rate Based', + PlBasedRouting: 'Priority List Based', + NtwBasedRouting: 'Network Based', + NtwSrHybridRouting: 'Network + SR Hybrid', } -type TabType = 'single' | 'batch' | 'rule' | 'volume' +type TabType = 'single' | 'batch' | 'rule' | 'volume' | 'debit' interface FormState { amount: string @@ -32,10 +34,24 @@ interface FormState { card_brand: string auth_type: string eligible_gateways: string - ranking_algorithm: string + ranking_algorithm: RoutingAlgorithmName elimination_enabled: boolean } +interface DebitRoutingFormState { + amount: string + currency: string + auth_type: string + eligible_gateways: string + merchant_category_code: string + acquirer_country: string + co_badged_networks: string + issuer_country: string + is_regulated: boolean + regulated_name: string + card_type: 'Debit' | 'Credit' +} + interface SimulationConfig { totalPayments: string successCount: string @@ -87,7 +103,7 @@ type VolumePaymentEntry = { connector: string } -const EXPLORER_STORAGE_KEY = 'decision-explorer-state-v1' +const EXPLORER_STORAGE_KEY = 'decision-explorer-state-v2' const DEFAULT_FORM: FormState = { amount: '1000', @@ -97,10 +113,24 @@ const DEFAULT_FORM: FormState = { card_brand: '', auth_type: '', eligible_gateways: 'stripe, adyen', - ranking_algorithm: 'SR_BASED_ROUTING', + ranking_algorithm: 'SrBasedRouting', elimination_enabled: false, } +const DEFAULT_DEBIT_FORM: DebitRoutingFormState = { + amount: '1000', + currency: 'USD', + auth_type: 'THREE_DS', + eligible_gateways: 'stripe, adyen', + merchant_category_code: 'merchant_category_code_0001', + acquirer_country: 'US', + co_badged_networks: 'VISA, NYCE, PULSE, STAR', + issuer_country: 'US', + is_regulated: false, + regulated_name: '', + card_type: 'Debit', +} + const DEFAULT_SIMULATION_CONFIG: SimulationConfig = { totalPayments: '10', successCount: '7', @@ -121,10 +151,13 @@ interface ExplorerPersistedState { activeTab: TabType form: FormState simulationConfig: SimulationConfig + debitForm: DebitRoutingFormState ruleParams: RuleEvaluateParams[] fallbackConnectors: GatewayConnector[] volumePayments: string result: DecideGatewayResponse | null + debitResult: DecideGatewayResponse | null + debitPaymentId: string | null singleRunPaymentId: string | null singleRunOutcome: TransactionOutcome ruleResult: RuleEvaluateResponse | null @@ -133,6 +166,7 @@ interface ExplorerPersistedState { volumeProgress: number simulationResults: SimulationResult[] responseOpen: boolean + debitResponseOpen: boolean volumeResponseOpen: boolean } @@ -144,15 +178,28 @@ function cloneConnectors(connectors: GatewayConnector[]) { return connectors.map((connector) => ({ ...connector })) } +function normalizeRankingAlgorithm(value: unknown): RoutingAlgorithmName { + if (value === 'SR_BASED_ROUTING') return 'SrBasedRouting' + if (value === 'PL_BASED_ROUTING') return 'PlBasedRouting' + if (value === 'NTW_BASED_ROUTING') return 'NtwBasedRouting' + if (value === 'NTW_SR_HYBRID_ROUTING') return 'NtwSrHybridRouting' + return ALGORITHMS.includes(value as RoutingAlgorithmName) + ? value as RoutingAlgorithmName + : DEFAULT_FORM.ranking_algorithm +} + function getDefaultExplorerState(): ExplorerPersistedState { return { activeTab: 'batch', form: { ...DEFAULT_FORM }, simulationConfig: { ...DEFAULT_SIMULATION_CONFIG }, + debitForm: { ...DEFAULT_DEBIT_FORM }, ruleParams: cloneRuleParams(DEFAULT_RULE_PARAMS), fallbackConnectors: cloneConnectors(DEFAULT_FALLBACK_CONNECTORS), volumePayments: '100', result: null, + debitResult: null, + debitPaymentId: null, singleRunPaymentId: null, singleRunOutcome: 'CHARGED', ruleResult: null, @@ -161,6 +208,7 @@ function getDefaultExplorerState(): ExplorerPersistedState { volumeProgress: 0, simulationResults: [], responseOpen: false, + debitResponseOpen: false, volumeResponseOpen: false, } } @@ -180,8 +228,13 @@ function loadExplorerState(): ExplorerPersistedState { parsed.activeTab && parsed.activeTab !== 'single' ? parsed.activeTab : defaults.activeTab, - form: { ...defaults.form, ...(parsed.form || {}) }, + form: { + ...defaults.form, + ...(parsed.form || {}), + ranking_algorithm: normalizeRankingAlgorithm(parsed.form?.ranking_algorithm), + }, simulationConfig: { ...defaults.simulationConfig, ...(parsed.simulationConfig || {}) }, + debitForm: { ...defaults.debitForm, ...(parsed.debitForm || {}) }, ruleParams: parsed.ruleParams?.length ? cloneRuleParams(parsed.ruleParams) : defaults.ruleParams, fallbackConnectors: parsed.fallbackConnectors?.length ? cloneConnectors(parsed.fallbackConnectors) : defaults.fallbackConnectors, volumeDistribution: parsed.volumeDistribution || defaults.volumeDistribution, @@ -543,6 +596,7 @@ export function DecisionExplorerPage() { const { merchantId } = useMerchantStore() const authMerchantId = useAuthStore((state) => state.user?.merchantId || '') const effectiveMerchantId = merchantId || authMerchantId + const debitRoutingFlag = useDebitRoutingFlag(effectiveMerchantId) const { routingKeysConfig, isLoading: routingKeysLoading, error: routingKeysError } = useDynamicRoutingConfig() const hasRoutingKeys = Object.keys(routingKeysConfig).length > 0 const routingConfigUnavailable = !routingKeysLoading && (!hasRoutingKeys || Boolean(routingKeysError)) @@ -553,6 +607,8 @@ export function DecisionExplorerPage() { const [simulationConfig, setSimulationConfig] = useState(initialState.simulationConfig) + const [debitForm, setDebitForm] = useState(initialState.debitForm) + const [ruleParams, setRuleParams] = useState(initialState.ruleParams) const [fallbackConnectors, setFallbackConnectors] = useState(initialState.fallbackConnectors) @@ -560,6 +616,8 @@ export function DecisionExplorerPage() { const [volumePayments, setVolumePayments] = useState(initialState.volumePayments) const [result, setResult] = useState(initialState.result) + const [debitResult, setDebitResult] = useState(initialState.debitResult) + const [debitPaymentId, setDebitPaymentId] = useState(initialState.debitPaymentId) const [singleRunPaymentId, setSingleRunPaymentId] = useState(initialState.singleRunPaymentId) const [singleRunOutcome, setSingleRunOutcome] = useState(initialState.singleRunOutcome) const [ruleResult, setRuleResult] = useState(initialState.ruleResult) @@ -572,6 +630,7 @@ export function DecisionExplorerPage() { const [loading, setLoading] = useState(false) const [filterOpen, setFilterOpen] = useState(false) const [responseOpen, setResponseOpen] = useState(initialState.responseOpen) + const [debitResponseOpen, setDebitResponseOpen] = useState(initialState.debitResponseOpen) const [volumeResponseOpen, setVolumeResponseOpen] = useState(initialState.volumeResponseOpen) const [selectedAuditPaymentId, setSelectedAuditPaymentId] = useState(null) const [selectedAuditEventId, setSelectedAuditEventId] = useState(null) @@ -728,10 +787,13 @@ export function DecisionExplorerPage() { activeTab, form, simulationConfig, + debitForm, ruleParams, fallbackConnectors, volumePayments, result, + debitResult, + debitPaymentId, singleRunPaymentId, singleRunOutcome, ruleResult, @@ -740,6 +802,7 @@ export function DecisionExplorerPage() { volumeProgress, simulationResults, responseOpen, + debitResponseOpen, volumeResponseOpen, } @@ -750,10 +813,13 @@ export function DecisionExplorerPage() { activeTab, form, simulationConfig, + debitForm, ruleParams, fallbackConnectors, volumePayments, result, + debitResult, + debitPaymentId, singleRunPaymentId, singleRunOutcome, ruleResult, @@ -762,13 +828,39 @@ export function DecisionExplorerPage() { volumeProgress, simulationResults, responseOpen, + debitResponseOpen, volumeResponseOpen, ]) - function set(field: keyof FormState, value: string | boolean) { + function set(field: K, value: FormState[K]) { setForm(f => ({ ...f, [field]: value })) } + function setDebitField(field: K, value: DebitRoutingFormState[K]) { + setDebitForm(f => ({ ...f, [field]: value })) + } + + function buildDebitRoutingMetadata() { + const networks = debitForm.co_badged_networks + .split(',') + .map(network => network.trim().toUpperCase()) + .filter(Boolean) + + return JSON.stringify({ + merchant_category_code: debitForm.merchant_category_code.trim(), + acquirer_country: debitForm.acquirer_country.trim().toUpperCase(), + co_badged_card_data: { + co_badged_card_networks: networks, + issuer_country: debitForm.issuer_country.trim().toUpperCase(), + is_regulated: debitForm.is_regulated, + regulated_name: debitForm.is_regulated && debitForm.regulated_name.trim() + ? debitForm.regulated_name.trim() + : null, + card_type: debitForm.card_type, + }, + }) + } + function addRuleParam() { if (routingKeyNames.length === 0) return const firstKey = routingKeyNames[0] @@ -852,6 +944,64 @@ export function DecisionExplorerPage() { } } + async function enableDebitRoutingForExplorer() { + if (!effectiveMerchantId) return setError('Sign in with a merchant-linked account to continue') + setLoading(true) + setError(null) + + try { + await debitRoutingFlag.setDebitRoutingEnabled(true) + } catch (e: unknown) { + setError(e instanceof Error ? e.message : 'Failed to enable debit routing') + } finally { + setLoading(false) + } + } + + async function runDebitRouting() { + if (!effectiveMerchantId) return setError('Sign in with a merchant-linked account to continue') + if (!debitRoutingFlag.isEnabled) return setError('Debit routing is disabled for this merchant. Enable it before running network routing.') + + const gateways = debitForm.eligible_gateways.split(',').map(s => s.trim()).filter(Boolean) + if (gateways.length === 0) return setError('Add at least one eligible gateway') + + setLoading(true) + setError(null) + setDebitResult(null) + const paymentId = `debit_${Date.now()}` + + try { + const res = await apiPost('/decide-gateway', { + merchantId: effectiveMerchantId, + paymentInfo: { + paymentId, + amount: parseFloat(debitForm.amount) || 1000, + currency: debitForm.currency, + paymentType: 'ORDER_PAYMENT', + paymentMethodType: 'CARD', + paymentMethod: 'DEBIT', + authType: debitForm.auth_type, + metadata: buildDebitRoutingMetadata(), + }, + eligibleGatewayList: gateways, + rankingAlgorithm: 'NtwBasedRouting', + eliminationEnabled: false, + }) + + setDebitResult(res) + setDebitPaymentId(paymentId) + } catch (e: unknown) { + const message = e instanceof Error ? e.message : 'Request failed' + setError( + message.includes('debit_routing_not_enabled') + ? 'Debit routing is disabled for this merchant. Enable it and retry.' + : message, + ) + } finally { + setLoading(false) + } + } + async function runSimulation() { if (!effectiveMerchantId) return setError('Sign in with a merchant-linked account to continue') if (routingConfigUnavailable) return setError('Routing key config unavailable. Fix /config/routing-keys and retry.') @@ -1089,6 +1239,7 @@ export function DecisionExplorerPage() { }, {} as Record) const pieData = volumeDistribution.map(d => ({ name: d.name, value: d.count })) + const debitNetworkRows = debitResult?.debit_routing_output?.co_badged_card_networks_info || [] const volumeColorIndex = useMemo( () => new Map(volumeDistribution.map((item, index) => [item.name, index] as const)), [volumeDistribution], @@ -1237,6 +1388,14 @@ export function DecisionExplorerPage() { setSelectedPreviewEventId(null) setPreviewInspectorTab('summary') setPreviewTraceLabel('Volume Split Preview') + } else if (activeTab === 'debit') { + setDebitForm(defaults.debitForm) + setDebitResult(defaults.debitResult) + setDebitPaymentId(defaults.debitPaymentId) + setDebitResponseOpen(defaults.debitResponseOpen) + setSelectedAuditPaymentId(null) + setSelectedAuditEventId(null) + setAuditInspectorTab('summary') } setError(null) @@ -1252,14 +1411,16 @@ export function DecisionExplorerPage() { ? 'Reset Auth-Rate Based Routing' : activeTab === 'rule' ? 'Reset Rule Based Routing' - : 'Reset Volume Based Routing' + : activeTab === 'volume' + ? 'Reset Volume Based Routing' + : 'Reset Debit Routing' return (

Decision Explorer

- Simulate payment routing across auth-rate based, rule based, and volume based strategies. + Run payment routing checks across auth-rate based, rule based, volume based, and debit network strategies.

@@ -1283,6 +1444,12 @@ export function DecisionExplorerPage() { > Volume Based Routing +
@@ -1312,12 +1481,12 @@ export function DecisionExplorerPage() { Set a merchant ID in the top bar first.

)} - {activeTab !== 'volume' && routingKeysLoading && ( + {activeTab !== 'volume' && activeTab !== 'debit' && routingKeysLoading && (

Loading routing config from backend...

)} - {activeTab !== 'volume' && routingConfigUnavailable && ( + {activeTab !== 'volume' && activeTab !== 'debit' && routingConfigUnavailable && ( )} @@ -1452,6 +1621,147 @@ export function DecisionExplorerPage() {
+ ) : activeTab === 'debit' ? ( +
+ {debitRoutingFlag.isLoading ? ( +

+ + Loading debit routing flag... +

+ ) : debitRoutingFlag.isEnabled ? ( +

+ Debit routing is enabled for this merchant. This tab will call /decide-gateway with NtwBasedRouting. +

+ ) : ( +
+
+ Debit routing is disabled for this merchant. + +
+
+ )} + +
+
+ + setDebitField('amount', e.target.value)} + className="w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500" + /> +
+
+ + setDebitField('currency', e.target.value.toUpperCase())} + className="w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500" + /> +
+
+ + +
+
+ + +
+
+ +
+ + setDebitField('eligible_gateways', e.target.value)} + placeholder="stripe, adyen" + className="w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500" + /> +
+ +
+
+ + setDebitField('merchant_category_code', e.target.value)} + className="w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500" + /> +
+
+ + setDebitField('acquirer_country', e.target.value.toUpperCase())} + className="w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500" + /> +
+
+ +
+ + setDebitField('co_badged_networks', e.target.value)} + placeholder="VISA, NYCE, PULSE, STAR" + className="w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500" + /> +
+ +
+
+ + setDebitField('issuer_country', e.target.value.toUpperCase())} + className="w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500" + /> +
+
+ setDebitField('is_regulated', e.target.checked)} + className="h-4 w-4 rounded border-slate-300" + /> + +
+
+ + {debitForm.is_regulated && ( +
+ + setDebitField('regulated_name', e.target.value)} + placeholder="GOVERNMENT NON-EXEMPT INTERCHANGE FEE (WITH FRAUD)" + className="w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500" + /> +
+ )} + +

+ The request sends debit details inside paymentInfo.metadata because the backend debit router parses co-badged card data from metadata. +

+
) : activeTab === 'volume' ? (
@@ -1525,7 +1835,7 @@ export function DecisionExplorerPage() {
- set('ranking_algorithm', e.target.value as RoutingAlgorithmName)} className="w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"> {ALGORITHMS.map(a => )} @@ -1598,6 +1908,14 @@ export function DecisionExplorerPage() { + ) : activeTab === 'debit' ? ( + ) : activeTab === 'volume' ? ( + ) : null} +
+ + +
+
+

routing_approach

+

{debitResult.routing_approach}

+
+
+

request payment_id

+

{debitPaymentId}

+
+
+ + {debitResult.debit_routing_output ? ( + <> +
+
+

Issuer country

+

{debitResult.debit_routing_output.issuer_country}

+
+
+

Regulated

+

{debitResult.debit_routing_output.is_regulated ? 'Yes' : 'No'}

+
+
+

Card type

+

{debitResult.debit_routing_output.card_type}

+
+
+ + + +

Ranked Debit Networks

+
+ + + + + + + + + + + {debitNetworkRows.map((row, idx) => ( + + + + + + ))} + +
RankNetworkSaving %
#{idx + 1}{row.network}{row.saving_percentage.toFixed(2)}%
+
+
+ + ) : ( + + )} + +
+ + {debitResponseOpen && ( +
+                          {JSON.stringify(debitResult, null, 2)}
+                        
+ )} +
+
+ + + ) : ( + + + +

Enable debit routing, keep the default debit metadata, and click "Run Debit Routing" to inspect ranked networks.

+
+
+ ) + ) : activeTab === 'volume' ? ( volumeDistribution.length > 0 ? ( <> @@ -2593,8 +3015,16 @@ export function DecisionExplorerPage() {
) : selectedPreviewPaymentId ? ( ) : ( ) : selectedPreviewPaymentId && !(previewTraceDetail.data?.timeline?.length || 0) ? ( ) : ( ('loading') useEffect(() => { - fetch('/health') - .then((response) => setStatus(response.ok ? 'up' : 'down')) + apiFetch<{ message: string }>('/health') + .then(() => setStatus('up')) .catch(() => setStatus('down')) }, []) diff --git a/website/src/components/pages/PaymentAuditPage.tsx b/website/src/components/pages/PaymentAuditPage.tsx index 8a4413d5..170248f4 100644 --- a/website/src/components/pages/PaymentAuditPage.tsx +++ b/website/src/components/pages/PaymentAuditPage.tsx @@ -6,6 +6,7 @@ import { useAuthStore } from '../../store/authStore' import { fetcher } from '../../lib/api' import { AnalyticsRange, + AnalyticsRangeValue, PaymentAuditEvent, PaymentAuditResponse, } from '../../types/api' @@ -14,8 +15,9 @@ import { Badge } from '../ui/Badge' import { Spinner } from '../ui/Spinner' import { ErrorMessage } from '../ui/ErrorMessage' import { Card as GlassCard, InsetPanel, SurfaceLabel } from '../ui/Card' +import { DateTimePicker } from '../ui/DateTimePicker' -const RANGE_OPTIONS: AnalyticsRange[] = ['15m', '1h', '12h', '1d', '1w'] +const RANGE_OPTIONS: AnalyticsRangeValue[] = ['15m', '1h', '12h', '1d', '1w', 'custom'] const STATUS_OPTIONS = [ { value: '', label: 'Any status' }, { value: 'success', label: 'Success' }, @@ -41,6 +43,10 @@ type AuditFilters = { type InspectorTab = (typeof INSPECTOR_TABS)[number] type AuditMode = 'transactions' | 'rule_based' +type TimeWindow = { + start_ms: number + end_ms: number +} const EMPTY_FILTERS: AuditFilters = { paymentId: '', @@ -102,16 +108,19 @@ function queryString(params: Record) { function buildAuditUrl( path: '/analytics/payment-audit' | '/analytics/preview-trace', - range: AnalyticsRange, + range: AnalyticsRangeValue, page: number, pageSize: number, filters: AuditFilters, + customWindow?: TimeWindow, ) { const normalizedFilters = normalizeAuditFilters(filters) const params: Record = { - range, + range: range === 'custom' ? '1h' : range, page, page_size: pageSize, + start_ms: customWindow?.start_ms, + end_ms: customWindow?.end_ms, payment_id: normalizedFilters.paymentId || undefined, request_id: normalizedFilters.requestId || undefined, gateway: normalizedFilters.gateway || undefined, @@ -124,7 +133,8 @@ function buildAuditUrl( return qs ? `${path}?${qs}` : path } -function parseRange(value: string | null): AnalyticsRange { +function parseRange(value: string | null): AnalyticsRangeValue { + if (value === 'custom') return value if (value === '15m' || value === '1h' || value === '12h' || value === '1d' || value === '1w') return value return '1d' } @@ -145,6 +155,38 @@ function parseFilters(searchParams: URLSearchParams): AuditFilters { }) } +function presetWindow(range: AnalyticsRange) { + const now = Date.now() + const duration = + range === '15m' + ? 15 * 60 * 1000 + : range === '1h' + ? 60 * 60 * 1000 + : range === '12h' + ? 12 * 60 * 60 * 1000 + : range === '1d' + ? 24 * 60 * 60 * 1000 + : 7 * 24 * 60 * 60 * 1000 + + return { + start_ms: now - duration, + end_ms: now, + } +} + +function toDateTimeInputValue(timestampMs: number) { + const date = new Date(timestampMs) + const pad = (value: number) => value.toString().padStart(2, '0') + return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}T${pad( + date.getHours(), + )}:${pad(date.getMinutes())}` +} + +function fromDateTimeInputValue(value: string) { + const timestamp = new Date(value).getTime() + return Number.isFinite(timestamp) ? timestamp : null +} + function formatDateTime(ms: number) { return new Intl.DateTimeFormat(undefined, { dateStyle: 'medium', @@ -208,27 +250,6 @@ function eventPhase(event: PaymentAuditEvent) { return 'Errors' } -function badgeVariantForEvent(event: PaymentAuditEvent): 'blue' | 'green' | 'purple' | 'red' | 'orange' | 'gray' { - const flowType = flowTypeValue(event) - const normalizedStatus = (event.status || '').toUpperCase() - if ( - isErrorFlow(flowType) || - normalizedStatus === 'FAILURE' || - normalizedStatus.includes('FAILED') || - normalizedStatus.includes('DECLINED') - ) return 'red' - if (isPreviewFlow(flowType)) return 'purple' - if (isRuleHitFlow(flowType)) return 'purple' - if ( - normalizedStatus === 'CHARGED' || - normalizedStatus === 'AUTHORIZED' || - normalizedStatus === 'SUCCESS' - ) return 'green' - if (isUpdateFlow(flowType)) return 'green' - if (isDecisionFlow(flowType)) return 'blue' - return 'orange' -} - function summaryBadgeVariant(status?: string | null): 'blue' | 'green' | 'purple' | 'red' | 'orange' | 'gray' { const normalizedStatus = (status || '').toUpperCase() if ( @@ -428,24 +449,50 @@ export function PaymentAuditPage() { const [searchParams, setSearchParams] = useSearchParams() const initialMode = parseAuditMode(searchParams.get('mode')) - const initialRange = parseRange(searchParams.get('range')) + const initialRange = searchParams.get('start_ms') && searchParams.get('end_ms') + ? 'custom' + : parseRange(searchParams.get('range')) const initialFilters = parseFilters(searchParams) const initialPage = Math.max(1, Number(searchParams.get('page') || '1')) const initialSelectedKey = searchParams.get('selected') || '' + const initialStartMs = Number(searchParams.get('start_ms') || '0') + const initialEndMs = Number(searchParams.get('end_ms') || '0') + const initialCustomWindow = + initialStartMs > 0 && initialEndMs > initialStartMs + ? { start_ms: initialStartMs, end_ms: initialEndMs } + : presetWindow('1h') const [mode, setMode] = useState(initialMode) - const [range, setRange] = useState(initialRange) + const [range, setRange] = useState(initialRange) const [filters, setFilters] = useState(initialFilters) const [appliedFilters, setAppliedFilters] = useState(initialFilters) const [page, setPage] = useState(initialPage) const [selectedKey, setSelectedKey] = useState(initialSelectedKey) const [selectedEventId, setSelectedEventId] = useState(null) const [inspectorTab, setInspectorTab] = useState('summary') + const [showAdvancedFilters, setShowAdvancedFilters] = useState(false) + const [customStart, setCustomStart] = useState(() => + toDateTimeInputValue(initialCustomWindow.start_ms), + ) + const [customEnd, setCustomEnd] = useState(() => + toDateTimeInputValue(initialCustomWindow.end_ms), + ) const pageSize = 12 + const customWindow = useMemo(() => { + if (range !== 'custom') return undefined + const start_ms = fromDateTimeInputValue(customStart) + const end_ms = fromDateTimeInputValue(customEnd) + if (start_ms === null || end_ms === null || end_ms <= start_ms) return undefined + return { start_ms, end_ms } + }, [customEnd, customStart, range]) + const auditPath = mode === 'rule_based' ? '/analytics/preview-trace' : '/analytics/payment-audit' - const searchUrl = buildAuditUrl(auditPath, range, page, pageSize, appliedFilters) + const searchUrl = + range !== 'custom' || customWindow + ? buildAuditUrl(auditPath, range, page, pageSize, appliedFilters, customWindow) + : null const auditSearch = useSWR(searchUrl, fetcher, { refreshInterval: 12000, @@ -483,7 +530,7 @@ export function PaymentAuditPage() { }, [selectedSummary]) const detailUrl = detailFilters - ? buildAuditUrl(auditPath, range, 1, 50, detailFilters) + ? buildAuditUrl(auditPath, range, 1, 50, detailFilters, customWindow) : null const auditDetail = useSWR(detailUrl, fetcher, { @@ -491,43 +538,40 @@ export function PaymentAuditPage() { revalidateOnFocus: true, }) + const timeline = auditDetail.data?.timeline || [] + const selectedEvent = useMemo(() => { - const timeline = auditDetail.data?.timeline || [] return timeline.find((event) => event.id === selectedEventId) || timeline[0] || null - }, [auditDetail.data?.timeline, selectedEventId]) + }, [selectedEventId, timeline]) useEffect(() => { if (selectedEvent?.id) { setSelectedEventId(selectedEvent.id) return } - const first = auditDetail.data?.timeline?.[0] + const first = timeline[0] if (first?.id) { setSelectedEventId(first.id) } - }, [auditDetail.data?.timeline, selectedEvent?.id]) - - const groupedTimeline = useMemo(() => { - const groups: Array<{ phase: string; events: PaymentAuditEvent[] }> = [] - for (const event of auditDetail.data?.timeline || []) { - const phase = eventPhase(event) - const current = groups[groups.length - 1] - if (!current || current.phase !== phase) { - groups.push({ phase, events: [event] }) - } else { - current.events.push(event) - } - } - return groups - }, [auditDetail.data?.timeline]) + }, [selectedEvent?.id, timeline]) const inspectorModel = useMemo(() => buildInspectorModel(selectedEvent), [selectedEvent]) const error = auditSearch.error?.message || auditDetail.error?.message || null const loading = auditSearch.isLoading || auditDetail.isLoading - const totalEvents = auditDetail.data?.timeline?.length || 0 - const activeGateways = selectedSummary?.gateways?.length || 0 - const latestSeen = selectedSummary ? formatRelative(selectedSummary.last_seen_ms) : 'No activity' + const resultRows = auditSearch.data?.results || [] + const totalMatches = auditSearch.data?.total_results || 0 + const totalEvents = timeline.length + const failureCount = resultRows.filter((row) => summaryBadgeVariant(row.latest_status) === 'red').length + const activeGatewayList = Array.from( + new Set( + resultRows.flatMap((row) => { + if (row.gateways?.length) return row.gateways.filter(Boolean) + return row.latest_gateway ? [row.latest_gateway] : [] + }), + ), + ) + const activeGateways = activeGatewayList.length const content = mode === 'rule_based' ? { title: 'Decision Audit', @@ -558,16 +602,19 @@ export function PaymentAuditPage() { function syncSearch( nextMode: AuditMode, - nextRange: AnalyticsRange, + nextRange: AnalyticsRangeValue, nextPage: number, nextFilters: AuditFilters, nextSelectedKey?: string, + nextCustomWindow?: TimeWindow, ) { const normalizedFilters = normalizeAuditFilters(nextFilters) const nextQuery = queryString({ mode: nextMode === 'rule_based' ? nextMode : undefined, range: nextRange, page: nextPage > 1 ? nextPage : undefined, + start_ms: nextRange === 'custom' ? nextCustomWindow?.start_ms : undefined, + end_ms: nextRange === 'custom' ? nextCustomWindow?.end_ms : undefined, payment_id: normalizedFilters.paymentId || undefined, request_id: normalizedFilters.requestId || undefined, gateway: normalizedFilters.gateway || undefined, @@ -593,7 +640,7 @@ export function PaymentAuditPage() { setPage(nextPage) setFilters(normalizedFilters) setAppliedFilters(normalizedFilters) - syncSearch(mode, range, nextPage, normalizedFilters) + syncSearch(mode, range, nextPage, normalizedFilters, undefined, customWindow) } function clearFilters() { @@ -605,7 +652,7 @@ export function PaymentAuditPage() { setPage(nextPage) setFilters(clearedFilters) setAppliedFilters(clearedFilters) - syncSearch(mode, range, nextPage, clearedFilters) + syncSearch(mode, range, nextPage, clearedFilters, undefined, customWindow) } function refreshAll() { @@ -613,16 +660,38 @@ export function PaymentAuditPage() { auditDetail.mutate() } - function updateRange(nextRange: AnalyticsRange) { + function updateRange(nextRange: AnalyticsRangeValue) { const nextPage = 1 + const nextCustomWindow = + nextRange === 'custom' + ? (() => { + const start_ms = fromDateTimeInputValue(customStart) + const end_ms = fromDateTimeInputValue(customEnd) + return start_ms !== null && end_ms !== null && end_ms > start_ms + ? { start_ms, end_ms } + : undefined + })() + : undefined setRange(nextRange) setPage(nextPage) - syncSearch(mode, nextRange, nextPage, appliedFilters, selectedKey) + if (nextRange !== 'custom') { + const preset = presetWindow(nextRange) + setCustomStart(toDateTimeInputValue(preset.start_ms)) + setCustomEnd(toDateTimeInputValue(preset.end_ms)) + } + syncSearch( + mode, + nextRange, + nextPage, + appliedFilters, + selectedKey, + nextCustomWindow, + ) } function selectSummary(lookupKey: string) { setSelectedKey(lookupKey) - syncSearch(mode, range, page, appliedFilters, lookupKey) + syncSearch(mode, range, page, appliedFilters, lookupKey, customWindow) } function updateMode(nextMode: AuditMode) { @@ -638,7 +707,7 @@ export function PaymentAuditPage() { setSelectedEventId(null) setFilters(nextFilters) setAppliedFilters(nextFilters) - syncSearch(nextMode, range, nextPage, nextFilters) + syncSearch(nextMode, range, nextPage, nextFilters, undefined, customWindow) } async function copyValue(value: string | null | undefined) { @@ -670,60 +739,24 @@ export function PaymentAuditPage() { return (
-
-
-

{content.title}

-

- {content.description} -

-
- {auditSearch.data?.merchant_id || effectiveMerchantId || 'Signed-in merchant'} - -
-
-
- -
-
-
- Audit Scope -

- Start by choosing whether you are reviewing live transactions or rule-preview traces. -

-
+
+
- - +

{content.title}

+ {auditSearch.data?.merchant_id || effectiveMerchantId || 'Signed-in merchant'}
+

+ {mode === 'rule_based' + ? 'Inspect preview traces, routing logic, and simulated rule outcomes for any request.' + : 'Inspect gateway decisions, routing logic, and connector scores for any payment.'} +

-
-
- Time Window -

- Narrow the activity window before applying detailed filters. -

-
-
-

- Time window -

+
+ +
{RANGE_OPTIONS.map((value) => (
- -
- Filters -

- {content.searchTitle} -

-

- {content.searchDescription} -

-
-
-
- - updateFilter('paymentId', event.target.value)} placeholder="Payment ID" /> - - - updateFilter('requestId', event.target.value)} placeholder="Request ID" /> - - - updateFilter('gateway', event.target.value)} placeholder="Gateway" /> - - {mode === 'transactions' ? ( - - - - ) : null} - - updateFilter('errorCode', event.target.value)} placeholder="Error code" /> + {range === 'custom' ? ( + +
+ + - - + +
-
- - -
+ {!customWindow ? ( +

+ Choose an end time after the start time. +

+ ) : null} +
+ ) : null} + +
+
+ + +
+ +
+ updateFilter('paymentId', event.target.value)} + placeholder={mode === 'rule_based' ? 'Preview payment ID' : 'Payment ID or request ID'} + /> + updateFilter('requestId', event.target.value)} + placeholder="Request ID" + /> + updateFilter('gateway', event.target.value)} + placeholder="Any gateway" + /> + + + +
- + + {showAdvancedFilters ? ( + +
+ {mode === 'transactions' ? ( + + + + ) : null} + + updateFilter('errorCode', event.target.value)} + placeholder="Error code" + /> + +
+
+ ) : null} +
@@ -813,55 +900,52 @@ export function PaymentAuditPage() {
)} -
- - - - +
+ + +
-
- -
-
- {content.matchingLabel} -

- {content.matchingDescription} -

+
+ +
+
+
+
+ 1 +
+
+

Results

+

+ Click a payment to open its decision trail +

+
+
+

{totalMatches}

+
+ +
-
- - -
+ {content.matchingLabel} +

{resultRows.length} results

-
- {auditSearch.data?.results?.length ? auditSearch.data.results.map((row) => ( + +
+ {resultRows.length ? resultRows.map((row) => ( )) : ( )} + +
+ + +
-
- -
-
+ +
+
+
+
+ 2 +
- {content.summaryLabel} -

- {selectedSummary?.payment_id || selectedSummary?.request_id || (mode === 'rule_based' ? 'Choose a preview from the result list to inspect the timeline.' : 'Choose a payment from the result list to inspect the timeline.')} +

Decision trail

+

+ Click an event to inspect its scores and payload

-
-

- {compactMeta([ - selectedSummary?.latest_stage ? humanizeAuditValue(selectedSummary.latest_stage) : null, - selectedSummary?.latest_gateway ? `gateway ${selectedSummary.latest_gateway}` : null, - ])} +

+ {selectedSummary?.payment_id || selectedSummary?.request_id ? ( +

+ {selectedSummary?.payment_id || selectedSummary?.request_id} +

+ ) : null} +
+
+ +
+ {selectedSummary ? ( +
+
+

+ {selectedSummary.payment_id || selectedSummary.request_id || selectedSummary.lookup_key} +

+

+ {totalEvents} event{totalEvents === 1 ? '' : 's'} in this decision trail

- {selectedSummary?.latest_status ? ( - - {humanizeAuditValue(selectedSummary.latest_status)} - - ) : null}
+ {selectedSummary.latest_status ? ( + + {humanizeAuditValue(selectedSummary.latest_status)} + + ) : null}
-
-
- {groupedTimeline.length ? ( -
- {groupedTimeline.map((group) => ( -
-
-

{group.phase}

-

{group.events.length} event{group.events.length === 1 ? '' : 's'}

-
+ ) : null} -
- {group.events.map((event) => { - const selected = selectedEvent?.id === event.id - return ( - - ) - })} + {selected ? ( +

+ Inspecting → +

+ ) : null} +
+ + {event.error_message ? ( +

+ {event.error_message} +

+ ) : null} +
-
- ))} -
- ) : ( - - )} + + ) + })} +
+ ) : ( + + )} +
+
+ + +
+
+
+ 3 +
+
+

Event inspector

+

+ Click a timeline event to inspect its data +

+
- +
- -
+
+ {selectedEvent && inspectorModel ? ( + <>
-
-
- Event Inspector -

- {selectedEvent ? `${stageLabel(selectedEvent)} · ${formatDateTime(selectedEvent.created_at_ms)}` : 'Select a timeline event to inspect the captured payload.'} -

-
- {selectedEvent ? ( -

{eventPhase(selectedEvent)}

+

+ Connector scores, routing logic, and full payload +

+
+

+ {stageLabel(selectedEvent)} +

+ {selectedEvent.status ? ( + + {humanizeAuditValue(selectedEvent.status)} + ) : null}
+

+ {formatDateTime(selectedEvent.created_at_ms)} +

+
+ +
+ + Gateway +

+ {selectedEvent.gateway || 'Unknown'} +

+
+ + Outcome +

+ {humanizeAuditValue(selectedEvent.status) || 'Unknown'} +

+
+
{INSPECTOR_TABS.map((tab) => ( @@ -1044,80 +1191,72 @@ export function PaymentAuditPage() { ))}
-
-
-
- {selectedEvent && inspectorModel ? ( - <> -
- - - - -
- {inspectorTab === 'summary' ? ( -
- - - - -
- ) : null} - - {inspectorTab === 'input' ? ( + {inspectorTab === 'summary' ? ( +
- ) : null} - - {inspectorTab === 'response' ? ( + - ) : null} - - {inspectorTab === 'raw' ? ( - ) : null} - - ) : ( - - )} -
- -
+
+ ) : null} + + {inspectorTab === 'input' ? ( + + ) : null} + + {inspectorTab === 'response' ? ( + + ) : null} + + {inspectorTab === 'raw' ? ( + + ) : null} + +
+ + + +
+ + ) : ( + + )} +
+
) diff --git a/website/src/hooks/useDebitRoutingFlag.ts b/website/src/hooks/useDebitRoutingFlag.ts new file mode 100644 index 00000000..d079fb1b --- /dev/null +++ b/website/src/hooks/useDebitRoutingFlag.ts @@ -0,0 +1,27 @@ +import useSWR from 'swr' +import { apiPost, fetcher } from '../lib/api' +import { DebitRoutingFlagResponse } from '../types/api' + +export function useDebitRoutingFlag(merchantId?: string) { + const path = merchantId ? `/merchant-account/${merchantId}/debit-routing` : null + const { data, error, isLoading, mutate } = useSWR(path, fetcher) + + async function setDebitRoutingEnabled(enabled: boolean) { + if (!merchantId || !path) { + throw new Error('Set a merchant ID first') + } + + const response = await apiPost(path, { enabled }) + await mutate(response, false) + return response + } + + return { + data, + error, + isLoading, + isEnabled: Boolean(data?.debit_routing_enabled), + mutate, + setDebitRoutingEnabled, + } +} diff --git a/website/src/lib/api.ts b/website/src/lib/api.ts index 8e23bb71..ee1d6abb 100644 --- a/website/src/lib/api.ts +++ b/website/src/lib/api.ts @@ -2,7 +2,18 @@ import { tokenRef } from './tokenRef' const DEBUG_API = true -const DEFAULT_TENANT_ID = 'public' +const DEFAULT_TENANT_ID = import.meta.env.VITE_DEFAULT_TENANT_ID ?? 'public' +const API_BASE_PATH = (import.meta.env.VITE_API_BASE_PATH ?? '/decision-engine-api').replace(/\/$/, '') +const FEATURE_HEADER = import.meta.env.VITE_FEATURE_HEADER ?? 'decision-engine' + +function resolveApiPath(path: string) { + if (/^https?:\/\//.test(path)) return path + const normalizedPath = path.startsWith('/') ? path : `/${path}` + if (normalizedPath.startsWith(`${API_BASE_PATH}/`) || normalizedPath === API_BASE_PATH) { + return normalizedPath + } + return `${API_BASE_PATH}${normalizedPath}` +} function logRequest(method: string, path: string, body?: unknown) { if (!DEBUG_API) return @@ -46,19 +57,21 @@ export async function apiFetch( ): Promise { const method = options?.method || 'GET' const body = options?.body ? JSON.parse(options.body as string) : undefined + const requestPath = resolveApiPath(path) - logRequest(method, path, body) + logRequest(method, requestPath, body) try { const token = tokenRef.get() const headers = new Headers(options?.headers) headers.set('Content-Type', 'application/json') headers.set('x-tenant-id', DEFAULT_TENANT_ID) + headers.set('x-feature', FEATURE_HEADER) if (token) { headers.set('Authorization', `Bearer ${token}`) } - const res = await fetch(path, { + const res = await fetch(requestPath, { ...options, headers, }) @@ -73,7 +86,7 @@ export async function apiFetch( responseBody = responseText } - logResponse(path, res.status, res.statusText, responseBody) + logResponse(requestPath, res.status, res.statusText, responseBody) // Only clear session when the JWT itself is confirmed invalid/expired. // A generic 401 (e.g. missing API key on a protected route) must NOT wipe the session. @@ -94,14 +107,14 @@ export async function apiFetch( import('../store/authStore').then(({ useAuthStore }) => { useAuthStore.getState().clearAuth() }) - window.location.href = '/dashboard/login' + window.location.href = `${import.meta.env.BASE_URL}login` throw new Error('Session expired') } } if (!res.ok) { const error = new Error(`API error ${res.status}: ${responseText}`) - logError(path, error) + logError(requestPath, error) throw error } @@ -111,7 +124,7 @@ export async function apiFetch( return JSON.parse(responseText) as T } catch (error) { - logError(path, error) + logError(requestPath, error) throw error } } diff --git a/website/src/pages/AuthPage.tsx b/website/src/pages/AuthPage.tsx index 0dfa13f2..e7ceda7a 100644 --- a/website/src/pages/AuthPage.tsx +++ b/website/src/pages/AuthPage.tsx @@ -1,19 +1,18 @@ import { useState } from 'react' import { useNavigate } from 'react-router-dom' import { - Activity, ArrowRight, - BadgeCheck, + Building2, Eye, EyeOff, Loader2, LockKeyhole, Mail, - ShieldCheck, } from 'lucide-react' -import { useAuthStore } from '../store/authStore' +import { useAuthStore, MerchantInfo } from '../store/authStore' import { useMerchantStore } from '../store/merchantStore' import { apiFetch } from '../lib/api' +import { SurfaceLabel } from '../components/ui/Card' import { ErrorMessage } from '../components/ui/ErrorMessage' interface AuthResponse { @@ -22,38 +21,52 @@ interface AuthResponse { email: string merchant_id: string role: string + merchants: MerchantInfo[] +} + +interface CreateMerchantResponse { + token: string + merchant_id: string + merchant_name: string + merchants: MerchantInfo[] } type Tab = 'login' | 'signup' -const authHighlights = [ - { - title: 'Live routing control', - description: 'Operate auth-rate, rule-based, and volume strategies from one workspace.', - icon: Activity, - }, - { - title: 'Merchant-scoped analytics', - description: 'Track decisions, payment audit trails, and gateway score movement with session-based access.', - icon: BadgeCheck, - }, - { - title: 'Protected operator access', - description: 'JWT-backed sessions keep dashboard and analytics actions aligned to your merchant account.', - icon: ShieldCheck, - }, -] +function getPasswordPolicyError(password: string): string | null { + if (password.length < 10) { + return 'Use at least 10 characters.' + } + + if (!/[A-Z]/.test(password)) { + return 'Add at least one uppercase letter.' + } + + if (!/[a-z]/.test(password)) { + return 'Add at least one lowercase letter.' + } + + if (!/[0-9]/.test(password)) { + return 'Add at least one number.' + } + + if (!/[^A-Za-z0-9]/.test(password)) { + return 'Add at least one special character.' + } + + return null +} export function AuthPage() { const navigate = useNavigate() - const { setAuth } = useAuthStore() + const { setAuth, updateMerchant } = useAuthStore() const { setMerchantId } = useMerchantStore() const assetBaseUrl = import.meta.env.BASE_URL const [tab, setTab] = useState('login') const [email, setEmail] = useState('') const [password, setPassword] = useState('') - const [merchantId, setMerchantIdInput] = useState('') + const [merchantName, setMerchantName] = useState('') const [showPassword, setShowPassword] = useState(false) const [loading, setLoading] = useState(false) const [error, setError] = useState(null) @@ -66,28 +79,49 @@ export function AuthPage() { async function handleSubmit(e: React.FormEvent) { e.preventDefault() setError(null) + + if (tab === 'signup') { + const passwordPolicyError = getPasswordPolicyError(password) + if (passwordPolicyError) { + setError(passwordPolicyError) + return + } + } + setLoading(true) try { const path = tab === 'login' ? '/auth/login' : '/auth/signup' - const body = - tab === 'login' - ? { email, password } - : { email, password, merchant_id: merchantId } - + const normalizedMerchantName = merchantName.trim() const res = await apiFetch(path, { method: 'POST', - body: JSON.stringify(body), + body: JSON.stringify({ email, password }), }) - setAuth(res.token, { - userId: res.user_id, - email: res.email, - merchantId: res.merchant_id, - role: res.role, - }) - setMerchantId(res.merchant_id) - navigate('/', { replace: true }) + setAuth( + res.token, + { userId: res.user_id, email: res.email, merchantId: res.merchant_id, role: res.role }, + res.merchants, + ) + if (res.merchant_id) setMerchantId(res.merchant_id) + + if (tab === 'signup' && normalizedMerchantName && !res.merchant_id) { + const merchantRes = await apiFetch('/onboarding/merchant', { + method: 'POST', + body: JSON.stringify({ merchant_name: normalizedMerchantName }), + }) + + updateMerchant(merchantRes.token, merchantRes.merchant_id, merchantRes.merchants) + setMerchantId(merchantRes.merchant_id) + navigate('/', { replace: true }) + return + } + + if (!res.merchant_id || res.merchants.length === 0) { + navigate('/onboarding', { replace: true }) + } else { + navigate('/', { replace: true }) + } } catch (err) { const msg = err instanceof Error ? err.message : 'Something went wrong' const match = msg.match(/API error \d+: (.+)/) @@ -107,231 +141,162 @@ export function AuthPage() { } return ( -
-
-
-
-
- -
-
-
-
- Decision Engine -
-
-

- Juspay Internal -

-

Decision Engine Console

-
-
+
+
+
+
-
- - Dashboard, analytics, and payment audit +
+
+
+ Juspay Decision Engine
-
- -
-
-
-
-
- Operator Access -
-
-

- Route, inspect, and iterate from one control surface. -

-

- Sign in to the same internal workspace used for gateway routing setup, merchant-scoped analytics, - and payment audit review. -

-
+
+
+
+

+ Route, inspect, and iterate from one control surface. +

+

+ Sign in to the internal workspace used for gateway routing setup, + merchant-scoped analytics, and payment audit review. +

+
-
- {authHighlights.map(({ title, description, icon: Icon }) => ( -
-
- -
-

{title}

-

{description}

-
- ))} -
+
+ Gateway routing + Merchant analytics + ClickHouse audit
+
+
+
-
-
-
-

- Internal Environment -

-

Access is scoped to the merchant tied to your session.

-
-
- Auth-derived scope -
-
+
+
+
+

+ {tab === 'login' ? 'Welcome back' : 'Create account'} +

+

+ {tab === 'login' + ? 'Sign in to access your dashboard' + : 'Create operator access for your Decision Engine workspace'} +

+
-
-
-

Gateway routing

-

SR, rules, debit, and volume split controls

-
-
-

Analytics

-

Overview, scores, decisions, and filterable traces

-
-
-

Payment audit

-

Timeline detail backed by ClickHouse event streams

-
-
+
+
+ switchTab('login')}> + Sign in + + switchTab('signup')}> + Sign up +
-
- -
-
-
-
-
-
- Decision Engine -
-
-

- Access Portal -

-

- {tab === 'login' - ? 'Continue into the internal routing workspace.' - : 'Create an operator account for an existing merchant.'} -

-
-
-
- switchTab('login')}> - Sign in - - switchTab('signup')}> - Sign up - -
-
- -
-
-

- {tab === 'login' ? 'Welcome back.' : 'Create operator access.'} -

-

- {tab === 'login' - ? 'Use the email and password tied to your Decision Engine merchant.' - : 'Sign-up is for an existing merchant account. You will land directly in the dashboard after provisioning.'} -

-
+
+
+ + setEmail(e.target.value)} + placeholder="name@company.com" + required + icon={} + /> + - - - setEmail(e.target.value)} - placeholder="name@company.com" - required - icon={} - /> - - - -
- setPassword(e.target.value)} - placeholder="Enter your password" - required - icon={} - className="pr-12" - /> - -
-
- - {tab === 'signup' && ( - - setMerchantIdInput(e.target.value)} - placeholder="merchant_123" - required - /> - - )} - - + {tab === 'signup' ? ( + + setMerchantName(e.target.value)} + placeholder="e.g. Acme Corp" + required + icon={} + /> + + ) : null} + +
+ setPassword(e.target.value)} + placeholder="Enter your password" + required + icon={} + className="pr-12" + /> - - -
-

- By continuing you agree to internal access policy and audit logging for operator actions. -

-

Juspay Decision Engine

-
+
+ + {tab === 'signup' ? ( +

+ Password policy: minimum 10 characters, including 1 uppercase letter, 1 + lowercase letter, 1 number, and 1 special character. +

+ ) : null} + + + + + + +
+

By continuing you agree to internal access policy and audit logging for operator actions.

+

Juspay Decision Engine

-
+
-
+
) @@ -352,8 +317,8 @@ function AuthTabButton({ onClick={onClick} className={`rounded-full px-4 py-2 text-sm font-semibold transition-all duration-200 ${ active - ? 'bg-white text-slate-950 shadow-[0_8px_24px_-18px_rgba(15,23,42,0.45)]' - : 'text-slate-500 hover:text-slate-900' + ? 'bg-slate-950 text-white shadow-[0_8px_24px_-18px_rgba(15,23,42,0.45)] dark:bg-white dark:text-slate-950' + : 'text-slate-500 hover:text-slate-950 dark:text-[#8a94a7] dark:hover:text-white' }`} > {children} @@ -372,11 +337,9 @@ function Field({ }) { return ( ) } @@ -391,14 +354,22 @@ function FieldInput({ return (
{icon ? ( - + {icon} ) : null}
) } + +function PillStat({ children }: { children: React.ReactNode }) { + return ( +
+ {children} +
+ ) +} diff --git a/website/src/types/api.ts b/website/src/types/api.ts index 6e0650bd..ca07c9bc 100644 --- a/website/src/types/api.ts +++ b/website/src/types/api.ts @@ -3,13 +3,33 @@ export interface DecideGatewayResponse { decided_gateway: string routing_approach: string - gateway_priority_map: Record - routing_dimension: string - routing_dimension_level: string + gateway_priority_map: Record | null + routing_dimension: string | null + routing_dimension_level: string | null filter_wise_gateways: Record | null reset_approach: string is_scheduled_outage: boolean - latency: number + debit_routing_output?: DebitRoutingOutput | null + latency: number | null +} + +export type RoutingAlgorithmName = + | 'SrBasedRouting' + | 'PlBasedRouting' + | 'NtwBasedRouting' + | 'NtwSrHybridRouting' + +export interface DebitRoutingNetworkSavingInfo { + network: string + saving_percentage: number +} + +export interface DebitRoutingOutput { + co_badged_card_networks_info: DebitRoutingNetworkSavingInfo[] + issuer_country: string + is_regulated: boolean + regulated_name: string | null + card_type: string } export interface GatewayConnector { @@ -132,6 +152,15 @@ export interface DebitRoutingData { acquirer_country: string } +export interface DebitRoutingFlagRequest { + enabled: boolean +} + +export interface DebitRoutingFlagResponse { + merchant_id: string + debit_routing_enabled: boolean +} + export interface CreateMerchantRequest { merchant_id: string gateway_success_rate_based_decider_input: null diff --git a/website/src/vite-env.d.ts b/website/src/vite-env.d.ts index 11f02fe2..78a03935 100644 --- a/website/src/vite-env.d.ts +++ b/website/src/vite-env.d.ts @@ -1 +1,11 @@ /// + +interface ImportMetaEnv { + readonly VITE_DEFAULT_TENANT_ID?: string + readonly VITE_API_BASE_PATH?: string + readonly VITE_FEATURE_HEADER?: string +} + +interface ImportMeta { + readonly env: ImportMetaEnv +} diff --git a/website/vite.config.ts b/website/vite.config.ts index 27a47a9b..3abe4b43 100644 --- a/website/vite.config.ts +++ b/website/vite.config.ts @@ -3,12 +3,14 @@ import react from '@vitejs/plugin-react' export default defineConfig(({ command }) => { const isDevServer = command === 'serve' - const publicBaseUrl = isDevServer ? '/' : '/dashboard/' + const publicBaseUrl = isDevServer ? '/' : '/decision-engine/' const backendTarget = 'http://localhost:8080' + const apiProxyPrefix = '/decision-engine-api' - const createApiProxy = () => ({ + const createApiProxy = (rewritePrefix?: string) => ({ target: backendTarget, changeOrigin: true, + rewrite: rewritePrefix ? (path) => path.replace(new RegExp(`^${rewritePrefix}`), '') : undefined, configure: (proxy) => { proxy.on('proxyReq', (_proxyReq, req) => { console.log(`\n[PROXY] ${new Date().toISOString()}`) @@ -31,6 +33,7 @@ export default defineConfig(({ command }) => { base: publicBaseUrl, server: { proxy: { + '^/decision-engine-api(?:/.*)?$': createApiProxy(apiProxyPrefix), '/decide-gateway': createApiProxy(), '/decision_gateway': createApiProxy(), '/merchant-account': createApiProxy(), @@ -43,6 +46,7 @@ export default defineConfig(({ command }) => { '^/routing/(create|activate|evaluate|list(?:/.*)?|hybrid)$': createApiProxy(), '^/analytics/(overview|gateway-scores|decisions|routing-stats|log-summaries|preview-trace|payment-audit)(?:\\?.*)?$': createApiProxy(), + '^/onboarding(?:/.*)?$': createApiProxy(), '^/auth(?:/.*)?$': createApiProxy(), '^/api-key(?:/.*)?$': createApiProxy(), }, From 741bdda93d466cdbcb2a0915dd294a99ea07b10b Mon Sep 17 00:00:00 2001 From: Prajjwal kumar Date: Sat, 25 Apr 2026 17:57:46 +0530 Subject: [PATCH 02/13] fix: redirect duplicate signup to login --- cypress/e2e/ui/auth-page.cy.js | 28 +++++++++ website/dist/assets/index-C4qWXqKe.css | 1 - website/dist/assets/index-EUs1W48A.css | 1 + .../{index-Djr5XM95.js => index-Em-gF1jY.js} | 46 +++++++------- website/dist/index.html | 4 +- website/src/pages/AuthPage.tsx | 60 +++++++++++++++---- 6 files changed, 102 insertions(+), 38 deletions(-) delete mode 100644 website/dist/assets/index-C4qWXqKe.css create mode 100644 website/dist/assets/index-EUs1W48A.css rename website/dist/assets/{index-Djr5XM95.js => index-Em-gF1jY.js} (93%) diff --git a/cypress/e2e/ui/auth-page.cy.js b/cypress/e2e/ui/auth-page.cy.js index ce35dac7..a8d55632 100644 --- a/cypress/e2e/ui/auth-page.cy.js +++ b/cypress/e2e/ui/auth-page.cy.js @@ -30,4 +30,32 @@ describe('Auth UI', () => { cy.contains(email, { timeout: 20000 }).should('be.visible') cy.contains(merchantId).should('be.visible') }) + + it('switches duplicate sign-up attempts to sign-in with email preserved', () => { + const duplicateEmail = `duplicate-${merchantId}@example.com` + + cy.intercept('POST', '**/decision-engine-api/auth/signup', { + statusCode: 409, + body: { message: 'Email already registered' }, + }).as('duplicateSignup') + + cy.visitAppPath('/login', { + onBeforeLoad(win) { + win.localStorage.removeItem('auth-store') + win.localStorage.removeItem('merchant-store') + }, + }) + + cy.contains('button', 'Sign up').click() + cy.get('input[type="email"]').clear().type(duplicateEmail) + cy.get('input[placeholder="e.g. Acme Corp"]').clear().type('Venom') + cy.get('input[placeholder="Enter your password"]').clear().type('ValidPass1!') + cy.contains('button', 'Create account').click() + + cy.wait('@duplicateSignup') + cy.contains('Welcome back').should('be.visible') + cy.contains('Account already exists. Sign in with this email.').should('be.visible') + cy.get('input[type="email"]').should('have.value', duplicateEmail) + cy.get('input[placeholder="Enter your password"]').should('be.focused') + }) }) diff --git a/website/dist/assets/index-C4qWXqKe.css b/website/dist/assets/index-C4qWXqKe.css deleted file mode 100644 index 76be62b1..00000000 --- a/website/dist/assets/index-C4qWXqKe.css +++ /dev/null @@ -1 +0,0 @@ -@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Menlo,Monaco,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{color-scheme:light}html.dark{color-scheme:dark}html,body{font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark html,.dark body{color:#f1f5f9}html,body{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}html:is(.dark *),body:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.dark p,.dark span,.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6{color:#f1f5f9}p,span,h1,h2,h3,h4,h5,h6{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}p:is(.dark *),span:is(.dark *),h1:is(.dark *),h2:is(.dark *),h3:is(.dark *),h4:is(.dark *),h5:is(.dark *),h6:is(.dark *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.dark p.text-slate-500,.dark span.text-slate-500,.dark div.text-slate-500{color:#94a3b8}.dark p.text-slate-600,.dark span.text-slate-600,.dark div.text-slate-600{color:#cbd5e1}.dark p.\!text-slate-600,.dark span.\!text-slate-600,.dark div.\!text-slate-600{color:#cbd5e1!important}.dark .text-slate-900,.dark .text-slate-800{color:#f1f5f9!important}.dark .text-slate-700{color:#e2e8f0!important}.dark .text-slate-600,.dark .\!text-slate-600{color:#cbd5e1!important}.dark .text-slate-500{color:#94a3b8!important}.dark .text-slate-400{color:#64748b!important}.dark .text-blue-800,.dark .text-blue-700{color:#93c5fd!important}.dark .text-blue-600{color:#60a5fa!important}.dark .text-brand-500{color:#818cf8!important}.dark .bg-slate-50{--tw-bg-opacity: 1 !important;background-color:rgb(26 26 29 / var(--tw-bg-opacity, 1))!important}.dark .bg-slate-100,.dark .\!bg-slate-100{--tw-bg-opacity: 1 !important;background-color:rgb(34 34 38 / var(--tw-bg-opacity, 1))!important}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1));-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-thumb{--tw-bg-opacity: 1;background-color:rgb(34 34 34 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(51 51 51 / var(--tw-bg-opacity, 1))}.dark :where(input:not([type=checkbox]):not([type=radio]):not([type=range])),.dark :where(select),.dark :where(textarea){color:#f1f5f9}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])),:where(select),:where(textarea){border-radius:9999px;--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]))::-moz-placeholder,:where(select)::-moz-placeholder,:where(textarea)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]))::placeholder,:where(select)::placeholder,:where(textarea)::placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])),:where(select),:where(textarea){transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):focus,:where(select):focus,:where(textarea):focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(99 102 241 / .2)}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):is(.dark *),:where(select):is(.dark *),:where(textarea):is(.dark *){border-color:transparent;--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):is(.dark *)::-moz-placeholder,:where(select):is(.dark *)::-moz-placeholder,:where(textarea):is(.dark *)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(102 102 110 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):is(.dark *)::placeholder,:where(select):is(.dark *)::placeholder,:where(textarea):is(.dark *)::placeholder{--tw-placeholder-opacity: 1;color:rgb(102 102 110 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):focus:is(.dark *),:where(select):focus:is(.dark *),:where(textarea):focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(51 51 56 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(21 21 24 / var(--tw-bg-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])),:where(select),:where(textarea){box-shadow:0 1px 2px #0000000d!important;font-family:Outfit,sans-serif}:where(select){appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:3rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.5L8 10.5L12 6.5' stroke='%236b7280' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px 16px}.dark input:not([type=checkbox]):not([type=radio]):not([type=range]),.dark select,.dark textarea{box-shadow:none!important}.dark select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.5L8 10.5L12 6.5' stroke='%2394a3b8' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.dark select option{color:#f1f5f9}select option{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}select option:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}input[type=range]{accent-color:#6366f1}input[type=range]:is(.dark *){accent-color:#fff}input[type=radio],input[type=checkbox]{height:1rem;width:1rem;--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));accent-color:#6366f1;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}input[type=radio]:is(.dark *),input[type=checkbox]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 38 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1));accent-color:#fff}input[type=radio]{border-radius:50%}input[type=checkbox]{border-radius:4px}input[type=radio]:checked,input[type=checkbox]:checked{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}input[type=radio]:checked:is(.dark *),input[type=checkbox]:checked:is(.dark *){--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.-left-16{left:-4rem}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-4{left:1rem}.left-64{left:16rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-12{top:3rem}.top-\[76px\]{top:76px}.top-\[calc\(100\%\+10px\)\]{top:calc(100% + 10px)}.-z-10{z-index:-10}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[120\]{z-index:120}.z-\[130\]{z-index:130}.z-\[80\]{z-index:80}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\[78px\]{height:78px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:12rem}.max-h-64{max-height:16rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.min-h-0{min-height:0px}.min-h-\[150px\]{min-height:150px}.min-h-\[158px\]{min-height:158px}.min-h-\[42vh\]{min-height:42vh}.min-h-\[44vh\]{min-height:44vh}.min-h-\[56vh\]{min-height:56vh}.min-h-\[58vh\]{min-height:58vh}.min-h-screen{min-height:100vh}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[284px\]{width:284px}.w-\[3px\]{width:3px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[116px\]{min-width:116px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.min-w-\[240px\]{min-width:240px}.min-w-\[280px\]{min-width:280px}.min-w-\[98px\]{min-width:98px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-\[10ch\]{max-width:10ch}.max-w-\[1380px\]{max-width:1380px}.max-w-\[140px\]{max-width:140px}.max-w-\[1760px\]{max-width:1760px}.max-w-\[38rem\]{max-width:38rem}.max-w-\[520px\]{max-width:520px}.max-w-\[540px\]{max-width:540px}.max-w-\[620px\]{max-width:620px}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.origin-left{transform-origin:left}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[analytics-progress_1\.8s_ease-in-out_infinite\]{animation:analytics-progress 1.8s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[1fr_1fr_100px_32px\]{grid-template-columns:1fr 1fr 100px 32px}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-\[\#1c1c24\]>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(28 28 36 / var(--tw-divide-opacity, 1))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(241 245 249 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[28px\]{border-radius:28px}.rounded-\[30px\]{border-radius:30px}.rounded-\[40px\]{border-radius:40px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.\!border-slate-200{--tw-border-opacity: 1 !important;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))!important}.\!border-transparent{border-color:transparent!important}.border-\[\#1c2d50\]{--tw-border-opacity: 1;border-color:rgb(28 45 80 / var(--tw-border-opacity, 1))}.border-\[\#1d1d23\]{--tw-border-opacity: 1;border-color:rgb(29 29 35 / var(--tw-border-opacity, 1))}.border-\[\#e6e6ee\]{--tw-border-opacity: 1;border-color:rgb(230 230 238 / var(--tw-border-opacity, 1))}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-brand-500\/20{border-color:#6366f133}.border-brand-500\/30{border-color:#6366f14d}.border-brand-500\/50{border-color:#6366f180}.border-brand-500\/70{border-color:#6366f1b3}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-emerald-500\/20{border-color:#10b98133}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-500\/20{border-color:#ef444433}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-200\/70{border-color:#e2e8f0b3}.border-slate-200\/80{border-color:#e2e8f0cc}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.\!bg-slate-100{--tw-bg-opacity: 1 !important;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))!important}.\!bg-white{--tw-bg-opacity: 1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))!important}.bg-\[\#030507\]{--tw-bg-opacity: 1;background-color:rgb(3 5 7 / var(--tw-bg-opacity, 1))}.bg-\[\#07070b\]{--tw-bg-opacity: 1;background-color:rgb(7 7 11 / var(--tw-bg-opacity, 1))}.bg-\[\#0d0d12\]{--tw-bg-opacity: 1;background-color:rgb(13 13 18 / var(--tw-bg-opacity, 1))}.bg-\[\#111318\]{--tw-bg-opacity: 1;background-color:rgb(17 19 24 / var(--tw-bg-opacity, 1))}.bg-\[\#e6e6ee\]{--tw-bg-opacity: 1;background-color:rgb(230 230 238 / var(--tw-bg-opacity, 1))}.bg-\[\#ffffff\]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-brand-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.bg-brand-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-brand-500\/10{background-color:#6366f11a}.bg-brand-500\/15{background-color:#6366f126}.bg-brand-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-500\/10{background-color:#f973161a}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-500\/10{background-color:#a855f71a}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/\[0\.08\]{background-color:#ef444414}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-50\/70{background-color:#f8fafcb3}.bg-slate-50\/80{background-color:#f8fafccc}.bg-slate-50\/90{background-color:#f8fafce6}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/\[0\.04\]{background-color:#0f172a0a}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-slate-950\/70{background-color:#020617b3}.bg-slate-950\/95{background-color:#020617f2}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/40{background-color:#fff6}.bg-white\/45{background-color:#ffffff73}.bg-white\/5{background-color:#ffffff0d}.bg-white\/60{background-color:#fff9}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-white\/95{background-color:#fffffff2}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-\[linear-gradient\(180deg\,_rgba\(255\,255\,255\,1\)\,_rgba\(248\,250\,252\,1\)\)\]{background-image:linear-gradient(180deg,#fff,#f8fafc)}.bg-\[linear-gradient\(180deg\,_rgba\(255\,255\,255\,1\)\,_rgba\(255\,255\,255\,1\)\)\]{background-image:linear-gradient(180deg,#fff,#fff)}.bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.55\)\,transparent_26\%\)\]{background-image:linear-gradient(180deg,rgba(255,255,255,.55),transparent 26%)}.bg-\[linear-gradient\(90deg\,\#4371ff_0\%\,\#3a63f4_100\%\)\]{background-image:linear-gradient(90deg,#4371ff,#3a63f4)}.bg-\[radial-gradient\(circle_at_18\%_18\%\,_rgba\(59\,130\,246\,0\.06\)\,_transparent_24\%\)\,radial-gradient\(circle_at_78\%_20\%\,_rgba\(14\,165\,233\,0\.04\)\,_transparent_18\%\)\,radial-gradient\(circle_at_50\%_100\%\,_rgba\(14\,165\,233\,0\.03\)\,_transparent_24\%\)\]{background-image:radial-gradient(circle at 18% 18%,rgba(59,130,246,.06),transparent 24%),radial-gradient(circle at 78% 20%,rgba(14,165,233,.04),transparent 18%),radial-gradient(circle at 50% 100%,rgba(14,165,233,.03),transparent 24%)}.bg-\[radial-gradient\(circle_at_top_left\,_rgba\(59\,130\,246\,0\.05\)\,_transparent_22\%\)\,radial-gradient\(circle_at_top_right\,_rgba\(14\,165\,233\,0\.04\)\,_transparent_20\%\)\,linear-gradient\(180deg\,_rgba\(255\,255\,255\,1\)\,_rgba\(255\,255\,255\,1\)\)\]{background-image:radial-gradient(circle at top left,rgba(59,130,246,.05),transparent 22%),radial-gradient(circle at top right,rgba(14,165,233,.04),transparent 20%),linear-gradient(180deg,#fff,#fff)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-sky-400{--tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#3b82f6\]\/25{--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(59 130 246 / .25) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-500{--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #3b82f6 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-cyan-300{--tw-gradient-to: #67e8f9 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-12{padding-left:3rem}.pl-8{padding-left:2rem}.pr-12{padding-right:3rem}.pr-5{padding-right:1.25rem}.pt-1{padding-top:.25rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,Menlo,Monaco,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[2\.5rem\]{font-size:2.5rem}.text-\[clamp\(2\.15rem\,3\.6vw\,3\.05rem\)\]{font-size:clamp(2.15rem,3.6vw,3.05rem)}.text-\[clamp\(2\.25rem\,3\.6vw\,3\.15rem\)\]{font-size:clamp(2.25rem,3.6vw,3.15rem)}.text-\[clamp\(3\.8rem\,6\.8vw\,6rem\)\]{font-size:clamp(3.8rem,6.8vw,6rem)}.text-\[clamp\(4rem\,7vw\,6\.2rem\)\]{font-size:clamp(4rem,7vw,6.2rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-9{line-height:2.25rem}.leading-\[0\.92\]{line-height:.92}.leading-tight{line-height:1.25}.tracking-\[-0\.05em\]{letter-spacing:-.05em}.tracking-\[-0\.065em\]{letter-spacing:-.065em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.24em\]{letter-spacing:.24em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-slate-600{--tw-text-opacity: 1 !important;color:rgb(71 85 105 / var(--tw-text-opacity, 1))!important}.\!text-slate-950{--tw-text-opacity: 1 !important;color:rgb(2 6 23 / var(--tw-text-opacity, 1))!important}.text-\[\#7ea4ff\]{--tw-text-opacity: 1;color:rgb(126 164 255 / var(--tw-text-opacity, 1))}.text-\[\#c7cfdb\]{--tw-text-opacity: 1;color:rgb(199 207 219 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-brand-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-brand-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-brand-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-800{--tw-text-opacity: 1;color:rgb(154 52 18 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-sky-700{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.accent-brand-500{accent-color:#6366f1}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-\[0\.05\]{opacity:.05}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_10px_30px_-24px_rgba\(0\,105\,237\,0\.9\)\]{--tw-shadow: 0 10px 30px -24px rgba(0,105,237,.9);--tw-shadow-colored: 0 10px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-22px_rgba\(59\,130\,246\,0\.7\)\]{--tw-shadow: 0 12px 30px -22px rgba(59,130,246,.7);--tw-shadow-colored: 0 12px 30px -22px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-24px_rgba\(15\,23\,42\,0\.1\)\]{--tw-shadow: 0 12px 30px -24px rgba(15,23,42,.1);--tw-shadow-colored: 0 12px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-24px_rgba\(15\,23\,42\,0\.12\)\]{--tw-shadow: 0 12px 30px -24px rgba(15,23,42,.12);--tw-shadow-colored: 0 12px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-24px_rgba\(15\,23\,42\,0\.2\)\]{--tw-shadow: 0 12px 30px -24px rgba(15,23,42,.2);--tw-shadow-colored: 0 12px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-24px_rgba\(15\,23\,42\,0\.28\)\]{--tw-shadow: 0 12px 30px -24px rgba(15,23,42,.28);--tw-shadow-colored: 0 12px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_14px_30px_-28px_rgba\(15\,23\,42\,0\.18\)\]{--tw-shadow: 0 14px 30px -28px rgba(15,23,42,.18);--tw-shadow-colored: 0 14px 30px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_14px_30px_-28px_rgba\(59\,130\,246\,0\.35\)\]{--tw-shadow: 0 14px 30px -28px rgba(59,130,246,.35);--tw-shadow-colored: 0 14px 30px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_30px_-28px_rgba\(15\,23\,42\,0\.4\)\]{--tw-shadow: 0 16px 30px -28px rgba(15,23,42,.4);--tw-shadow-colored: 0 16px 30px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_60px_-42px_rgba\(15\,23\,42\,0\.15\)\]{--tw-shadow: 0 18px 60px -42px rgba(15,23,42,.15);--tw-shadow-colored: 0 18px 60px -42px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_70px_-40px_rgba\(15\,23\,42\,0\.45\)\]{--tw-shadow: 0 24px 70px -40px rgba(15,23,42,.45);--tw-shadow-colored: 0 24px 70px -40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_28px_90px_-56px_rgba\(15\,23\,42\,0\.16\)\]{--tw-shadow: 0 28px 90px -56px rgba(15,23,42,.16);--tw-shadow-colored: 0 28px 90px -56px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_24px_-18px_rgba\(15\,23\,42\,0\.45\)\]{--tw-shadow: 0 8px 24px -18px rgba(15,23,42,.45);--tw-shadow-colored: 0 8px 24px -18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-blue-500\/20{--tw-ring-color: rgb(59 130 246 / .2)}.ring-emerald-500\/20{--tw-ring-color: rgb(16 185 129 / .2)}.ring-orange-500\/20{--tw-ring-color: rgb(249 115 22 / .2)}.ring-purple-500\/20{--tw-ring-color: rgb(168 85 247 / .2)}.ring-red-500\/20{--tw-ring-color: rgb(239 68 68 / .2)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[1px\]{--tw-backdrop-blur: blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[background-image\:linear-gradient\(rgba\(148\,163\,184\,0\.08\)_1px\,transparent_1px\)\,linear-gradient\(90deg\,rgba\(148\,163\,184\,0\.08\)_1px\,transparent_1px\)\]{background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px)}.\[background-size\:56px_56px\]{background-size:56px 56px}.glass-panel{position:relative;overflow:hidden;border-radius:1rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 18px 50px -30px rgba(15,23,42,.12);--tw-shadow-colored: 0 18px 50px -30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.glass-panel:is(.dark *){--tw-border-opacity: 1;border-color:rgb(26 26 29 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(12 12 14 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.glass-panel-hover:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.glass-panel-hover:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 38 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(17 17 20 / var(--tw-bg-opacity, 1))}.text-gradient{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #a855f7 var(--tw-gradient-to-position);-webkit-background-clip:text;background-clip:text;color:transparent}.text-gradient:is(.dark *){--tw-gradient-from: #9b51e0 var(--tw-gradient-from-position);--tw-gradient-to: rgb(155 81 224 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #4f46e5 var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: #0ea5e9 var(--tw-gradient-to-position)}.aurora-top{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#9b51e0,#4f46e5,#0ea5e9,transparent);opacity:.8;z-index:100}@keyframes analytics-progress{0%{transform:scaleX(.18)}55%{transform:scaleX(.82)}to{transform:scaleX(.96)}}.dark .placeholder\:text-slate-400::-moz-placeholder{color:#64748b!important}.dark .placeholder\:text-slate-400::placeholder{color:#64748b!important}.dark .hover\:\!text-slate-900:hover,.dark .hover\:text-slate-900:hover{color:#f1f5f9!important}.dark .hover\:text-slate-700:hover{color:#e2e8f0!important}.dark .hover\:bg-slate-50:hover{--tw-bg-opacity: 1 !important;background-color:rgb(26 26 29 / var(--tw-bg-opacity, 1))!important}.dark .hover\:bg-slate-100:hover{--tw-bg-opacity: 1 !important;background-color:rgb(34 34 38 / var(--tw-bg-opacity, 1))!important}.dark .group:hover .group-hover\:text-slate-700{color:#e2e8f0!important}.dark .group:hover .group-hover\:text-brand-500{color:#818cf8!important}.dark .dark\:text-slate-500:is(.dark *)p,.dark .dark\:text-slate-500:is(.dark *)span,.dark .dark\:text-slate-500:is(.dark *)div{color:#94a3b8}.dark .dark\:text-slate-500:is(.dark *){color:#94a3b8!important}.dark .dark\:text-slate-400:is(.dark *){color:#64748b!important}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[\#3b82f6\]\/35:hover{border-color:#3b82f659}.hover\:border-slate-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.hover\:\!bg-slate-200:hover{--tw-bg-opacity: 1 !important;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))!important}.hover\:bg-brand-500\/15:hover{background-color:#6366f126}.hover\:bg-brand-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50\/80:hover{background-color:#f8fafccc}.hover\:bg-slate-900\/\[0\.025\]:hover{background-color:#0f172a06}.hover\:\!text-slate-900:hover{--tw-text-opacity: 1 !important;color:rgb(15 23 42 / var(--tw-text-opacity, 1))!important}.hover\:text-brand-600:hover{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.hover\:text-brand-700:hover{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-slate-200:hover{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.hover\:text-slate-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:text-slate-950:hover{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#28282f\]:focus{--tw-border-opacity: 1;border-color:rgb(40 40 47 / var(--tw-border-opacity, 1))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:border-brand-500:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500\/20:focus{--tw-ring-color: rgb(59 130 246 / .2)}.focus\:ring-brand-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1))}.focus\:ring-brand-500\/20:focus{--tw-ring-color: rgb(99 102 241 / .2)}.focus\:ring-brand-500\/50:focus{--tw-ring-color: rgb(99 102 241 / .5)}.focus\:ring-offset-1:focus{--tw-ring-offset-width: 1px}.focus\:ring-offset-transparent:focus{--tw-ring-offset-color: transparent}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[\#3b82f6\]\/40:focus-visible{--tw-ring-color: rgb(59 130 246 / .4)}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-brand-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-brand-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:divide-\[\#222226\]:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(34 34 38 / var(--tw-divide-opacity, 1))}.dark\:\!border-\[\#2a303a\]:is(.dark *){--tw-border-opacity: 1 !important;border-color:rgb(42 48 58 / var(--tw-border-opacity, 1))!important}.dark\:border-\[\#1a1a24\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(26 26 36 / var(--tw-border-opacity, 1))}.dark\:border-\[\#1c1c23\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(28 28 35 / var(--tw-border-opacity, 1))}.dark\:border-\[\#1c1c24\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(28 28 36 / var(--tw-border-opacity, 1))}.dark\:border-\[\#1d1d23\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(29 29 35 / var(--tw-border-opacity, 1))}.dark\:border-\[\#222226\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 38 / var(--tw-border-opacity, 1))}.dark\:border-\[\#222227\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 39 / var(--tw-border-opacity, 1))}.dark\:border-\[\#22262f\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 38 47 / var(--tw-border-opacity, 1))}.dark\:border-\[\#23232a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(35 35 42 / var(--tw-border-opacity, 1))}.dark\:border-\[\#232833\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(35 40 51 / var(--tw-border-opacity, 1))}.dark\:border-\[\#232933\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(35 41 51 / var(--tw-border-opacity, 1))}.dark\:border-\[\#27272a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(39 39 42 / var(--tw-border-opacity, 1))}.dark\:border-\[\#2a2d35\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 45 53 / var(--tw-border-opacity, 1))}.dark\:border-\[\#2a303a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 48 58 / var(--tw-border-opacity, 1))}.dark\:border-\[\#3a284f\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(58 40 79 / var(--tw-border-opacity, 1))}.dark\:border-\[\#5c1c1c\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(92 28 28 / var(--tw-border-opacity, 1))}.dark\:border-amber-500\/30:is(.dark *){border-color:#f59e0b4d}.dark\:border-brand-500:is(.dark *){--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.dark\:border-emerald-500\/30:is(.dark *){border-color:#10b9814d}.dark\:\!bg-\[\#161b24\]:is(.dark *){--tw-bg-opacity: 1 !important;background-color:rgb(22 27 36 / var(--tw-bg-opacity, 1))!important}.dark\:bg-\[\#030507\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 5 7 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#050507\]\/45:is(.dark *){background-color:#05050773}.dark\:bg-\[\#06080d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(6 8 13 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#08080b\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(8 8 11 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#09090b\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#09090d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(9 9 13 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#09090d\]\/95:is(.dark *){background-color:#09090df2}.dark\:bg-\[\#090c12\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(9 12 18 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0a0a0f\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(10 10 15 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0a0d12\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(10 13 18 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0b0b0d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(11 11 13 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0b0b10\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(11 11 16 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0b1017\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(11 16 23 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0c0c0e\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(12 12 14 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0c0c10\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(12 12 16 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0f0f11\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0f0f16\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 15 22 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#10131a\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(16 19 26 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#111114\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 17 20 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#111118\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 17 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#111318\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 19 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#11151d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 21 29 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#11151d\]\/95:is(.dark *){background-color:#11151df2}.dark\:bg-\[\#121214\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 18 20 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#121218\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 18 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#121720\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 23 32 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#131318\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(19 19 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#141822\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 24 34 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#151518\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(21 21 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#161b24\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(22 27 36 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#161b24\]\/80:is(.dark *){background-color:#161b24cc}.dark\:bg-\[\#1a1a24\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 26 36 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1a1d25\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 29 37 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1a2332\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 35 50 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#202734\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(32 39 52 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#232933\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(35 41 51 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2a0505\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(42 5 5 / var(--tw-bg-opacity, 1))}.dark\:bg-amber-500\/10:is(.dark *){background-color:#f59e0b1a}.dark\:bg-brand-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.dark\:bg-brand-500\/10:is(.dark *){background-color:#6366f11a}.dark\:bg-emerald-500\/10:is(.dark *){background-color:#10b9811a}.dark\:bg-sky-300:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(125 211 252 / var(--tw-bg-opacity, 1))}.dark\:bg-white:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.dark\:bg-white\/\[0\.05\]:is(.dark *){background-color:#ffffff0d}.dark\:bg-\[linear-gradient\(180deg\,_rgba\(3\,5\,7\,1\)\,_rgba\(5\,8\,12\,1\)\)\]:is(.dark *){background-image:linear-gradient(180deg,#030507,#05080c)}.dark\:bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.02\)\,transparent_26\%\)\]:is(.dark *){background-image:linear-gradient(180deg,rgba(255,255,255,.02),transparent 26%)}.dark\:bg-\[radial-gradient\(circle_at_18\%_18\%\,_rgba\(56\,189\,248\,0\.05\)\,_transparent_24\%\)\,radial-gradient\(circle_at_78\%_20\%\,_rgba\(59\,130\,246\,0\.04\)\,_transparent_18\%\)\,radial-gradient\(circle_at_50\%_100\%\,_rgba\(14\,165\,233\,0\.035\)\,_transparent_24\%\)\]:is(.dark *){background-image:radial-gradient(circle at 18% 18%,rgba(56,189,248,.05),transparent 24%),radial-gradient(circle at 78% 20%,rgba(59,130,246,.04),transparent 18%),radial-gradient(circle at 50% 100%,rgba(14,165,233,.035),transparent 24%)}.dark\:bg-\[radial-gradient\(circle_at_20\%_22\%\,_rgba\(56\,189\,248\,0\.05\)\,_transparent_24\%\)\,radial-gradient\(circle_at_74\%_18\%\,_rgba\(59\,130\,246\,0\.04\)\,_transparent_18\%\)\,radial-gradient\(circle_at_50\%_100\%\,_rgba\(14\,165\,233\,0\.03\)\,_transparent_24\%\)\]:is(.dark *){background-image:radial-gradient(circle at 20% 22%,rgba(56,189,248,.05),transparent 24%),radial-gradient(circle at 74% 18%,rgba(59,130,246,.04),transparent 18%),radial-gradient(circle at 50% 100%,rgba(14,165,233,.03),transparent 24%)}.dark\:bg-\[radial-gradient\(circle_at_top_left\,_rgba\(56\,189\,248\,0\.06\)\,_transparent_22\%\)\,linear-gradient\(180deg\,_rgba\(3\,5\,7\,1\)\,_rgba\(5\,8\,12\,1\)\)\]:is(.dark *){background-image:radial-gradient(circle at top left,rgba(56,189,248,.06),transparent 22%),linear-gradient(180deg,#030507,#05080c)}.dark\:via-\[\#3b82f6\]\/30:is(.dark *){--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(59 130 246 / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:via-\[\#3b82f6\]\/35:is(.dark *){--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(59 130 246 / .35) var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:\!text-\[\#a7b2c6\]:is(.dark *){--tw-text-opacity: 1 !important;color:rgb(167 178 198 / var(--tw-text-opacity, 1))!important}.dark\:\!text-white:is(.dark *){--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1))!important}.dark\:text-\[\#34d399\]:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-\[\#4b5565\]:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 101 / var(--tw-text-opacity, 1))}.dark\:text-\[\#525866\]:is(.dark *){--tw-text-opacity: 1;color:rgb(82 88 102 / var(--tw-text-opacity, 1))}.dark\:text-\[\#667085\]:is(.dark *){--tw-text-opacity: 1;color:rgb(102 112 133 / var(--tw-text-opacity, 1))}.dark\:text-\[\#697387\]:is(.dark *){--tw-text-opacity: 1;color:rgb(105 115 135 / var(--tw-text-opacity, 1))}.dark\:text-\[\#6d768a\]:is(.dark *){--tw-text-opacity: 1;color:rgb(109 118 138 / var(--tw-text-opacity, 1))}.dark\:text-\[\#707786\]:is(.dark *){--tw-text-opacity: 1;color:rgb(112 119 134 / var(--tw-text-opacity, 1))}.dark\:text-\[\#798191\]:is(.dark *){--tw-text-opacity: 1;color:rgb(121 129 145 / var(--tw-text-opacity, 1))}.dark\:text-\[\#7b8496\]:is(.dark *){--tw-text-opacity: 1;color:rgb(123 132 150 / var(--tw-text-opacity, 1))}.dark\:text-\[\#7d879b\]:is(.dark *){--tw-text-opacity: 1;color:rgb(125 135 155 / var(--tw-text-opacity, 1))}.dark\:text-\[\#7da6ff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(125 166 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8390a7\]:is(.dark *){--tw-text-opacity: 1;color:rgb(131 144 167 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8a8a93\]:is(.dark *){--tw-text-opacity: 1;color:rgb(138 138 147 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8a94a7\]:is(.dark *){--tw-text-opacity: 1;color:rgb(138 148 167 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8d95a3\]:is(.dark *){--tw-text-opacity: 1;color:rgb(141 149 163 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8d96aa\]:is(.dark *){--tw-text-opacity: 1;color:rgb(141 150 170 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8ea0bb\]:is(.dark *){--tw-text-opacity: 1;color:rgb(142 160 187 / var(--tw-text-opacity, 1))}.dark\:text-\[\#98a3b8\]:is(.dark *){--tw-text-opacity: 1;color:rgb(152 163 184 / var(--tw-text-opacity, 1))}.dark\:text-\[\#9aa4b6\]:is(.dark *){--tw-text-opacity: 1;color:rgb(154 164 182 / var(--tw-text-opacity, 1))}.dark\:text-\[\#9ca7ba\]:is(.dark *){--tw-text-opacity: 1;color:rgb(156 167 186 / var(--tw-text-opacity, 1))}.dark\:text-\[\#a1a1aa\]:is(.dark *){--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.dark\:text-\[\#a6b0c3\]:is(.dark *){--tw-text-opacity: 1;color:rgb(166 176 195 / var(--tw-text-opacity, 1))}.dark\:text-\[\#aab5c8\]:is(.dark *){--tw-text-opacity: 1;color:rgb(170 181 200 / var(--tw-text-opacity, 1))}.dark\:text-\[\#b2bdd1\]:is(.dark *){--tw-text-opacity: 1;color:rgb(178 189 209 / var(--tw-text-opacity, 1))}.dark\:text-\[\#b38cff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(179 140 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#b3b3bd\]:is(.dark *){--tw-text-opacity: 1;color:rgb(179 179 189 / var(--tw-text-opacity, 1))}.dark\:text-\[\#c6d0e1\]:is(.dark *){--tw-text-opacity: 1;color:rgb(198 208 225 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d0d7e2\]:is(.dark *){--tw-text-opacity: 1;color:rgb(208 215 226 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d5dded\]:is(.dark *){--tw-text-opacity: 1;color:rgb(213 221 237 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d8e1ef\]:is(.dark *){--tw-text-opacity: 1;color:rgb(216 225 239 / var(--tw-text-opacity, 1))}.dark\:text-\[\#e5e7eb\]:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-\[\#e5ecf7\]:is(.dark *){--tw-text-opacity: 1;color:rgb(229 236 247 / var(--tw-text-opacity, 1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-black:is(.dark *){--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-red-500:is(.dark *){--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.dark\:text-sky-200:is(.dark *){--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity, 1))}.dark\:text-sky-300:is(.dark *){--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.dark\:text-slate-200:is(.dark *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:text-slate-500:is(.dark *){--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.dark\:text-slate-950:is(.dark *){--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:opacity-\[0\.08\]:is(.dark *){opacity:.08}.dark\:shadow-\[0_18px_60px_-42px_rgba\(0\,0\,0\,0\.7\)\]:is(.dark *){--tw-shadow: 0 18px 60px -42px rgba(0,0,0,.7);--tw-shadow-colored: 0 18px 60px -42px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-\[0_24px_70px_-40px_rgba\(0\,0\,0\,0\.7\)\]:is(.dark *){--tw-shadow: 0 24px 70px -40px rgba(0,0,0,.7);--tw-shadow-colored: 0 24px 70px -40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-\[0_28px_90px_-56px_rgba\(0\,0\,0\,0\.72\)\]:is(.dark *){--tw-shadow: 0 28px 90px -56px rgba(0,0,0,.72);--tw-shadow-colored: 0 28px 90px -56px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-none:is(.dark *){--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:placeholder\:text-\[\#6e7684\]:is(.dark *)::-moz-placeholder{--tw-text-opacity: 1;color:rgb(110 118 132 / var(--tw-text-opacity, 1))}.dark\:placeholder\:text-\[\#6e7684\]:is(.dark *)::placeholder{--tw-text-opacity: 1;color:rgb(110 118 132 / var(--tw-text-opacity, 1))}.dark\:hover\:border-\[\#2a2a31\]:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 42 49 / var(--tw-border-opacity, 1))}.dark\:hover\:border-\[\#2a303a\]:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 48 58 / var(--tw-border-opacity, 1))}.dark\:hover\:\!bg-\[\#1c2330\]:hover:is(.dark *){--tw-bg-opacity: 1 !important;background-color:rgb(28 35 48 / var(--tw-bg-opacity, 1))!important}.dark\:hover\:bg-\[\#111114\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 17 20 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#121214\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 18 20 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#13131a\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(19 19 26 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#141923\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 25 35 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#161b24\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(22 27 36 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#17171d\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 23 29 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#18181b\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#18181f\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(24 24 31 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#1a1a24\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 26 36 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#1a2130\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 33 48 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#380808\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(56 8 8 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-950\/30:hover:is(.dark *){background-color:#450a0a4d}.dark\:hover\:bg-slate-200:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-white\/\[0\.035\]:hover:is(.dark *){background-color:#ffffff09}.dark\:hover\:\!text-white:hover:is(.dark *){--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1))!important}.dark\:hover\:text-red-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:focus\:border-blue-500:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.group:hover .dark\:group-hover\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:block{display:block}.sm\:h-11{height:2.75rem}.sm\:h-12{height:3rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:text-\[1\.35rem\]{font-size:1.35rem}.sm\:text-\[1\.3rem\]{font-size:1.3rem}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:justify-end{justify-content:flex-end}.md\:p-7{padding:1.75rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:text-\[3rem\]{font-size:3rem}.md\:text-\[4rem\]{font-size:4rem}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:min-h-screen{min-height:100vh}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1\.06fr_0\.94fr\]{grid-template-columns:1.06fr .94fr}.lg\:grid-cols-\[1\.08fr_0\.92fr\]{grid-template-columns:1.08fr .92fr}.lg\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}.lg\:grid-cols-\[minmax\(0\,1fr\)_240px\]{grid-template-columns:minmax(0,1fr) 240px}.lg\:border-b-0{border-bottom-width:0px}.lg\:border-r{border-right-width:1px}.lg\:border-\[\#1d1d23\]{--tw-border-opacity: 1;border-color:rgb(29 29 35 / var(--tw-border-opacity, 1))}.lg\:px-14{padding-left:3.5rem;padding-right:3.5rem}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}}@media (min-width: 1280px){.xl\:sticky{position:sticky}.xl\:top-6{top:1.5rem}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[0\.86fr_1\.14fr\]{grid-template-columns:.86fr 1.14fr}.xl\:grid-cols-\[1\.02fr_0\.98fr\]{grid-template-columns:1.02fr .98fr}.xl\:grid-cols-\[1\.15fr_0\.85fr\]{grid-template-columns:1.15fr .85fr}.xl\:grid-cols-\[280px_minmax\(0\,1fr\)_340px\]{grid-template-columns:280px minmax(0,1fr) 340px}.xl\:grid-cols-\[340px_minmax\(0\,1fr\)\]{grid-template-columns:340px minmax(0,1fr)}.xl\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(320px\,0\.8fr\)\]{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.xl\:self-start{align-self:flex-start}.xl\:border-b-0{border-bottom-width:0px}.xl\:border-r{border-right-width:1px}.xl\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xl\:px-16{padding-left:4rem;padding-right:4rem}.xl\:px-8{padding-left:2rem;padding-right:2rem}} diff --git a/website/dist/assets/index-EUs1W48A.css b/website/dist/assets/index-EUs1W48A.css new file mode 100644 index 00000000..ca0cf2b6 --- /dev/null +++ b/website/dist/assets/index-EUs1W48A.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Menlo,Monaco,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{color-scheme:light}html.dark{color-scheme:dark}html,body{font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark html,.dark body{color:#f1f5f9}html,body{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}html:is(.dark *),body:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.dark p,.dark span,.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6{color:#f1f5f9}p,span,h1,h2,h3,h4,h5,h6{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}p:is(.dark *),span:is(.dark *),h1:is(.dark *),h2:is(.dark *),h3:is(.dark *),h4:is(.dark *),h5:is(.dark *),h6:is(.dark *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.dark p.text-slate-500,.dark span.text-slate-500,.dark div.text-slate-500{color:#94a3b8}.dark p.text-slate-600,.dark span.text-slate-600,.dark div.text-slate-600{color:#cbd5e1}.dark p.\!text-slate-600,.dark span.\!text-slate-600,.dark div.\!text-slate-600{color:#cbd5e1!important}.dark .text-slate-900,.dark .text-slate-800{color:#f1f5f9!important}.dark .text-slate-700{color:#e2e8f0!important}.dark .text-slate-600,.dark .\!text-slate-600{color:#cbd5e1!important}.dark .text-slate-500{color:#94a3b8!important}.dark .text-slate-400{color:#64748b!important}.dark .text-blue-800,.dark .text-blue-700{color:#93c5fd!important}.dark .text-blue-600{color:#60a5fa!important}.dark .text-brand-500{color:#818cf8!important}.dark .bg-slate-50{--tw-bg-opacity: 1 !important;background-color:rgb(26 26 29 / var(--tw-bg-opacity, 1))!important}.dark .bg-slate-100,.dark .\!bg-slate-100{--tw-bg-opacity: 1 !important;background-color:rgb(34 34 38 / var(--tw-bg-opacity, 1))!important}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1));-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-thumb{--tw-bg-opacity: 1;background-color:rgb(34 34 34 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(51 51 51 / var(--tw-bg-opacity, 1))}.dark :where(input:not([type=checkbox]):not([type=radio]):not([type=range])),.dark :where(select),.dark :where(textarea){color:#f1f5f9}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])),:where(select),:where(textarea){border-radius:9999px;--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]))::-moz-placeholder,:where(select)::-moz-placeholder,:where(textarea)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]))::placeholder,:where(select)::placeholder,:where(textarea)::placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])),:where(select),:where(textarea){transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):focus,:where(select):focus,:where(textarea):focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(99 102 241 / .2)}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):is(.dark *),:where(select):is(.dark *),:where(textarea):is(.dark *){border-color:transparent;--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):is(.dark *)::-moz-placeholder,:where(select):is(.dark *)::-moz-placeholder,:where(textarea):is(.dark *)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(102 102 110 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):is(.dark *)::placeholder,:where(select):is(.dark *)::placeholder,:where(textarea):is(.dark *)::placeholder{--tw-placeholder-opacity: 1;color:rgb(102 102 110 / var(--tw-placeholder-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])):focus:is(.dark *),:where(select):focus:is(.dark *),:where(textarea):focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(51 51 56 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(21 21 24 / var(--tw-bg-opacity, 1))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range])),:where(select),:where(textarea){box-shadow:0 1px 2px #0000000d!important;font-family:Outfit,sans-serif}:where(select){appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:3rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.5L8 10.5L12 6.5' stroke='%236b7280' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px 16px}.dark input:not([type=checkbox]):not([type=radio]):not([type=range]),.dark select,.dark textarea{box-shadow:none!important}.dark select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.5L8 10.5L12 6.5' stroke='%2394a3b8' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.dark select option{color:#f1f5f9}select option{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}select option:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}input[type=range]{accent-color:#6366f1}input[type=range]:is(.dark *){accent-color:#fff}input[type=radio],input[type=checkbox]{height:1rem;width:1rem;--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));accent-color:#6366f1;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}input[type=radio]:is(.dark *),input[type=checkbox]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 38 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1));accent-color:#fff}input[type=radio]{border-radius:50%}input[type=checkbox]{border-radius:4px}input[type=radio]:checked,input[type=checkbox]:checked{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}input[type=radio]:checked:is(.dark *),input[type=checkbox]:checked:is(.dark *){--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.-left-16{left:-4rem}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-4{left:1rem}.left-64{left:16rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-12{top:3rem}.top-\[76px\]{top:76px}.top-\[calc\(100\%\+10px\)\]{top:calc(100% + 10px)}.-z-10{z-index:-10}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[120\]{z-index:120}.z-\[130\]{z-index:130}.z-\[80\]{z-index:80}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\[78px\]{height:78px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:12rem}.max-h-64{max-height:16rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.min-h-0{min-height:0px}.min-h-\[150px\]{min-height:150px}.min-h-\[158px\]{min-height:158px}.min-h-\[42vh\]{min-height:42vh}.min-h-\[44vh\]{min-height:44vh}.min-h-\[56vh\]{min-height:56vh}.min-h-\[58vh\]{min-height:58vh}.min-h-screen{min-height:100vh}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[284px\]{width:284px}.w-\[3px\]{width:3px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[116px\]{min-width:116px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.min-w-\[240px\]{min-width:240px}.min-w-\[280px\]{min-width:280px}.min-w-\[98px\]{min-width:98px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-\[10ch\]{max-width:10ch}.max-w-\[1380px\]{max-width:1380px}.max-w-\[140px\]{max-width:140px}.max-w-\[1760px\]{max-width:1760px}.max-w-\[38rem\]{max-width:38rem}.max-w-\[520px\]{max-width:520px}.max-w-\[540px\]{max-width:540px}.max-w-\[620px\]{max-width:620px}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.origin-left{transform-origin:left}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[analytics-progress_1\.8s_ease-in-out_infinite\]{animation:analytics-progress 1.8s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[1fr_1fr_100px_32px\]{grid-template-columns:1fr 1fr 100px 32px}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-\[\#1c1c24\]>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(28 28 36 / var(--tw-divide-opacity, 1))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(241 245 249 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[28px\]{border-radius:28px}.rounded-\[30px\]{border-radius:30px}.rounded-\[40px\]{border-radius:40px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.\!border-slate-200{--tw-border-opacity: 1 !important;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))!important}.\!border-transparent{border-color:transparent!important}.border-\[\#1c2d50\]{--tw-border-opacity: 1;border-color:rgb(28 45 80 / var(--tw-border-opacity, 1))}.border-\[\#1d1d23\]{--tw-border-opacity: 1;border-color:rgb(29 29 35 / var(--tw-border-opacity, 1))}.border-\[\#e6e6ee\]{--tw-border-opacity: 1;border-color:rgb(230 230 238 / var(--tw-border-opacity, 1))}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-brand-500\/20{border-color:#6366f133}.border-brand-500\/30{border-color:#6366f14d}.border-brand-500\/50{border-color:#6366f180}.border-brand-500\/70{border-color:#6366f1b3}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-emerald-500\/20{border-color:#10b98133}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-500\/20{border-color:#ef444433}.border-sky-500\/20{border-color:#0ea5e933}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-200\/70{border-color:#e2e8f0b3}.border-slate-200\/80{border-color:#e2e8f0cc}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.\!bg-slate-100{--tw-bg-opacity: 1 !important;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))!important}.\!bg-white{--tw-bg-opacity: 1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))!important}.bg-\[\#030507\]{--tw-bg-opacity: 1;background-color:rgb(3 5 7 / var(--tw-bg-opacity, 1))}.bg-\[\#07070b\]{--tw-bg-opacity: 1;background-color:rgb(7 7 11 / var(--tw-bg-opacity, 1))}.bg-\[\#0d0d12\]{--tw-bg-opacity: 1;background-color:rgb(13 13 18 / var(--tw-bg-opacity, 1))}.bg-\[\#111318\]{--tw-bg-opacity: 1;background-color:rgb(17 19 24 / var(--tw-bg-opacity, 1))}.bg-\[\#e6e6ee\]{--tw-bg-opacity: 1;background-color:rgb(230 230 238 / var(--tw-bg-opacity, 1))}.bg-\[\#ffffff\]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-brand-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.bg-brand-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-brand-500\/10{background-color:#6366f11a}.bg-brand-500\/15{background-color:#6366f126}.bg-brand-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-500\/10{background-color:#f973161a}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-500\/10{background-color:#a855f71a}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/\[0\.08\]{background-color:#ef444414}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-50\/70{background-color:#f8fafcb3}.bg-slate-50\/80{background-color:#f8fafccc}.bg-slate-50\/90{background-color:#f8fafce6}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/\[0\.04\]{background-color:#0f172a0a}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-slate-950\/70{background-color:#020617b3}.bg-slate-950\/95{background-color:#020617f2}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/40{background-color:#fff6}.bg-white\/45{background-color:#ffffff73}.bg-white\/5{background-color:#ffffff0d}.bg-white\/60{background-color:#fff9}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-white\/95{background-color:#fffffff2}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-\[linear-gradient\(180deg\,_rgba\(255\,255\,255\,1\)\,_rgba\(248\,250\,252\,1\)\)\]{background-image:linear-gradient(180deg,#fff,#f8fafc)}.bg-\[linear-gradient\(180deg\,_rgba\(255\,255\,255\,1\)\,_rgba\(255\,255\,255\,1\)\)\]{background-image:linear-gradient(180deg,#fff,#fff)}.bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.55\)\,transparent_26\%\)\]{background-image:linear-gradient(180deg,rgba(255,255,255,.55),transparent 26%)}.bg-\[linear-gradient\(90deg\,\#4371ff_0\%\,\#3a63f4_100\%\)\]{background-image:linear-gradient(90deg,#4371ff,#3a63f4)}.bg-\[radial-gradient\(circle_at_18\%_18\%\,_rgba\(59\,130\,246\,0\.06\)\,_transparent_24\%\)\,radial-gradient\(circle_at_78\%_20\%\,_rgba\(14\,165\,233\,0\.04\)\,_transparent_18\%\)\,radial-gradient\(circle_at_50\%_100\%\,_rgba\(14\,165\,233\,0\.03\)\,_transparent_24\%\)\]{background-image:radial-gradient(circle at 18% 18%,rgba(59,130,246,.06),transparent 24%),radial-gradient(circle at 78% 20%,rgba(14,165,233,.04),transparent 18%),radial-gradient(circle at 50% 100%,rgba(14,165,233,.03),transparent 24%)}.bg-\[radial-gradient\(circle_at_top_left\,_rgba\(59\,130\,246\,0\.05\)\,_transparent_22\%\)\,radial-gradient\(circle_at_top_right\,_rgba\(14\,165\,233\,0\.04\)\,_transparent_20\%\)\,linear-gradient\(180deg\,_rgba\(255\,255\,255\,1\)\,_rgba\(255\,255\,255\,1\)\)\]{background-image:radial-gradient(circle at top left,rgba(59,130,246,.05),transparent 22%),radial-gradient(circle at top right,rgba(14,165,233,.04),transparent 20%),linear-gradient(180deg,#fff,#fff)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-sky-400{--tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#3b82f6\]\/25{--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(59 130 246 / .25) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-500{--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #3b82f6 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-cyan-300{--tw-gradient-to: #67e8f9 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-12{padding-left:3rem}.pl-8{padding-left:2rem}.pr-12{padding-right:3rem}.pr-5{padding-right:1.25rem}.pt-1{padding-top:.25rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,Menlo,Monaco,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[2\.5rem\]{font-size:2.5rem}.text-\[clamp\(2\.15rem\,3\.6vw\,3\.05rem\)\]{font-size:clamp(2.15rem,3.6vw,3.05rem)}.text-\[clamp\(2\.25rem\,3\.6vw\,3\.15rem\)\]{font-size:clamp(2.25rem,3.6vw,3.15rem)}.text-\[clamp\(3\.8rem\,6\.8vw\,6rem\)\]{font-size:clamp(3.8rem,6.8vw,6rem)}.text-\[clamp\(4rem\,7vw\,6\.2rem\)\]{font-size:clamp(4rem,7vw,6.2rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-9{line-height:2.25rem}.leading-\[0\.92\]{line-height:.92}.leading-tight{line-height:1.25}.tracking-\[-0\.05em\]{letter-spacing:-.05em}.tracking-\[-0\.065em\]{letter-spacing:-.065em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.24em\]{letter-spacing:.24em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-slate-600{--tw-text-opacity: 1 !important;color:rgb(71 85 105 / var(--tw-text-opacity, 1))!important}.\!text-slate-950{--tw-text-opacity: 1 !important;color:rgb(2 6 23 / var(--tw-text-opacity, 1))!important}.text-\[\#7ea4ff\]{--tw-text-opacity: 1;color:rgb(126 164 255 / var(--tw-text-opacity, 1))}.text-\[\#c7cfdb\]{--tw-text-opacity: 1;color:rgb(199 207 219 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-brand-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-brand-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-brand-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-800{--tw-text-opacity: 1;color:rgb(154 52 18 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.text-sky-700{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.accent-brand-500{accent-color:#6366f1}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-\[0\.05\]{opacity:.05}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_10px_30px_-24px_rgba\(0\,105\,237\,0\.9\)\]{--tw-shadow: 0 10px 30px -24px rgba(0,105,237,.9);--tw-shadow-colored: 0 10px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-22px_rgba\(59\,130\,246\,0\.7\)\]{--tw-shadow: 0 12px 30px -22px rgba(59,130,246,.7);--tw-shadow-colored: 0 12px 30px -22px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-24px_rgba\(15\,23\,42\,0\.1\)\]{--tw-shadow: 0 12px 30px -24px rgba(15,23,42,.1);--tw-shadow-colored: 0 12px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-24px_rgba\(15\,23\,42\,0\.12\)\]{--tw-shadow: 0 12px 30px -24px rgba(15,23,42,.12);--tw-shadow-colored: 0 12px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-24px_rgba\(15\,23\,42\,0\.2\)\]{--tw-shadow: 0 12px 30px -24px rgba(15,23,42,.2);--tw-shadow-colored: 0 12px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-24px_rgba\(15\,23\,42\,0\.28\)\]{--tw-shadow: 0 12px 30px -24px rgba(15,23,42,.28);--tw-shadow-colored: 0 12px 30px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_14px_30px_-28px_rgba\(15\,23\,42\,0\.18\)\]{--tw-shadow: 0 14px 30px -28px rgba(15,23,42,.18);--tw-shadow-colored: 0 14px 30px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_14px_30px_-28px_rgba\(59\,130\,246\,0\.35\)\]{--tw-shadow: 0 14px 30px -28px rgba(59,130,246,.35);--tw-shadow-colored: 0 14px 30px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_30px_-28px_rgba\(15\,23\,42\,0\.4\)\]{--tw-shadow: 0 16px 30px -28px rgba(15,23,42,.4);--tw-shadow-colored: 0 16px 30px -28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_60px_-42px_rgba\(15\,23\,42\,0\.15\)\]{--tw-shadow: 0 18px 60px -42px rgba(15,23,42,.15);--tw-shadow-colored: 0 18px 60px -42px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_70px_-40px_rgba\(15\,23\,42\,0\.45\)\]{--tw-shadow: 0 24px 70px -40px rgba(15,23,42,.45);--tw-shadow-colored: 0 24px 70px -40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_28px_90px_-56px_rgba\(15\,23\,42\,0\.16\)\]{--tw-shadow: 0 28px 90px -56px rgba(15,23,42,.16);--tw-shadow-colored: 0 28px 90px -56px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_24px_-18px_rgba\(15\,23\,42\,0\.45\)\]{--tw-shadow: 0 8px 24px -18px rgba(15,23,42,.45);--tw-shadow-colored: 0 8px 24px -18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-blue-500\/20{--tw-ring-color: rgb(59 130 246 / .2)}.ring-emerald-500\/20{--tw-ring-color: rgb(16 185 129 / .2)}.ring-orange-500\/20{--tw-ring-color: rgb(249 115 22 / .2)}.ring-purple-500\/20{--tw-ring-color: rgb(168 85 247 / .2)}.ring-red-500\/20{--tw-ring-color: rgb(239 68 68 / .2)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[1px\]{--tw-backdrop-blur: blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[background-image\:linear-gradient\(rgba\(148\,163\,184\,0\.08\)_1px\,transparent_1px\)\,linear-gradient\(90deg\,rgba\(148\,163\,184\,0\.08\)_1px\,transparent_1px\)\]{background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px)}.\[background-size\:56px_56px\]{background-size:56px 56px}.glass-panel{position:relative;overflow:hidden;border-radius:1rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 18px 50px -30px rgba(15,23,42,.12);--tw-shadow-colored: 0 18px 50px -30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.glass-panel:is(.dark *){--tw-border-opacity: 1;border-color:rgb(26 26 29 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(12 12 14 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.glass-panel-hover:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.glass-panel-hover:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 38 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(17 17 20 / var(--tw-bg-opacity, 1))}.text-gradient{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #a855f7 var(--tw-gradient-to-position);-webkit-background-clip:text;background-clip:text;color:transparent}.text-gradient:is(.dark *){--tw-gradient-from: #9b51e0 var(--tw-gradient-from-position);--tw-gradient-to: rgb(155 81 224 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #4f46e5 var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: #0ea5e9 var(--tw-gradient-to-position)}.aurora-top{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#9b51e0,#4f46e5,#0ea5e9,transparent);opacity:.8;z-index:100}@keyframes analytics-progress{0%{transform:scaleX(.18)}55%{transform:scaleX(.82)}to{transform:scaleX(.96)}}.dark .placeholder\:text-slate-400::-moz-placeholder{color:#64748b!important}.dark .placeholder\:text-slate-400::placeholder{color:#64748b!important}.dark .hover\:\!text-slate-900:hover,.dark .hover\:text-slate-900:hover{color:#f1f5f9!important}.dark .hover\:text-slate-700:hover{color:#e2e8f0!important}.dark .hover\:bg-slate-50:hover{--tw-bg-opacity: 1 !important;background-color:rgb(26 26 29 / var(--tw-bg-opacity, 1))!important}.dark .hover\:bg-slate-100:hover{--tw-bg-opacity: 1 !important;background-color:rgb(34 34 38 / var(--tw-bg-opacity, 1))!important}.dark .group:hover .group-hover\:text-slate-700{color:#e2e8f0!important}.dark .group:hover .group-hover\:text-brand-500{color:#818cf8!important}.dark .dark\:text-slate-500:is(.dark *)p,.dark .dark\:text-slate-500:is(.dark *)span,.dark .dark\:text-slate-500:is(.dark *)div{color:#94a3b8}.dark .dark\:text-slate-500:is(.dark *){color:#94a3b8!important}.dark .dark\:text-slate-400:is(.dark *){color:#64748b!important}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[\#3b82f6\]\/35:hover{border-color:#3b82f659}.hover\:border-slate-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.hover\:\!bg-slate-200:hover{--tw-bg-opacity: 1 !important;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))!important}.hover\:bg-brand-500\/15:hover{background-color:#6366f126}.hover\:bg-brand-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50\/80:hover{background-color:#f8fafccc}.hover\:bg-slate-900\/\[0\.025\]:hover{background-color:#0f172a06}.hover\:\!text-slate-900:hover{--tw-text-opacity: 1 !important;color:rgb(15 23 42 / var(--tw-text-opacity, 1))!important}.hover\:text-brand-600:hover{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.hover\:text-brand-700:hover{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-slate-200:hover{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.hover\:text-slate-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:text-slate-950:hover{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#28282f\]:focus{--tw-border-opacity: 1;border-color:rgb(40 40 47 / var(--tw-border-opacity, 1))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:border-brand-500:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500\/20:focus{--tw-ring-color: rgb(59 130 246 / .2)}.focus\:ring-brand-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1))}.focus\:ring-brand-500\/20:focus{--tw-ring-color: rgb(99 102 241 / .2)}.focus\:ring-brand-500\/50:focus{--tw-ring-color: rgb(99 102 241 / .5)}.focus\:ring-offset-1:focus{--tw-ring-offset-width: 1px}.focus\:ring-offset-transparent:focus{--tw-ring-offset-color: transparent}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[\#3b82f6\]\/40:focus-visible{--tw-ring-color: rgb(59 130 246 / .4)}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-brand-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-brand-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:divide-\[\#222226\]:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(34 34 38 / var(--tw-divide-opacity, 1))}.dark\:\!border-\[\#2a303a\]:is(.dark *){--tw-border-opacity: 1 !important;border-color:rgb(42 48 58 / var(--tw-border-opacity, 1))!important}.dark\:border-\[\#1a1a24\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(26 26 36 / var(--tw-border-opacity, 1))}.dark\:border-\[\#1c1c23\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(28 28 35 / var(--tw-border-opacity, 1))}.dark\:border-\[\#1c1c24\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(28 28 36 / var(--tw-border-opacity, 1))}.dark\:border-\[\#1d1d23\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(29 29 35 / var(--tw-border-opacity, 1))}.dark\:border-\[\#222226\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 38 / var(--tw-border-opacity, 1))}.dark\:border-\[\#222227\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 34 39 / var(--tw-border-opacity, 1))}.dark\:border-\[\#22262f\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 38 47 / var(--tw-border-opacity, 1))}.dark\:border-\[\#23232a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(35 35 42 / var(--tw-border-opacity, 1))}.dark\:border-\[\#232833\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(35 40 51 / var(--tw-border-opacity, 1))}.dark\:border-\[\#232933\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(35 41 51 / var(--tw-border-opacity, 1))}.dark\:border-\[\#27272a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(39 39 42 / var(--tw-border-opacity, 1))}.dark\:border-\[\#2a2d35\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 45 53 / var(--tw-border-opacity, 1))}.dark\:border-\[\#2a303a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 48 58 / var(--tw-border-opacity, 1))}.dark\:border-\[\#3a284f\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(58 40 79 / var(--tw-border-opacity, 1))}.dark\:border-\[\#5c1c1c\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(92 28 28 / var(--tw-border-opacity, 1))}.dark\:border-amber-500\/30:is(.dark *){border-color:#f59e0b4d}.dark\:border-brand-500:is(.dark *){--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.dark\:border-emerald-500\/30:is(.dark *){border-color:#10b9814d}.dark\:\!bg-\[\#161b24\]:is(.dark *){--tw-bg-opacity: 1 !important;background-color:rgb(22 27 36 / var(--tw-bg-opacity, 1))!important}.dark\:bg-\[\#030507\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 5 7 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#050507\]\/45:is(.dark *){background-color:#05050773}.dark\:bg-\[\#06080d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(6 8 13 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#08080b\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(8 8 11 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#09090b\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#09090d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(9 9 13 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#09090d\]\/95:is(.dark *){background-color:#09090df2}.dark\:bg-\[\#090c12\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(9 12 18 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0a0a0f\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(10 10 15 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0a0d12\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(10 13 18 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0b0b0d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(11 11 13 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0b0b10\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(11 11 16 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0b1017\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(11 16 23 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0c0c0e\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(12 12 14 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0c0c10\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(12 12 16 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0f0f11\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 15 17 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0f0f16\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 15 22 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#10131a\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(16 19 26 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#111114\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 17 20 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#111118\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 17 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#111318\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 19 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#11151d\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 21 29 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#11151d\]\/95:is(.dark *){background-color:#11151df2}.dark\:bg-\[\#121214\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 18 20 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#121218\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 18 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#121720\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 23 32 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#131318\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(19 19 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#141822\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 24 34 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#151518\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(21 21 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#161b24\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(22 27 36 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#161b24\]\/80:is(.dark *){background-color:#161b24cc}.dark\:bg-\[\#1a1a24\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 26 36 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1a1d25\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 29 37 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1a2332\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 35 50 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#202734\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(32 39 52 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#232933\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(35 41 51 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2a0505\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(42 5 5 / var(--tw-bg-opacity, 1))}.dark\:bg-amber-500\/10:is(.dark *){background-color:#f59e0b1a}.dark\:bg-brand-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.dark\:bg-brand-500\/10:is(.dark *){background-color:#6366f11a}.dark\:bg-emerald-500\/10:is(.dark *){background-color:#10b9811a}.dark\:bg-sky-300:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(125 211 252 / var(--tw-bg-opacity, 1))}.dark\:bg-white:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.dark\:bg-white\/\[0\.05\]:is(.dark *){background-color:#ffffff0d}.dark\:bg-\[linear-gradient\(180deg\,_rgba\(3\,5\,7\,1\)\,_rgba\(5\,8\,12\,1\)\)\]:is(.dark *){background-image:linear-gradient(180deg,#030507,#05080c)}.dark\:bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.02\)\,transparent_26\%\)\]:is(.dark *){background-image:linear-gradient(180deg,rgba(255,255,255,.02),transparent 26%)}.dark\:bg-\[radial-gradient\(circle_at_18\%_18\%\,_rgba\(56\,189\,248\,0\.05\)\,_transparent_24\%\)\,radial-gradient\(circle_at_78\%_20\%\,_rgba\(59\,130\,246\,0\.04\)\,_transparent_18\%\)\,radial-gradient\(circle_at_50\%_100\%\,_rgba\(14\,165\,233\,0\.035\)\,_transparent_24\%\)\]:is(.dark *){background-image:radial-gradient(circle at 18% 18%,rgba(56,189,248,.05),transparent 24%),radial-gradient(circle at 78% 20%,rgba(59,130,246,.04),transparent 18%),radial-gradient(circle at 50% 100%,rgba(14,165,233,.035),transparent 24%)}.dark\:bg-\[radial-gradient\(circle_at_20\%_22\%\,_rgba\(56\,189\,248\,0\.05\)\,_transparent_24\%\)\,radial-gradient\(circle_at_74\%_18\%\,_rgba\(59\,130\,246\,0\.04\)\,_transparent_18\%\)\,radial-gradient\(circle_at_50\%_100\%\,_rgba\(14\,165\,233\,0\.03\)\,_transparent_24\%\)\]:is(.dark *){background-image:radial-gradient(circle at 20% 22%,rgba(56,189,248,.05),transparent 24%),radial-gradient(circle at 74% 18%,rgba(59,130,246,.04),transparent 18%),radial-gradient(circle at 50% 100%,rgba(14,165,233,.03),transparent 24%)}.dark\:bg-\[radial-gradient\(circle_at_top_left\,_rgba\(56\,189\,248\,0\.06\)\,_transparent_22\%\)\,linear-gradient\(180deg\,_rgba\(3\,5\,7\,1\)\,_rgba\(5\,8\,12\,1\)\)\]:is(.dark *){background-image:radial-gradient(circle at top left,rgba(56,189,248,.06),transparent 22%),linear-gradient(180deg,#030507,#05080c)}.dark\:via-\[\#3b82f6\]\/30:is(.dark *){--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(59 130 246 / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:via-\[\#3b82f6\]\/35:is(.dark *){--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(59 130 246 / .35) var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:\!text-\[\#a7b2c6\]:is(.dark *){--tw-text-opacity: 1 !important;color:rgb(167 178 198 / var(--tw-text-opacity, 1))!important}.dark\:\!text-white:is(.dark *){--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1))!important}.dark\:text-\[\#34d399\]:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-\[\#4b5565\]:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 101 / var(--tw-text-opacity, 1))}.dark\:text-\[\#525866\]:is(.dark *){--tw-text-opacity: 1;color:rgb(82 88 102 / var(--tw-text-opacity, 1))}.dark\:text-\[\#667085\]:is(.dark *){--tw-text-opacity: 1;color:rgb(102 112 133 / var(--tw-text-opacity, 1))}.dark\:text-\[\#697387\]:is(.dark *){--tw-text-opacity: 1;color:rgb(105 115 135 / var(--tw-text-opacity, 1))}.dark\:text-\[\#6d768a\]:is(.dark *){--tw-text-opacity: 1;color:rgb(109 118 138 / var(--tw-text-opacity, 1))}.dark\:text-\[\#707786\]:is(.dark *){--tw-text-opacity: 1;color:rgb(112 119 134 / var(--tw-text-opacity, 1))}.dark\:text-\[\#798191\]:is(.dark *){--tw-text-opacity: 1;color:rgb(121 129 145 / var(--tw-text-opacity, 1))}.dark\:text-\[\#7b8496\]:is(.dark *){--tw-text-opacity: 1;color:rgb(123 132 150 / var(--tw-text-opacity, 1))}.dark\:text-\[\#7d879b\]:is(.dark *){--tw-text-opacity: 1;color:rgb(125 135 155 / var(--tw-text-opacity, 1))}.dark\:text-\[\#7da6ff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(125 166 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8390a7\]:is(.dark *){--tw-text-opacity: 1;color:rgb(131 144 167 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8a8a93\]:is(.dark *){--tw-text-opacity: 1;color:rgb(138 138 147 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8a94a7\]:is(.dark *){--tw-text-opacity: 1;color:rgb(138 148 167 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8d95a3\]:is(.dark *){--tw-text-opacity: 1;color:rgb(141 149 163 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8d96aa\]:is(.dark *){--tw-text-opacity: 1;color:rgb(141 150 170 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8ea0bb\]:is(.dark *){--tw-text-opacity: 1;color:rgb(142 160 187 / var(--tw-text-opacity, 1))}.dark\:text-\[\#98a3b8\]:is(.dark *){--tw-text-opacity: 1;color:rgb(152 163 184 / var(--tw-text-opacity, 1))}.dark\:text-\[\#9aa4b6\]:is(.dark *){--tw-text-opacity: 1;color:rgb(154 164 182 / var(--tw-text-opacity, 1))}.dark\:text-\[\#9ca7ba\]:is(.dark *){--tw-text-opacity: 1;color:rgb(156 167 186 / var(--tw-text-opacity, 1))}.dark\:text-\[\#a1a1aa\]:is(.dark *){--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.dark\:text-\[\#a6b0c3\]:is(.dark *){--tw-text-opacity: 1;color:rgb(166 176 195 / var(--tw-text-opacity, 1))}.dark\:text-\[\#aab5c8\]:is(.dark *){--tw-text-opacity: 1;color:rgb(170 181 200 / var(--tw-text-opacity, 1))}.dark\:text-\[\#b2bdd1\]:is(.dark *){--tw-text-opacity: 1;color:rgb(178 189 209 / var(--tw-text-opacity, 1))}.dark\:text-\[\#b38cff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(179 140 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#b3b3bd\]:is(.dark *){--tw-text-opacity: 1;color:rgb(179 179 189 / var(--tw-text-opacity, 1))}.dark\:text-\[\#c6d0e1\]:is(.dark *){--tw-text-opacity: 1;color:rgb(198 208 225 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d0d7e2\]:is(.dark *){--tw-text-opacity: 1;color:rgb(208 215 226 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d5dded\]:is(.dark *){--tw-text-opacity: 1;color:rgb(213 221 237 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d8e1ef\]:is(.dark *){--tw-text-opacity: 1;color:rgb(216 225 239 / var(--tw-text-opacity, 1))}.dark\:text-\[\#e5e7eb\]:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-\[\#e5ecf7\]:is(.dark *){--tw-text-opacity: 1;color:rgb(229 236 247 / var(--tw-text-opacity, 1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-black:is(.dark *){--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-red-500:is(.dark *){--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.dark\:text-sky-200:is(.dark *){--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity, 1))}.dark\:text-sky-300:is(.dark *){--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.dark\:text-slate-200:is(.dark *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:text-slate-500:is(.dark *){--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.dark\:text-slate-950:is(.dark *){--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:opacity-\[0\.08\]:is(.dark *){opacity:.08}.dark\:shadow-\[0_18px_60px_-42px_rgba\(0\,0\,0\,0\.7\)\]:is(.dark *){--tw-shadow: 0 18px 60px -42px rgba(0,0,0,.7);--tw-shadow-colored: 0 18px 60px -42px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-\[0_24px_70px_-40px_rgba\(0\,0\,0\,0\.7\)\]:is(.dark *){--tw-shadow: 0 24px 70px -40px rgba(0,0,0,.7);--tw-shadow-colored: 0 24px 70px -40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-\[0_28px_90px_-56px_rgba\(0\,0\,0\,0\.72\)\]:is(.dark *){--tw-shadow: 0 28px 90px -56px rgba(0,0,0,.72);--tw-shadow-colored: 0 28px 90px -56px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-none:is(.dark *){--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:placeholder\:text-\[\#6e7684\]:is(.dark *)::-moz-placeholder{--tw-text-opacity: 1;color:rgb(110 118 132 / var(--tw-text-opacity, 1))}.dark\:placeholder\:text-\[\#6e7684\]:is(.dark *)::placeholder{--tw-text-opacity: 1;color:rgb(110 118 132 / var(--tw-text-opacity, 1))}.dark\:hover\:border-\[\#2a2a31\]:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 42 49 / var(--tw-border-opacity, 1))}.dark\:hover\:border-\[\#2a303a\]:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(42 48 58 / var(--tw-border-opacity, 1))}.dark\:hover\:\!bg-\[\#1c2330\]:hover:is(.dark *){--tw-bg-opacity: 1 !important;background-color:rgb(28 35 48 / var(--tw-bg-opacity, 1))!important}.dark\:hover\:bg-\[\#111114\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 17 20 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#121214\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(18 18 20 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#13131a\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(19 19 26 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#141923\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 25 35 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#161b24\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(22 27 36 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#17171d\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 23 29 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#18181b\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#18181f\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(24 24 31 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#1a1a24\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 26 36 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#1a2130\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(26 33 48 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#380808\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(56 8 8 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-950\/30:hover:is(.dark *){background-color:#450a0a4d}.dark\:hover\:bg-slate-200:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-white\/\[0\.035\]:hover:is(.dark *){background-color:#ffffff09}.dark\:hover\:\!text-white:hover:is(.dark *){--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1))!important}.dark\:hover\:text-red-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:focus\:border-blue-500:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.group:hover .dark\:group-hover\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:block{display:block}.sm\:h-11{height:2.75rem}.sm\:h-12{height:3rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:text-\[1\.35rem\]{font-size:1.35rem}.sm\:text-\[1\.3rem\]{font-size:1.3rem}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:justify-end{justify-content:flex-end}.md\:p-7{padding:1.75rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:text-\[3rem\]{font-size:3rem}.md\:text-\[4rem\]{font-size:4rem}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:min-h-screen{min-height:100vh}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1\.06fr_0\.94fr\]{grid-template-columns:1.06fr .94fr}.lg\:grid-cols-\[1\.08fr_0\.92fr\]{grid-template-columns:1.08fr .92fr}.lg\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}.lg\:grid-cols-\[minmax\(0\,1fr\)_240px\]{grid-template-columns:minmax(0,1fr) 240px}.lg\:border-b-0{border-bottom-width:0px}.lg\:border-r{border-right-width:1px}.lg\:border-\[\#1d1d23\]{--tw-border-opacity: 1;border-color:rgb(29 29 35 / var(--tw-border-opacity, 1))}.lg\:px-14{padding-left:3.5rem;padding-right:3.5rem}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}}@media (min-width: 1280px){.xl\:sticky{position:sticky}.xl\:top-6{top:1.5rem}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[0\.86fr_1\.14fr\]{grid-template-columns:.86fr 1.14fr}.xl\:grid-cols-\[1\.02fr_0\.98fr\]{grid-template-columns:1.02fr .98fr}.xl\:grid-cols-\[1\.15fr_0\.85fr\]{grid-template-columns:1.15fr .85fr}.xl\:grid-cols-\[280px_minmax\(0\,1fr\)_340px\]{grid-template-columns:280px minmax(0,1fr) 340px}.xl\:grid-cols-\[340px_minmax\(0\,1fr\)\]{grid-template-columns:340px minmax(0,1fr)}.xl\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(320px\,0\.8fr\)\]{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.xl\:self-start{align-self:flex-start}.xl\:border-b-0{border-bottom-width:0px}.xl\:border-r{border-right-width:1px}.xl\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xl\:px-16{padding-left:4rem;padding-right:4rem}.xl\:px-8{padding-left:2rem;padding-right:2rem}} diff --git a/website/dist/assets/index-Djr5XM95.js b/website/dist/assets/index-Em-gF1jY.js similarity index 93% rename from website/dist/assets/index-Djr5XM95.js rename to website/dist/assets/index-Em-gF1jY.js index b362412d..fe04ee29 100644 --- a/website/dist/assets/index-Djr5XM95.js +++ b/website/dist/assets/index-Em-gF1jY.js @@ -22,7 +22,7 @@ var vI=Object.defineProperty;var xI=(e,t,r)=>t in e?vI(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(e){function t(I,B){var W=I.length;I.push(B);e:for(;0>>1,K=I[G];if(0>>1;Ga(le,W))gea($e,le)?(I[G]=$e,I[ge]=W,G=ge):(I[G]=le,I[q]=W,G=q);else if(gea($e,W))I[G]=$e,I[ge]=W,G=ge;else break e}}return B}function a(I,B){var W=I.sortIndex-B.sortIndex;return W!==0?W:I.id-B.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var s=Date,o=s.now();e.unstable_now=function(){return s.now()-o}}var u=[],c=[],f=1,d=null,p=3,h=!1,x=!1,v=!1,g=typeof setTimeout=="function"?setTimeout:null,y=typeof clearTimeout=="function"?clearTimeout:null,m=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(I){for(var B=r(c);B!==null;){if(B.callback===null)n(c);else if(B.startTime<=I)n(c),B.sortIndex=B.expirationTime,t(u,B);else break;B=r(c)}}function j(I){if(v=!1,w(I),!x)if(r(u)!==null)x=!0,V(b);else{var B=r(c);B!==null&&H(j,B.startTime-I)}}function b(I,B){x=!1,v&&(v=!1,y(O),O=-1),h=!0;var W=p;try{for(w(B),d=r(u);d!==null&&(!(d.expirationTime>B)||I&&!$());){var G=d.callback;if(typeof G=="function"){d.callback=null,p=d.priorityLevel;var K=G(d.expirationTime<=B);B=e.unstable_now(),typeof K=="function"?d.callback=K:d===r(u)&&n(u),w(B)}else n(u);d=r(u)}if(d!==null)var ee=!0;else{var q=r(c);q!==null&&H(j,q.startTime-B),ee=!1}return ee}finally{d=null,p=W,h=!1}}var _=!1,k=null,O=-1,E=5,T=-1;function $(){return!(e.unstable_now()-TI||125G?(I.sortIndex=W,t(c,I),r(u)===null&&I===r(c)&&(v?(y(O),O=-1):v=!0,H(j,W-G))):(I.sortIndex=K,t(u,I),x||h||(x=!0,V(b))),I},e.unstable_shouldYield=$,e.unstable_wrapCallback=function(I){var B=p;return function(){var W=p;p=B;try{return I.apply(this,arguments)}finally{p=W}}}})(GN);HN.exports=GN;var VI=HN.exports;/** + */(function(e){function t(M,B){var W=M.length;M.push(B);e:for(;0>>1,K=M[G];if(0>>1;Ga(le,W))gea($e,le)?(M[G]=$e,M[ge]=W,G=ge):(M[G]=le,M[q]=W,G=q);else if(gea($e,W))M[G]=$e,M[ge]=W,G=ge;else break e}}return B}function a(M,B){var W=M.sortIndex-B.sortIndex;return W!==0?W:M.id-B.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var s=Date,o=s.now();e.unstable_now=function(){return s.now()-o}}var u=[],c=[],f=1,d=null,p=3,h=!1,x=!1,v=!1,g=typeof setTimeout=="function"?setTimeout:null,y=typeof clearTimeout=="function"?clearTimeout:null,m=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(M){for(var B=r(c);B!==null;){if(B.callback===null)n(c);else if(B.startTime<=M)n(c),B.sortIndex=B.expirationTime,t(u,B);else break;B=r(c)}}function j(M){if(v=!1,w(M),!x)if(r(u)!==null)x=!0,V(b);else{var B=r(c);B!==null&&H(j,B.startTime-M)}}function b(M,B){x=!1,v&&(v=!1,y(O),O=-1),h=!0;var W=p;try{for(w(B),d=r(u);d!==null&&(!(d.expirationTime>B)||M&&!R());){var G=d.callback;if(typeof G=="function"){d.callback=null,p=d.priorityLevel;var K=G(d.expirationTime<=B);B=e.unstable_now(),typeof K=="function"?d.callback=K:d===r(u)&&n(u),w(B)}else n(u);d=r(u)}if(d!==null)var ee=!0;else{var q=r(c);q!==null&&H(j,q.startTime-B),ee=!1}return ee}finally{d=null,p=W,h=!1}}var _=!1,k=null,O=-1,E=5,T=-1;function R(){return!(e.unstable_now()-TM||125G?(M.sortIndex=W,t(c,M),r(u)===null&&M===r(c)&&(v?(y(O),O=-1):v=!0,H(j,W-G))):(M.sortIndex=K,t(u,M),x||h||(x=!0,V(b))),M},e.unstable_shouldYield=R,e.unstable_wrapCallback=function(M){var B=p;return function(){var W=p;p=B;try{return M.apply(this,arguments)}finally{p=W}}}})(GN);HN.exports=GN;var VI=HN.exports;/** * @license React * react-dom.production.min.js * @@ -35,7 +35,7 @@ var vI=Object.defineProperty;var xI=(e,t,r)=>t in e?vI(e,t,{enumerable:!0,config `),i=n.stack.split(` `),s=a.length-1,o=i.length-1;1<=s&&0<=o&&a[s]!==i[o];)o--;for(;1<=s&&0<=o;s--,o--)if(a[s]!==i[o]){if(s!==1||o!==1)do if(s--,o--,0>o||a[s]!==i[o]){var u=` `+a[s].replace(" at new "," at ");return e.displayName&&u.includes("")&&(u=u.replace("",e.displayName)),u}while(1<=s&&0<=o);break}}}finally{Ag=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?Bu(e):""}function YI(e){switch(e.tag){case 5:return Bu(e.type);case 16:return Bu("Lazy");case 13:return Bu("Suspense");case 19:return Bu("SuspenseList");case 0:case 2:case 15:return e=Eg(e.type,!1),e;case 11:return e=Eg(e.type.render,!1),e;case 1:return e=Eg(e.type,!0),e;default:return""}}function wv(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Po:return"Fragment";case Eo:return"Portal";case vv:return"Profiler";case Sb:return"StrictMode";case xv:return"Suspense";case bv:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case YN:return(e.displayName||"Context")+".Consumer";case KN:return(e._context.displayName||"Context")+".Provider";case kb:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ob:return t=e.displayName||null,t!==null?t:wv(e.type)||"Memo";case ji:t=e._payload,e=e._init;try{return wv(e(t))}catch{}}return null}function XI(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return wv(t);case 8:return t===Sb?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Xi(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ZN(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function ZI(e){var t=ZN(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var a=r.get,i=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(s){n=""+s,i.call(this,s)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(s){n=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function af(e){e._valueTracker||(e._valueTracker=ZI(e))}function JN(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=ZN(e)?e.checked?"true":"false":e.value),e=n,e!==r?(t.setValue(e),!0):!1}function yp(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function _v(e,t){var r=t.checked;return Ht({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function l_(e,t){var r=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;r=Xi(t.value!=null?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function QN(e,t){t=t.checked,t!=null&&jb(e,"checked",t,!1)}function jv(e,t){QN(e,t);var r=Xi(t.value),n=t.type;if(r!=null)n==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Sv(e,t.type,r):t.hasOwnProperty("defaultValue")&&Sv(e,t.type,Xi(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function u_(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!(n!=="submit"&&n!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function Sv(e,t,r){(t!=="number"||yp(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var Uu=Array.isArray;function Xo(e,t,r,n){if(e=e.options,t){t={};for(var a=0;a"+t.valueOf().toString()+"",t=sf.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function wc(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var Qu={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},JI=["Webkit","ms","Moz","O"];Object.keys(Qu).forEach(function(e){JI.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Qu[t]=Qu[e]})});function nA(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||Qu.hasOwnProperty(e)&&Qu[e]?(""+t).trim():t+"px"}function aA(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var n=r.indexOf("--")===0,a=nA(r,t[r],n);r==="float"&&(r="cssFloat"),n?e.setProperty(r,a):e[r]=a}}var QI=Ht({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Nv(e,t){if(t){if(QI[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(oe(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(oe(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(oe(61))}if(t.style!=null&&typeof t.style!="object")throw Error(oe(62))}}function Av(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ev=null;function Nb(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Pv=null,Zo=null,Jo=null;function f_(e){if(e=Ed(e)){if(typeof Pv!="function")throw Error(oe(280));var t=e.stateNode;t&&(t=hm(t),Pv(e.stateNode,e.type,t))}}function iA(e){Zo?Jo?Jo.push(e):Jo=[e]:Zo=e}function sA(){if(Zo){var e=Zo,t=Jo;if(Jo=Zo=null,f_(e),t)for(e=0;e>>=0,e===0?32:31-(cM(e)/dM|0)|0}var of=64,lf=4194304;function Vu(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function wp(e,t){var r=e.pendingLanes;if(r===0)return 0;var n=0,a=e.suspendedLanes,i=e.pingedLanes,s=r&268435455;if(s!==0){var o=s&~a;o!==0?n=Vu(o):(i&=s,i!==0&&(n=Vu(i)))}else s=r&~a,s!==0?n=Vu(s):i!==0&&(n=Vu(i));if(n===0)return 0;if(t!==0&&t!==n&&!(t&a)&&(a=n&-n,i=t&-t,a>=i||a===16&&(i&4194240)!==0))return t;if(n&4&&(n|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=n;0r;r++)t.push(e);return t}function Nd(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-sa(t),e[t]=r}function mM(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0=tc),w_=" ",__=!1;function OA(e,t){switch(e){case"keyup":return VM.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function NA(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Co=!1;function HM(e,t){switch(e){case"compositionend":return NA(t);case"keypress":return t.which!==32?null:(__=!0,w_);case"textInput":return e=t.data,e===w_&&__?null:e;default:return null}}function GM(e,t){if(Co)return e==="compositionend"||!Ib&&OA(e,t)?(e=SA(),rp=Tb=Ti=null,Co=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=O_(r)}}function CA(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?CA(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function TA(){for(var e=window,t=yp();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=yp(e.document)}return t}function Mb(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function tD(e){var t=TA(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&CA(r.ownerDocument.documentElement,r)){if(n!==null&&Mb(r)){if(t=n.start,e=n.end,e===void 0&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var a=r.textContent.length,i=Math.min(n.start,a);n=n.end===void 0?i:Math.min(n.end,a),!e.extend&&i>n&&(a=n,n=i,i=a),a=N_(r,i);var s=N_(r,n);a&&s&&(e.rangeCount!==1||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(a.node,a.offset),e.removeAllRanges(),i>n?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,To=null,Mv=null,nc=null,Dv=!1;function A_(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Dv||To==null||To!==yp(n)||(n=To,"selectionStart"in n&&Mb(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),nc&&Nc(nc,n)||(nc=n,n=Sp(Mv,"onSelect"),0Io||(e.current=Vv[Io],Vv[Io]=null,Io--)}function At(e,t){Io++,Vv[Io]=e.current,e.current=t}var Zi={},Fr=rs(Zi),on=rs(!1),Us=Zi;function fl(e,t){var r=e.type.contextTypes;if(!r)return Zi;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var a={},i;for(i in r)a[i]=t[i];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function ln(e){return e=e.childContextTypes,e!=null}function Op(){Dt(on),Dt(Fr)}function I_(e,t,r){if(Fr.current!==Zi)throw Error(oe(168));At(Fr,t),At(on,r)}function BA(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var a in n)if(!(a in t))throw Error(oe(108,XI(e)||"Unknown",a));return Ht({},r,n)}function Np(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Zi,Us=Fr.current,At(Fr,e),At(on,on.current),!0}function M_(e,t,r){var n=e.stateNode;if(!n)throw Error(oe(169));r?(e=BA(e,t,Us),n.__reactInternalMemoizedMergedChildContext=e,Dt(on),Dt(Fr),At(Fr,e)):Dt(on),At(on,r)}var Va=null,mm=!1,Vg=!1;function UA(e){Va===null?Va=[e]:Va.push(e)}function pD(e){mm=!0,UA(e)}function ns(){if(!Vg&&Va!==null){Vg=!0;var e=0,t=xt;try{var r=Va;for(xt=1;e>=s,a-=s,Ha=1<<32-sa(t)+a|r<O?(E=k,k=null):E=k.sibling;var T=p(y,k,w[O],j);if(T===null){k===null&&(k=E);break}e&&k&&T.alternate===null&&t(y,k),m=i(T,m,O),_===null?b=T:_.sibling=T,_=T,k=E}if(O===w.length)return r(y,k),Bt&&xs(y,O),b;if(k===null){for(;OO?(E=k,k=null):E=k.sibling;var $=p(y,k,T.value,j);if($===null){k===null&&(k=E);break}e&&k&&$.alternate===null&&t(y,k),m=i($,m,O),_===null?b=$:_.sibling=$,_=$,k=E}if(T.done)return r(y,k),Bt&&xs(y,O),b;if(k===null){for(;!T.done;O++,T=w.next())T=d(y,T.value,j),T!==null&&(m=i(T,m,O),_===null?b=T:_.sibling=T,_=T);return Bt&&xs(y,O),b}for(k=n(y,k);!T.done;O++,T=w.next())T=h(k,y,O,T.value,j),T!==null&&(e&&T.alternate!==null&&k.delete(T.key===null?O:T.key),m=i(T,m,O),_===null?b=T:_.sibling=T,_=T);return e&&k.forEach(function(A){return t(y,A)}),Bt&&xs(y,O),b}function g(y,m,w,j){if(typeof w=="object"&&w!==null&&w.type===Po&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case nf:e:{for(var b=w.key,_=m;_!==null;){if(_.key===b){if(b=w.type,b===Po){if(_.tag===7){r(y,_.sibling),m=a(_,w.props.children),m.return=y,y=m;break e}}else if(_.elementType===b||typeof b=="object"&&b!==null&&b.$$typeof===ji&&F_(b)===_.type){r(y,_.sibling),m=a(_,w.props),m.ref=wu(y,_,w),m.return=y,y=m;break e}r(y,_);break}else t(y,_);_=_.sibling}w.type===Po?(m=Ds(w.props.children,y.mode,j,w.key),m.return=y,y=m):(j=cp(w.type,w.key,w.props,null,y.mode,j),j.ref=wu(y,m,w),j.return=y,y=j)}return s(y);case Eo:e:{for(_=w.key;m!==null;){if(m.key===_)if(m.tag===4&&m.stateNode.containerInfo===w.containerInfo&&m.stateNode.implementation===w.implementation){r(y,m.sibling),m=a(m,w.children||[]),m.return=y,y=m;break e}else{r(y,m);break}else t(y,m);m=m.sibling}m=Zg(w,y.mode,j),m.return=y,y=m}return s(y);case ji:return _=w._init,g(y,m,_(w._payload),j)}if(Uu(w))return x(y,m,w,j);if(gu(w))return v(y,m,w,j);mf(y,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,m!==null&&m.tag===6?(r(y,m.sibling),m=a(m,w),m.return=y,y=m):(r(y,m),m=Xg(w,y.mode,j),m.return=y,y=m),s(y)):r(y,m)}return g}var hl=GA(!0),qA=GA(!1),Pp=rs(null),Cp=null,Lo=null,zb=null;function Bb(){zb=Lo=Cp=null}function Ub(e){var t=Pp.current;Dt(Pp),e._currentValue=t}function Gv(e,t,r){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===r)break;e=e.return}}function el(e,t){Cp=e,zb=Lo=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(tn=!0),e.firstContext=null)}function Bn(e){var t=e._currentValue;if(zb!==e)if(e={context:e,memoizedValue:t,next:null},Lo===null){if(Cp===null)throw Error(oe(308));Lo=e,Cp.dependencies={lanes:0,firstContext:e}}else Lo=Lo.next=e;return t}var As=null;function Vb(e){As===null?As=[e]:As.push(e)}function KA(e,t,r,n){var a=t.interleaved;return a===null?(r.next=r,Vb(t)):(r.next=a.next,a.next=r),t.interleaved=r,ni(e,n)}function ni(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var Si=!1;function Wb(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function YA(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ja(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Vi(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,ot&2){var a=n.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),n.pending=t,ni(e,r)}return a=n.interleaved,a===null?(t.next=t,Vb(n)):(t.next=a.next,a.next=t),n.interleaved=t,ni(e,r)}function ap(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,Eb(e,r)}}function z_(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var a=null,i=null;if(r=r.firstBaseUpdate,r!==null){do{var s={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};i===null?a=i=s:i=i.next=s,r=r.next}while(r!==null);i===null?a=i=t:i=i.next=t}else a=i=t;r={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:n.shared,effects:n.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function Tp(e,t,r,n){var a=e.updateQueue;Si=!1;var i=a.firstBaseUpdate,s=a.lastBaseUpdate,o=a.shared.pending;if(o!==null){a.shared.pending=null;var u=o,c=u.next;u.next=null,s===null?i=c:s.next=c,s=u;var f=e.alternate;f!==null&&(f=f.updateQueue,o=f.lastBaseUpdate,o!==s&&(o===null?f.firstBaseUpdate=c:o.next=c,f.lastBaseUpdate=u))}if(i!==null){var d=a.baseState;s=0,f=c=u=null,o=i;do{var p=o.lane,h=o.eventTime;if((n&p)===p){f!==null&&(f=f.next={eventTime:h,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var x=e,v=o;switch(p=t,h=r,v.tag){case 1:if(x=v.payload,typeof x=="function"){d=x.call(h,d,p);break e}d=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=v.payload,p=typeof x=="function"?x.call(h,d,p):x,p==null)break e;d=Ht({},d,p);break e;case 2:Si=!0}}o.callback!==null&&o.lane!==0&&(e.flags|=64,p=a.effects,p===null?a.effects=[o]:p.push(o))}else h={eventTime:h,lane:p,tag:o.tag,payload:o.payload,callback:o.callback,next:null},f===null?(c=f=h,u=d):f=f.next=h,s|=p;if(o=o.next,o===null){if(o=a.shared.pending,o===null)break;p=o,o=p.next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}while(!0);if(f===null&&(u=d),a.baseState=u,a.firstBaseUpdate=c,a.lastBaseUpdate=f,t=a.shared.interleaved,t!==null){a=t;do s|=a.lane,a=a.next;while(a!==t)}else i===null&&(a.shared.lanes=0);Hs|=s,e.lanes=s,e.memoizedState=d}}function B_(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;tr?r:4,e(!0);var n=Hg.transition;Hg.transition={};try{e(!1),t()}finally{xt=r,Hg.transition=n}}function fE(){return Un().memoizedState}function yD(e,t,r){var n=Hi(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},pE(e))hE(t,r);else if(r=KA(e,t,r,n),r!==null){var a=Kr();oa(r,e,n,a),mE(r,t,n)}}function vD(e,t,r){var n=Hi(e),a={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(pE(e))hE(t,a);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var s=t.lastRenderedState,o=i(s,r);if(a.hasEagerState=!0,a.eagerState=o,ca(o,s)){var u=t.interleaved;u===null?(a.next=a,Vb(t)):(a.next=u.next,u.next=a),t.interleaved=a;return}}catch{}finally{}r=KA(e,t,a,n),r!==null&&(a=Kr(),oa(r,e,n,a),mE(r,t,n))}}function pE(e){var t=e.alternate;return e===Wt||t!==null&&t===Wt}function hE(e,t){ac=Rp=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function mE(e,t,r){if(r&4194240){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,Eb(e,r)}}var Ip={readContext:Bn,useCallback:Tr,useContext:Tr,useEffect:Tr,useImperativeHandle:Tr,useInsertionEffect:Tr,useLayoutEffect:Tr,useMemo:Tr,useReducer:Tr,useRef:Tr,useState:Tr,useDebugValue:Tr,useDeferredValue:Tr,useTransition:Tr,useMutableSource:Tr,useSyncExternalStore:Tr,useId:Tr,unstable_isNewReconciler:!1},xD={readContext:Bn,useCallback:function(e,t){return xa().memoizedState=[e,t===void 0?null:t],e},useContext:Bn,useEffect:V_,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,sp(4194308,4,oE.bind(null,t,e),r)},useLayoutEffect:function(e,t){return sp(4194308,4,e,t)},useInsertionEffect:function(e,t){return sp(4,2,e,t)},useMemo:function(e,t){var r=xa();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=xa();return t=r!==void 0?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=yD.bind(null,Wt,e),[n.memoizedState,e]},useRef:function(e){var t=xa();return e={current:e},t.memoizedState=e},useState:U_,useDebugValue:Jb,useDeferredValue:function(e){return xa().memoizedState=e},useTransition:function(){var e=U_(!1),t=e[0];return e=gD.bind(null,e[1]),xa().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=Wt,a=xa();if(Bt){if(r===void 0)throw Error(oe(407));r=r()}else{if(r=t(),br===null)throw Error(oe(349));Ws&30||QA(n,t,r)}a.memoizedState=r;var i={value:r,getSnapshot:t};return a.queue=i,V_(tE.bind(null,n,i,e),[e]),n.flags|=2048,Ic(9,eE.bind(null,n,i,r,t),void 0,null),r},useId:function(){var e=xa(),t=br.identifierPrefix;if(Bt){var r=Ga,n=Ha;r=(n&~(1<<32-sa(n)-1)).toString(32)+r,t=":"+t+"R"+r,r=$c++,0Io||(e.current=Vv[Io],Vv[Io]=null,Io--)}function At(e,t){Io++,Vv[Io]=e.current,e.current=t}var Zi={},Fr=rs(Zi),on=rs(!1),Us=Zi;function fl(e,t){var r=e.type.contextTypes;if(!r)return Zi;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var a={},i;for(i in r)a[i]=t[i];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function ln(e){return e=e.childContextTypes,e!=null}function Op(){Dt(on),Dt(Fr)}function I_(e,t,r){if(Fr.current!==Zi)throw Error(oe(168));At(Fr,t),At(on,r)}function BA(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var a in n)if(!(a in t))throw Error(oe(108,XI(e)||"Unknown",a));return Ht({},r,n)}function Np(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Zi,Us=Fr.current,At(Fr,e),At(on,on.current),!0}function M_(e,t,r){var n=e.stateNode;if(!n)throw Error(oe(169));r?(e=BA(e,t,Us),n.__reactInternalMemoizedMergedChildContext=e,Dt(on),Dt(Fr),At(Fr,e)):Dt(on),At(on,r)}var Va=null,mm=!1,Vg=!1;function UA(e){Va===null?Va=[e]:Va.push(e)}function pD(e){mm=!0,UA(e)}function ns(){if(!Vg&&Va!==null){Vg=!0;var e=0,t=xt;try{var r=Va;for(xt=1;e>=s,a-=s,Ha=1<<32-sa(t)+a|r<O?(E=k,k=null):E=k.sibling;var T=p(y,k,w[O],j);if(T===null){k===null&&(k=E);break}e&&k&&T.alternate===null&&t(y,k),m=i(T,m,O),_===null?b=T:_.sibling=T,_=T,k=E}if(O===w.length)return r(y,k),Bt&&xs(y,O),b;if(k===null){for(;OO?(E=k,k=null):E=k.sibling;var R=p(y,k,T.value,j);if(R===null){k===null&&(k=E);break}e&&k&&R.alternate===null&&t(y,k),m=i(R,m,O),_===null?b=R:_.sibling=R,_=R,k=E}if(T.done)return r(y,k),Bt&&xs(y,O),b;if(k===null){for(;!T.done;O++,T=w.next())T=d(y,T.value,j),T!==null&&(m=i(T,m,O),_===null?b=T:_.sibling=T,_=T);return Bt&&xs(y,O),b}for(k=n(y,k);!T.done;O++,T=w.next())T=h(k,y,O,T.value,j),T!==null&&(e&&T.alternate!==null&&k.delete(T.key===null?O:T.key),m=i(T,m,O),_===null?b=T:_.sibling=T,_=T);return e&&k.forEach(function(N){return t(y,N)}),Bt&&xs(y,O),b}function g(y,m,w,j){if(typeof w=="object"&&w!==null&&w.type===Po&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case nf:e:{for(var b=w.key,_=m;_!==null;){if(_.key===b){if(b=w.type,b===Po){if(_.tag===7){r(y,_.sibling),m=a(_,w.props.children),m.return=y,y=m;break e}}else if(_.elementType===b||typeof b=="object"&&b!==null&&b.$$typeof===ji&&F_(b)===_.type){r(y,_.sibling),m=a(_,w.props),m.ref=wu(y,_,w),m.return=y,y=m;break e}r(y,_);break}else t(y,_);_=_.sibling}w.type===Po?(m=Ds(w.props.children,y.mode,j,w.key),m.return=y,y=m):(j=cp(w.type,w.key,w.props,null,y.mode,j),j.ref=wu(y,m,w),j.return=y,y=j)}return s(y);case Eo:e:{for(_=w.key;m!==null;){if(m.key===_)if(m.tag===4&&m.stateNode.containerInfo===w.containerInfo&&m.stateNode.implementation===w.implementation){r(y,m.sibling),m=a(m,w.children||[]),m.return=y,y=m;break e}else{r(y,m);break}else t(y,m);m=m.sibling}m=Zg(w,y.mode,j),m.return=y,y=m}return s(y);case ji:return _=w._init,g(y,m,_(w._payload),j)}if(Uu(w))return x(y,m,w,j);if(gu(w))return v(y,m,w,j);mf(y,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,m!==null&&m.tag===6?(r(y,m.sibling),m=a(m,w),m.return=y,y=m):(r(y,m),m=Xg(w,y.mode,j),m.return=y,y=m),s(y)):r(y,m)}return g}var hl=GA(!0),qA=GA(!1),Pp=rs(null),Cp=null,Lo=null,zb=null;function Bb(){zb=Lo=Cp=null}function Ub(e){var t=Pp.current;Dt(Pp),e._currentValue=t}function Gv(e,t,r){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===r)break;e=e.return}}function el(e,t){Cp=e,zb=Lo=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(tn=!0),e.firstContext=null)}function Bn(e){var t=e._currentValue;if(zb!==e)if(e={context:e,memoizedValue:t,next:null},Lo===null){if(Cp===null)throw Error(oe(308));Lo=e,Cp.dependencies={lanes:0,firstContext:e}}else Lo=Lo.next=e;return t}var As=null;function Vb(e){As===null?As=[e]:As.push(e)}function KA(e,t,r,n){var a=t.interleaved;return a===null?(r.next=r,Vb(t)):(r.next=a.next,a.next=r),t.interleaved=r,ni(e,n)}function ni(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var Si=!1;function Wb(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function YA(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ja(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Vi(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,ot&2){var a=n.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),n.pending=t,ni(e,r)}return a=n.interleaved,a===null?(t.next=t,Vb(n)):(t.next=a.next,a.next=t),n.interleaved=t,ni(e,r)}function ap(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,Eb(e,r)}}function z_(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var a=null,i=null;if(r=r.firstBaseUpdate,r!==null){do{var s={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};i===null?a=i=s:i=i.next=s,r=r.next}while(r!==null);i===null?a=i=t:i=i.next=t}else a=i=t;r={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:n.shared,effects:n.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function Tp(e,t,r,n){var a=e.updateQueue;Si=!1;var i=a.firstBaseUpdate,s=a.lastBaseUpdate,o=a.shared.pending;if(o!==null){a.shared.pending=null;var u=o,c=u.next;u.next=null,s===null?i=c:s.next=c,s=u;var f=e.alternate;f!==null&&(f=f.updateQueue,o=f.lastBaseUpdate,o!==s&&(o===null?f.firstBaseUpdate=c:o.next=c,f.lastBaseUpdate=u))}if(i!==null){var d=a.baseState;s=0,f=c=u=null,o=i;do{var p=o.lane,h=o.eventTime;if((n&p)===p){f!==null&&(f=f.next={eventTime:h,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var x=e,v=o;switch(p=t,h=r,v.tag){case 1:if(x=v.payload,typeof x=="function"){d=x.call(h,d,p);break e}d=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=v.payload,p=typeof x=="function"?x.call(h,d,p):x,p==null)break e;d=Ht({},d,p);break e;case 2:Si=!0}}o.callback!==null&&o.lane!==0&&(e.flags|=64,p=a.effects,p===null?a.effects=[o]:p.push(o))}else h={eventTime:h,lane:p,tag:o.tag,payload:o.payload,callback:o.callback,next:null},f===null?(c=f=h,u=d):f=f.next=h,s|=p;if(o=o.next,o===null){if(o=a.shared.pending,o===null)break;p=o,o=p.next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}while(!0);if(f===null&&(u=d),a.baseState=u,a.firstBaseUpdate=c,a.lastBaseUpdate=f,t=a.shared.interleaved,t!==null){a=t;do s|=a.lane,a=a.next;while(a!==t)}else i===null&&(a.shared.lanes=0);Hs|=s,e.lanes=s,e.memoizedState=d}}function B_(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;tr?r:4,e(!0);var n=Hg.transition;Hg.transition={};try{e(!1),t()}finally{xt=r,Hg.transition=n}}function fE(){return Un().memoizedState}function yD(e,t,r){var n=Hi(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},pE(e))hE(t,r);else if(r=KA(e,t,r,n),r!==null){var a=Kr();oa(r,e,n,a),mE(r,t,n)}}function vD(e,t,r){var n=Hi(e),a={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(pE(e))hE(t,a);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var s=t.lastRenderedState,o=i(s,r);if(a.hasEagerState=!0,a.eagerState=o,ca(o,s)){var u=t.interleaved;u===null?(a.next=a,Vb(t)):(a.next=u.next,u.next=a),t.interleaved=a;return}}catch{}finally{}r=KA(e,t,a,n),r!==null&&(a=Kr(),oa(r,e,n,a),mE(r,t,n))}}function pE(e){var t=e.alternate;return e===Wt||t!==null&&t===Wt}function hE(e,t){ac=Rp=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function mE(e,t,r){if(r&4194240){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,Eb(e,r)}}var Ip={readContext:Bn,useCallback:Tr,useContext:Tr,useEffect:Tr,useImperativeHandle:Tr,useInsertionEffect:Tr,useLayoutEffect:Tr,useMemo:Tr,useReducer:Tr,useRef:Tr,useState:Tr,useDebugValue:Tr,useDeferredValue:Tr,useTransition:Tr,useMutableSource:Tr,useSyncExternalStore:Tr,useId:Tr,unstable_isNewReconciler:!1},xD={readContext:Bn,useCallback:function(e,t){return xa().memoizedState=[e,t===void 0?null:t],e},useContext:Bn,useEffect:V_,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,sp(4194308,4,oE.bind(null,t,e),r)},useLayoutEffect:function(e,t){return sp(4194308,4,e,t)},useInsertionEffect:function(e,t){return sp(4,2,e,t)},useMemo:function(e,t){var r=xa();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=xa();return t=r!==void 0?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=yD.bind(null,Wt,e),[n.memoizedState,e]},useRef:function(e){var t=xa();return e={current:e},t.memoizedState=e},useState:U_,useDebugValue:Jb,useDeferredValue:function(e){return xa().memoizedState=e},useTransition:function(){var e=U_(!1),t=e[0];return e=gD.bind(null,e[1]),xa().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=Wt,a=xa();if(Bt){if(r===void 0)throw Error(oe(407));r=r()}else{if(r=t(),br===null)throw Error(oe(349));Ws&30||QA(n,t,r)}a.memoizedState=r;var i={value:r,getSnapshot:t};return a.queue=i,V_(tE.bind(null,n,i,e),[e]),n.flags|=2048,Ic(9,eE.bind(null,n,i,r,t),void 0,null),r},useId:function(){var e=xa(),t=br.identifierPrefix;if(Bt){var r=Ga,n=Ha;r=(n&~(1<<32-sa(n)-1)).toString(32)+r,t=":"+t+"R"+r,r=$c++,0<\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=s.createElement(r,{is:n.is}):(e=s.createElement(r),r==="select"&&(s=e,n.multiple?s.multiple=!0:n.size&&(s.size=n.size))):e=s.createElementNS(e,r),e[wa]=t,e[Pc]=n,kE(e,t,!1,!1),t.stateNode=e;e:{switch(s=Av(r,n),r){case"dialog":$t("cancel",e),$t("close",e),a=n;break;case"iframe":case"object":case"embed":$t("load",e),a=n;break;case"video":case"audio":for(a=0;ayl&&(t.flags|=128,n=!0,_u(i,!1),t.lanes=4194304)}else{if(!n)if(e=$p(s),e!==null){if(t.flags|=128,n=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),_u(i,!0),i.tail===null&&i.tailMode==="hidden"&&!s.alternate&&!Bt)return $r(t),null}else 2*Qt()-i.renderingStartTime>yl&&r!==1073741824&&(t.flags|=128,n=!0,_u(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(r=i.last,r!==null?r.sibling=s:t.child=s,i.last=s)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Qt(),t.sibling=null,r=Vt.current,At(Vt,n?r&1|2:r&1),t):($r(t),null);case 22:case 23:return aw(),n=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==n&&(t.flags|=8192),n&&t.mode&1?gn&1073741824&&($r(t),t.subtreeFlags&6&&(t.flags|=8192)):$r(t),null;case 24:return null;case 25:return null}throw Error(oe(156,t.tag))}function ND(e,t){switch(Lb(t),t.tag){case 1:return ln(t.type)&&Op(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ml(),Dt(on),Dt(Fr),qb(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Gb(t),null;case 13:if(Dt(Vt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(oe(340));pl()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Dt(Vt),null;case 4:return ml(),null;case 10:return Ub(t.type._context),null;case 22:case 23:return aw(),null;case 24:return null;default:return null}}var yf=!1,Mr=!1,AD=typeof WeakSet=="function"?WeakSet:Set,ve=null;function Fo(e,t){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){Kt(e,t,n)}else r.current=null}function tx(e,t,r){try{r()}catch(n){Kt(e,t,n)}}var ej=!1;function ED(e,t){if(Lv=_p,e=TA(),Mb(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var a=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{r.nodeType,i.nodeType}catch{r=null;break e}var s=0,o=-1,u=-1,c=0,f=0,d=e,p=null;t:for(;;){for(var h;d!==r||a!==0&&d.nodeType!==3||(o=s+a),d!==i||n!==0&&d.nodeType!==3||(u=s+n),d.nodeType===3&&(s+=d.nodeValue.length),(h=d.firstChild)!==null;)p=d,d=h;for(;;){if(d===e)break t;if(p===r&&++c===a&&(o=s),p===i&&++f===n&&(u=s),(h=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=h}r=o===-1||u===-1?null:{start:o,end:u}}else r=null}r=r||{start:0,end:0}}else r=null;for(Fv={focusedElem:e,selectionRange:r},_p=!1,ve=t;ve!==null;)if(t=ve,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ve=e;else for(;ve!==null;){t=ve;try{var x=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var v=x.memoizedProps,g=x.memoizedState,y=t.stateNode,m=y.getSnapshotBeforeUpdate(t.elementType===t.type?v:Jn(t.type,v),g);y.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var w=t.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(oe(163))}}catch(j){Kt(t,t.return,j)}if(e=t.sibling,e!==null){e.return=t.return,ve=e;break}ve=t.return}return x=ej,ej=!1,x}function ic(e,t,r){var n=t.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var a=n=n.next;do{if((a.tag&e)===e){var i=a.destroy;a.destroy=void 0,i!==void 0&&tx(t,r,i)}a=a.next}while(a!==n)}}function vm(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var n=r.create;r.destroy=n()}r=r.next}while(r!==t)}}function rx(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t=="function"?t(e):t.current=e}}function AE(e){var t=e.alternate;t!==null&&(e.alternate=null,AE(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[wa],delete t[Pc],delete t[Uv],delete t[dD],delete t[fD])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function EE(e){return e.tag===5||e.tag===3||e.tag===4}function tj(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||EE(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function nx(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=kp));else if(n!==4&&(e=e.child,e!==null))for(nx(e,t,r),e=e.sibling;e!==null;)nx(e,t,r),e=e.sibling}function ax(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(e=e.child,e!==null))for(ax(e,t,r),e=e.sibling;e!==null;)ax(e,t,r),e=e.sibling}var kr=null,Qn=!1;function xi(e,t,r){for(r=r.child;r!==null;)PE(e,t,r),r=r.sibling}function PE(e,t,r){if(ka&&typeof ka.onCommitFiberUnmount=="function")try{ka.onCommitFiberUnmount(cm,r)}catch{}switch(r.tag){case 5:Mr||Fo(r,t);case 6:var n=kr,a=Qn;kr=null,xi(e,t,r),kr=n,Qn=a,kr!==null&&(Qn?(e=kr,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):kr.removeChild(r.stateNode));break;case 18:kr!==null&&(Qn?(e=kr,r=r.stateNode,e.nodeType===8?Ug(e.parentNode,r):e.nodeType===1&&Ug(e,r),kc(e)):Ug(kr,r.stateNode));break;case 4:n=kr,a=Qn,kr=r.stateNode.containerInfo,Qn=!0,xi(e,t,r),kr=n,Qn=a;break;case 0:case 11:case 14:case 15:if(!Mr&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){a=n=n.next;do{var i=a,s=i.destroy;i=i.tag,s!==void 0&&(i&2||i&4)&&tx(r,t,s),a=a.next}while(a!==n)}xi(e,t,r);break;case 1:if(!Mr&&(Fo(r,t),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(o){Kt(r,t,o)}xi(e,t,r);break;case 21:xi(e,t,r);break;case 22:r.mode&1?(Mr=(n=Mr)||r.memoizedState!==null,xi(e,t,r),Mr=n):xi(e,t,r);break;default:xi(e,t,r)}}function rj(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new AD),t.forEach(function(n){var a=LD.bind(null,e,n);r.has(n)||(r.add(n),n.then(a,a))})}}function Yn(e,t){var r=t.deletions;if(r!==null)for(var n=0;na&&(a=s),n&=~i}if(n=a,n=Qt()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*CD(n/1960))-n,10e?16:e,$i===null)var n=!1;else{if(e=$i,$i=null,Lp=0,ot&6)throw Error(oe(331));var a=ot;for(ot|=4,ve=e.current;ve!==null;){var i=ve,s=i.child;if(ve.flags&16){var o=i.deletions;if(o!==null){for(var u=0;uQt()-rw?Ms(e,0):tw|=r),un(e,t)}function LE(e,t){t===0&&(e.mode&1?(t=lf,lf<<=1,!(lf&130023424)&&(lf=4194304)):t=1);var r=Kr();e=ni(e,t),e!==null&&(Nd(e,t,r),un(e,r))}function DD(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),LE(e,r)}function LD(e,t){var r=0;switch(e.tag){case 13:var n=e.stateNode,a=e.memoizedState;a!==null&&(r=a.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(oe(314))}n!==null&&n.delete(t),LE(e,r)}var FE;FE=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||on.current)tn=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return tn=!1,kD(e,t,r);tn=!!(e.flags&131072)}else tn=!1,Bt&&t.flags&1048576&&VA(t,Ep,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;op(e,t),e=t.pendingProps;var a=fl(t,Fr.current);el(t,r),a=Yb(null,t,n,e,a,r);var i=Xb();return t.flags|=1,typeof a=="object"&&a!==null&&typeof a.render=="function"&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ln(n)?(i=!0,Np(t)):i=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Wb(t),a.updater=ym,t.stateNode=a,a._reactInternals=t,Kv(t,n,e,r),t=Zv(null,t,n,!0,i,r)):(t.tag=0,Bt&&i&&Db(t),Vr(null,t,a,r),t=t.child),t;case 16:n=t.elementType;e:{switch(op(e,t),e=t.pendingProps,a=n._init,n=a(n._payload),t.type=n,a=t.tag=zD(n),e=Jn(n,e),a){case 0:t=Xv(null,t,n,e,r);break e;case 1:t=Z_(null,t,n,e,r);break e;case 11:t=Y_(null,t,n,e,r);break e;case 14:t=X_(null,t,n,Jn(n.type,e),r);break e}throw Error(oe(306,n,""))}return t;case 0:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:Jn(n,a),Xv(e,t,n,a,r);case 1:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:Jn(n,a),Z_(e,t,n,a,r);case 3:e:{if(_E(t),e===null)throw Error(oe(387));n=t.pendingProps,i=t.memoizedState,a=i.element,YA(e,t),Tp(t,n,null,r);var s=t.memoizedState;if(n=s.element,i.isDehydrated)if(i={element:n,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){a=gl(Error(oe(423)),t),t=J_(e,t,n,r,a);break e}else if(n!==a){a=gl(Error(oe(424)),t),t=J_(e,t,n,r,a);break e}else for(xn=Ui(t.stateNode.containerInfo.firstChild),bn=t,Bt=!0,ra=null,r=qA(t,null,n,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(pl(),n===a){t=ai(e,t,r);break e}Vr(e,t,n,r)}t=t.child}return t;case 5:return XA(t),e===null&&Hv(t),n=t.type,a=t.pendingProps,i=e!==null?e.memoizedProps:null,s=a.children,zv(n,a)?s=null:i!==null&&zv(n,i)&&(t.flags|=32),wE(e,t),Vr(e,t,s,r),t.child;case 6:return e===null&&Hv(t),null;case 13:return jE(e,t,r);case 4:return Hb(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=hl(t,null,n,r):Vr(e,t,n,r),t.child;case 11:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:Jn(n,a),Y_(e,t,n,a,r);case 7:return Vr(e,t,t.pendingProps,r),t.child;case 8:return Vr(e,t,t.pendingProps.children,r),t.child;case 12:return Vr(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(n=t.type._context,a=t.pendingProps,i=t.memoizedProps,s=a.value,At(Pp,n._currentValue),n._currentValue=s,i!==null)if(ca(i.value,s)){if(i.children===a.children&&!on.current){t=ai(e,t,r);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var o=i.dependencies;if(o!==null){s=i.child;for(var u=o.firstContext;u!==null;){if(u.context===n){if(i.tag===1){u=Ja(-1,r&-r),u.tag=2;var c=i.updateQueue;if(c!==null){c=c.shared;var f=c.pending;f===null?u.next=u:(u.next=f.next,f.next=u),c.pending=u}}i.lanes|=r,u=i.alternate,u!==null&&(u.lanes|=r),Gv(i.return,r,t),o.lanes|=r;break}u=u.next}}else if(i.tag===10)s=i.type===t.type?null:i.child;else if(i.tag===18){if(s=i.return,s===null)throw Error(oe(341));s.lanes|=r,o=s.alternate,o!==null&&(o.lanes|=r),Gv(s,r,t),s=i.sibling}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===t){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}Vr(e,t,a.children,r),t=t.child}return t;case 9:return a=t.type,n=t.pendingProps.children,el(t,r),a=Bn(a),n=n(a),t.flags|=1,Vr(e,t,n,r),t.child;case 14:return n=t.type,a=Jn(n,t.pendingProps),a=Jn(n.type,a),X_(e,t,n,a,r);case 15:return xE(e,t,t.type,t.pendingProps,r);case 17:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:Jn(n,a),op(e,t),t.tag=1,ln(n)?(e=!0,Np(t)):e=!1,el(t,r),gE(t,n,a),Kv(t,n,a,r),Zv(null,t,n,!0,e,r);case 19:return SE(e,t,r);case 22:return bE(e,t,r)}throw Error(oe(156,t.tag))};function zE(e,t){return pA(e,t)}function FD(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ln(e,t,r,n){return new FD(e,t,r,n)}function sw(e){return e=e.prototype,!(!e||!e.isReactComponent)}function zD(e){if(typeof e=="function")return sw(e)?1:0;if(e!=null){if(e=e.$$typeof,e===kb)return 11;if(e===Ob)return 14}return 2}function Gi(e,t){var r=e.alternate;return r===null?(r=Ln(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function cp(e,t,r,n,a,i){var s=2;if(n=e,typeof e=="function")sw(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Po:return Ds(r.children,a,i,t);case Sb:s=8,a|=8;break;case vv:return e=Ln(12,r,t,a|2),e.elementType=vv,e.lanes=i,e;case xv:return e=Ln(13,r,t,a),e.elementType=xv,e.lanes=i,e;case bv:return e=Ln(19,r,t,a),e.elementType=bv,e.lanes=i,e;case XN:return bm(r,a,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case KN:s=10;break e;case YN:s=9;break e;case kb:s=11;break e;case Ob:s=14;break e;case ji:s=16,n=null;break e}throw Error(oe(130,e==null?e:typeof e,""))}return t=Ln(s,r,t,a),t.elementType=e,t.type=n,t.lanes=i,t}function Ds(e,t,r,n){return e=Ln(7,e,n,t),e.lanes=r,e}function bm(e,t,r,n){return e=Ln(22,e,n,t),e.elementType=XN,e.lanes=r,e.stateNode={isHidden:!1},e}function Xg(e,t,r){return e=Ln(6,e,null,t),e.lanes=r,e}function Zg(e,t,r){return t=Ln(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function BD(e,t,r,n,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cg(0),this.expirationTimes=Cg(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cg(0),this.identifierPrefix=n,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function ow(e,t,r,n,a,i,s,o,u){return e=new BD(e,t,r,o,u),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Ln(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Wb(i),e}function UD(e,t,r){var n=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(WE)}catch(e){console.error(e)}}WE(),WN.exports=kn;var Bo=WN.exports,cj=Bo;gv.createRoot=cj.createRoot,gv.hydrateRoot=cj.hydrateRoot;/** * @remix-run/router v1.23.2 @@ -72,7 +72,7 @@ Error generating stack: `+i.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var vl=S;function H3(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var G3=typeof Object.is=="function"?Object.is:H3,q3=vl.useState,K3=vl.useEffect,Y3=vl.useLayoutEffect,X3=vl.useDebugValue;function Z3(e,t){var r=t(),n=q3({inst:{value:r,getSnapshot:t}}),a=n[0].inst,i=n[1];return Y3(function(){a.value=r,a.getSnapshot=t,Qg(a)&&i({inst:a})},[e,r,t]),K3(function(){return Qg(a)&&i({inst:a}),e(function(){Qg(a)&&i({inst:a})})},[e]),X3(r),r}function Qg(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!G3(e,r)}catch{return!0}}function J3(e,t){return t()}var Q3=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?J3:Z3;iP.useSyncExternalStore=vl.useSyncExternalStore!==void 0?vl.useSyncExternalStore:Q3;aP.exports=iP;var px=aP.exports;const sP=0,oP=1,lP=2,bj=3;var wj=Object.prototype.hasOwnProperty;function hx(e,t){var r,n;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((n=e.length)===t.length)for(;n--&&hx(e[n],t[n]););return n===-1}if(!r||typeof e=="object"){n=0;for(r in e)if(wj.call(e,r)&&++n&&!wj.call(t,r)||!(r in t)||!hx(e[r],t[r]))return!1;return Object.keys(t).length===n}}return e!==e&&t!==t}const Wa=new WeakMap,qa=()=>{},Dr=qa(),mx=Object,rt=e=>e===Dr,_a=e=>typeof e=="function",Ji=(e,t)=>({...e,...t}),uP=e=>_a(e.then),ey={},bf={},pw="undefined",Rd=typeof window!=pw,gx=typeof document!=pw,e5=Rd&&"Deno"in window,t5=()=>Rd&&typeof window.requestAnimationFrame!=pw,cP=(e,t)=>{const r=Wa.get(e);return[()=>!rt(t)&&e.get(t)||ey,n=>{if(!rt(t)){const a=e.get(t);t in bf||(bf[t]=a),r[5](t,Ji(a,n),a||ey)}},r[6],()=>!rt(t)&&t in bf?bf[t]:!rt(t)&&e.get(t)||ey]};let yx=!0;const r5=()=>yx,[vx,xx]=Rd&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[qa,qa],n5=()=>{const e=gx&&document.visibilityState;return rt(e)||e!=="hidden"},a5=e=>(gx&&document.addEventListener("visibilitychange",e),vx("focus",e),()=>{gx&&document.removeEventListener("visibilitychange",e),xx("focus",e)}),i5=e=>{const t=()=>{yx=!0,e()},r=()=>{yx=!1};return vx("online",t),vx("offline",r),()=>{xx("online",t),xx("offline",r)}},s5={isOnline:r5,isVisible:n5},o5={initFocus:a5,initReconnect:i5},_j=!P.useId,rl=!Rd||e5,l5=e=>t5()?window.requestAnimationFrame(e):setTimeout(e,1),ty=rl?S.useEffect:S.useLayoutEffect,ry=typeof navigator<"u"&&navigator.connection,jj=!rl&&ry&&(["slow-2g","2g"].includes(ry.effectiveType)||ry.saveData),wf=new WeakMap,u5=e=>mx.prototype.toString.call(e),ny=(e,t)=>e===`[object ${t}]`;let c5=0;const bx=e=>{const t=typeof e,r=u5(e),n=ny(r,"Date"),a=ny(r,"RegExp"),i=ny(r,"Object");let s,o;if(mx(e)===e&&!n&&!a){if(s=wf.get(e),s)return s;if(s=++c5+"~",wf.set(e,s),Array.isArray(e)){for(s="@",o=0;o{if(_a(e))try{e=e()}catch{e=""}const t=e;return e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?bx(e):"",[e,t]};let d5=0;const wx=()=>++d5;async function dP(...e){const[t,r,n,a]=e,i=Ji({populateCache:!0,throwOnError:!0},typeof a=="boolean"?{revalidate:a}:a||{});let s=i.populateCache;const o=i.rollbackOnError;let u=i.optimisticData;const c=p=>typeof o=="function"?o(p):o!==!1,f=i.throwOnError;if(_a(r)){const p=r,h=[],x=t.keys();for(const v of x)!/^\$(inf|sub)\$/.test(v)&&p(t.get(v)._k)&&h.push(v);return Promise.all(h.map(d))}return d(r);async function d(p){const[h]=hw(p);if(!h)return;const[x,v]=cP(t,h),[g,y,m,w]=Wa.get(t),j=()=>{const M=g[h];return(_a(i.revalidate)?i.revalidate(x().data,p):i.revalidate!==!1)&&(delete m[h],delete w[h],M&&M[0])?M[0](lP).then(()=>x().data):x().data};if(e.length<3)return j();let b=n,_,k=!1;const O=wx();y[h]=[O,0];const E=!rt(u),T=x(),$=T.data,A=T._c,R=rt(A)?$:A;if(E&&(u=_a(u)?u(R,$):u,v({data:u,_c:R})),_a(b))try{b=b(R)}catch(M){_=M,k=!0}if(b&&uP(b))if(b=await b.catch(M=>{_=M,k=!0}),O!==y[h][0]){if(k)throw _;return b}else k&&E&&c(_)&&(s=!0,v({data:R,_c:Dr}));if(s&&!k)if(_a(s)){const M=s(b,R);v({data:M,error:Dr,_c:Dr})}else v({data:b,error:Dr,_c:Dr});if(y[h][1]=wx(),Promise.resolve(j()).then(()=>{v({_c:Dr})}),k){if(f)throw _;return}return b}}const Sj=(e,t)=>{for(const r in e)e[r][0]&&e[r][0](t)},f5=(e,t)=>{if(!Wa.has(e)){const r=Ji(o5,t),n=Object.create(null),a=dP.bind(Dr,e);let i=qa;const s=Object.create(null),o=(f,d)=>{const p=s[f]||[];return s[f]=p,p.push(d),()=>p.splice(p.indexOf(d),1)},u=(f,d,p)=>{e.set(f,d);const h=s[f];if(h)for(const x of h)x(d,p)},c=()=>{if(!Wa.has(e)&&(Wa.set(e,[n,Object.create(null),Object.create(null),Object.create(null),a,u,o]),!rl)){const f=r.initFocus(setTimeout.bind(Dr,Sj.bind(Dr,n,sP))),d=r.initReconnect(setTimeout.bind(Dr,Sj.bind(Dr,n,oP)));i=()=>{f&&f(),d&&d(),Wa.delete(e)}}};return c(),[e,a,c,i]}return[e,Wa.get(e)[4]]},p5=(e,t,r,n,a)=>{const i=r.errorRetryCount,s=a.retryCount,o=~~((Math.random()+.5)*(1<<(s<8?s:8)))*r.errorRetryInterval;!rt(i)&&s>i||setTimeout(n,o,a)},h5=hx,[fP,m5]=f5(new Map),g5=Ji({onLoadingSlow:qa,onSuccess:qa,onError:qa,onErrorRetry:p5,onDiscarded:qa,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:jj?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:jj?5e3:3e3,compare:h5,isPaused:()=>!1,cache:fP,mutate:m5,fallback:{}},s5),y5=(e,t)=>{const r=Ji(e,t);if(t){const{use:n,fallback:a}=e,{use:i,fallback:s}=t;n&&i&&(r.use=n.concat(i)),a&&s&&(r.fallback=Ji(a,s))}return r},v5=S.createContext({}),x5="$inf$",pP=Rd&&window.__SWR_DEVTOOLS_USE__,b5=pP?window.__SWR_DEVTOOLS_USE__:[],w5=()=>{pP&&(window.__SWR_DEVTOOLS_REACT__=P)},_5=e=>_a(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],hP=()=>{const e=S.useContext(v5);return S.useMemo(()=>Ji(g5,e),[e])},j5=e=>(t,r,n)=>e(t,r&&((...i)=>{const[s]=hw(t),[,,,o]=Wa.get(fP);if(s.startsWith(x5))return r(...i);const u=o[s];return rt(u)?r(...i):(delete o[s],u)}),n),S5=b5.concat(j5),k5=e=>function(...r){const n=hP(),[a,i,s]=_5(r),o=y5(n,s);let u=e;const{use:c}=o,f=(c||[]).concat(S5);for(let d=f.length;d--;)u=f[d](u);return u(a,i||o.fetcher||null,o)},O5=(e,t,r)=>{const n=t[e]||(t[e]=[]);return n.push(r),()=>{const a=n.indexOf(r);a>=0&&(n[a]=n[n.length-1],n.pop())}};w5();const ay=P.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}}),iy={dedupe:!0},kj=Promise.resolve(Dr),N5=()=>qa,A5=(e,t,r)=>{const{cache:n,compare:a,suspense:i,fallbackData:s,revalidateOnMount:o,revalidateIfStale:u,refreshInterval:c,refreshWhenHidden:f,refreshWhenOffline:d,keepPreviousData:p,strictServerPrefetchWarning:h}=r,[x,v,g,y]=Wa.get(n),[m,w]=hw(e),j=S.useRef(!1),b=S.useRef(!1),_=S.useRef(m),k=S.useRef(t),O=S.useRef(r),E=()=>O.current,T=()=>E().isVisible()&&E().isOnline(),[$,A,R,M]=cP(n,m),L=S.useRef({}).current,V=rt(s)?rt(r.fallback)?Dr:r.fallback[m]:s,H=(ke,Re)=>{for(const Ie in L){const Oe=Ie;if(Oe==="data"){if(!a(ke[Oe],Re[Oe])&&(!rt(ke[Oe])||!a(ge,Re[Oe])))return!1}else if(Re[Oe]!==ke[Oe])return!1}return!0},I=!j.current,B=S.useMemo(()=>{const ke=$(),Re=M(),Ie=C=>{const z=Ji(C);return delete z._k,(()=>{if(!m||!t||E().isPaused())return!1;if(I&&!rt(o))return o;const ae=rt(V)?z.data:V;return rt(ae)||u})()?{isValidating:!0,isLoading:!0,...z}:z},Oe=Ie(ke),Ge=ke===Re?Oe:Ie(Re);let We=Oe;return[()=>{const C=Ie($());return H(C,We)?(We.data=C.data,We.isLoading=C.isLoading,We.isValidating=C.isValidating,We.error=C.error,We):(We=C,C)},()=>Ge]},[n,m]),W=px.useSyncExternalStore(S.useCallback(ke=>R(m,(Re,Ie)=>{H(Ie,Re)||ke()}),[n,m]),B[0],B[1]),G=x[m]&&x[m].length>0,K=W.data,ee=rt(K)?V&&uP(V)?ay(V):V:K,q=W.error,le=S.useRef(ee),ge=p?rt(K)?rt(le.current)?ee:le.current:K:ee,$e=m&&rt(ee),Pe=S.useRef(null);!rl&&px.useSyncExternalStore(N5,()=>(Pe.current=!1,Pe),()=>(Pe.current=!0,Pe));const J=Pe.current;h&&J&&!i&&$e&&console.warn(`Missing pre-initiated data for serialized key "${m}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);const ue=!m||!t||E().isPaused()||G&&!rt(q)?!1:I&&!rt(o)?o:i?rt(ee)?!1:u:rt(ee)||u,de=I&&ue,X=rt(W.isValidating)?de:W.isValidating,we=rt(W.isLoading)?de:W.isLoading,ye=S.useCallback(async ke=>{const Re=k.current;if(!m||!Re||b.current||E().isPaused())return!1;let Ie,Oe,Ge=!0;const We=ke||{},C=!g[m]||!We.dedupe,z=()=>_j?!b.current&&m===_.current&&j.current:m===_.current,U={isValidating:!1,isLoading:!1},ae=()=>{A(U)},te=()=>{const ne=g[m];ne&&ne[1]===Oe&&delete g[m]},Q={isValidating:!0};rt($().data)&&(Q.isLoading=!0);try{if(C&&(A(Q),r.loadingTimeout&&rt($().data)&&setTimeout(()=>{Ge&&z()&&E().onLoadingSlow(m,r)},r.loadingTimeout),g[m]=[Re(w),wx()]),[Ie,Oe]=g[m],Ie=await Ie,C&&setTimeout(te,r.dedupingInterval),!g[m]||g[m][1]!==Oe)return C&&z()&&E().onDiscarded(m),!1;U.error=Dr;const ne=v[m];if(!rt(ne)&&(Oe<=ne[0]||Oe<=ne[1]||ne[1]===0))return ae(),C&&z()&&E().onDiscarded(m),!1;const _e=$().data;U.data=a(_e,Ie)?_e:Ie,C&&z()&&E().onSuccess(Ie,m,r)}catch(ne){te();const _e=E(),{shouldRetryOnError:Ne}=_e;_e.isPaused()||(U.error=ne,C&&z()&&(_e.onError(ne,m,_e),(Ne===!0||_a(Ne)&&Ne(ne))&&(!E().revalidateOnFocus||!E().revalidateOnReconnect||T())&&_e.onErrorRetry(ne,m,_e,dt=>{const mt=x[m];mt&&mt[0]&&mt[0](bj,dt)},{retryCount:(We.retryCount||0)+1,dedupe:!0})))}return Ge=!1,ae(),!0},[m,n]),qe=S.useCallback((...ke)=>dP(n,_.current,...ke),[]);if(ty(()=>{k.current=t,O.current=r,rt(K)||(le.current=K)}),ty(()=>{if(!m)return;const ke=ye.bind(Dr,iy);let Re=0;E().revalidateOnFocus&&(Re=Date.now()+E().focusThrottleInterval);const Oe=O5(m,x,(Ge,We={})=>{if(Ge==sP){const C=Date.now();E().revalidateOnFocus&&C>Re&&T()&&(Re=C+E().focusThrottleInterval,ke())}else if(Ge==oP)E().revalidateOnReconnect&&T()&&ke();else{if(Ge==lP)return ye();if(Ge==bj)return ye(We)}});return b.current=!1,_.current=m,j.current=!0,A({_k:w}),ue&&(g[m]||(rt(ee)||rl?ke():l5(ke))),()=>{b.current=!0,Oe()}},[m]),ty(()=>{let ke;function Re(){const Oe=_a(c)?c($().data):c;Oe&&ke!==-1&&(ke=setTimeout(Ie,Oe))}function Ie(){!$().error&&(f||E().isVisible())&&(d||E().isOnline())?ye(iy).then(Re):Re()}return Re(),()=>{ke&&(clearTimeout(ke),ke=-1)}},[c,f,d,m]),S.useDebugValue(ge),i){if(!_j&&rl&&$e)throw new Error("Fallback data is required when using Suspense in SSR.");$e&&(k.current=t,O.current=r,b.current=!1);const ke=y[m],Re=!rt(ke)&&$e?qe(ke):kj;if(ay(Re),!rt(q)&&$e)throw q;const Ie=$e?ye(iy):kj;!rt(ge)&&$e&&(Ie.status="fulfilled",Ie.value=!0),ay(Ie)}return{mutate:qe,get data(){return L.data=!0,ge},get error(){return L.error=!0,q},get isValidating(){return L.isValidating=!0,X},get isLoading(){return L.isLoading=!0,we}}},Xt=k5(A5);function mP(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t-1}var NL=OL,AL=Nm;function EL(e,t){var r=this.__data__,n=AL(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var PL=EL,CL=pL,TL=wL,$L=SL,RL=NL,IL=PL;function ru(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?J3:Z3;iP.useSyncExternalStore=vl.useSyncExternalStore!==void 0?vl.useSyncExternalStore:Q3;aP.exports=iP;var px=aP.exports;const sP=0,oP=1,lP=2,bj=3;var wj=Object.prototype.hasOwnProperty;function hx(e,t){var r,n;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((n=e.length)===t.length)for(;n--&&hx(e[n],t[n]););return n===-1}if(!r||typeof e=="object"){n=0;for(r in e)if(wj.call(e,r)&&++n&&!wj.call(t,r)||!(r in t)||!hx(e[r],t[r]))return!1;return Object.keys(t).length===n}}return e!==e&&t!==t}const Wa=new WeakMap,qa=()=>{},Dr=qa(),mx=Object,rt=e=>e===Dr,_a=e=>typeof e=="function",Ji=(e,t)=>({...e,...t}),uP=e=>_a(e.then),ey={},bf={},pw="undefined",Rd=typeof window!=pw,gx=typeof document!=pw,e5=Rd&&"Deno"in window,t5=()=>Rd&&typeof window.requestAnimationFrame!=pw,cP=(e,t)=>{const r=Wa.get(e);return[()=>!rt(t)&&e.get(t)||ey,n=>{if(!rt(t)){const a=e.get(t);t in bf||(bf[t]=a),r[5](t,Ji(a,n),a||ey)}},r[6],()=>!rt(t)&&t in bf?bf[t]:!rt(t)&&e.get(t)||ey]};let yx=!0;const r5=()=>yx,[vx,xx]=Rd&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[qa,qa],n5=()=>{const e=gx&&document.visibilityState;return rt(e)||e!=="hidden"},a5=e=>(gx&&document.addEventListener("visibilitychange",e),vx("focus",e),()=>{gx&&document.removeEventListener("visibilitychange",e),xx("focus",e)}),i5=e=>{const t=()=>{yx=!0,e()},r=()=>{yx=!1};return vx("online",t),vx("offline",r),()=>{xx("online",t),xx("offline",r)}},s5={isOnline:r5,isVisible:n5},o5={initFocus:a5,initReconnect:i5},_j=!P.useId,rl=!Rd||e5,l5=e=>t5()?window.requestAnimationFrame(e):setTimeout(e,1),ty=rl?S.useEffect:S.useLayoutEffect,ry=typeof navigator<"u"&&navigator.connection,jj=!rl&&ry&&(["slow-2g","2g"].includes(ry.effectiveType)||ry.saveData),wf=new WeakMap,u5=e=>mx.prototype.toString.call(e),ny=(e,t)=>e===`[object ${t}]`;let c5=0;const bx=e=>{const t=typeof e,r=u5(e),n=ny(r,"Date"),a=ny(r,"RegExp"),i=ny(r,"Object");let s,o;if(mx(e)===e&&!n&&!a){if(s=wf.get(e),s)return s;if(s=++c5+"~",wf.set(e,s),Array.isArray(e)){for(s="@",o=0;o{if(_a(e))try{e=e()}catch{e=""}const t=e;return e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?bx(e):"",[e,t]};let d5=0;const wx=()=>++d5;async function dP(...e){const[t,r,n,a]=e,i=Ji({populateCache:!0,throwOnError:!0},typeof a=="boolean"?{revalidate:a}:a||{});let s=i.populateCache;const o=i.rollbackOnError;let u=i.optimisticData;const c=p=>typeof o=="function"?o(p):o!==!1,f=i.throwOnError;if(_a(r)){const p=r,h=[],x=t.keys();for(const v of x)!/^\$(inf|sub)\$/.test(v)&&p(t.get(v)._k)&&h.push(v);return Promise.all(h.map(d))}return d(r);async function d(p){const[h]=hw(p);if(!h)return;const[x,v]=cP(t,h),[g,y,m,w]=Wa.get(t),j=()=>{const I=g[h];return(_a(i.revalidate)?i.revalidate(x().data,p):i.revalidate!==!1)&&(delete m[h],delete w[h],I&&I[0])?I[0](lP).then(()=>x().data):x().data};if(e.length<3)return j();let b=n,_,k=!1;const O=wx();y[h]=[O,0];const E=!rt(u),T=x(),R=T.data,N=T._c,$=rt(N)?R:N;if(E&&(u=_a(u)?u($,R):u,v({data:u,_c:$})),_a(b))try{b=b($)}catch(I){_=I,k=!0}if(b&&uP(b))if(b=await b.catch(I=>{_=I,k=!0}),O!==y[h][0]){if(k)throw _;return b}else k&&E&&c(_)&&(s=!0,v({data:$,_c:Dr}));if(s&&!k)if(_a(s)){const I=s(b,$);v({data:I,error:Dr,_c:Dr})}else v({data:b,error:Dr,_c:Dr});if(y[h][1]=wx(),Promise.resolve(j()).then(()=>{v({_c:Dr})}),k){if(f)throw _;return}return b}}const Sj=(e,t)=>{for(const r in e)e[r][0]&&e[r][0](t)},f5=(e,t)=>{if(!Wa.has(e)){const r=Ji(o5,t),n=Object.create(null),a=dP.bind(Dr,e);let i=qa;const s=Object.create(null),o=(f,d)=>{const p=s[f]||[];return s[f]=p,p.push(d),()=>p.splice(p.indexOf(d),1)},u=(f,d,p)=>{e.set(f,d);const h=s[f];if(h)for(const x of h)x(d,p)},c=()=>{if(!Wa.has(e)&&(Wa.set(e,[n,Object.create(null),Object.create(null),Object.create(null),a,u,o]),!rl)){const f=r.initFocus(setTimeout.bind(Dr,Sj.bind(Dr,n,sP))),d=r.initReconnect(setTimeout.bind(Dr,Sj.bind(Dr,n,oP)));i=()=>{f&&f(),d&&d(),Wa.delete(e)}}};return c(),[e,a,c,i]}return[e,Wa.get(e)[4]]},p5=(e,t,r,n,a)=>{const i=r.errorRetryCount,s=a.retryCount,o=~~((Math.random()+.5)*(1<<(s<8?s:8)))*r.errorRetryInterval;!rt(i)&&s>i||setTimeout(n,o,a)},h5=hx,[fP,m5]=f5(new Map),g5=Ji({onLoadingSlow:qa,onSuccess:qa,onError:qa,onErrorRetry:p5,onDiscarded:qa,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:jj?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:jj?5e3:3e3,compare:h5,isPaused:()=>!1,cache:fP,mutate:m5,fallback:{}},s5),y5=(e,t)=>{const r=Ji(e,t);if(t){const{use:n,fallback:a}=e,{use:i,fallback:s}=t;n&&i&&(r.use=n.concat(i)),a&&s&&(r.fallback=Ji(a,s))}return r},v5=S.createContext({}),x5="$inf$",pP=Rd&&window.__SWR_DEVTOOLS_USE__,b5=pP?window.__SWR_DEVTOOLS_USE__:[],w5=()=>{pP&&(window.__SWR_DEVTOOLS_REACT__=P)},_5=e=>_a(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],hP=()=>{const e=S.useContext(v5);return S.useMemo(()=>Ji(g5,e),[e])},j5=e=>(t,r,n)=>e(t,r&&((...i)=>{const[s]=hw(t),[,,,o]=Wa.get(fP);if(s.startsWith(x5))return r(...i);const u=o[s];return rt(u)?r(...i):(delete o[s],u)}),n),S5=b5.concat(j5),k5=e=>function(...r){const n=hP(),[a,i,s]=_5(r),o=y5(n,s);let u=e;const{use:c}=o,f=(c||[]).concat(S5);for(let d=f.length;d--;)u=f[d](u);return u(a,i||o.fetcher||null,o)},O5=(e,t,r)=>{const n=t[e]||(t[e]=[]);return n.push(r),()=>{const a=n.indexOf(r);a>=0&&(n[a]=n[n.length-1],n.pop())}};w5();const ay=P.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}}),iy={dedupe:!0},kj=Promise.resolve(Dr),N5=()=>qa,A5=(e,t,r)=>{const{cache:n,compare:a,suspense:i,fallbackData:s,revalidateOnMount:o,revalidateIfStale:u,refreshInterval:c,refreshWhenHidden:f,refreshWhenOffline:d,keepPreviousData:p,strictServerPrefetchWarning:h}=r,[x,v,g,y]=Wa.get(n),[m,w]=hw(e),j=S.useRef(!1),b=S.useRef(!1),_=S.useRef(m),k=S.useRef(t),O=S.useRef(r),E=()=>O.current,T=()=>E().isVisible()&&E().isOnline(),[R,N,$,I]=cP(n,m),L=S.useRef({}).current,V=rt(s)?rt(r.fallback)?Dr:r.fallback[m]:s,H=(ke,Re)=>{for(const Ie in L){const Oe=Ie;if(Oe==="data"){if(!a(ke[Oe],Re[Oe])&&(!rt(ke[Oe])||!a(ge,Re[Oe])))return!1}else if(Re[Oe]!==ke[Oe])return!1}return!0},M=!j.current,B=S.useMemo(()=>{const ke=R(),Re=I(),Ie=C=>{const z=Ji(C);return delete z._k,(()=>{if(!m||!t||E().isPaused())return!1;if(M&&!rt(o))return o;const ae=rt(V)?z.data:V;return rt(ae)||u})()?{isValidating:!0,isLoading:!0,...z}:z},Oe=Ie(ke),Ge=ke===Re?Oe:Ie(Re);let We=Oe;return[()=>{const C=Ie(R());return H(C,We)?(We.data=C.data,We.isLoading=C.isLoading,We.isValidating=C.isValidating,We.error=C.error,We):(We=C,C)},()=>Ge]},[n,m]),W=px.useSyncExternalStore(S.useCallback(ke=>$(m,(Re,Ie)=>{H(Ie,Re)||ke()}),[n,m]),B[0],B[1]),G=x[m]&&x[m].length>0,K=W.data,ee=rt(K)?V&&uP(V)?ay(V):V:K,q=W.error,le=S.useRef(ee),ge=p?rt(K)?rt(le.current)?ee:le.current:K:ee,$e=m&&rt(ee),Pe=S.useRef(null);!rl&&px.useSyncExternalStore(N5,()=>(Pe.current=!1,Pe),()=>(Pe.current=!0,Pe));const J=Pe.current;h&&J&&!i&&$e&&console.warn(`Missing pre-initiated data for serialized key "${m}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);const ue=!m||!t||E().isPaused()||G&&!rt(q)?!1:M&&!rt(o)?o:i?rt(ee)?!1:u:rt(ee)||u,de=M&&ue,X=rt(W.isValidating)?de:W.isValidating,we=rt(W.isLoading)?de:W.isLoading,ye=S.useCallback(async ke=>{const Re=k.current;if(!m||!Re||b.current||E().isPaused())return!1;let Ie,Oe,Ge=!0;const We=ke||{},C=!g[m]||!We.dedupe,z=()=>_j?!b.current&&m===_.current&&j.current:m===_.current,U={isValidating:!1,isLoading:!1},ae=()=>{N(U)},te=()=>{const ne=g[m];ne&&ne[1]===Oe&&delete g[m]},Q={isValidating:!0};rt(R().data)&&(Q.isLoading=!0);try{if(C&&(N(Q),r.loadingTimeout&&rt(R().data)&&setTimeout(()=>{Ge&&z()&&E().onLoadingSlow(m,r)},r.loadingTimeout),g[m]=[Re(w),wx()]),[Ie,Oe]=g[m],Ie=await Ie,C&&setTimeout(te,r.dedupingInterval),!g[m]||g[m][1]!==Oe)return C&&z()&&E().onDiscarded(m),!1;U.error=Dr;const ne=v[m];if(!rt(ne)&&(Oe<=ne[0]||Oe<=ne[1]||ne[1]===0))return ae(),C&&z()&&E().onDiscarded(m),!1;const _e=R().data;U.data=a(_e,Ie)?_e:Ie,C&&z()&&E().onSuccess(Ie,m,r)}catch(ne){te();const _e=E(),{shouldRetryOnError:Ne}=_e;_e.isPaused()||(U.error=ne,C&&z()&&(_e.onError(ne,m,_e),(Ne===!0||_a(Ne)&&Ne(ne))&&(!E().revalidateOnFocus||!E().revalidateOnReconnect||T())&&_e.onErrorRetry(ne,m,_e,dt=>{const mt=x[m];mt&&mt[0]&&mt[0](bj,dt)},{retryCount:(We.retryCount||0)+1,dedupe:!0})))}return Ge=!1,ae(),!0},[m,n]),qe=S.useCallback((...ke)=>dP(n,_.current,...ke),[]);if(ty(()=>{k.current=t,O.current=r,rt(K)||(le.current=K)}),ty(()=>{if(!m)return;const ke=ye.bind(Dr,iy);let Re=0;E().revalidateOnFocus&&(Re=Date.now()+E().focusThrottleInterval);const Oe=O5(m,x,(Ge,We={})=>{if(Ge==sP){const C=Date.now();E().revalidateOnFocus&&C>Re&&T()&&(Re=C+E().focusThrottleInterval,ke())}else if(Ge==oP)E().revalidateOnReconnect&&T()&&ke();else{if(Ge==lP)return ye();if(Ge==bj)return ye(We)}});return b.current=!1,_.current=m,j.current=!0,N({_k:w}),ue&&(g[m]||(rt(ee)||rl?ke():l5(ke))),()=>{b.current=!0,Oe()}},[m]),ty(()=>{let ke;function Re(){const Oe=_a(c)?c(R().data):c;Oe&&ke!==-1&&(ke=setTimeout(Ie,Oe))}function Ie(){!R().error&&(f||E().isVisible())&&(d||E().isOnline())?ye(iy).then(Re):Re()}return Re(),()=>{ke&&(clearTimeout(ke),ke=-1)}},[c,f,d,m]),S.useDebugValue(ge),i){if(!_j&&rl&&$e)throw new Error("Fallback data is required when using Suspense in SSR.");$e&&(k.current=t,O.current=r,b.current=!1);const ke=y[m],Re=!rt(ke)&&$e?qe(ke):kj;if(ay(Re),!rt(q)&&$e)throw q;const Ie=$e?ye(iy):kj;!rt(ge)&&$e&&(Ie.status="fulfilled",Ie.value=!0),ay(Ie)}return{mutate:qe,get data(){return L.data=!0,ge},get error(){return L.error=!0,q},get isValidating(){return L.isValidating=!0,X},get isLoading(){return L.isLoading=!0,we}}},Xt=k5(A5);function mP(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t-1}var NL=OL,AL=Nm;function EL(e,t){var r=this.__data__,n=AL(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var PL=EL,CL=pL,TL=wL,$L=SL,RL=NL,IL=PL;function ru(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t`);var m=h.inactive?c:h.color;return P.createElement("li",Ix({className:g,style:d,key:"legend-item-".concat(x)},Ks(n.props,h,x)),P.createElement(Ox,{width:s,height:s,viewBox:f,style:p},n.renderIcon(h)),P.createElement("span",{className:"recharts-legend-item-text",style:{color:m}},v?v(y,h,x):y))})}},{key:"render",value:function(){var n=this.props,a=n.payload,i=n.layout,s=n.align;if(!a||!a.length)return null;var o={padding:0,margin:0,textAlign:i==="horizontal"?s:"left"};return P.createElement("ul",{className:"recharts-default-legend",style:o},this.renderItems())}}])}(S.PureComponent);zc(Cw,"displayName","Legend");zc(Cw,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var hz=Am;function mz(){this.__data__=new hz,this.size=0}var gz=mz;function yz(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var vz=yz;function xz(e){return this.__data__.get(e)}var bz=xz;function wz(e){return this.__data__.has(e)}var _z=wz,jz=Am,Sz=vw,kz=xw,Oz=200;function Nz(e,t){var r=this.__data__;if(r instanceof jz){var n=r.__data__;if(!Sz||n.lengtho))return!1;var c=i.get(e),f=i.get(t);if(c&&f)return c==t&&f==e;var d=-1,p=!0,h=r&Yz?new Hz:void 0;for(i.set(e,t),i.set(t,e);++d-1&&e%1==0&&e-1&&e%1==0&&e<=QB}var Iw=e9,t9=hi,r9=Iw,n9=mi,a9="[object Arguments]",i9="[object Array]",s9="[object Boolean]",o9="[object Date]",l9="[object Error]",u9="[object Function]",c9="[object Map]",d9="[object Number]",f9="[object Object]",p9="[object RegExp]",h9="[object Set]",m9="[object String]",g9="[object WeakMap]",y9="[object ArrayBuffer]",v9="[object DataView]",x9="[object Float32Array]",b9="[object Float64Array]",w9="[object Int8Array]",_9="[object Int16Array]",j9="[object Int32Array]",S9="[object Uint8Array]",k9="[object Uint8ClampedArray]",O9="[object Uint16Array]",N9="[object Uint32Array]",It={};It[x9]=It[b9]=It[w9]=It[_9]=It[j9]=It[S9]=It[k9]=It[O9]=It[N9]=!0;It[a9]=It[i9]=It[y9]=It[s9]=It[v9]=It[o9]=It[l9]=It[u9]=It[c9]=It[d9]=It[f9]=It[p9]=It[h9]=It[m9]=It[g9]=!1;function A9(e){return n9(e)&&r9(e.length)&&!!It[t9(e)]}var E9=A9;function P9(e){return function(t){return e(t)}}var uC=P9,Zp={exports:{}};Zp.exports;(function(e,t){var r=gP,n=t&&!t.nodeType&&t,a=n&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===n,s=i&&r.process,o=function(){try{var u=a&&a.require&&a.require("util").types;return u||s&&s.binding&&s.binding("util")}catch{}}();e.exports=o})(Zp,Zp.exports);var C9=Zp.exports,T9=E9,$9=uC,eS=C9,tS=eS&&eS.isTypedArray,R9=tS?$9(tS):T9,cC=R9,I9=LB,M9=$w,D9=cn,L9=lC,F9=Rw,z9=cC,B9=Object.prototype,U9=B9.hasOwnProperty;function V9(e,t){var r=D9(e),n=!r&&M9(e),a=!r&&!n&&L9(e),i=!r&&!n&&!a&&z9(e),s=r||n||a||i,o=s?I9(e.length,String):[],u=o.length;for(var c in e)(t||U9.call(e,c))&&!(s&&(c=="length"||a&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||F9(c,u)))&&o.push(c);return o}var W9=V9,H9=Object.prototype;function G9(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||H9;return e===r}var q9=G9;function K9(e,t){return function(r){return e(t(r))}}var dC=K9,Y9=dC,X9=Y9(Object.keys,Object),Z9=X9,J9=q9,Q9=Z9,eU=Object.prototype,tU=eU.hasOwnProperty;function rU(e){if(!J9(e))return Q9(e);var t=[];for(var r in Object(e))tU.call(e,r)&&r!="constructor"&&t.push(r);return t}var nU=rU,aU=gw,iU=Iw;function sU(e){return e!=null&&iU(e.length)&&!aU(e)}var Md=sU,oU=W9,lU=nU,uU=Md;function cU(e){return uU(e)?oU(e):lU(e)}var Hm=cU,dU=OB,fU=MB,pU=Hm;function hU(e){return dU(e,pU,fU)}var mU=hU,rS=mU,gU=1,yU=Object.prototype,vU=yU.hasOwnProperty;function xU(e,t,r,n,a,i){var s=r&gU,o=rS(e),u=o.length,c=rS(t),f=c.length;if(u!=f&&!s)return!1;for(var d=u;d--;){var p=o[d];if(!(s?p in t:vU.call(t,p)))return!1}var h=i.get(e),x=i.get(t);if(h&&x)return h==t&&x==e;var v=!0;i.set(e,t),i.set(t,e);for(var g=s;++d-1}var y7=g7;function v7(e,t,r){for(var n=-1,a=e==null?0:e.length;++n=$7){var c=t?null:C7(e);if(c)return T7(c);s=!1,a=P7,u=new N7}else u=t?[]:o;e:for(;++n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Y7(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function X7(e){return e.value}function Z7(e,t){if(P.isValidElement(e))return P.cloneElement(e,t);if(typeof e=="function")return P.createElement(e,t);t.ref;var r=K7(t,z7);return P.createElement(Cw,r)}var vS=1,ia=function(e){function t(){var r;B7(this,t);for(var n=arguments.length,a=new Array(n),i=0;ivS||Math.abs(a.height-this.lastBoundingBox.height)>vS)&&(this.lastBoundingBox.width=a.width,this.lastBoundingBox.height=a.height,n&&n(a)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,n&&n(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?La({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(n){var a=this.props,i=a.layout,s=a.align,o=a.verticalAlign,u=a.margin,c=a.chartWidth,f=a.chartHeight,d,p;if(!n||(n.left===void 0||n.left===null)&&(n.right===void 0||n.right===null))if(s==="center"&&i==="vertical"){var h=this.getBBoxSnapshot();d={left:((c||0)-h.width)/2}}else d=s==="right"?{right:u&&u.right||0}:{left:u&&u.left||0};if(!n||(n.top===void 0||n.top===null)&&(n.bottom===void 0||n.bottom===null))if(o==="middle"){var x=this.getBBoxSnapshot();p={top:((f||0)-x.height)/2}}else p=o==="bottom"?{bottom:u&&u.bottom||0}:{top:u&&u.top||0};return La(La({},d),p)}},{key:"render",value:function(){var n=this,a=this.props,i=a.content,s=a.width,o=a.height,u=a.wrapperStyle,c=a.payloadUniqBy,f=a.payload,d=La(La({position:"absolute",width:s||"auto",height:o||"auto"},this.getDefaultPosition(u)),u);return P.createElement("div",{className:"recharts-legend-wrapper",style:d,ref:function(h){n.wrapperNode=h}},Z7(i,La(La({},this.props),{},{payload:vC(f,c,X7)})))}}],[{key:"getWithHeight",value:function(n,a){var i=La(La({},this.defaultProps),n.props),s=i.layout;return s==="vertical"&&se(n.props.height)?{height:n.props.height}:s==="horizontal"?{width:n.props.width||a}:null}}])}(S.PureComponent);Gm(ia,"displayName","Legend");Gm(ia,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var xS=Id,J7=$w,Q7=cn,bS=xS?xS.isConcatSpreadable:void 0;function eW(e){return Q7(e)||J7(e)||!!(bS&&e&&e[bS])}var tW=eW,rW=sC,nW=tW;function wC(e,t,r,n,a){var i=-1,s=e.length;for(r||(r=nW),a||(a=[]);++i0&&r(o)?t>1?wC(o,t-1,r,n,a):rW(a,o):n||(a[a.length]=o)}return a}var _C=wC;function aW(e){return function(t,r,n){for(var a=-1,i=Object(t),s=n(t),o=s.length;o--;){var u=s[e?o:++a];if(r(i[u],u,i)===!1)break}return t}}var iW=aW,sW=iW,oW=sW(),lW=oW,uW=lW,cW=Hm;function dW(e,t){return e&&uW(e,t,cW)}var jC=dW,fW=Md;function pW(e,t){return function(r,n){if(r==null)return r;if(!fW(r))return e(r,n);for(var a=r.length,i=t?a:-1,s=Object(r);(t?i--:++it||i&&s&&u&&!o&&!c||n&&s&&u||!r&&u||!a)return 1;if(!n&&!i&&!c&&e=o)return u;var c=r[n];return u*(c=="desc"?-1:1)}}return e.index-t.index}var NW=OW,hy=ww,AW=_w,EW=Ma,PW=SC,CW=_W,TW=uC,$W=NW,RW=ou,IW=cn;function MW(e,t,r){t.length?t=hy(t,function(i){return IW(i)?function(s){return AW(s,i.length===1?i[0]:i)}:i}):t=[RW];var n=-1;t=hy(t,TW(EW));var a=PW(e,function(i,s,o){var u=hy(t,function(c){return c(i)});return{criteria:u,index:++n,value:i}});return CW(a,function(i,s){return $W(i,s,r)})}var DW=MW;function LW(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}var FW=LW,zW=FW,_S=Math.max;function BW(e,t,r){return t=_S(t===void 0?e.length-1:t,0),function(){for(var n=arguments,a=-1,i=_S(n.length-t,0),s=Array(i);++a0){if(++t>=ZW)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var tH=eH,rH=XW,nH=tH,aH=nH(rH),iH=aH,sH=ou,oH=UW,lH=iH;function uH(e,t){return lH(oH(e,t,sH),e+"")}var cH=uH,dH=yw,fH=Md,pH=Rw,hH=ss;function mH(e,t,r){if(!hH(r))return!1;var n=typeof t;return(n=="number"?fH(r)&&pH(t,r.length):n=="string"&&t in r)?dH(r[t],e):!1}var qm=mH,gH=_C,yH=DW,vH=cH,SS=qm,xH=vH(function(e,t){if(e==null)return[];var r=t.length;return r>1&&SS(e,t[0],t[1])?t=[]:r>2&&SS(t[0],t[1],t[2])&&(t=[t[0]]),yH(e,gH(t,1),[])}),bH=xH;const Lw=vt(bH);function Bc(e){"@babel/helpers - typeof";return Bc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bc(e)}function Vx(){return Vx=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=t.x),"".concat(ku,"-left"),se(r)&&t&&se(t.x)&&r=t.y),"".concat(ku,"-top"),se(n)&&t&&se(t.y)&&nv?Math.max(f,u[n]):Math.max(d,u[n])}function IH(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function MH(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTopLeft,a=e.position,i=e.reverseDirection,s=e.tooltipBox,o=e.useTranslate3d,u=e.viewBox,c,f,d;return s.height>0&&s.width>0&&r?(f=NS({allowEscapeViewBox:t,coordinate:r,key:"x",offsetTopLeft:n,position:a,reverseDirection:i,tooltipDimension:s.width,viewBox:u,viewBoxDimension:u.width}),d=NS({allowEscapeViewBox:t,coordinate:r,key:"y",offsetTopLeft:n,position:a,reverseDirection:i,tooltipDimension:s.height,viewBox:u,viewBoxDimension:u.height}),c=IH({translateX:f,translateY:d,useTranslate3d:o})):c=$H,{cssProperties:c,cssClasses:RH({translateX:f,translateY:d,coordinate:r})}}function _l(e){"@babel/helpers - typeof";return _l=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_l(e)}function AS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function ES(e){for(var t=1;tPS||Math.abs(n.height-this.state.lastBoundingBox.height)>PS)&&this.setState({lastBoundingBox:{width:n.width,height:n.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var n,a;this.props.active&&this.updateBBox(),this.state.dismissed&&(((n=this.props.coordinate)===null||n===void 0?void 0:n.x)!==this.state.dismissedAtCoordinate.x||((a=this.props.coordinate)===null||a===void 0?void 0:a.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var n=this,a=this.props,i=a.active,s=a.allowEscapeViewBox,o=a.animationDuration,u=a.animationEasing,c=a.children,f=a.coordinate,d=a.hasPayload,p=a.isAnimationActive,h=a.offset,x=a.position,v=a.reverseDirection,g=a.useTranslate3d,y=a.viewBox,m=a.wrapperStyle,w=MH({allowEscapeViewBox:s,coordinate:f,offsetTopLeft:h,position:x,reverseDirection:v,tooltipBox:this.state.lastBoundingBox,useTranslate3d:g,viewBox:y}),j=w.cssClasses,b=w.cssProperties,_=ES(ES({transition:p&&i?"transform ".concat(o,"ms ").concat(u):void 0},b),{},{pointerEvents:"none",visibility:!this.state.dismissed&&i&&d?"visible":"hidden",position:"absolute",top:0,left:0},m);return P.createElement("div",{tabIndex:-1,className:j,style:_,ref:function(O){n.wrapperNode=O}},c)}}])}(S.PureComponent),GH=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},os={isSsr:GH()};function jl(e){"@babel/helpers - typeof";return jl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jl(e)}function CS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function TS(e){for(var t=1;t0;return P.createElement(HH,{allowEscapeViewBox:s,animationDuration:o,animationEasing:u,isAnimationActive:p,active:i,coordinate:f,hasPayload:_,offset:h,position:g,reverseDirection:y,useTranslate3d:m,viewBox:w,wrapperStyle:j},rG(c,TS(TS({},this.props),{},{payload:b})))}}])}(S.PureComponent);Fw(Or,"displayName","Tooltip");Fw(Or,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!os.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var nG=Ia,aG=function(){return nG.Date.now()},iG=aG,sG=/\s/;function oG(e){for(var t=e.length;t--&&sG.test(e.charAt(t)););return t}var lG=oG,uG=lG,cG=/^\s+/;function dG(e){return e&&e.slice(0,uG(e)+1).replace(cG,"")}var fG=dG,pG=fG,$S=ss,hG=Ql,RS=NaN,mG=/^[-+]0x[0-9a-f]+$/i,gG=/^0b[01]+$/i,yG=/^0o[0-7]+$/i,vG=parseInt;function xG(e){if(typeof e=="number")return e;if(hG(e))return RS;if($S(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=$S(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=pG(e);var r=gG.test(e);return r||yG.test(e)?vG(e.slice(2),r?2:8):mG.test(e)?RS:+e}var PC=xG,bG=ss,gy=iG,IS=PC,wG="Expected a function",_G=Math.max,jG=Math.min;function SG(e,t,r){var n,a,i,s,o,u,c=0,f=!1,d=!1,p=!0;if(typeof e!="function")throw new TypeError(wG);t=IS(t)||0,bG(r)&&(f=!!r.leading,d="maxWait"in r,i=d?_G(IS(r.maxWait)||0,t):i,p="trailing"in r?!!r.trailing:p);function h(_){var k=n,O=a;return n=a=void 0,c=_,s=e.apply(O,k),s}function x(_){return c=_,o=setTimeout(y,t),f?h(_):s}function v(_){var k=_-u,O=_-c,E=t-k;return d?jG(E,i-O):E}function g(_){var k=_-u,O=_-c;return u===void 0||k>=t||k<0||d&&O>=i}function y(){var _=gy();if(g(_))return m(_);o=setTimeout(y,v(_))}function m(_){return o=void 0,p&&n?h(_):(n=a=void 0,s)}function w(){o!==void 0&&clearTimeout(o),c=0,n=u=a=o=void 0}function j(){return o===void 0?s:m(gy())}function b(){var _=gy(),k=g(_);if(n=arguments,a=this,u=_,k){if(o===void 0)return x(u);if(d)return clearTimeout(o),o=setTimeout(y,t),h(u)}return o===void 0&&(o=setTimeout(y,t)),s}return b.cancel=w,b.flush=j,b}var kG=SG,OG=kG,NG=ss,AG="Expected a function";function EG(e,t,r){var n=!0,a=!0;if(typeof e!="function")throw new TypeError(AG);return NG(r)&&(n="leading"in r?!!r.leading:n,a="trailing"in r?!!r.trailing:a),OG(e,t,{leading:n,maxWait:t,trailing:a})}var PG=EG;const CC=vt(PG);function Vc(e){"@babel/helpers - typeof";return Vc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vc(e)}function MS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function kf(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&(R=CC(R,v,{trailing:!0,leading:!1}));var M=new ResizeObserver(R),L=b.current.getBoundingClientRect(),V=L.width,H=L.height;return $(V,H),M.observe(b.current),function(){M.disconnect()}},[$,v]);var A=S.useMemo(function(){var R=E.containerWidth,M=E.containerHeight;if(R<0||M<0)return null;la(Ps(s)||Ps(u),`The width(%s) and height(%s) are both fixed numbers, - maybe you don't need to use a ResponsiveContainer.`,s,u),la(!r||r>0,"The aspect(%s) must be greater than zero.",r);var L=Ps(s)?R:s,V=Ps(u)?M:u;r&&r>0&&(L?V=L/r:V&&(L=V*r),p&&V>p&&(V=p)),la(L>0||V>0,`The width(%s) and height(%s) of chart should be greater than 0, +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jH(e,t){if(e){if(typeof e=="string")return kS(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return kS(e,t)}}function kS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=t.x),"".concat(ku,"-left"),se(r)&&t&&se(t.x)&&r=t.y),"".concat(ku,"-top"),se(n)&&t&&se(t.y)&&nv?Math.max(f,u[n]):Math.max(d,u[n])}function IH(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function MH(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTopLeft,a=e.position,i=e.reverseDirection,s=e.tooltipBox,o=e.useTranslate3d,u=e.viewBox,c,f,d;return s.height>0&&s.width>0&&r?(f=NS({allowEscapeViewBox:t,coordinate:r,key:"x",offsetTopLeft:n,position:a,reverseDirection:i,tooltipDimension:s.width,viewBox:u,viewBoxDimension:u.width}),d=NS({allowEscapeViewBox:t,coordinate:r,key:"y",offsetTopLeft:n,position:a,reverseDirection:i,tooltipDimension:s.height,viewBox:u,viewBoxDimension:u.height}),c=IH({translateX:f,translateY:d,useTranslate3d:o})):c=$H,{cssProperties:c,cssClasses:RH({translateX:f,translateY:d,coordinate:r})}}function _l(e){"@babel/helpers - typeof";return _l=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_l(e)}function AS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function ES(e){for(var t=1;tPS||Math.abs(n.height-this.state.lastBoundingBox.height)>PS)&&this.setState({lastBoundingBox:{width:n.width,height:n.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var n,a;this.props.active&&this.updateBBox(),this.state.dismissed&&(((n=this.props.coordinate)===null||n===void 0?void 0:n.x)!==this.state.dismissedAtCoordinate.x||((a=this.props.coordinate)===null||a===void 0?void 0:a.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var n=this,a=this.props,i=a.active,s=a.allowEscapeViewBox,o=a.animationDuration,u=a.animationEasing,c=a.children,f=a.coordinate,d=a.hasPayload,p=a.isAnimationActive,h=a.offset,x=a.position,v=a.reverseDirection,g=a.useTranslate3d,y=a.viewBox,m=a.wrapperStyle,w=MH({allowEscapeViewBox:s,coordinate:f,offsetTopLeft:h,position:x,reverseDirection:v,tooltipBox:this.state.lastBoundingBox,useTranslate3d:g,viewBox:y}),j=w.cssClasses,b=w.cssProperties,_=ES(ES({transition:p&&i?"transform ".concat(o,"ms ").concat(u):void 0},b),{},{pointerEvents:"none",visibility:!this.state.dismissed&&i&&d?"visible":"hidden",position:"absolute",top:0,left:0},m);return P.createElement("div",{tabIndex:-1,className:j,style:_,ref:function(O){n.wrapperNode=O}},c)}}])}(S.PureComponent),GH=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},os={isSsr:GH()};function jl(e){"@babel/helpers - typeof";return jl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jl(e)}function CS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function TS(e){for(var t=1;t0;return P.createElement(HH,{allowEscapeViewBox:s,animationDuration:o,animationEasing:u,isAnimationActive:p,active:i,coordinate:f,hasPayload:_,offset:h,position:g,reverseDirection:y,useTranslate3d:m,viewBox:w,wrapperStyle:j},rG(c,TS(TS({},this.props),{},{payload:b})))}}])}(S.PureComponent);Fw(Or,"displayName","Tooltip");Fw(Or,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!os.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var nG=Ia,aG=function(){return nG.Date.now()},iG=aG,sG=/\s/;function oG(e){for(var t=e.length;t--&&sG.test(e.charAt(t)););return t}var lG=oG,uG=lG,cG=/^\s+/;function dG(e){return e&&e.slice(0,uG(e)+1).replace(cG,"")}var fG=dG,pG=fG,$S=ss,hG=Ql,RS=NaN,mG=/^[-+]0x[0-9a-f]+$/i,gG=/^0b[01]+$/i,yG=/^0o[0-7]+$/i,vG=parseInt;function xG(e){if(typeof e=="number")return e;if(hG(e))return RS;if($S(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=$S(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=pG(e);var r=gG.test(e);return r||yG.test(e)?vG(e.slice(2),r?2:8):mG.test(e)?RS:+e}var PC=xG,bG=ss,gy=iG,IS=PC,wG="Expected a function",_G=Math.max,jG=Math.min;function SG(e,t,r){var n,a,i,s,o,u,c=0,f=!1,d=!1,p=!0;if(typeof e!="function")throw new TypeError(wG);t=IS(t)||0,bG(r)&&(f=!!r.leading,d="maxWait"in r,i=d?_G(IS(r.maxWait)||0,t):i,p="trailing"in r?!!r.trailing:p);function h(_){var k=n,O=a;return n=a=void 0,c=_,s=e.apply(O,k),s}function x(_){return c=_,o=setTimeout(y,t),f?h(_):s}function v(_){var k=_-u,O=_-c,E=t-k;return d?jG(E,i-O):E}function g(_){var k=_-u,O=_-c;return u===void 0||k>=t||k<0||d&&O>=i}function y(){var _=gy();if(g(_))return m(_);o=setTimeout(y,v(_))}function m(_){return o=void 0,p&&n?h(_):(n=a=void 0,s)}function w(){o!==void 0&&clearTimeout(o),c=0,n=u=a=o=void 0}function j(){return o===void 0?s:m(gy())}function b(){var _=gy(),k=g(_);if(n=arguments,a=this,u=_,k){if(o===void 0)return x(u);if(d)return clearTimeout(o),o=setTimeout(y,t),h(u)}return o===void 0&&(o=setTimeout(y,t)),s}return b.cancel=w,b.flush=j,b}var kG=SG,OG=kG,NG=ss,AG="Expected a function";function EG(e,t,r){var n=!0,a=!0;if(typeof e!="function")throw new TypeError(AG);return NG(r)&&(n="leading"in r?!!r.leading:n,a="trailing"in r?!!r.trailing:a),OG(e,t,{leading:n,maxWait:t,trailing:a})}var PG=EG;const CC=vt(PG);function Vc(e){"@babel/helpers - typeof";return Vc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vc(e)}function MS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function kf(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&($=CC($,v,{trailing:!0,leading:!1}));var I=new ResizeObserver($),L=b.current.getBoundingClientRect(),V=L.width,H=L.height;return R(V,H),I.observe(b.current),function(){I.disconnect()}},[R,v]);var N=S.useMemo(function(){var $=E.containerWidth,I=E.containerHeight;if($<0||I<0)return null;la(Ps(s)||Ps(u),`The width(%s) and height(%s) are both fixed numbers, + maybe you don't need to use a ResponsiveContainer.`,s,u),la(!r||r>0,"The aspect(%s) must be greater than zero.",r);var L=Ps(s)?$:s,V=Ps(u)?I:u;r&&r>0&&(L?V=L/r:V&&(L=V*r),p&&V>p&&(V=p)),la(L>0||V>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,L,V,s,u,f,d,r);var H=!Array.isArray(h)&&Qa(h.type).endsWith("Chart");return P.Children.map(h,function(I){return P.isValidElement(I)?S.cloneElement(I,kf({width:L,height:V},H?{style:kf({height:"100%",width:"100%",maxHeight:V,maxWidth:L},I.props.style)}:{})):I})},[r,h,u,p,d,f,E,s]);return P.createElement("div",{id:g?"".concat(g):void 0,className:He("recharts-responsive-container",y),style:kf(kf({},j),{},{width:s,height:u,minWidth:f,minHeight:d,maxHeight:p}),ref:b},A)}),qi=function(t){return null};qi.displayName="Cell";function Wc(e){"@babel/helpers - typeof";return Wc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wc(e)}function LS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function qx(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||os.isSsr)return{width:0,height:0};var n=WG(r),a=JSON.stringify({text:t,copyStyle:n});if(go.widthCache[a])return go.widthCache[a];try{var i=document.getElementById(FS);i||(i=document.createElement("span"),i.setAttribute("id",FS),i.setAttribute("aria-hidden","true"),document.body.appendChild(i));var s=qx(qx({},VG),n);Object.assign(i.style,s),i.textContent="".concat(t);var o=i.getBoundingClientRect(),u={width:o.width,height:o.height};return go.widthCache[a]=u,++go.cacheCount>UG&&(go.cacheCount=0,go.widthCache={}),u}catch{return{width:0,height:0}}},HG=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function Hc(e){"@babel/helpers - typeof";return Hc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hc(e)}function th(e,t){return YG(e)||KG(e,t)||qG(e,t)||GG()}function GG(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. + height and width.`,L,V,s,u,f,d,r);var H=!Array.isArray(h)&&Qa(h.type).endsWith("Chart");return P.Children.map(h,function(M){return P.isValidElement(M)?S.cloneElement(M,kf({width:L,height:V},H?{style:kf({height:"100%",width:"100%",maxHeight:V,maxWidth:L},M.props.style)}:{})):M})},[r,h,u,p,d,f,E,s]);return P.createElement("div",{id:g?"".concat(g):void 0,className:He("recharts-responsive-container",y),style:kf(kf({},j),{},{width:s,height:u,minWidth:f,minHeight:d,maxHeight:p}),ref:b},N)}),qi=function(t){return null};qi.displayName="Cell";function Wc(e){"@babel/helpers - typeof";return Wc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wc(e)}function LS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function qx(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||os.isSsr)return{width:0,height:0};var n=WG(r),a=JSON.stringify({text:t,copyStyle:n});if(go.widthCache[a])return go.widthCache[a];try{var i=document.getElementById(FS);i||(i=document.createElement("span"),i.setAttribute("id",FS),i.setAttribute("aria-hidden","true"),document.body.appendChild(i));var s=qx(qx({},VG),n);Object.assign(i.style,s),i.textContent="".concat(t);var o=i.getBoundingClientRect(),u={width:o.width,height:o.height};return go.widthCache[a]=u,++go.cacheCount>UG&&(go.cacheCount=0,go.widthCache={}),u}catch{return{width:0,height:0}}},HG=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function Hc(e){"@babel/helpers - typeof";return Hc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hc(e)}function th(e,t){return YG(e)||KG(e,t)||qG(e,t)||GG()}function GG(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qG(e,t){if(e){if(typeof e=="string")return zS(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return zS(e,t)}}function zS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function uq(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function GS(e,t){return pq(e)||fq(e,t)||dq(e,t)||cq()}function cq(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dq(e,t){if(e){if(typeof e=="string")return qS(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return qS(e,t)}}function qS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&arguments[0]!==void 0?arguments[0]:[];return L.reduce(function(V,H){var I=H.word,B=H.width,W=V[V.length-1];if(W&&(a==null||i||W.width+B+nH.width?V:H})};if(!f)return h;for(var v="…",g=function(L){var V=d.slice(0,L),H=IC({breakAll:c,style:u,children:V+v}).wordsWithComputedWidth,I=p(H),B=I.length>s||x(I).width>Number(a);return[B,I]},y=0,m=d.length-1,w=0,j;y<=m&&w<=d.length-1;){var b=Math.floor((y+m)/2),_=b-1,k=g(_),O=GS(k,2),E=O[0],T=O[1],$=g(b),A=GS($,1),R=A[0];if(!E&&!R&&(y=b+1),E&&R&&(m=b-1),!E&&R){j=T;break}w++}return j||h},KS=function(t){var r=Fe(t)?[]:t.toString().split(RC);return[{words:r}]},mq=function(t){var r=t.width,n=t.scaleToFit,a=t.children,i=t.style,s=t.breakAll,o=t.maxLines;if((r||n)&&!os.isSsr){var u,c,f=IC({breakAll:s,children:a,style:i});if(f){var d=f.wordsWithComputedWidth,p=f.spaceWidth;u=d,c=p}else return KS(a);return hq({breakAll:s,children:a,maxLines:o,style:i},u,c,r,n)}return KS(a)},YS="#808080",Ys=function(t){var r=t.x,n=r===void 0?0:r,a=t.y,i=a===void 0?0:a,s=t.lineHeight,o=s===void 0?"1em":s,u=t.capHeight,c=u===void 0?"0.71em":u,f=t.scaleToFit,d=f===void 0?!1:f,p=t.textAnchor,h=p===void 0?"start":p,x=t.verticalAnchor,v=x===void 0?"end":x,g=t.fill,y=g===void 0?YS:g,m=HS(t,oq),w=S.useMemo(function(){return mq({breakAll:m.breakAll,children:m.children,maxLines:m.maxLines,scaleToFit:d,style:m.style,width:m.width})},[m.breakAll,m.children,m.maxLines,d,m.style,m.width]),j=m.dx,b=m.dy,_=m.angle,k=m.className,O=m.breakAll,E=HS(m,lq);if(!pr(n)||!pr(i))return null;var T=n+(se(j)?j:0),$=i+(se(b)?b:0),A;switch(v){case"start":A=yy("calc(".concat(c,")"));break;case"middle":A=yy("calc(".concat((w.length-1)/2," * -").concat(o," + (").concat(c," / 2))"));break;default:A=yy("calc(".concat(w.length-1," * -").concat(o,")"));break}var R=[];if(d){var M=w[0].width,L=m.width;R.push("scale(".concat((se(L)?L/M:1)/M,")"))}return _&&R.push("rotate(".concat(_,", ").concat(T,", ").concat($,")")),R.length&&(E.transform=R.join(" ")),P.createElement("text",Kx({},Ee(E,!0),{x:T,y:$,className:He("recharts-text",k),textAnchor:h,fill:y.includes("url")?YS:y}),w.map(function(V,H){var I=V.words.join(O?"":" ");return P.createElement("tspan",{x:T,dy:H===0?A:o,key:"".concat(I,"-").concat(H)},I)}))};function Ki(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function gq(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function zw(e){let t,r,n;e.length!==2?(t=Ki,r=(o,u)=>Ki(e(o),u),n=(o,u)=>e(o)-u):(t=e===Ki||e===gq?e:yq,r=e,n=e);function a(o,u,c=0,f=o.length){if(c>>1;r(o[d],u)<0?c=d+1:f=d}while(c>>1;r(o[d],u)<=0?c=d+1:f=d}while(cc&&n(o[d-1],u)>-n(o[d],u)?d-1:d}return{left:a,center:s,right:i}}function yq(){return 0}function MC(e){return e===null?NaN:+e}function*vq(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const xq=zw(Ki),Dd=xq.right;zw(MC).center;class XS extends Map{constructor(t,r=_q){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,a]of t)this.set(n,a)}get(t){return super.get(ZS(this,t))}has(t){return super.has(ZS(this,t))}set(t,r){return super.set(bq(this,t),r)}delete(t){return super.delete(wq(this,t))}}function ZS({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function bq({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function wq({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function _q(e){return e!==null&&typeof e=="object"?e.valueOf():e}function jq(e=Ki){if(e===Ki)return DC;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function DC(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const Sq=Math.sqrt(50),kq=Math.sqrt(10),Oq=Math.sqrt(2);function rh(e,t,r){const n=(t-e)/Math.max(0,r),a=Math.floor(Math.log10(n)),i=n/Math.pow(10,a),s=i>=Sq?10:i>=kq?5:i>=Oq?2:1;let o,u,c;return a<0?(c=Math.pow(10,-a)/s,o=Math.round(e*c),u=Math.round(t*c),o/ct&&--u,c=-c):(c=Math.pow(10,a)*s,o=Math.round(e/c),u=Math.round(t/c),o*ct&&--u),u0))return[];if(e===t)return[e];const n=t=a))return[];const o=i-a+1,u=new Array(o);if(n)if(s<0)for(let c=0;c=n)&&(r=n);return r}function QS(e,t){let r;for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);return r}function LC(e,t,r=0,n=1/0,a){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(a=a===void 0?DC:jq(a);n>r;){if(n-r>600){const u=n-r+1,c=t-r+1,f=Math.log(u),d=.5*Math.exp(2*f/3),p=.5*Math.sqrt(f*d*(u-d)/u)*(c-u/2<0?-1:1),h=Math.max(r,Math.floor(t-c*d/u+p)),x=Math.min(n,Math.floor(t+(u-c)*d/u+p));LC(e,t,h,x,a)}const i=e[t];let s=r,o=n;for(Ou(e,r,t),a(e[n],i)>0&&Ou(e,r,n);s0;)--o}a(e[r],i)===0?Ou(e,r,o):(++o,Ou(e,o,n)),o<=t&&(r=o+1),t<=o&&(n=o-1)}return e}function Ou(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function Nq(e,t,r){if(e=Float64Array.from(vq(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return QS(e);if(t>=1)return JS(e);var n,a=(n-1)*t,i=Math.floor(a),s=JS(LC(e,i).subarray(0,i+1)),o=QS(e.subarray(i+1));return s+(o-s)*(a-i)}}function Aq(e,t,r=MC){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,a=(n-1)*t,i=Math.floor(a),s=+r(e[i],i,e),o=+r(e[i+1],i+1,e);return s+(o-s)*(a-i)}}function Eq(e,t,r){e=+e,t=+t,r=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+r;for(var n=-1,a=Math.max(0,Math.ceil((t-e)/r))|0,i=new Array(a);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?Nf(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?Nf(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Cq.exec(e))?new rn(t[1],t[2],t[3],1):(t=Tq.exec(e))?new rn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=$q.exec(e))?Nf(t[1],t[2],t[3],t[4]):(t=Rq.exec(e))?Nf(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Iq.exec(e))?sk(t[1],t[2]/100,t[3]/100,1):(t=Mq.exec(e))?sk(t[1],t[2]/100,t[3]/100,t[4]):ek.hasOwnProperty(e)?nk(ek[e]):e==="transparent"?new rn(NaN,NaN,NaN,0):null}function nk(e){return new rn(e>>16&255,e>>8&255,e&255,1)}function Nf(e,t,r,n){return n<=0&&(e=t=r=NaN),new rn(e,t,r,n)}function Fq(e){return e instanceof Ld||(e=Yc(e)),e?(e=e.rgb(),new rn(e.r,e.g,e.b,e.opacity)):new rn}function Qx(e,t,r,n){return arguments.length===1?Fq(e):new rn(e,t,r,n??1)}function rn(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}Uw(rn,Qx,zC(Ld,{brighter(e){return e=e==null?nh:Math.pow(nh,e),new rn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?qc:Math.pow(qc,e),new rn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new rn(Fs(this.r),Fs(this.g),Fs(this.b),ah(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ak,formatHex:ak,formatHex8:zq,formatRgb:ik,toString:ik}));function ak(){return`#${Cs(this.r)}${Cs(this.g)}${Cs(this.b)}`}function zq(){return`#${Cs(this.r)}${Cs(this.g)}${Cs(this.b)}${Cs((isNaN(this.opacity)?1:this.opacity)*255)}`}function ik(){const e=ah(this.opacity);return`${e===1?"rgb(":"rgba("}${Fs(this.r)}, ${Fs(this.g)}, ${Fs(this.b)}${e===1?")":`, ${e})`}`}function ah(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Fs(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Cs(e){return e=Fs(e),(e<16?"0":"")+e.toString(16)}function sk(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new na(e,t,r,n)}function BC(e){if(e instanceof na)return new na(e.h,e.s,e.l,e.opacity);if(e instanceof Ld||(e=Yc(e)),!e)return new na;if(e instanceof na)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),i=Math.max(t,r,n),s=NaN,o=i-a,u=(i+a)/2;return o?(t===i?s=(r-n)/o+(r0&&u<1?0:s,new na(s,o,u,e.opacity)}function Bq(e,t,r,n){return arguments.length===1?BC(e):new na(e,t,r,n??1)}function na(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}Uw(na,Bq,zC(Ld,{brighter(e){return e=e==null?nh:Math.pow(nh,e),new na(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?qc:Math.pow(qc,e),new na(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,a=2*r-n;return new rn(vy(e>=240?e-240:e+120,a,n),vy(e,a,n),vy(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new na(ok(this.h),Af(this.s),Af(this.l),ah(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=ah(this.opacity);return`${e===1?"hsl(":"hsla("}${ok(this.h)}, ${Af(this.s)*100}%, ${Af(this.l)*100}%${e===1?")":`, ${e})`}`}}));function ok(e){return e=(e||0)%360,e<0?e+360:e}function Af(e){return Math.max(0,Math.min(1,e||0))}function vy(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const Vw=e=>()=>e;function Uq(e,t){return function(r){return e+r*t}}function Vq(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function Wq(e){return(e=+e)==1?UC:function(t,r){return r-t?Vq(t,r,e):Vw(isNaN(t)?r:t)}}function UC(e,t){var r=t-e;return r?Uq(e,r):Vw(isNaN(e)?t:e)}const lk=function e(t){var r=Wq(t);function n(a,i){var s=r((a=Qx(a)).r,(i=Qx(i)).r),o=r(a.g,i.g),u=r(a.b,i.b),c=UC(a.opacity,i.opacity);return function(f){return a.r=s(f),a.g=o(f),a.b=u(f),a.opacity=c(f),a+""}}return n.gamma=e,n}(1);function Hq(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),a;return function(i){for(a=0;ar&&(i=t.slice(r,i),o[s]?o[s]+=i:o[++s]=i),(n=n[0])===(a=a[0])?o[s]?o[s]+=a:o[++s]=a:(o[++s]=null,u.push({i:s,x:ih(n,a)})),r=xy.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function rK(e,t,r){var n=e[0],a=e[1],i=t[0],s=t[1];return a2?nK:rK,u=c=null,d}function d(p){return p==null||isNaN(p=+p)?i:(u||(u=o(e.map(n),t,r)))(n(s(p)))}return d.invert=function(p){return s(a((c||(c=o(t,e.map(n),ih)))(p)))},d.domain=function(p){return arguments.length?(e=Array.from(p,sh),f()):e.slice()},d.range=function(p){return arguments.length?(t=Array.from(p),f()):t.slice()},d.rangeRound=function(p){return t=Array.from(p),r=Ww,f()},d.clamp=function(p){return arguments.length?(s=p?!0:qr,f()):s!==qr},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(i=p,d):i},function(p,h){return n=p,a=h,f()}}function Hw(){return Km()(qr,qr)}function aK(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function oh(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function Sl(e){return e=oh(Math.abs(e)),e?e[1]:NaN}function iK(e,t){return function(r,n){for(var a=r.length,i=[],s=0,o=e[0],u=0;a>0&&o>0&&(u+o+1>n&&(o=Math.max(1,n-u)),i.push(r.substring(a-=o,a+o)),!((u+=o+1)>n));)o=e[s=(s+1)%e.length];return i.reverse().join(t)}}function sK(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var oK=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Xc(e){if(!(t=oK.exec(e)))throw new Error("invalid format: "+e);var t;return new Gw({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Xc.prototype=Gw.prototype;function Gw(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Gw.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function lK(e){e:for(var t=e.length,r=1,n=-1,a;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(a+1):e}var lh;function uK(e,t){var r=oh(e,t);if(!r)return lh=void 0,e.toPrecision(t);var n=r[0],a=r[1],i=a-(lh=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,s=n.length;return i===s?n:i>s?n+new Array(i-s+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+oh(e,Math.max(0,t+i-1))[0]}function ck(e,t){var r=oh(e,t);if(!r)return e+"";var n=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+n:n.length>a+1?n.slice(0,a+1)+"."+n.slice(a+1):n+new Array(a-n.length+2).join("0")}const dk={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:aK,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>ck(e*100,t),r:ck,s:uK,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function fk(e){return e}var pk=Array.prototype.map,hk=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function cK(e){var t=e.grouping===void 0||e.thousands===void 0?fk:iK(pk.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?fk:sK(pk.call(e.numerals,String)),s=e.percent===void 0?"%":e.percent+"",o=e.minus===void 0?"−":e.minus+"",u=e.nan===void 0?"NaN":e.nan+"";function c(d,p){d=Xc(d);var h=d.fill,x=d.align,v=d.sign,g=d.symbol,y=d.zero,m=d.width,w=d.comma,j=d.precision,b=d.trim,_=d.type;_==="n"?(w=!0,_="g"):dk[_]||(j===void 0&&(j=12),b=!0,_="g"),(y||h==="0"&&x==="=")&&(y=!0,h="0",x="=");var k=(p&&p.prefix!==void 0?p.prefix:"")+(g==="$"?r:g==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():""),O=(g==="$"?n:/[%p]/.test(_)?s:"")+(p&&p.suffix!==void 0?p.suffix:""),E=dk[_],T=/[defgprs%]/.test(_);j=j===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,j)):Math.max(0,Math.min(20,j));function $(A){var R=k,M=O,L,V,H;if(_==="c")M=E(A)+M,A="";else{A=+A;var I=A<0||1/A<0;if(A=isNaN(A)?u:E(Math.abs(A),j),b&&(A=lK(A)),I&&+A==0&&v!=="+"&&(I=!1),R=(I?v==="("?v:o:v==="-"||v==="("?"":v)+R,M=(_==="s"&&!isNaN(A)&&lh!==void 0?hk[8+lh/3]:"")+M+(I&&v==="("?")":""),T){for(L=-1,V=A.length;++LH||H>57){M=(H===46?a+A.slice(L+1):A.slice(L))+M,A=A.slice(0,L);break}}}w&&!y&&(A=t(A,1/0));var B=R.length+A.length+M.length,W=B>1)+R+A+M+W.slice(B);break;default:A=W+R+A+M;break}return i(A)}return $.toString=function(){return d+""},$}function f(d,p){var h=Math.max(-8,Math.min(8,Math.floor(Sl(p)/3)))*3,x=Math.pow(10,-h),v=c((d=Xc(d),d.type="f",d),{suffix:hk[8+h/3]});return function(g){return v(x*g)}}return{format:c,formatPrefix:f}}var Ef,qw,VC;dK({thousands:",",grouping:[3],currency:["$",""]});function dK(e){return Ef=cK(e),qw=Ef.format,VC=Ef.formatPrefix,Ef}function fK(e){return Math.max(0,-Sl(Math.abs(e)))}function pK(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Sl(t)/3)))*3-Sl(Math.abs(e)))}function hK(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Sl(t)-Sl(e))+1}function WC(e,t,r,n){var a=Zx(e,t,r),i;switch(n=Xc(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(i=pK(a,s))&&(n.precision=i),VC(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(i=hK(a,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=i-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(i=fK(a))&&(n.precision=i-(n.type==="%")*2);break}}return qw(n)}function ls(e){var t=e.domain;return e.ticks=function(r){var n=t();return Yx(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var a=t();return WC(a[0],a[a.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),a=0,i=n.length-1,s=n[a],o=n[i],u,c,f=10;for(o0;){if(c=Xx(s,o,r),c===u)return n[a]=s,n[i]=o,t(n);if(c>0)s=Math.floor(s/c)*c,o=Math.ceil(o/c)*c;else if(c<0)s=Math.ceil(s*c)/c,o=Math.floor(o*c)/c;else break;u=c}return e},e}function uh(){var e=Hw();return e.copy=function(){return Fd(e,uh())},Hn.apply(e,arguments),ls(e)}function HC(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,sh),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return HC(e).unknown(t)},e=arguments.length?Array.from(e,sh):[0,1],ls(r)}function GC(e,t){e=e.slice();var r=0,n=e.length-1,a=e[r],i=e[n],s;return iMath.pow(e,t)}function xK(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function yk(e){return(t,r)=>-e(-t,r)}function Kw(e){const t=e(mk,gk),r=t.domain;let n=10,a,i;function s(){return a=xK(n),i=vK(n),r()[0]<0?(a=yk(a),i=yk(i),e(mK,gK)):e(mk,gk),t}return t.base=function(o){return arguments.length?(n=+o,s()):n},t.domain=function(o){return arguments.length?(r(o),s()):r()},t.ticks=o=>{const u=r();let c=u[0],f=u[u.length-1];const d=f0){for(;p<=h;++p)for(x=1;xf)break;y.push(v)}}else for(;p<=h;++p)for(x=n-1;x>=1;--x)if(v=p>0?x/i(-p):x*i(p),!(vf)break;y.push(v)}y.length*2{if(o==null&&(o=10),u==null&&(u=n===10?"s":","),typeof u!="function"&&(!(n%1)&&(u=Xc(u)).precision==null&&(u.trim=!0),u=qw(u)),o===1/0)return u;const c=Math.max(1,n*o/t.ticks().length);return f=>{let d=f/i(Math.round(a(f)));return d*nr(GC(r(),{floor:o=>i(Math.floor(a(o))),ceil:o=>i(Math.ceil(a(o)))})),t}function qC(){const e=Kw(Km()).domain([1,10]);return e.copy=()=>Fd(e,qC()).base(e.base()),Hn.apply(e,arguments),e}function vk(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function xk(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Yw(e){var t=1,r=e(vk(t),xk(t));return r.constant=function(n){return arguments.length?e(vk(t=+n),xk(t)):t},ls(r)}function KC(){var e=Yw(Km());return e.copy=function(){return Fd(e,KC()).constant(e.constant())},Hn.apply(e,arguments)}function bk(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function bK(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function wK(e){return e<0?-e*e:e*e}function Xw(e){var t=e(qr,qr),r=1;function n(){return r===1?e(qr,qr):r===.5?e(bK,wK):e(bk(r),bk(1/r))}return t.exponent=function(a){return arguments.length?(r=+a,n()):r},ls(t)}function Zw(){var e=Xw(Km());return e.copy=function(){return Fd(e,Zw()).exponent(e.exponent())},Hn.apply(e,arguments),e}function _K(){return Zw.apply(null,arguments).exponent(.5)}function wk(e){return Math.sign(e)*e*e}function jK(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function YC(){var e=Hw(),t=[0,1],r=!1,n;function a(i){var s=jK(e(i));return isNaN(s)?n:r?Math.round(s):s}return a.invert=function(i){return e.invert(wk(i))},a.domain=function(i){return arguments.length?(e.domain(i),a):e.domain()},a.range=function(i){return arguments.length?(e.range((t=Array.from(i,sh)).map(wk)),a):t.slice()},a.rangeRound=function(i){return a.range(i).round(!0)},a.round=function(i){return arguments.length?(r=!!i,a):r},a.clamp=function(i){return arguments.length?(e.clamp(i),a):e.clamp()},a.unknown=function(i){return arguments.length?(n=i,a):n},a.copy=function(){return YC(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},Hn.apply(a,arguments),ls(a)}function XC(){var e=[],t=[],r=[],n;function a(){var s=0,o=Math.max(1,t.length);for(r=new Array(o-1);++s0?r[o-1]:e[0],o=r?[n[r-1],t]:[n[c-1],n[c]]},s.unknown=function(u){return arguments.length&&(i=u),s},s.thresholds=function(){return n.slice()},s.copy=function(){return ZC().domain([e,t]).range(a).unknown(i)},Hn.apply(ls(s),arguments)}function JC(){var e=[.5],t=[0,1],r,n=1;function a(i){return i!=null&&i<=i?t[Dd(e,i,0,n)]:r}return a.domain=function(i){return arguments.length?(e=Array.from(i),n=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(i){return arguments.length?(t=Array.from(i),n=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(i){var s=t.indexOf(i);return[e[s-1],e[s]]},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return JC().domain(e).range(t).unknown(r)},Hn.apply(a,arguments)}const by=new Date,wy=new Date;function hr(e,t,r,n){function a(i){return e(i=arguments.length===0?new Date:new Date(+i)),i}return a.floor=i=>(e(i=new Date(+i)),i),a.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),a.round=i=>{const s=a(i),o=a.ceil(i);return i-s(t(i=new Date(+i),s==null?1:Math.floor(s)),i),a.range=(i,s,o)=>{const u=[];if(i=a.ceil(i),o=o==null?1:Math.floor(o),!(i0))return u;let c;do u.push(c=new Date(+i)),t(i,o),e(i);while(chr(s=>{if(s>=s)for(;e(s),!i(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;t(s,-1),!i(s););else for(;--o>=0;)for(;t(s,1),!i(s););}),r&&(a.count=(i,s)=>(by.setTime(+i),wy.setTime(+s),e(by),e(wy),Math.floor(r(by,wy))),a.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a.filter(n?s=>n(s)%i===0:s=>a.count(0,s)%i===0):a)),a}const ch=hr(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);ch.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?hr(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):ch);ch.range;const Ka=1e3,Fn=Ka*60,Ya=Fn*60,ii=Ya*24,Jw=ii*7,_k=ii*30,_y=ii*365,Ts=hr(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Ka)},(e,t)=>(t-e)/Ka,e=>e.getUTCSeconds());Ts.range;const Qw=hr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ka)},(e,t)=>{e.setTime(+e+t*Fn)},(e,t)=>(t-e)/Fn,e=>e.getMinutes());Qw.range;const e1=hr(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Fn)},(e,t)=>(t-e)/Fn,e=>e.getUTCMinutes());e1.range;const t1=hr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ka-e.getMinutes()*Fn)},(e,t)=>{e.setTime(+e+t*Ya)},(e,t)=>(t-e)/Ya,e=>e.getHours());t1.range;const r1=hr(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Ya)},(e,t)=>(t-e)/Ya,e=>e.getUTCHours());r1.range;const zd=hr(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Fn)/ii,e=>e.getDate()-1);zd.range;const Ym=hr(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ii,e=>e.getUTCDate()-1);Ym.range;const QC=hr(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ii,e=>Math.floor(e/ii));QC.range;function lo(e){return hr(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Fn)/Jw)}const Xm=lo(0),dh=lo(1),SK=lo(2),kK=lo(3),kl=lo(4),OK=lo(5),NK=lo(6);Xm.range;dh.range;SK.range;kK.range;kl.range;OK.range;NK.range;function uo(e){return hr(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/Jw)}const Zm=uo(0),fh=uo(1),AK=uo(2),EK=uo(3),Ol=uo(4),PK=uo(5),CK=uo(6);Zm.range;fh.range;AK.range;EK.range;Ol.range;PK.range;CK.range;const n1=hr(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());n1.range;const a1=hr(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());a1.range;const si=hr(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());si.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:hr(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});si.range;const oi=hr(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());oi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:hr(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});oi.range;function eT(e,t,r,n,a,i){const s=[[Ts,1,Ka],[Ts,5,5*Ka],[Ts,15,15*Ka],[Ts,30,30*Ka],[i,1,Fn],[i,5,5*Fn],[i,15,15*Fn],[i,30,30*Fn],[a,1,Ya],[a,3,3*Ya],[a,6,6*Ya],[a,12,12*Ya],[n,1,ii],[n,2,2*ii],[r,1,Jw],[t,1,_k],[t,3,3*_k],[e,1,_y]];function o(c,f,d){const p=fg).right(s,p);if(h===s.length)return e.every(Zx(c/_y,f/_y,d));if(h===0)return ch.every(Math.max(Zx(c,f,d),1));const[x,v]=s[p/s[h-1][2]53)return null;"w"in X||(X.w=1),"Z"in X?(ye=Sy(Nu(X.y,0,1)),qe=ye.getUTCDay(),ye=qe>4||qe===0?fh.ceil(ye):fh(ye),ye=Ym.offset(ye,(X.V-1)*7),X.y=ye.getUTCFullYear(),X.m=ye.getUTCMonth(),X.d=ye.getUTCDate()+(X.w+6)%7):(ye=jy(Nu(X.y,0,1)),qe=ye.getDay(),ye=qe>4||qe===0?dh.ceil(ye):dh(ye),ye=zd.offset(ye,(X.V-1)*7),X.y=ye.getFullYear(),X.m=ye.getMonth(),X.d=ye.getDate()+(X.w+6)%7)}else("W"in X||"U"in X)&&("w"in X||(X.w="u"in X?X.u%7:"W"in X?1:0),qe="Z"in X?Sy(Nu(X.y,0,1)).getUTCDay():jy(Nu(X.y,0,1)).getDay(),X.m=0,X.d="W"in X?(X.w+6)%7+X.W*7-(qe+5)%7:X.w+X.U*7-(qe+6)%7);return"Z"in X?(X.H+=X.Z/100|0,X.M+=X.Z%100,Sy(X)):jy(X)}}function O(J,ue,de,X){for(var we=0,ye=ue.length,qe=de.length,De,ke;we=qe)return-1;if(De=ue.charCodeAt(we++),De===37){if(De=ue.charAt(we++),ke=b[De in jk?ue.charAt(we++):De],!ke||(X=ke(J,de,X))<0)return-1}else if(De!=de.charCodeAt(X++))return-1}return X}function E(J,ue,de){var X=c.exec(ue.slice(de));return X?(J.p=f.get(X[0].toLowerCase()),de+X[0].length):-1}function T(J,ue,de){var X=h.exec(ue.slice(de));return X?(J.w=x.get(X[0].toLowerCase()),de+X[0].length):-1}function $(J,ue,de){var X=d.exec(ue.slice(de));return X?(J.w=p.get(X[0].toLowerCase()),de+X[0].length):-1}function A(J,ue,de){var X=y.exec(ue.slice(de));return X?(J.m=m.get(X[0].toLowerCase()),de+X[0].length):-1}function R(J,ue,de){var X=v.exec(ue.slice(de));return X?(J.m=g.get(X[0].toLowerCase()),de+X[0].length):-1}function M(J,ue,de){return O(J,t,ue,de)}function L(J,ue,de){return O(J,r,ue,de)}function V(J,ue,de){return O(J,n,ue,de)}function H(J){return s[J.getDay()]}function I(J){return i[J.getDay()]}function B(J){return u[J.getMonth()]}function W(J){return o[J.getMonth()]}function G(J){return a[+(J.getHours()>=12)]}function K(J){return 1+~~(J.getMonth()/3)}function ee(J){return s[J.getUTCDay()]}function q(J){return i[J.getUTCDay()]}function le(J){return u[J.getUTCMonth()]}function ge(J){return o[J.getUTCMonth()]}function $e(J){return a[+(J.getUTCHours()>=12)]}function Pe(J){return 1+~~(J.getUTCMonth()/3)}return{format:function(J){var ue=_(J+="",w);return ue.toString=function(){return J},ue},parse:function(J){var ue=k(J+="",!1);return ue.toString=function(){return J},ue},utcFormat:function(J){var ue=_(J+="",j);return ue.toString=function(){return J},ue},utcParse:function(J){var ue=k(J+="",!0);return ue.toString=function(){return J},ue}}}var jk={"-":"",_:" ",0:"0"},wr=/^\s*\d+/,DK=/^%/,LK=/[\\^$*+?|[\]().{}]/g;function ct(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",i=a.length;return n+(i[t.toLowerCase(),r]))}function zK(e,t,r){var n=wr.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function BK(e,t,r){var n=wr.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function UK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function VK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function WK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function Sk(e,t,r){var n=wr.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function kk(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function HK(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function GK(e,t,r){var n=wr.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function qK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function Ok(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function KK(e,t,r){var n=wr.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function Nk(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function YK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function XK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function ZK(e,t,r){var n=wr.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function JK(e,t,r){var n=wr.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function QK(e,t,r){var n=DK.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function eY(e,t,r){var n=wr.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function tY(e,t,r){var n=wr.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function Ak(e,t){return ct(e.getDate(),t,2)}function rY(e,t){return ct(e.getHours(),t,2)}function nY(e,t){return ct(e.getHours()%12||12,t,2)}function aY(e,t){return ct(1+zd.count(si(e),e),t,3)}function tT(e,t){return ct(e.getMilliseconds(),t,3)}function iY(e,t){return tT(e,t)+"000"}function sY(e,t){return ct(e.getMonth()+1,t,2)}function oY(e,t){return ct(e.getMinutes(),t,2)}function lY(e,t){return ct(e.getSeconds(),t,2)}function uY(e){var t=e.getDay();return t===0?7:t}function cY(e,t){return ct(Xm.count(si(e)-1,e),t,2)}function rT(e){var t=e.getDay();return t>=4||t===0?kl(e):kl.ceil(e)}function dY(e,t){return e=rT(e),ct(kl.count(si(e),e)+(si(e).getDay()===4),t,2)}function fY(e){return e.getDay()}function pY(e,t){return ct(dh.count(si(e)-1,e),t,2)}function hY(e,t){return ct(e.getFullYear()%100,t,2)}function mY(e,t){return e=rT(e),ct(e.getFullYear()%100,t,2)}function gY(e,t){return ct(e.getFullYear()%1e4,t,4)}function yY(e,t){var r=e.getDay();return e=r>=4||r===0?kl(e):kl.ceil(e),ct(e.getFullYear()%1e4,t,4)}function vY(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+ct(t/60|0,"0",2)+ct(t%60,"0",2)}function Ek(e,t){return ct(e.getUTCDate(),t,2)}function xY(e,t){return ct(e.getUTCHours(),t,2)}function bY(e,t){return ct(e.getUTCHours()%12||12,t,2)}function wY(e,t){return ct(1+Ym.count(oi(e),e),t,3)}function nT(e,t){return ct(e.getUTCMilliseconds(),t,3)}function _Y(e,t){return nT(e,t)+"000"}function jY(e,t){return ct(e.getUTCMonth()+1,t,2)}function SY(e,t){return ct(e.getUTCMinutes(),t,2)}function kY(e,t){return ct(e.getUTCSeconds(),t,2)}function OY(e){var t=e.getUTCDay();return t===0?7:t}function NY(e,t){return ct(Zm.count(oi(e)-1,e),t,2)}function aT(e){var t=e.getUTCDay();return t>=4||t===0?Ol(e):Ol.ceil(e)}function AY(e,t){return e=aT(e),ct(Ol.count(oi(e),e)+(oi(e).getUTCDay()===4),t,2)}function EY(e){return e.getUTCDay()}function PY(e,t){return ct(fh.count(oi(e)-1,e),t,2)}function CY(e,t){return ct(e.getUTCFullYear()%100,t,2)}function TY(e,t){return e=aT(e),ct(e.getUTCFullYear()%100,t,2)}function $Y(e,t){return ct(e.getUTCFullYear()%1e4,t,4)}function RY(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Ol(e):Ol.ceil(e),ct(e.getUTCFullYear()%1e4,t,4)}function IY(){return"+0000"}function Pk(){return"%"}function Ck(e){return+e}function Tk(e){return Math.floor(+e/1e3)}var yo,iT,sT;MY({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function MY(e){return yo=MK(e),iT=yo.format,yo.parse,sT=yo.utcFormat,yo.utcParse,yo}function DY(e){return new Date(e)}function LY(e){return e instanceof Date?+e:+new Date(+e)}function i1(e,t,r,n,a,i,s,o,u,c){var f=Hw(),d=f.invert,p=f.domain,h=c(".%L"),x=c(":%S"),v=c("%I:%M"),g=c("%I %p"),y=c("%a %d"),m=c("%b %d"),w=c("%B"),j=c("%Y");function b(_){return(u(_)<_?h:o(_)<_?x:s(_)<_?v:i(_)<_?g:n(_)<_?a(_)<_?y:m:r(_)<_?w:j)(_)}return f.invert=function(_){return new Date(d(_))},f.domain=function(_){return arguments.length?p(Array.from(_,LY)):p().map(DY)},f.ticks=function(_){var k=p();return e(k[0],k[k.length-1],_??10)},f.tickFormat=function(_,k){return k==null?b:c(k)},f.nice=function(_){var k=p();return(!_||typeof _.range!="function")&&(_=t(k[0],k[k.length-1],_??10)),_?p(GC(k,_)):f},f.copy=function(){return Fd(f,i1(e,t,r,n,a,i,s,o,u,c))},f}function FY(){return Hn.apply(i1(RK,IK,si,n1,Xm,zd,t1,Qw,Ts,iT).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function zY(){return Hn.apply(i1(TK,$K,oi,a1,Zm,Ym,r1,e1,Ts,sT).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Jm(){var e=0,t=1,r,n,a,i,s=qr,o=!1,u;function c(d){return d==null||isNaN(d=+d)?u:s(a===0?.5:(d=(i(d)-r)*a,o?Math.max(0,Math.min(1,d)):d))}c.domain=function(d){return arguments.length?([e,t]=d,r=i(e=+e),n=i(t=+t),a=r===n?0:1/(n-r),c):[e,t]},c.clamp=function(d){return arguments.length?(o=!!d,c):o},c.interpolator=function(d){return arguments.length?(s=d,c):s};function f(d){return function(p){var h,x;return arguments.length?([h,x]=p,s=d(h,x),c):[s(0),s(1)]}}return c.range=f(lu),c.rangeRound=f(Ww),c.unknown=function(d){return arguments.length?(u=d,c):u},function(d){return i=d,r=d(e),n=d(t),a=r===n?0:1/(n-r),c}}function us(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function oT(){var e=ls(Jm()(qr));return e.copy=function(){return us(e,oT())},gi.apply(e,arguments)}function lT(){var e=Kw(Jm()).domain([1,10]);return e.copy=function(){return us(e,lT()).base(e.base())},gi.apply(e,arguments)}function uT(){var e=Yw(Jm());return e.copy=function(){return us(e,uT()).constant(e.constant())},gi.apply(e,arguments)}function s1(){var e=Xw(Jm());return e.copy=function(){return us(e,s1()).exponent(e.exponent())},gi.apply(e,arguments)}function BY(){return s1.apply(null,arguments).exponent(.5)}function cT(){var e=[],t=qr;function r(n){if(n!=null&&!isNaN(n=+n))return t((Dd(e,n,1)-1)/(e.length-1))}return r.domain=function(n){if(!arguments.length)return e.slice();e=[];for(let a of n)a!=null&&!isNaN(a=+a)&&e.push(a);return e.sort(Ki),r},r.interpolator=function(n){return arguments.length?(t=n,r):t},r.range=function(){return e.map((n,a)=>t(a/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(a,i)=>Nq(e,i/n))},r.copy=function(){return cT(t).domain(e)},gi.apply(r,arguments)}function Qm(){var e=0,t=.5,r=1,n=1,a,i,s,o,u,c=qr,f,d=!1,p;function h(v){return isNaN(v=+v)?p:(v=.5+((v=+f(v))-i)*(n*vt}var hT=HY,GY=eg,qY=hT,KY=ou;function YY(e){return e&&e.length?GY(e,KY,qY):void 0}var XY=YY;const Mi=vt(XY);function ZY(e,t){return ee.e^i.s<0?1:-1;for(n=i.d.length,a=e.d.length,t=0,r=ne.d[t]^i.s<0?1:-1;return n===a?0:n>a^i.s<0?1:-1};xe.decimalPlaces=xe.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*Mt;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};xe.dividedBy=xe.div=function(e){return ei(this,new this.constructor(e))};xe.dividedToIntegerBy=xe.idiv=function(e){var t=this,r=t.constructor;return St(ei(t,new r(e),0,1),r.precision)};xe.equals=xe.eq=function(e){return!this.cmp(e)};xe.exponent=function(){return sr(this)};xe.greaterThan=xe.gt=function(e){return this.cmp(e)>0};xe.greaterThanOrEqualTo=xe.gte=function(e){return this.cmp(e)>=0};xe.isInteger=xe.isint=function(){return this.e>this.d.length-2};xe.isNegative=xe.isneg=function(){return this.s<0};xe.isPositive=xe.ispos=function(){return this.s>0};xe.isZero=function(){return this.s===0};xe.lessThan=xe.lt=function(e){return this.cmp(e)<0};xe.lessThanOrEqualTo=xe.lte=function(e){return this.cmp(e)<1};xe.logarithm=xe.log=function(e){var t,r=this,n=r.constructor,a=n.precision,i=a+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(vn))throw Error(Vn+"NaN");if(r.s<1)throw Error(Vn+(r.s?"NaN":"-Infinity"));return r.eq(vn)?new n(0):(Ut=!1,t=ei(Zc(r,i),Zc(e,i),i),Ut=!0,St(t,a))};xe.minus=xe.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?xT(t,e):yT(t,(e.s=-e.s,e))};xe.modulo=xe.mod=function(e){var t,r=this,n=r.constructor,a=n.precision;if(e=new n(e),!e.s)throw Error(Vn+"NaN");return r.s?(Ut=!1,t=ei(r,e,0,1).times(e),Ut=!0,r.minus(t)):St(new n(r),a)};xe.naturalExponential=xe.exp=function(){return vT(this)};xe.naturalLogarithm=xe.ln=function(){return Zc(this)};xe.negated=xe.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};xe.plus=xe.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?yT(t,e):xT(t,(e.s=-e.s,e))};xe.precision=xe.sd=function(e){var t,r,n,a=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(zs+e);if(t=sr(a)+1,n=a.d.length-1,r=n*Mt+1,n=a.d[n],n){for(;n%10==0;n/=10)r--;for(n=a.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};xe.squareRoot=xe.sqrt=function(){var e,t,r,n,a,i,s,o=this,u=o.constructor;if(o.s<1){if(!o.s)return new u(0);throw Error(Vn+"NaN")}for(e=sr(o),Ut=!1,a=Math.sqrt(+o),a==0||a==1/0?(t=ja(o.d),(t.length+e)%2==0&&(t+="0"),a=Math.sqrt(t),e=cu((e+1)/2)-(e<0||e%2),a==1/0?t="5e"+e:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new u(t)):n=new u(a.toString()),r=u.precision,a=s=r+3;;)if(i=n,n=i.plus(ei(o,i,s+2)).times(.5),ja(i.d).slice(0,s)===(t=ja(n.d)).slice(0,s)){if(t=t.slice(s-3,s+1),a==s&&t=="4999"){if(St(i,r+1,0),i.times(i).eq(o)){n=i;break}}else if(t!="9999")break;s+=4}return Ut=!0,St(n,r)};xe.times=xe.mul=function(e){var t,r,n,a,i,s,o,u,c,f=this,d=f.constructor,p=f.d,h=(e=new d(e)).d;if(!f.s||!e.s)return new d(0);for(e.s*=f.s,r=f.e+e.e,u=p.length,c=h.length,u=0;){for(t=0,a=u+n;a>n;)o=i[a]+h[n]*p[a-n-1]+t,i[a--]=o%gr|0,t=o/gr|0;i[a]=(i[a]+t)%gr|0}for(;!i[--s];)i.pop();return t?++r:i.shift(),e.d=i,e.e=r,Ut?St(e,d.precision):e};xe.toDecimalPlaces=xe.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:($a(e,0,uu),t===void 0?t=n.rounding:$a(t,0,8),St(r,e+sr(r)+1,t))};xe.toExponential=function(e,t){var r,n=this,a=n.constructor;return e===void 0?r=Zs(n,!0):($a(e,0,uu),t===void 0?t=a.rounding:$a(t,0,8),n=St(new a(n),e+1,t),r=Zs(n,!0,e+1)),r};xe.toFixed=function(e,t){var r,n,a=this,i=a.constructor;return e===void 0?Zs(a):($a(e,0,uu),t===void 0?t=i.rounding:$a(t,0,8),n=St(new i(a),e+sr(a)+1,t),r=Zs(n.abs(),!1,e+sr(n)+1),a.isneg()&&!a.isZero()?"-"+r:r)};xe.toInteger=xe.toint=function(){var e=this,t=e.constructor;return St(new t(e),sr(e)+1,t.rounding)};xe.toNumber=function(){return+this};xe.toPower=xe.pow=function(e){var t,r,n,a,i,s,o=this,u=o.constructor,c=12,f=+(e=new u(e));if(!e.s)return new u(vn);if(o=new u(o),!o.s){if(e.s<1)throw Error(Vn+"Infinity");return o}if(o.eq(vn))return o;if(n=u.precision,e.eq(vn))return St(o,n);if(t=e.e,r=e.d.length-1,s=t>=r,i=o.s,s){if((r=f<0?-f:f)<=gT){for(a=new u(vn),t=Math.ceil(n/Mt+4),Ut=!1;r%2&&(a=a.times(o),Ik(a.d,t)),r=cu(r/2),r!==0;)o=o.times(o),Ik(o.d,t);return Ut=!0,e.s<0?new u(vn).div(a):St(a,n)}}else if(i<0)throw Error(Vn+"NaN");return i=i<0&&e.d[Math.max(t,r)]&1?-1:1,o.s=1,Ut=!1,a=e.times(Zc(o,n+c)),Ut=!0,a=vT(a),a.s=i,a};xe.toPrecision=function(e,t){var r,n,a=this,i=a.constructor;return e===void 0?(r=sr(a),n=Zs(a,r<=i.toExpNeg||r>=i.toExpPos)):($a(e,1,uu),t===void 0?t=i.rounding:$a(t,0,8),a=St(new i(a),e,t),r=sr(a),n=Zs(a,e<=r||r<=i.toExpNeg,e)),n};xe.toSignificantDigits=xe.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):($a(e,1,uu),t===void 0?t=n.rounding:$a(t,0,8)),St(new n(r),e,t)};xe.toString=xe.valueOf=xe.val=xe.toJSON=xe[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=sr(e),r=e.constructor;return Zs(e,t<=r.toExpNeg||t>=r.toExpPos)};function yT(e,t){var r,n,a,i,s,o,u,c,f=e.constructor,d=f.precision;if(!e.s||!t.s)return t.s||(t=new f(e)),Ut?St(t,d):t;if(u=e.d,c=t.d,s=e.e,a=t.e,u=u.slice(),i=s-a,i){for(i<0?(n=u,i=-i,o=c.length):(n=c,a=s,o=u.length),s=Math.ceil(d/Mt),o=s>o?s+1:o+1,i>o&&(i=o,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(o=u.length,i=c.length,o-i<0&&(i=o,n=c,c=u,u=n),r=0;i;)r=(u[--i]=u[i]+c[i]+r)/gr|0,u[i]%=gr;for(r&&(u.unshift(r),++a),o=u.length;u[--o]==0;)u.pop();return t.d=u,t.e=a,Ut?St(t,d):t}function $a(e,t,r){if(e!==~~e||er)throw Error(zs+e)}function ja(e){var t,r,n,a=e.length-1,i="",s=e[0];if(a>0){for(i+=s,t=1;ts?1:-1;else for(o=u=0;oa[o]?1:-1;break}return u}function r(n,a,i){for(var s=0;i--;)n[i]-=s,s=n[i]1;)n.shift()}return function(n,a,i,s){var o,u,c,f,d,p,h,x,v,g,y,m,w,j,b,_,k,O,E=n.constructor,T=n.s==a.s?1:-1,$=n.d,A=a.d;if(!n.s)return new E(n);if(!a.s)throw Error(Vn+"Division by zero");for(u=n.e-a.e,k=A.length,b=$.length,h=new E(T),x=h.d=[],c=0;A[c]==($[c]||0);)++c;if(A[c]>($[c]||0)&&--u,i==null?m=i=E.precision:s?m=i+(sr(n)-sr(a))+1:m=i,m<0)return new E(0);if(m=m/Mt+2|0,c=0,k==1)for(f=0,A=A[0],m++;(c1&&(A=e(A,f),$=e($,f),k=A.length,b=$.length),j=k,v=$.slice(0,k),g=v.length;g=gr/2&&++_;do f=0,o=t(A,v,k,g),o<0?(y=v[0],k!=g&&(y=y*gr+(v[1]||0)),f=y/_|0,f>1?(f>=gr&&(f=gr-1),d=e(A,f),p=d.length,g=v.length,o=t(d,v,p,g),o==1&&(f--,r(d,k16)throw Error(l1+sr(e));if(!e.s)return new f(vn);for(Ut=!1,o=d,s=new f(.03125);e.abs().gte(.1);)e=e.times(s),c+=5;for(n=Math.log(js(2,c))/Math.LN10*2+5|0,o+=n,r=a=i=new f(vn),f.precision=o;;){if(a=St(a.times(e),o),r=r.times(++u),s=i.plus(ei(a,r,o)),ja(s.d).slice(0,o)===ja(i.d).slice(0,o)){for(;c--;)i=St(i.times(i),o);return f.precision=d,t==null?(Ut=!0,St(i,d)):i}i=s}}function sr(e){for(var t=e.e*Mt,r=e.d[0];r>=10;r/=10)t++;return t}function ky(e,t,r){if(t>e.LN10.sd())throw Ut=!0,r&&(e.precision=r),Error(Vn+"LN10 precision limit exceeded");return St(new e(e.LN10),t)}function ki(e){for(var t="";e--;)t+="0";return t}function Zc(e,t){var r,n,a,i,s,o,u,c,f,d=1,p=10,h=e,x=h.d,v=h.constructor,g=v.precision;if(h.s<1)throw Error(Vn+(h.s?"NaN":"-Infinity"));if(h.eq(vn))return new v(0);if(t==null?(Ut=!1,c=g):c=t,h.eq(10))return t==null&&(Ut=!0),ky(v,c);if(c+=p,v.precision=c,r=ja(x),n=r.charAt(0),i=sr(h),Math.abs(i)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)h=h.times(e),r=ja(h.d),n=r.charAt(0),d++;i=sr(h),n>1?(h=new v("0."+r),i++):h=new v(n+"."+r.slice(1))}else return u=ky(v,c+2,g).times(i+""),h=Zc(new v(n+"."+r.slice(1)),c-p).plus(u),v.precision=g,t==null?(Ut=!0,St(h,g)):h;for(o=s=h=ei(h.minus(vn),h.plus(vn),c),f=St(h.times(h),c),a=3;;){if(s=St(s.times(f),c),u=o.plus(ei(s,new v(a),c)),ja(u.d).slice(0,c)===ja(o.d).slice(0,c))return o=o.times(2),i!==0&&(o=o.plus(ky(v,c+2,g).times(i+""))),o=ei(o,new v(d),c),v.precision=g,t==null?(Ut=!0,St(o,g)):o;o=u,a+=2}}function Rk(e,t){var r,n,a;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(n,a),t){if(a-=n,r=r-n-1,e.e=cu(r/Mt),e.d=[],n=(r+1)%Mt,r<0&&(n+=Mt),nph||e.e<-ph))throw Error(l1+r)}else e.s=0,e.e=0,e.d=[0];return e}function St(e,t,r){var n,a,i,s,o,u,c,f,d=e.d;for(s=1,i=d[0];i>=10;i/=10)s++;if(n=t-s,n<0)n+=Mt,a=t,c=d[f=0];else{if(f=Math.ceil((n+1)/Mt),i=d.length,f>=i)return e;for(c=i=d[f],s=1;i>=10;i/=10)s++;n%=Mt,a=n-Mt+s}if(r!==void 0&&(i=js(10,s-a-1),o=c/i%10|0,u=t<0||d[f+1]!==void 0||c%i,u=r<4?(o||u)&&(r==0||r==(e.s<0?3:2)):o>5||o==5&&(r==4||u||r==6&&(n>0?a>0?c/js(10,s-a):0:d[f-1])%10&1||r==(e.s<0?8:7))),t<1||!d[0])return u?(i=sr(e),d.length=1,t=t-i-1,d[0]=js(10,(Mt-t%Mt)%Mt),e.e=cu(-t/Mt)||0):(d.length=1,d[0]=e.e=e.s=0),e;if(n==0?(d.length=f,i=1,f--):(d.length=f+1,i=js(10,Mt-n),d[f]=a>0?(c/js(10,s-a)%js(10,a)|0)*i:0),u)for(;;)if(f==0){(d[0]+=i)==gr&&(d[0]=1,++e.e);break}else{if(d[f]+=i,d[f]!=gr)break;d[f--]=0,i=1}for(n=d.length;d[--n]===0;)d.pop();if(Ut&&(e.e>ph||e.e<-ph))throw Error(l1+sr(e));return e}function xT(e,t){var r,n,a,i,s,o,u,c,f,d,p=e.constructor,h=p.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new p(e),Ut?St(t,h):t;if(u=e.d,d=t.d,n=t.e,c=e.e,u=u.slice(),s=c-n,s){for(f=s<0,f?(r=u,s=-s,o=d.length):(r=d,n=c,o=u.length),a=Math.max(Math.ceil(h/Mt),o)+2,s>a&&(s=a,r.length=1),r.reverse(),a=s;a--;)r.push(0);r.reverse()}else{for(a=u.length,o=d.length,f=a0;--a)u[o++]=0;for(a=d.length;a>s;){if(u[--a]0?i=i.charAt(0)+"."+i.slice(1)+ki(n):s>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(a<0?"e":"e+")+a):a<0?(i="0."+ki(-a-1)+i,r&&(n=r-s)>0&&(i+=ki(n))):a>=s?(i+=ki(a+1-s),r&&(n=r-a-1)>0&&(i=i+"."+ki(n))):((n=a+1)0&&(a+1===s&&(i+="."),i+=ki(n))),e.s<0?"-"+i:i}function Ik(e,t){if(e.length>t)return e.length=t,!0}function bT(e){var t,r,n;function a(i){var s=this;if(!(s instanceof a))return new a(i);if(s.constructor=a,i instanceof a){s.s=i.s,s.e=i.e,s.d=(i=i.d)?i.slice():i;return}if(typeof i=="number"){if(i*0!==0)throw Error(zs+i);if(i>0)s.s=1;else if(i<0)i=-i,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(i===~~i&&i<1e7){s.e=0,s.d=[i];return}return Rk(s,i.toString())}else if(typeof i!="string")throw Error(zs+i);if(i.charCodeAt(0)===45?(i=i.slice(1),s.s=-1):s.s=1,vX.test(i))Rk(s,i);else throw Error(zs+i)}if(a.prototype=xe,a.ROUND_UP=0,a.ROUND_DOWN=1,a.ROUND_CEIL=2,a.ROUND_FLOOR=3,a.ROUND_HALF_UP=4,a.ROUND_HALF_DOWN=5,a.ROUND_HALF_EVEN=6,a.ROUND_HALF_CEIL=7,a.ROUND_HALF_FLOOR=8,a.clone=bT,a.config=a.set=xX,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=a[t+1]&&n<=a[t+2])this[r]=n;else throw Error(zs+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(zs+r+": "+n);return this}var u1=bT(yX);vn=new u1(1);const _t=u1;function bX(e){return SX(e)||jX(e)||_X(e)||wX()}function wX(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dq(e,t){if(e){if(typeof e=="string")return qS(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return qS(e,t)}}function qS(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&arguments[0]!==void 0?arguments[0]:[];return L.reduce(function(V,H){var M=H.word,B=H.width,W=V[V.length-1];if(W&&(a==null||i||W.width+B+nH.width?V:H})};if(!f)return h;for(var v="…",g=function(L){var V=d.slice(0,L),H=IC({breakAll:c,style:u,children:V+v}).wordsWithComputedWidth,M=p(H),B=M.length>s||x(M).width>Number(a);return[B,M]},y=0,m=d.length-1,w=0,j;y<=m&&w<=d.length-1;){var b=Math.floor((y+m)/2),_=b-1,k=g(_),O=GS(k,2),E=O[0],T=O[1],R=g(b),N=GS(R,1),$=N[0];if(!E&&!$&&(y=b+1),E&&$&&(m=b-1),!E&&$){j=T;break}w++}return j||h},KS=function(t){var r=Fe(t)?[]:t.toString().split(RC);return[{words:r}]},mq=function(t){var r=t.width,n=t.scaleToFit,a=t.children,i=t.style,s=t.breakAll,o=t.maxLines;if((r||n)&&!os.isSsr){var u,c,f=IC({breakAll:s,children:a,style:i});if(f){var d=f.wordsWithComputedWidth,p=f.spaceWidth;u=d,c=p}else return KS(a);return hq({breakAll:s,children:a,maxLines:o,style:i},u,c,r,n)}return KS(a)},YS="#808080",Ys=function(t){var r=t.x,n=r===void 0?0:r,a=t.y,i=a===void 0?0:a,s=t.lineHeight,o=s===void 0?"1em":s,u=t.capHeight,c=u===void 0?"0.71em":u,f=t.scaleToFit,d=f===void 0?!1:f,p=t.textAnchor,h=p===void 0?"start":p,x=t.verticalAnchor,v=x===void 0?"end":x,g=t.fill,y=g===void 0?YS:g,m=HS(t,oq),w=S.useMemo(function(){return mq({breakAll:m.breakAll,children:m.children,maxLines:m.maxLines,scaleToFit:d,style:m.style,width:m.width})},[m.breakAll,m.children,m.maxLines,d,m.style,m.width]),j=m.dx,b=m.dy,_=m.angle,k=m.className,O=m.breakAll,E=HS(m,lq);if(!pr(n)||!pr(i))return null;var T=n+(se(j)?j:0),R=i+(se(b)?b:0),N;switch(v){case"start":N=yy("calc(".concat(c,")"));break;case"middle":N=yy("calc(".concat((w.length-1)/2," * -").concat(o," + (").concat(c," / 2))"));break;default:N=yy("calc(".concat(w.length-1," * -").concat(o,")"));break}var $=[];if(d){var I=w[0].width,L=m.width;$.push("scale(".concat((se(L)?L/I:1)/I,")"))}return _&&$.push("rotate(".concat(_,", ").concat(T,", ").concat(R,")")),$.length&&(E.transform=$.join(" ")),P.createElement("text",Kx({},Ee(E,!0),{x:T,y:R,className:He("recharts-text",k),textAnchor:h,fill:y.includes("url")?YS:y}),w.map(function(V,H){var M=V.words.join(O?"":" ");return P.createElement("tspan",{x:T,dy:H===0?N:o,key:"".concat(M,"-").concat(H)},M)}))};function Ki(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function gq(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function zw(e){let t,r,n;e.length!==2?(t=Ki,r=(o,u)=>Ki(e(o),u),n=(o,u)=>e(o)-u):(t=e===Ki||e===gq?e:yq,r=e,n=e);function a(o,u,c=0,f=o.length){if(c>>1;r(o[d],u)<0?c=d+1:f=d}while(c>>1;r(o[d],u)<=0?c=d+1:f=d}while(cc&&n(o[d-1],u)>-n(o[d],u)?d-1:d}return{left:a,center:s,right:i}}function yq(){return 0}function MC(e){return e===null?NaN:+e}function*vq(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const xq=zw(Ki),Dd=xq.right;zw(MC).center;class XS extends Map{constructor(t,r=_q){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,a]of t)this.set(n,a)}get(t){return super.get(ZS(this,t))}has(t){return super.has(ZS(this,t))}set(t,r){return super.set(bq(this,t),r)}delete(t){return super.delete(wq(this,t))}}function ZS({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function bq({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function wq({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function _q(e){return e!==null&&typeof e=="object"?e.valueOf():e}function jq(e=Ki){if(e===Ki)return DC;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function DC(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const Sq=Math.sqrt(50),kq=Math.sqrt(10),Oq=Math.sqrt(2);function rh(e,t,r){const n=(t-e)/Math.max(0,r),a=Math.floor(Math.log10(n)),i=n/Math.pow(10,a),s=i>=Sq?10:i>=kq?5:i>=Oq?2:1;let o,u,c;return a<0?(c=Math.pow(10,-a)/s,o=Math.round(e*c),u=Math.round(t*c),o/ct&&--u,c=-c):(c=Math.pow(10,a)*s,o=Math.round(e/c),u=Math.round(t/c),o*ct&&--u),u0))return[];if(e===t)return[e];const n=t=a))return[];const o=i-a+1,u=new Array(o);if(n)if(s<0)for(let c=0;c=n)&&(r=n);return r}function QS(e,t){let r;for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);return r}function LC(e,t,r=0,n=1/0,a){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(a=a===void 0?DC:jq(a);n>r;){if(n-r>600){const u=n-r+1,c=t-r+1,f=Math.log(u),d=.5*Math.exp(2*f/3),p=.5*Math.sqrt(f*d*(u-d)/u)*(c-u/2<0?-1:1),h=Math.max(r,Math.floor(t-c*d/u+p)),x=Math.min(n,Math.floor(t+(u-c)*d/u+p));LC(e,t,h,x,a)}const i=e[t];let s=r,o=n;for(Ou(e,r,t),a(e[n],i)>0&&Ou(e,r,n);s0;)--o}a(e[r],i)===0?Ou(e,r,o):(++o,Ou(e,o,n)),o<=t&&(r=o+1),t<=o&&(n=o-1)}return e}function Ou(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function Nq(e,t,r){if(e=Float64Array.from(vq(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return QS(e);if(t>=1)return JS(e);var n,a=(n-1)*t,i=Math.floor(a),s=JS(LC(e,i).subarray(0,i+1)),o=QS(e.subarray(i+1));return s+(o-s)*(a-i)}}function Aq(e,t,r=MC){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,a=(n-1)*t,i=Math.floor(a),s=+r(e[i],i,e),o=+r(e[i+1],i+1,e);return s+(o-s)*(a-i)}}function Eq(e,t,r){e=+e,t=+t,r=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+r;for(var n=-1,a=Math.max(0,Math.ceil((t-e)/r))|0,i=new Array(a);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?Nf(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?Nf(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Cq.exec(e))?new rn(t[1],t[2],t[3],1):(t=Tq.exec(e))?new rn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=$q.exec(e))?Nf(t[1],t[2],t[3],t[4]):(t=Rq.exec(e))?Nf(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Iq.exec(e))?sk(t[1],t[2]/100,t[3]/100,1):(t=Mq.exec(e))?sk(t[1],t[2]/100,t[3]/100,t[4]):ek.hasOwnProperty(e)?nk(ek[e]):e==="transparent"?new rn(NaN,NaN,NaN,0):null}function nk(e){return new rn(e>>16&255,e>>8&255,e&255,1)}function Nf(e,t,r,n){return n<=0&&(e=t=r=NaN),new rn(e,t,r,n)}function Fq(e){return e instanceof Ld||(e=Yc(e)),e?(e=e.rgb(),new rn(e.r,e.g,e.b,e.opacity)):new rn}function Qx(e,t,r,n){return arguments.length===1?Fq(e):new rn(e,t,r,n??1)}function rn(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}Uw(rn,Qx,zC(Ld,{brighter(e){return e=e==null?nh:Math.pow(nh,e),new rn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?qc:Math.pow(qc,e),new rn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new rn(Fs(this.r),Fs(this.g),Fs(this.b),ah(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ak,formatHex:ak,formatHex8:zq,formatRgb:ik,toString:ik}));function ak(){return`#${Cs(this.r)}${Cs(this.g)}${Cs(this.b)}`}function zq(){return`#${Cs(this.r)}${Cs(this.g)}${Cs(this.b)}${Cs((isNaN(this.opacity)?1:this.opacity)*255)}`}function ik(){const e=ah(this.opacity);return`${e===1?"rgb(":"rgba("}${Fs(this.r)}, ${Fs(this.g)}, ${Fs(this.b)}${e===1?")":`, ${e})`}`}function ah(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Fs(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Cs(e){return e=Fs(e),(e<16?"0":"")+e.toString(16)}function sk(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new na(e,t,r,n)}function BC(e){if(e instanceof na)return new na(e.h,e.s,e.l,e.opacity);if(e instanceof Ld||(e=Yc(e)),!e)return new na;if(e instanceof na)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),i=Math.max(t,r,n),s=NaN,o=i-a,u=(i+a)/2;return o?(t===i?s=(r-n)/o+(r0&&u<1?0:s,new na(s,o,u,e.opacity)}function Bq(e,t,r,n){return arguments.length===1?BC(e):new na(e,t,r,n??1)}function na(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}Uw(na,Bq,zC(Ld,{brighter(e){return e=e==null?nh:Math.pow(nh,e),new na(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?qc:Math.pow(qc,e),new na(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,a=2*r-n;return new rn(vy(e>=240?e-240:e+120,a,n),vy(e,a,n),vy(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new na(ok(this.h),Af(this.s),Af(this.l),ah(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=ah(this.opacity);return`${e===1?"hsl(":"hsla("}${ok(this.h)}, ${Af(this.s)*100}%, ${Af(this.l)*100}%${e===1?")":`, ${e})`}`}}));function ok(e){return e=(e||0)%360,e<0?e+360:e}function Af(e){return Math.max(0,Math.min(1,e||0))}function vy(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const Vw=e=>()=>e;function Uq(e,t){return function(r){return e+r*t}}function Vq(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function Wq(e){return(e=+e)==1?UC:function(t,r){return r-t?Vq(t,r,e):Vw(isNaN(t)?r:t)}}function UC(e,t){var r=t-e;return r?Uq(e,r):Vw(isNaN(e)?t:e)}const lk=function e(t){var r=Wq(t);function n(a,i){var s=r((a=Qx(a)).r,(i=Qx(i)).r),o=r(a.g,i.g),u=r(a.b,i.b),c=UC(a.opacity,i.opacity);return function(f){return a.r=s(f),a.g=o(f),a.b=u(f),a.opacity=c(f),a+""}}return n.gamma=e,n}(1);function Hq(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),a;return function(i){for(a=0;ar&&(i=t.slice(r,i),o[s]?o[s]+=i:o[++s]=i),(n=n[0])===(a=a[0])?o[s]?o[s]+=a:o[++s]=a:(o[++s]=null,u.push({i:s,x:ih(n,a)})),r=xy.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function rK(e,t,r){var n=e[0],a=e[1],i=t[0],s=t[1];return a2?nK:rK,u=c=null,d}function d(p){return p==null||isNaN(p=+p)?i:(u||(u=o(e.map(n),t,r)))(n(s(p)))}return d.invert=function(p){return s(a((c||(c=o(t,e.map(n),ih)))(p)))},d.domain=function(p){return arguments.length?(e=Array.from(p,sh),f()):e.slice()},d.range=function(p){return arguments.length?(t=Array.from(p),f()):t.slice()},d.rangeRound=function(p){return t=Array.from(p),r=Ww,f()},d.clamp=function(p){return arguments.length?(s=p?!0:qr,f()):s!==qr},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(i=p,d):i},function(p,h){return n=p,a=h,f()}}function Hw(){return Km()(qr,qr)}function aK(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function oh(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function Sl(e){return e=oh(Math.abs(e)),e?e[1]:NaN}function iK(e,t){return function(r,n){for(var a=r.length,i=[],s=0,o=e[0],u=0;a>0&&o>0&&(u+o+1>n&&(o=Math.max(1,n-u)),i.push(r.substring(a-=o,a+o)),!((u+=o+1)>n));)o=e[s=(s+1)%e.length];return i.reverse().join(t)}}function sK(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var oK=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Xc(e){if(!(t=oK.exec(e)))throw new Error("invalid format: "+e);var t;return new Gw({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Xc.prototype=Gw.prototype;function Gw(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Gw.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function lK(e){e:for(var t=e.length,r=1,n=-1,a;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(a+1):e}var lh;function uK(e,t){var r=oh(e,t);if(!r)return lh=void 0,e.toPrecision(t);var n=r[0],a=r[1],i=a-(lh=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,s=n.length;return i===s?n:i>s?n+new Array(i-s+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+oh(e,Math.max(0,t+i-1))[0]}function ck(e,t){var r=oh(e,t);if(!r)return e+"";var n=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+n:n.length>a+1?n.slice(0,a+1)+"."+n.slice(a+1):n+new Array(a-n.length+2).join("0")}const dk={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:aK,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>ck(e*100,t),r:ck,s:uK,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function fk(e){return e}var pk=Array.prototype.map,hk=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function cK(e){var t=e.grouping===void 0||e.thousands===void 0?fk:iK(pk.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?fk:sK(pk.call(e.numerals,String)),s=e.percent===void 0?"%":e.percent+"",o=e.minus===void 0?"−":e.minus+"",u=e.nan===void 0?"NaN":e.nan+"";function c(d,p){d=Xc(d);var h=d.fill,x=d.align,v=d.sign,g=d.symbol,y=d.zero,m=d.width,w=d.comma,j=d.precision,b=d.trim,_=d.type;_==="n"?(w=!0,_="g"):dk[_]||(j===void 0&&(j=12),b=!0,_="g"),(y||h==="0"&&x==="=")&&(y=!0,h="0",x="=");var k=(p&&p.prefix!==void 0?p.prefix:"")+(g==="$"?r:g==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():""),O=(g==="$"?n:/[%p]/.test(_)?s:"")+(p&&p.suffix!==void 0?p.suffix:""),E=dk[_],T=/[defgprs%]/.test(_);j=j===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,j)):Math.max(0,Math.min(20,j));function R(N){var $=k,I=O,L,V,H;if(_==="c")I=E(N)+I,N="";else{N=+N;var M=N<0||1/N<0;if(N=isNaN(N)?u:E(Math.abs(N),j),b&&(N=lK(N)),M&&+N==0&&v!=="+"&&(M=!1),$=(M?v==="("?v:o:v==="-"||v==="("?"":v)+$,I=(_==="s"&&!isNaN(N)&&lh!==void 0?hk[8+lh/3]:"")+I+(M&&v==="("?")":""),T){for(L=-1,V=N.length;++LH||H>57){I=(H===46?a+N.slice(L+1):N.slice(L))+I,N=N.slice(0,L);break}}}w&&!y&&(N=t(N,1/0));var B=$.length+N.length+I.length,W=B>1)+$+N+I+W.slice(B);break;default:N=W+$+N+I;break}return i(N)}return R.toString=function(){return d+""},R}function f(d,p){var h=Math.max(-8,Math.min(8,Math.floor(Sl(p)/3)))*3,x=Math.pow(10,-h),v=c((d=Xc(d),d.type="f",d),{suffix:hk[8+h/3]});return function(g){return v(x*g)}}return{format:c,formatPrefix:f}}var Ef,qw,VC;dK({thousands:",",grouping:[3],currency:["$",""]});function dK(e){return Ef=cK(e),qw=Ef.format,VC=Ef.formatPrefix,Ef}function fK(e){return Math.max(0,-Sl(Math.abs(e)))}function pK(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Sl(t)/3)))*3-Sl(Math.abs(e)))}function hK(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Sl(t)-Sl(e))+1}function WC(e,t,r,n){var a=Zx(e,t,r),i;switch(n=Xc(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(i=pK(a,s))&&(n.precision=i),VC(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(i=hK(a,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=i-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(i=fK(a))&&(n.precision=i-(n.type==="%")*2);break}}return qw(n)}function ls(e){var t=e.domain;return e.ticks=function(r){var n=t();return Yx(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var a=t();return WC(a[0],a[a.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),a=0,i=n.length-1,s=n[a],o=n[i],u,c,f=10;for(o0;){if(c=Xx(s,o,r),c===u)return n[a]=s,n[i]=o,t(n);if(c>0)s=Math.floor(s/c)*c,o=Math.ceil(o/c)*c;else if(c<0)s=Math.ceil(s*c)/c,o=Math.floor(o*c)/c;else break;u=c}return e},e}function uh(){var e=Hw();return e.copy=function(){return Fd(e,uh())},Hn.apply(e,arguments),ls(e)}function HC(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,sh),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return HC(e).unknown(t)},e=arguments.length?Array.from(e,sh):[0,1],ls(r)}function GC(e,t){e=e.slice();var r=0,n=e.length-1,a=e[r],i=e[n],s;return iMath.pow(e,t)}function xK(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function yk(e){return(t,r)=>-e(-t,r)}function Kw(e){const t=e(mk,gk),r=t.domain;let n=10,a,i;function s(){return a=xK(n),i=vK(n),r()[0]<0?(a=yk(a),i=yk(i),e(mK,gK)):e(mk,gk),t}return t.base=function(o){return arguments.length?(n=+o,s()):n},t.domain=function(o){return arguments.length?(r(o),s()):r()},t.ticks=o=>{const u=r();let c=u[0],f=u[u.length-1];const d=f0){for(;p<=h;++p)for(x=1;xf)break;y.push(v)}}else for(;p<=h;++p)for(x=n-1;x>=1;--x)if(v=p>0?x/i(-p):x*i(p),!(vf)break;y.push(v)}y.length*2{if(o==null&&(o=10),u==null&&(u=n===10?"s":","),typeof u!="function"&&(!(n%1)&&(u=Xc(u)).precision==null&&(u.trim=!0),u=qw(u)),o===1/0)return u;const c=Math.max(1,n*o/t.ticks().length);return f=>{let d=f/i(Math.round(a(f)));return d*nr(GC(r(),{floor:o=>i(Math.floor(a(o))),ceil:o=>i(Math.ceil(a(o)))})),t}function qC(){const e=Kw(Km()).domain([1,10]);return e.copy=()=>Fd(e,qC()).base(e.base()),Hn.apply(e,arguments),e}function vk(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function xk(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Yw(e){var t=1,r=e(vk(t),xk(t));return r.constant=function(n){return arguments.length?e(vk(t=+n),xk(t)):t},ls(r)}function KC(){var e=Yw(Km());return e.copy=function(){return Fd(e,KC()).constant(e.constant())},Hn.apply(e,arguments)}function bk(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function bK(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function wK(e){return e<0?-e*e:e*e}function Xw(e){var t=e(qr,qr),r=1;function n(){return r===1?e(qr,qr):r===.5?e(bK,wK):e(bk(r),bk(1/r))}return t.exponent=function(a){return arguments.length?(r=+a,n()):r},ls(t)}function Zw(){var e=Xw(Km());return e.copy=function(){return Fd(e,Zw()).exponent(e.exponent())},Hn.apply(e,arguments),e}function _K(){return Zw.apply(null,arguments).exponent(.5)}function wk(e){return Math.sign(e)*e*e}function jK(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function YC(){var e=Hw(),t=[0,1],r=!1,n;function a(i){var s=jK(e(i));return isNaN(s)?n:r?Math.round(s):s}return a.invert=function(i){return e.invert(wk(i))},a.domain=function(i){return arguments.length?(e.domain(i),a):e.domain()},a.range=function(i){return arguments.length?(e.range((t=Array.from(i,sh)).map(wk)),a):t.slice()},a.rangeRound=function(i){return a.range(i).round(!0)},a.round=function(i){return arguments.length?(r=!!i,a):r},a.clamp=function(i){return arguments.length?(e.clamp(i),a):e.clamp()},a.unknown=function(i){return arguments.length?(n=i,a):n},a.copy=function(){return YC(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},Hn.apply(a,arguments),ls(a)}function XC(){var e=[],t=[],r=[],n;function a(){var s=0,o=Math.max(1,t.length);for(r=new Array(o-1);++s0?r[o-1]:e[0],o=r?[n[r-1],t]:[n[c-1],n[c]]},s.unknown=function(u){return arguments.length&&(i=u),s},s.thresholds=function(){return n.slice()},s.copy=function(){return ZC().domain([e,t]).range(a).unknown(i)},Hn.apply(ls(s),arguments)}function JC(){var e=[.5],t=[0,1],r,n=1;function a(i){return i!=null&&i<=i?t[Dd(e,i,0,n)]:r}return a.domain=function(i){return arguments.length?(e=Array.from(i),n=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(i){return arguments.length?(t=Array.from(i),n=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(i){var s=t.indexOf(i);return[e[s-1],e[s]]},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return JC().domain(e).range(t).unknown(r)},Hn.apply(a,arguments)}const by=new Date,wy=new Date;function hr(e,t,r,n){function a(i){return e(i=arguments.length===0?new Date:new Date(+i)),i}return a.floor=i=>(e(i=new Date(+i)),i),a.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),a.round=i=>{const s=a(i),o=a.ceil(i);return i-s(t(i=new Date(+i),s==null?1:Math.floor(s)),i),a.range=(i,s,o)=>{const u=[];if(i=a.ceil(i),o=o==null?1:Math.floor(o),!(i0))return u;let c;do u.push(c=new Date(+i)),t(i,o),e(i);while(chr(s=>{if(s>=s)for(;e(s),!i(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;t(s,-1),!i(s););else for(;--o>=0;)for(;t(s,1),!i(s););}),r&&(a.count=(i,s)=>(by.setTime(+i),wy.setTime(+s),e(by),e(wy),Math.floor(r(by,wy))),a.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a.filter(n?s=>n(s)%i===0:s=>a.count(0,s)%i===0):a)),a}const ch=hr(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);ch.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?hr(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):ch);ch.range;const Ka=1e3,Fn=Ka*60,Ya=Fn*60,ii=Ya*24,Jw=ii*7,_k=ii*30,_y=ii*365,Ts=hr(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Ka)},(e,t)=>(t-e)/Ka,e=>e.getUTCSeconds());Ts.range;const Qw=hr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ka)},(e,t)=>{e.setTime(+e+t*Fn)},(e,t)=>(t-e)/Fn,e=>e.getMinutes());Qw.range;const e1=hr(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Fn)},(e,t)=>(t-e)/Fn,e=>e.getUTCMinutes());e1.range;const t1=hr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ka-e.getMinutes()*Fn)},(e,t)=>{e.setTime(+e+t*Ya)},(e,t)=>(t-e)/Ya,e=>e.getHours());t1.range;const r1=hr(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Ya)},(e,t)=>(t-e)/Ya,e=>e.getUTCHours());r1.range;const zd=hr(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Fn)/ii,e=>e.getDate()-1);zd.range;const Ym=hr(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ii,e=>e.getUTCDate()-1);Ym.range;const QC=hr(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ii,e=>Math.floor(e/ii));QC.range;function lo(e){return hr(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Fn)/Jw)}const Xm=lo(0),dh=lo(1),SK=lo(2),kK=lo(3),kl=lo(4),OK=lo(5),NK=lo(6);Xm.range;dh.range;SK.range;kK.range;kl.range;OK.range;NK.range;function uo(e){return hr(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/Jw)}const Zm=uo(0),fh=uo(1),AK=uo(2),EK=uo(3),Ol=uo(4),PK=uo(5),CK=uo(6);Zm.range;fh.range;AK.range;EK.range;Ol.range;PK.range;CK.range;const n1=hr(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());n1.range;const a1=hr(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());a1.range;const si=hr(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());si.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:hr(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});si.range;const oi=hr(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());oi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:hr(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});oi.range;function eT(e,t,r,n,a,i){const s=[[Ts,1,Ka],[Ts,5,5*Ka],[Ts,15,15*Ka],[Ts,30,30*Ka],[i,1,Fn],[i,5,5*Fn],[i,15,15*Fn],[i,30,30*Fn],[a,1,Ya],[a,3,3*Ya],[a,6,6*Ya],[a,12,12*Ya],[n,1,ii],[n,2,2*ii],[r,1,Jw],[t,1,_k],[t,3,3*_k],[e,1,_y]];function o(c,f,d){const p=fg).right(s,p);if(h===s.length)return e.every(Zx(c/_y,f/_y,d));if(h===0)return ch.every(Math.max(Zx(c,f,d),1));const[x,v]=s[p/s[h-1][2]53)return null;"w"in X||(X.w=1),"Z"in X?(ye=Sy(Nu(X.y,0,1)),qe=ye.getUTCDay(),ye=qe>4||qe===0?fh.ceil(ye):fh(ye),ye=Ym.offset(ye,(X.V-1)*7),X.y=ye.getUTCFullYear(),X.m=ye.getUTCMonth(),X.d=ye.getUTCDate()+(X.w+6)%7):(ye=jy(Nu(X.y,0,1)),qe=ye.getDay(),ye=qe>4||qe===0?dh.ceil(ye):dh(ye),ye=zd.offset(ye,(X.V-1)*7),X.y=ye.getFullYear(),X.m=ye.getMonth(),X.d=ye.getDate()+(X.w+6)%7)}else("W"in X||"U"in X)&&("w"in X||(X.w="u"in X?X.u%7:"W"in X?1:0),qe="Z"in X?Sy(Nu(X.y,0,1)).getUTCDay():jy(Nu(X.y,0,1)).getDay(),X.m=0,X.d="W"in X?(X.w+6)%7+X.W*7-(qe+5)%7:X.w+X.U*7-(qe+6)%7);return"Z"in X?(X.H+=X.Z/100|0,X.M+=X.Z%100,Sy(X)):jy(X)}}function O(J,ue,de,X){for(var we=0,ye=ue.length,qe=de.length,De,ke;we=qe)return-1;if(De=ue.charCodeAt(we++),De===37){if(De=ue.charAt(we++),ke=b[De in jk?ue.charAt(we++):De],!ke||(X=ke(J,de,X))<0)return-1}else if(De!=de.charCodeAt(X++))return-1}return X}function E(J,ue,de){var X=c.exec(ue.slice(de));return X?(J.p=f.get(X[0].toLowerCase()),de+X[0].length):-1}function T(J,ue,de){var X=h.exec(ue.slice(de));return X?(J.w=x.get(X[0].toLowerCase()),de+X[0].length):-1}function R(J,ue,de){var X=d.exec(ue.slice(de));return X?(J.w=p.get(X[0].toLowerCase()),de+X[0].length):-1}function N(J,ue,de){var X=y.exec(ue.slice(de));return X?(J.m=m.get(X[0].toLowerCase()),de+X[0].length):-1}function $(J,ue,de){var X=v.exec(ue.slice(de));return X?(J.m=g.get(X[0].toLowerCase()),de+X[0].length):-1}function I(J,ue,de){return O(J,t,ue,de)}function L(J,ue,de){return O(J,r,ue,de)}function V(J,ue,de){return O(J,n,ue,de)}function H(J){return s[J.getDay()]}function M(J){return i[J.getDay()]}function B(J){return u[J.getMonth()]}function W(J){return o[J.getMonth()]}function G(J){return a[+(J.getHours()>=12)]}function K(J){return 1+~~(J.getMonth()/3)}function ee(J){return s[J.getUTCDay()]}function q(J){return i[J.getUTCDay()]}function le(J){return u[J.getUTCMonth()]}function ge(J){return o[J.getUTCMonth()]}function $e(J){return a[+(J.getUTCHours()>=12)]}function Pe(J){return 1+~~(J.getUTCMonth()/3)}return{format:function(J){var ue=_(J+="",w);return ue.toString=function(){return J},ue},parse:function(J){var ue=k(J+="",!1);return ue.toString=function(){return J},ue},utcFormat:function(J){var ue=_(J+="",j);return ue.toString=function(){return J},ue},utcParse:function(J){var ue=k(J+="",!0);return ue.toString=function(){return J},ue}}}var jk={"-":"",_:" ",0:"0"},wr=/^\s*\d+/,DK=/^%/,LK=/[\\^$*+?|[\]().{}]/g;function ct(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",i=a.length;return n+(i[t.toLowerCase(),r]))}function zK(e,t,r){var n=wr.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function BK(e,t,r){var n=wr.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function UK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function VK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function WK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function Sk(e,t,r){var n=wr.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function kk(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function HK(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function GK(e,t,r){var n=wr.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function qK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function Ok(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function KK(e,t,r){var n=wr.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function Nk(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function YK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function XK(e,t,r){var n=wr.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function ZK(e,t,r){var n=wr.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function JK(e,t,r){var n=wr.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function QK(e,t,r){var n=DK.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function eY(e,t,r){var n=wr.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function tY(e,t,r){var n=wr.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function Ak(e,t){return ct(e.getDate(),t,2)}function rY(e,t){return ct(e.getHours(),t,2)}function nY(e,t){return ct(e.getHours()%12||12,t,2)}function aY(e,t){return ct(1+zd.count(si(e),e),t,3)}function tT(e,t){return ct(e.getMilliseconds(),t,3)}function iY(e,t){return tT(e,t)+"000"}function sY(e,t){return ct(e.getMonth()+1,t,2)}function oY(e,t){return ct(e.getMinutes(),t,2)}function lY(e,t){return ct(e.getSeconds(),t,2)}function uY(e){var t=e.getDay();return t===0?7:t}function cY(e,t){return ct(Xm.count(si(e)-1,e),t,2)}function rT(e){var t=e.getDay();return t>=4||t===0?kl(e):kl.ceil(e)}function dY(e,t){return e=rT(e),ct(kl.count(si(e),e)+(si(e).getDay()===4),t,2)}function fY(e){return e.getDay()}function pY(e,t){return ct(dh.count(si(e)-1,e),t,2)}function hY(e,t){return ct(e.getFullYear()%100,t,2)}function mY(e,t){return e=rT(e),ct(e.getFullYear()%100,t,2)}function gY(e,t){return ct(e.getFullYear()%1e4,t,4)}function yY(e,t){var r=e.getDay();return e=r>=4||r===0?kl(e):kl.ceil(e),ct(e.getFullYear()%1e4,t,4)}function vY(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+ct(t/60|0,"0",2)+ct(t%60,"0",2)}function Ek(e,t){return ct(e.getUTCDate(),t,2)}function xY(e,t){return ct(e.getUTCHours(),t,2)}function bY(e,t){return ct(e.getUTCHours()%12||12,t,2)}function wY(e,t){return ct(1+Ym.count(oi(e),e),t,3)}function nT(e,t){return ct(e.getUTCMilliseconds(),t,3)}function _Y(e,t){return nT(e,t)+"000"}function jY(e,t){return ct(e.getUTCMonth()+1,t,2)}function SY(e,t){return ct(e.getUTCMinutes(),t,2)}function kY(e,t){return ct(e.getUTCSeconds(),t,2)}function OY(e){var t=e.getUTCDay();return t===0?7:t}function NY(e,t){return ct(Zm.count(oi(e)-1,e),t,2)}function aT(e){var t=e.getUTCDay();return t>=4||t===0?Ol(e):Ol.ceil(e)}function AY(e,t){return e=aT(e),ct(Ol.count(oi(e),e)+(oi(e).getUTCDay()===4),t,2)}function EY(e){return e.getUTCDay()}function PY(e,t){return ct(fh.count(oi(e)-1,e),t,2)}function CY(e,t){return ct(e.getUTCFullYear()%100,t,2)}function TY(e,t){return e=aT(e),ct(e.getUTCFullYear()%100,t,2)}function $Y(e,t){return ct(e.getUTCFullYear()%1e4,t,4)}function RY(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Ol(e):Ol.ceil(e),ct(e.getUTCFullYear()%1e4,t,4)}function IY(){return"+0000"}function Pk(){return"%"}function Ck(e){return+e}function Tk(e){return Math.floor(+e/1e3)}var yo,iT,sT;MY({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function MY(e){return yo=MK(e),iT=yo.format,yo.parse,sT=yo.utcFormat,yo.utcParse,yo}function DY(e){return new Date(e)}function LY(e){return e instanceof Date?+e:+new Date(+e)}function i1(e,t,r,n,a,i,s,o,u,c){var f=Hw(),d=f.invert,p=f.domain,h=c(".%L"),x=c(":%S"),v=c("%I:%M"),g=c("%I %p"),y=c("%a %d"),m=c("%b %d"),w=c("%B"),j=c("%Y");function b(_){return(u(_)<_?h:o(_)<_?x:s(_)<_?v:i(_)<_?g:n(_)<_?a(_)<_?y:m:r(_)<_?w:j)(_)}return f.invert=function(_){return new Date(d(_))},f.domain=function(_){return arguments.length?p(Array.from(_,LY)):p().map(DY)},f.ticks=function(_){var k=p();return e(k[0],k[k.length-1],_??10)},f.tickFormat=function(_,k){return k==null?b:c(k)},f.nice=function(_){var k=p();return(!_||typeof _.range!="function")&&(_=t(k[0],k[k.length-1],_??10)),_?p(GC(k,_)):f},f.copy=function(){return Fd(f,i1(e,t,r,n,a,i,s,o,u,c))},f}function FY(){return Hn.apply(i1(RK,IK,si,n1,Xm,zd,t1,Qw,Ts,iT).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function zY(){return Hn.apply(i1(TK,$K,oi,a1,Zm,Ym,r1,e1,Ts,sT).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Jm(){var e=0,t=1,r,n,a,i,s=qr,o=!1,u;function c(d){return d==null||isNaN(d=+d)?u:s(a===0?.5:(d=(i(d)-r)*a,o?Math.max(0,Math.min(1,d)):d))}c.domain=function(d){return arguments.length?([e,t]=d,r=i(e=+e),n=i(t=+t),a=r===n?0:1/(n-r),c):[e,t]},c.clamp=function(d){return arguments.length?(o=!!d,c):o},c.interpolator=function(d){return arguments.length?(s=d,c):s};function f(d){return function(p){var h,x;return arguments.length?([h,x]=p,s=d(h,x),c):[s(0),s(1)]}}return c.range=f(lu),c.rangeRound=f(Ww),c.unknown=function(d){return arguments.length?(u=d,c):u},function(d){return i=d,r=d(e),n=d(t),a=r===n?0:1/(n-r),c}}function us(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function oT(){var e=ls(Jm()(qr));return e.copy=function(){return us(e,oT())},gi.apply(e,arguments)}function lT(){var e=Kw(Jm()).domain([1,10]);return e.copy=function(){return us(e,lT()).base(e.base())},gi.apply(e,arguments)}function uT(){var e=Yw(Jm());return e.copy=function(){return us(e,uT()).constant(e.constant())},gi.apply(e,arguments)}function s1(){var e=Xw(Jm());return e.copy=function(){return us(e,s1()).exponent(e.exponent())},gi.apply(e,arguments)}function BY(){return s1.apply(null,arguments).exponent(.5)}function cT(){var e=[],t=qr;function r(n){if(n!=null&&!isNaN(n=+n))return t((Dd(e,n,1)-1)/(e.length-1))}return r.domain=function(n){if(!arguments.length)return e.slice();e=[];for(let a of n)a!=null&&!isNaN(a=+a)&&e.push(a);return e.sort(Ki),r},r.interpolator=function(n){return arguments.length?(t=n,r):t},r.range=function(){return e.map((n,a)=>t(a/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(a,i)=>Nq(e,i/n))},r.copy=function(){return cT(t).domain(e)},gi.apply(r,arguments)}function Qm(){var e=0,t=.5,r=1,n=1,a,i,s,o,u,c=qr,f,d=!1,p;function h(v){return isNaN(v=+v)?p:(v=.5+((v=+f(v))-i)*(n*vt}var hT=HY,GY=eg,qY=hT,KY=ou;function YY(e){return e&&e.length?GY(e,KY,qY):void 0}var XY=YY;const Mi=vt(XY);function ZY(e,t){return ee.e^i.s<0?1:-1;for(n=i.d.length,a=e.d.length,t=0,r=ne.d[t]^i.s<0?1:-1;return n===a?0:n>a^i.s<0?1:-1};xe.decimalPlaces=xe.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*Mt;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};xe.dividedBy=xe.div=function(e){return ei(this,new this.constructor(e))};xe.dividedToIntegerBy=xe.idiv=function(e){var t=this,r=t.constructor;return St(ei(t,new r(e),0,1),r.precision)};xe.equals=xe.eq=function(e){return!this.cmp(e)};xe.exponent=function(){return sr(this)};xe.greaterThan=xe.gt=function(e){return this.cmp(e)>0};xe.greaterThanOrEqualTo=xe.gte=function(e){return this.cmp(e)>=0};xe.isInteger=xe.isint=function(){return this.e>this.d.length-2};xe.isNegative=xe.isneg=function(){return this.s<0};xe.isPositive=xe.ispos=function(){return this.s>0};xe.isZero=function(){return this.s===0};xe.lessThan=xe.lt=function(e){return this.cmp(e)<0};xe.lessThanOrEqualTo=xe.lte=function(e){return this.cmp(e)<1};xe.logarithm=xe.log=function(e){var t,r=this,n=r.constructor,a=n.precision,i=a+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(vn))throw Error(Vn+"NaN");if(r.s<1)throw Error(Vn+(r.s?"NaN":"-Infinity"));return r.eq(vn)?new n(0):(Ut=!1,t=ei(Zc(r,i),Zc(e,i),i),Ut=!0,St(t,a))};xe.minus=xe.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?xT(t,e):yT(t,(e.s=-e.s,e))};xe.modulo=xe.mod=function(e){var t,r=this,n=r.constructor,a=n.precision;if(e=new n(e),!e.s)throw Error(Vn+"NaN");return r.s?(Ut=!1,t=ei(r,e,0,1).times(e),Ut=!0,r.minus(t)):St(new n(r),a)};xe.naturalExponential=xe.exp=function(){return vT(this)};xe.naturalLogarithm=xe.ln=function(){return Zc(this)};xe.negated=xe.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};xe.plus=xe.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?yT(t,e):xT(t,(e.s=-e.s,e))};xe.precision=xe.sd=function(e){var t,r,n,a=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(zs+e);if(t=sr(a)+1,n=a.d.length-1,r=n*Mt+1,n=a.d[n],n){for(;n%10==0;n/=10)r--;for(n=a.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};xe.squareRoot=xe.sqrt=function(){var e,t,r,n,a,i,s,o=this,u=o.constructor;if(o.s<1){if(!o.s)return new u(0);throw Error(Vn+"NaN")}for(e=sr(o),Ut=!1,a=Math.sqrt(+o),a==0||a==1/0?(t=ja(o.d),(t.length+e)%2==0&&(t+="0"),a=Math.sqrt(t),e=cu((e+1)/2)-(e<0||e%2),a==1/0?t="5e"+e:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new u(t)):n=new u(a.toString()),r=u.precision,a=s=r+3;;)if(i=n,n=i.plus(ei(o,i,s+2)).times(.5),ja(i.d).slice(0,s)===(t=ja(n.d)).slice(0,s)){if(t=t.slice(s-3,s+1),a==s&&t=="4999"){if(St(i,r+1,0),i.times(i).eq(o)){n=i;break}}else if(t!="9999")break;s+=4}return Ut=!0,St(n,r)};xe.times=xe.mul=function(e){var t,r,n,a,i,s,o,u,c,f=this,d=f.constructor,p=f.d,h=(e=new d(e)).d;if(!f.s||!e.s)return new d(0);for(e.s*=f.s,r=f.e+e.e,u=p.length,c=h.length,u=0;){for(t=0,a=u+n;a>n;)o=i[a]+h[n]*p[a-n-1]+t,i[a--]=o%gr|0,t=o/gr|0;i[a]=(i[a]+t)%gr|0}for(;!i[--s];)i.pop();return t?++r:i.shift(),e.d=i,e.e=r,Ut?St(e,d.precision):e};xe.toDecimalPlaces=xe.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:($a(e,0,uu),t===void 0?t=n.rounding:$a(t,0,8),St(r,e+sr(r)+1,t))};xe.toExponential=function(e,t){var r,n=this,a=n.constructor;return e===void 0?r=Zs(n,!0):($a(e,0,uu),t===void 0?t=a.rounding:$a(t,0,8),n=St(new a(n),e+1,t),r=Zs(n,!0,e+1)),r};xe.toFixed=function(e,t){var r,n,a=this,i=a.constructor;return e===void 0?Zs(a):($a(e,0,uu),t===void 0?t=i.rounding:$a(t,0,8),n=St(new i(a),e+sr(a)+1,t),r=Zs(n.abs(),!1,e+sr(n)+1),a.isneg()&&!a.isZero()?"-"+r:r)};xe.toInteger=xe.toint=function(){var e=this,t=e.constructor;return St(new t(e),sr(e)+1,t.rounding)};xe.toNumber=function(){return+this};xe.toPower=xe.pow=function(e){var t,r,n,a,i,s,o=this,u=o.constructor,c=12,f=+(e=new u(e));if(!e.s)return new u(vn);if(o=new u(o),!o.s){if(e.s<1)throw Error(Vn+"Infinity");return o}if(o.eq(vn))return o;if(n=u.precision,e.eq(vn))return St(o,n);if(t=e.e,r=e.d.length-1,s=t>=r,i=o.s,s){if((r=f<0?-f:f)<=gT){for(a=new u(vn),t=Math.ceil(n/Mt+4),Ut=!1;r%2&&(a=a.times(o),Ik(a.d,t)),r=cu(r/2),r!==0;)o=o.times(o),Ik(o.d,t);return Ut=!0,e.s<0?new u(vn).div(a):St(a,n)}}else if(i<0)throw Error(Vn+"NaN");return i=i<0&&e.d[Math.max(t,r)]&1?-1:1,o.s=1,Ut=!1,a=e.times(Zc(o,n+c)),Ut=!0,a=vT(a),a.s=i,a};xe.toPrecision=function(e,t){var r,n,a=this,i=a.constructor;return e===void 0?(r=sr(a),n=Zs(a,r<=i.toExpNeg||r>=i.toExpPos)):($a(e,1,uu),t===void 0?t=i.rounding:$a(t,0,8),a=St(new i(a),e,t),r=sr(a),n=Zs(a,e<=r||r<=i.toExpNeg,e)),n};xe.toSignificantDigits=xe.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):($a(e,1,uu),t===void 0?t=n.rounding:$a(t,0,8)),St(new n(r),e,t)};xe.toString=xe.valueOf=xe.val=xe.toJSON=xe[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=sr(e),r=e.constructor;return Zs(e,t<=r.toExpNeg||t>=r.toExpPos)};function yT(e,t){var r,n,a,i,s,o,u,c,f=e.constructor,d=f.precision;if(!e.s||!t.s)return t.s||(t=new f(e)),Ut?St(t,d):t;if(u=e.d,c=t.d,s=e.e,a=t.e,u=u.slice(),i=s-a,i){for(i<0?(n=u,i=-i,o=c.length):(n=c,a=s,o=u.length),s=Math.ceil(d/Mt),o=s>o?s+1:o+1,i>o&&(i=o,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(o=u.length,i=c.length,o-i<0&&(i=o,n=c,c=u,u=n),r=0;i;)r=(u[--i]=u[i]+c[i]+r)/gr|0,u[i]%=gr;for(r&&(u.unshift(r),++a),o=u.length;u[--o]==0;)u.pop();return t.d=u,t.e=a,Ut?St(t,d):t}function $a(e,t,r){if(e!==~~e||er)throw Error(zs+e)}function ja(e){var t,r,n,a=e.length-1,i="",s=e[0];if(a>0){for(i+=s,t=1;ts?1:-1;else for(o=u=0;oa[o]?1:-1;break}return u}function r(n,a,i){for(var s=0;i--;)n[i]-=s,s=n[i]1;)n.shift()}return function(n,a,i,s){var o,u,c,f,d,p,h,x,v,g,y,m,w,j,b,_,k,O,E=n.constructor,T=n.s==a.s?1:-1,R=n.d,N=a.d;if(!n.s)return new E(n);if(!a.s)throw Error(Vn+"Division by zero");for(u=n.e-a.e,k=N.length,b=R.length,h=new E(T),x=h.d=[],c=0;N[c]==(R[c]||0);)++c;if(N[c]>(R[c]||0)&&--u,i==null?m=i=E.precision:s?m=i+(sr(n)-sr(a))+1:m=i,m<0)return new E(0);if(m=m/Mt+2|0,c=0,k==1)for(f=0,N=N[0],m++;(c1&&(N=e(N,f),R=e(R,f),k=N.length,b=R.length),j=k,v=R.slice(0,k),g=v.length;g=gr/2&&++_;do f=0,o=t(N,v,k,g),o<0?(y=v[0],k!=g&&(y=y*gr+(v[1]||0)),f=y/_|0,f>1?(f>=gr&&(f=gr-1),d=e(N,f),p=d.length,g=v.length,o=t(d,v,p,g),o==1&&(f--,r(d,k16)throw Error(l1+sr(e));if(!e.s)return new f(vn);for(Ut=!1,o=d,s=new f(.03125);e.abs().gte(.1);)e=e.times(s),c+=5;for(n=Math.log(js(2,c))/Math.LN10*2+5|0,o+=n,r=a=i=new f(vn),f.precision=o;;){if(a=St(a.times(e),o),r=r.times(++u),s=i.plus(ei(a,r,o)),ja(s.d).slice(0,o)===ja(i.d).slice(0,o)){for(;c--;)i=St(i.times(i),o);return f.precision=d,t==null?(Ut=!0,St(i,d)):i}i=s}}function sr(e){for(var t=e.e*Mt,r=e.d[0];r>=10;r/=10)t++;return t}function ky(e,t,r){if(t>e.LN10.sd())throw Ut=!0,r&&(e.precision=r),Error(Vn+"LN10 precision limit exceeded");return St(new e(e.LN10),t)}function ki(e){for(var t="";e--;)t+="0";return t}function Zc(e,t){var r,n,a,i,s,o,u,c,f,d=1,p=10,h=e,x=h.d,v=h.constructor,g=v.precision;if(h.s<1)throw Error(Vn+(h.s?"NaN":"-Infinity"));if(h.eq(vn))return new v(0);if(t==null?(Ut=!1,c=g):c=t,h.eq(10))return t==null&&(Ut=!0),ky(v,c);if(c+=p,v.precision=c,r=ja(x),n=r.charAt(0),i=sr(h),Math.abs(i)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)h=h.times(e),r=ja(h.d),n=r.charAt(0),d++;i=sr(h),n>1?(h=new v("0."+r),i++):h=new v(n+"."+r.slice(1))}else return u=ky(v,c+2,g).times(i+""),h=Zc(new v(n+"."+r.slice(1)),c-p).plus(u),v.precision=g,t==null?(Ut=!0,St(h,g)):h;for(o=s=h=ei(h.minus(vn),h.plus(vn),c),f=St(h.times(h),c),a=3;;){if(s=St(s.times(f),c),u=o.plus(ei(s,new v(a),c)),ja(u.d).slice(0,c)===ja(o.d).slice(0,c))return o=o.times(2),i!==0&&(o=o.plus(ky(v,c+2,g).times(i+""))),o=ei(o,new v(d),c),v.precision=g,t==null?(Ut=!0,St(o,g)):o;o=u,a+=2}}function Rk(e,t){var r,n,a;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(n,a),t){if(a-=n,r=r-n-1,e.e=cu(r/Mt),e.d=[],n=(r+1)%Mt,r<0&&(n+=Mt),nph||e.e<-ph))throw Error(l1+r)}else e.s=0,e.e=0,e.d=[0];return e}function St(e,t,r){var n,a,i,s,o,u,c,f,d=e.d;for(s=1,i=d[0];i>=10;i/=10)s++;if(n=t-s,n<0)n+=Mt,a=t,c=d[f=0];else{if(f=Math.ceil((n+1)/Mt),i=d.length,f>=i)return e;for(c=i=d[f],s=1;i>=10;i/=10)s++;n%=Mt,a=n-Mt+s}if(r!==void 0&&(i=js(10,s-a-1),o=c/i%10|0,u=t<0||d[f+1]!==void 0||c%i,u=r<4?(o||u)&&(r==0||r==(e.s<0?3:2)):o>5||o==5&&(r==4||u||r==6&&(n>0?a>0?c/js(10,s-a):0:d[f-1])%10&1||r==(e.s<0?8:7))),t<1||!d[0])return u?(i=sr(e),d.length=1,t=t-i-1,d[0]=js(10,(Mt-t%Mt)%Mt),e.e=cu(-t/Mt)||0):(d.length=1,d[0]=e.e=e.s=0),e;if(n==0?(d.length=f,i=1,f--):(d.length=f+1,i=js(10,Mt-n),d[f]=a>0?(c/js(10,s-a)%js(10,a)|0)*i:0),u)for(;;)if(f==0){(d[0]+=i)==gr&&(d[0]=1,++e.e);break}else{if(d[f]+=i,d[f]!=gr)break;d[f--]=0,i=1}for(n=d.length;d[--n]===0;)d.pop();if(Ut&&(e.e>ph||e.e<-ph))throw Error(l1+sr(e));return e}function xT(e,t){var r,n,a,i,s,o,u,c,f,d,p=e.constructor,h=p.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new p(e),Ut?St(t,h):t;if(u=e.d,d=t.d,n=t.e,c=e.e,u=u.slice(),s=c-n,s){for(f=s<0,f?(r=u,s=-s,o=d.length):(r=d,n=c,o=u.length),a=Math.max(Math.ceil(h/Mt),o)+2,s>a&&(s=a,r.length=1),r.reverse(),a=s;a--;)r.push(0);r.reverse()}else{for(a=u.length,o=d.length,f=a0;--a)u[o++]=0;for(a=d.length;a>s;){if(u[--a]0?i=i.charAt(0)+"."+i.slice(1)+ki(n):s>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(a<0?"e":"e+")+a):a<0?(i="0."+ki(-a-1)+i,r&&(n=r-s)>0&&(i+=ki(n))):a>=s?(i+=ki(a+1-s),r&&(n=r-a-1)>0&&(i=i+"."+ki(n))):((n=a+1)0&&(a+1===s&&(i+="."),i+=ki(n))),e.s<0?"-"+i:i}function Ik(e,t){if(e.length>t)return e.length=t,!0}function bT(e){var t,r,n;function a(i){var s=this;if(!(s instanceof a))return new a(i);if(s.constructor=a,i instanceof a){s.s=i.s,s.e=i.e,s.d=(i=i.d)?i.slice():i;return}if(typeof i=="number"){if(i*0!==0)throw Error(zs+i);if(i>0)s.s=1;else if(i<0)i=-i,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(i===~~i&&i<1e7){s.e=0,s.d=[i];return}return Rk(s,i.toString())}else if(typeof i!="string")throw Error(zs+i);if(i.charCodeAt(0)===45?(i=i.slice(1),s.s=-1):s.s=1,vX.test(i))Rk(s,i);else throw Error(zs+i)}if(a.prototype=xe,a.ROUND_UP=0,a.ROUND_DOWN=1,a.ROUND_CEIL=2,a.ROUND_FLOOR=3,a.ROUND_HALF_UP=4,a.ROUND_HALF_DOWN=5,a.ROUND_HALF_EVEN=6,a.ROUND_HALF_CEIL=7,a.ROUND_HALF_FLOOR=8,a.clone=bT,a.config=a.set=xX,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=a[t+1]&&n<=a[t+2])this[r]=n;else throw Error(zs+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(zs+r+": "+n);return this}var u1=bT(yX);vn=new u1(1);const _t=u1;function bX(e){return SX(e)||jX(e)||_X(e)||wX()}function wX(){throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _X(e,t){if(e){if(typeof e=="string")return r0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return r0(e,t)}}function jX(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function SX(e){if(Array.isArray(e))return r0(e)}function r0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=t?r.apply(void 0,a):e(t-s,Mk(function(){for(var o=arguments.length,u=new Array(o),c=0;ce.length)&&(t=e.length);for(var r=0,n=new Array(t);r"u"||!(Symbol.iterator in Object(e)))){var r=[],n=!0,a=!1,i=void 0;try{for(var s=e[Symbol.iterator](),o;!(n=(o=s.next()).done)&&(r.push(o.value),!(t&&r.length===t));n=!0);}catch(u){a=!0,i=u}finally{try{!n&&s.return!=null&&s.return()}finally{if(a)throw i}}return r}}function FX(e){if(Array.isArray(e))return e}function kT(e){var t=Jc(e,2),r=t[0],n=t[1],a=r,i=n;return r>n&&(a=n,i=r),[a,i]}function OT(e,t,r){if(e.lte(0))return new _t(0);var n=ng.getDigitCount(e.toNumber()),a=new _t(10).pow(n),i=e.div(a),s=n!==1?.05:.1,o=new _t(Math.ceil(i.div(s).toNumber())).add(r).mul(s),u=o.mul(a);return t?u:new _t(Math.ceil(u))}function zX(e,t,r){var n=1,a=new _t(e);if(!a.isint()&&r){var i=Math.abs(e);i<1?(n=new _t(10).pow(ng.getDigitCount(e)-1),a=new _t(Math.floor(a.div(n).toNumber())).mul(n)):i>1&&(a=new _t(Math.floor(e)))}else e===0?a=new _t(Math.floor((t-1)/2)):r||(a=new _t(Math.floor(e)));var s=Math.floor((t-1)/2),o=AX(NX(function(u){return a.add(new _t(u-s).mul(n)).toNumber()}),n0);return o(0,t)}function NT(e,t,r,n){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(r-1)))return{step:new _t(0),tickMin:new _t(0),tickMax:new _t(0)};var i=OT(new _t(t).sub(e).div(r-1),n,a),s;e<=0&&t>=0?s=new _t(0):(s=new _t(e).add(t).div(2),s=s.sub(new _t(s).mod(i)));var o=Math.ceil(s.sub(e).div(i).toNumber()),u=Math.ceil(new _t(t).sub(s).div(i).toNumber()),c=o+u+1;return c>r?NT(e,t,r,n,a+1):(c0?u+(r-c):u,o=t>0?o:o+(r-c)),{step:i,tickMin:s.sub(new _t(o).mul(i)),tickMax:s.add(new _t(u).mul(i))})}function BX(e){var t=Jc(e,2),r=t[0],n=t[1],a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=Math.max(a,2),o=kT([r,n]),u=Jc(o,2),c=u[0],f=u[1];if(c===-1/0||f===1/0){var d=f===1/0?[c].concat(i0(n0(0,a-1).map(function(){return 1/0}))):[].concat(i0(n0(0,a-1).map(function(){return-1/0})),[f]);return r>n?a0(d):d}if(c===f)return zX(c,a,i);var p=NT(c,f,s,i),h=p.step,x=p.tickMin,v=p.tickMax,g=ng.rangeStep(x,v.add(new _t(.1).mul(h)),h);return r>n?a0(g):g}function UX(e,t){var r=Jc(e,2),n=r[0],a=r[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=kT([n,a]),o=Jc(s,2),u=o[0],c=o[1];if(u===-1/0||c===1/0)return[n,a];if(u===c)return[u];var f=Math.max(t,2),d=OT(new _t(c).sub(u).div(f-1),i,0),p=[].concat(i0(ng.rangeStep(new _t(u),new _t(c).sub(new _t(.99).mul(d)),d)),[c]);return n>a?a0(p):p}var VX=jT(BX),WX=jT(UX),HX="Invariant failed";function Js(e,t){throw new Error(HX)}var GX=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function Nl(e){"@babel/helpers - typeof";return Nl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nl(e)}function hh(){return hh=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function QX(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function eZ(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function tZ(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function QX(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function eZ(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function tZ(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&arguments[1]!==void 0?arguments[1]:[],a=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,s=-1,o=(r=n==null?void 0:n.length)!==null&&r!==void 0?r:0;if(o<=1)return 0;if(i&&i.axisType==="angleAxis"&&Math.abs(Math.abs(i.range[1]-i.range[0])-360)<=1e-6)for(var u=i.range,c=0;c0?a[c-1].coordinate:a[o-1].coordinate,d=a[c].coordinate,p=c>=o-1?a[0].coordinate:a[c+1].coordinate,h=void 0;if(Hr(d-f)!==Hr(p-d)){var x=[];if(Hr(p-d)===Hr(u[1]-u[0])){h=p;var v=d+u[1]-u[0];x[0]=Math.min(v,(v+f)/2),x[1]=Math.max(v,(v+f)/2)}else{h=f;var g=p+u[1]-u[0];x[0]=Math.min(d,(g+d)/2),x[1]=Math.max(d,(g+d)/2)}var y=[Math.min(d,(h+d)/2),Math.max(d,(h+d)/2)];if(t>y[0]&&t<=y[1]||t>=x[0]&&t<=x[1]){s=a[c].index;break}}else{var m=Math.min(f,p),w=Math.max(f,p);if(t>(m+d)/2&&t<=(w+d)/2){s=a[c].index;break}}}else for(var j=0;j0&&j(n[j].coordinate+n[j-1].coordinate)/2&&t<=(n[j].coordinate+n[j+1].coordinate)/2||j===o-1&&t>(n[j].coordinate+n[j-1].coordinate)/2){s=n[j].index;break}return s},c1=function(t){var r,n=t,a=n.type.displayName,i=(r=t.type)!==null&&r!==void 0&&r.defaultProps?Yt(Yt({},t.type.defaultProps),t.props):t.props,s=i.stroke,o=i.fill,u;switch(a){case"Line":u=s;break;case"Area":case"Radar":u=s&&s!=="none"?s:o;break;default:u=o;break}return u},vZ=function(t){var r=t.barSize,n=t.totalSize,a=t.stackGroups,i=a===void 0?{}:a;if(!i)return{};for(var s={},o=Object.keys(i),u=0,c=o.length;u=0});if(y&&y.length){var m=y[0].type.defaultProps,w=m!==void 0?Yt(Yt({},m),y[0].props):y[0].props,j=w.barSize,b=w[g];s[b]||(s[b]=[]);var _=Fe(j)?r:j;s[b].push({item:y[0],stackList:y.slice(1),barSize:Fe(_)?void 0:Gr(_,n,0)})}}return s},xZ=function(t){var r=t.barGap,n=t.barCategoryGap,a=t.bandSize,i=t.sizeList,s=i===void 0?[]:i,o=t.maxBarSize,u=s.length;if(u<1)return null;var c=Gr(r,a,0,!0),f,d=[];if(s[0].barSize===+s[0].barSize){var p=!1,h=a/u,x=s.reduce(function(j,b){return j+b.barSize||0},0);x+=(u-1)*c,x>=a&&(x-=(u-1)*c,c=0),x>=a&&h>0&&(p=!0,h*=.9,x=u*h);var v=(a-x)/2>>0,g={offset:v-c,size:0};f=s.reduce(function(j,b){var _={item:b.item,position:{offset:g.offset+g.size+c,size:p?h:b.barSize}},k=[].concat(Fk(j),[_]);return g=k[k.length-1].position,b.stackList&&b.stackList.length&&b.stackList.forEach(function(O){k.push({item:O,position:g})}),k},d)}else{var y=Gr(n,a,0,!0);a-2*y-(u-1)*c<=0&&(c=0);var m=(a-2*y-(u-1)*c)/u;m>1&&(m>>=0);var w=o===+o?Math.min(m,o):m;f=s.reduce(function(j,b,_){var k=[].concat(Fk(j),[{item:b.item,position:{offset:y+(m+c)*_+(m-w)/2,size:w}}]);return b.stackList&&b.stackList.length&&b.stackList.forEach(function(O){k.push({item:O,position:k[k.length-1].position})}),k},d)}return f},bZ=function(t,r,n,a){var i=n.children,s=n.width,o=n.margin,u=s-(o.left||0)-(o.right||0),c=CT({children:i,legendWidth:u});if(c){var f=a||{},d=f.width,p=f.height,h=c.align,x=c.verticalAlign,v=c.layout;if((v==="vertical"||v==="horizontal"&&x==="middle")&&h!=="center"&&se(t[h]))return Yt(Yt({},t),{},il({},h,t[h]+(d||0)));if((v==="horizontal"||v==="vertical"&&h==="center")&&x!=="middle"&&se(t[x]))return Yt(Yt({},t),{},il({},x,t[x]+(p||0)))}return t},wZ=function(t,r,n){return Fe(r)?!0:t==="horizontal"?r==="yAxis":t==="vertical"||n==="x"?r==="xAxis":n==="y"?r==="yAxis":!0},TT=function(t,r,n,a,i){var s=r.props.children,o=_n(s,Bd).filter(function(c){return wZ(a,i,c.props.direction)});if(o&&o.length){var u=o.map(function(c){return c.props.dataKey});return t.reduce(function(c,f){var d=er(f,n);if(Fe(d))return c;var p=Array.isArray(d)?[tg(d),Mi(d)]:[d,d],h=u.reduce(function(x,v){var g=er(f,v,0),y=p[0]-Math.abs(Array.isArray(g)?g[0]:g),m=p[1]+Math.abs(Array.isArray(g)?g[1]:g);return[Math.min(y,x[0]),Math.max(m,x[1])]},[1/0,-1/0]);return[Math.min(h[0],c[0]),Math.max(h[1],c[1])]},[1/0,-1/0])}return null},_Z=function(t,r,n,a,i){var s=r.map(function(o){return TT(t,o,n,i,a)}).filter(function(o){return!Fe(o)});return s&&s.length?s.reduce(function(o,u){return[Math.min(o[0],u[0]),Math.max(o[1],u[1])]},[1/0,-1/0]):null},$T=function(t,r,n,a,i){var s=r.map(function(u){var c=u.props.dataKey;return n==="number"&&c&&TT(t,u,c,a)||cc(t,c,n,i)});if(n==="number")return s.reduce(function(u,c){return[Math.min(u[0],c[0]),Math.max(u[1],c[1])]},[1/0,-1/0]);var o={};return s.reduce(function(u,c){for(var f=0,d=c.length;f=2?Hr(o[0]-o[1])*2*c:c,r&&(t.ticks||t.niceTicks)){var f=(t.ticks||t.niceTicks).map(function(d){var p=i?i.indexOf(d):d;return{coordinate:a(p)+c,value:d,offset:c}});return f.filter(function(d){return!au(d.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(d,p){return{coordinate:a(d)+c,value:d,index:p,offset:c}}):a.ticks&&!n?a.ticks(t.tickCount).map(function(d){return{coordinate:a(d)+c,value:d,offset:c}}):a.domain().map(function(d,p){return{coordinate:a(d)+c,value:i?i[d]:d,index:p,offset:c}})},Oy=new WeakMap,Pf=function(t,r){if(typeof r!="function")return t;Oy.has(t)||Oy.set(t,new WeakMap);var n=Oy.get(t);if(n.has(r))return n.get(r);var a=function(){t.apply(void 0,arguments),r.apply(void 0,arguments)};return n.set(r,a),a},MT=function(t,r,n){var a=t.scale,i=t.type,s=t.layout,o=t.axisType;if(a==="auto")return s==="radial"&&o==="radiusAxis"?{scale:Gc(),realScaleType:"band"}:s==="radial"&&o==="angleAxis"?{scale:uh(),realScaleType:"linear"}:i==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!n)?{scale:uc(),realScaleType:"point"}:i==="category"?{scale:Gc(),realScaleType:"band"}:{scale:uh(),realScaleType:"linear"};if(qs(a)){var u="scale".concat(Bm(a));return{scale:($k[u]||uc)(),realScaleType:$k[u]?u:"point"}}return Te(a)?{scale:a}:{scale:uc(),realScaleType:"point"}},Bk=1e-4,DT=function(t){var r=t.domain();if(!(!r||r.length<=2)){var n=r.length,a=t.range(),i=Math.min(a[0],a[1])-Bk,s=Math.max(a[0],a[1])+Bk,o=t(r[0]),u=t(r[n-1]);(os||us)&&t.domain([r[0],r[n-1]])}},jZ=function(t,r){if(!t)return null;for(var n=0,a=t.length;na)&&(i[1]=a),i[0]>a&&(i[0]=a),i[1]=0?(t[o][n][0]=i,t[o][n][1]=i+u,i=t[o][n][1]):(t[o][n][0]=s,t[o][n][1]=s+u,s=t[o][n][1])}},OZ=function(t){var r=t.length;if(!(r<=0))for(var n=0,a=t[0].length;n=0?(t[s][n][0]=i,t[s][n][1]=i+o,i=t[s][n][1]):(t[s][n][0]=0,t[s][n][1]=0)}},NZ={sign:kZ,expand:GF,none:xl,silhouette:qF,wiggle:KF,positive:OZ},AZ=function(t,r,n){var a=r.map(function(o){return o.props.dataKey}),i=NZ[n],s=HF().keys(a).value(function(o,u){return+er(o,u,0)}).order($x).offset(i);return s(t)},EZ=function(t,r,n,a,i,s){if(!t)return null;var o=s?r.reverse():r,u={},c=o.reduce(function(d,p){var h,x=(h=p.type)!==null&&h!==void 0&&h.defaultProps?Yt(Yt({},p.type.defaultProps),p.props):p.props,v=x.stackId,g=x.hide;if(g)return d;var y=x[n],m=d[y]||{hasStack:!1,stackGroups:{}};if(pr(v)){var w=m.stackGroups[v]||{numericAxisId:n,cateAxisId:a,items:[]};w.items.push(p),m.hasStack=!0,m.stackGroups[v]=w}else m.stackGroups[oo("_stackId_")]={numericAxisId:n,cateAxisId:a,items:[p]};return Yt(Yt({},d),{},il({},y,m))},u),f={};return Object.keys(c).reduce(function(d,p){var h=c[p];if(h.hasStack){var x={};h.stackGroups=Object.keys(h.stackGroups).reduce(function(v,g){var y=h.stackGroups[g];return Yt(Yt({},v),{},il({},g,{numericAxisId:n,cateAxisId:a,items:y.items,stackedData:AZ(t,y.items,i)}))},x)}return Yt(Yt({},d),{},il({},p,h))},f)},LT=function(t,r){var n=r.realScaleType,a=r.type,i=r.tickCount,s=r.originalDomain,o=r.allowDecimals,u=n||r.scale;if(u!=="auto"&&u!=="linear")return null;if(i&&a==="number"&&s&&(s[0]==="auto"||s[1]==="auto")){var c=t.domain();if(!c.length)return null;var f=VX(c,i,o);return t.domain([tg(f),Mi(f)]),{niceTicks:f}}if(i&&a==="number"){var d=t.domain(),p=WX(d,i,o);return{niceTicks:p}}return null};function gh(e){var t=e.axis,r=e.ticks,n=e.bandSize,a=e.entry,i=e.index,s=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Fe(a[t.dataKey])){var o=Bp(r,"value",a[t.dataKey]);if(o)return o.coordinate+n/2}return r[i]?r[i].coordinate+n/2:null}var u=er(a,Fe(s)?t.dataKey:s);return Fe(u)?null:t.scale(u)}var Uk=function(t){var r=t.axis,n=t.ticks,a=t.offset,i=t.bandSize,s=t.entry,o=t.index;if(r.type==="category")return n[o]?n[o].coordinate+a:null;var u=er(s,r.dataKey,r.domain[o]);return Fe(u)?null:r.scale(u)-i/2+a},PZ=function(t){var r=t.numericAxis,n=r.scale.domain();if(r.type==="number"){var a=Math.min(n[0],n[1]),i=Math.max(n[0],n[1]);return a<=0&&i>=0?0:i<0?i:a}return n[0]},CZ=function(t,r){var n,a=(n=t.type)!==null&&n!==void 0&&n.defaultProps?Yt(Yt({},t.type.defaultProps),t.props):t.props,i=a.stackId;if(pr(i)){var s=r[i];if(s){var o=s.items.indexOf(t);return o>=0?s.stackedData[o]:null}}return null},TZ=function(t){return t.reduce(function(r,n){return[tg(n.concat([r[0]]).filter(se)),Mi(n.concat([r[1]]).filter(se))]},[1/0,-1/0])},FT=function(t,r,n){return Object.keys(t).reduce(function(a,i){var s=t[i],o=s.stackedData,u=o.reduce(function(c,f){var d=TZ(f.slice(r,n+1));return[Math.min(c[0],d[0]),Math.max(c[1],d[1])]},[1/0,-1/0]);return[Math.min(u[0],a[0]),Math.max(u[1],a[1])]},[1/0,-1/0]).map(function(a){return a===1/0||a===-1/0?0:a})},Vk=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Wk=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,u0=function(t,r,n){if(Te(t))return t(r,n);if(!Array.isArray(t))return r;var a=[];if(se(t[0]))a[0]=n?t[0]:Math.min(t[0],r[0]);else if(Vk.test(t[0])){var i=+Vk.exec(t[0])[1];a[0]=r[0]-i}else Te(t[0])?a[0]=t[0](r[0]):a[0]=r[0];if(se(t[1]))a[1]=n?t[1]:Math.max(t[1],r[1]);else if(Wk.test(t[1])){var s=+Wk.exec(t[1])[1];a[1]=r[1]+s}else Te(t[1])?a[1]=t[1](r[1]):a[1]=r[1];return a},yh=function(t,r,n){if(t&&t.scale&&t.scale.bandwidth){var a=t.scale.bandwidth();if(!n||a>0)return a}if(t&&r&&r.length>=2){for(var i=Lw(r,function(d){return d.coordinate}),s=1/0,o=1,u=i.length;oe.length)&&(t=e.length);for(var r=0,n=new Array(t);r2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},BZ=function(t,r,n,a,i){var s=t.width,o=t.height,u=t.startAngle,c=t.endAngle,f=Gr(t.cx,s,s/2),d=Gr(t.cy,o,o/2),p=UT(s,o,n),h=Gr(t.innerRadius,p,0),x=Gr(t.outerRadius,p,p*.8),v=Object.keys(r);return v.reduce(function(g,y){var m=r[y],w=m.domain,j=m.reversed,b;if(Fe(m.range))a==="angleAxis"?b=[u,c]:a==="radiusAxis"&&(b=[h,x]),j&&(b=[b[1],b[0]]);else{b=m.range;var _=b,k=IZ(_,2);u=k[0],c=k[1]}var O=MT(m,i),E=O.realScaleType,T=O.scale;T.domain(w).range(b),DT(T);var $=LT(T,Ua(Ua({},m),{},{realScaleType:E})),A=Ua(Ua(Ua({},m),$),{},{range:b,radius:x,realScaleType:E,scale:T,cx:f,cy:d,innerRadius:h,outerRadius:x,startAngle:u,endAngle:c});return Ua(Ua({},g),{},BT({},y,A))},{})},UZ=function(t,r){var n=t.x,a=t.y,i=r.x,s=r.y;return Math.sqrt(Math.pow(n-i,2)+Math.pow(a-s,2))},VZ=function(t,r){var n=t.x,a=t.y,i=r.cx,s=r.cy,o=UZ({x:n,y:a},{x:i,y:s});if(o<=0)return{radius:o};var u=(n-i)/o,c=Math.acos(u);return a>s&&(c=2*Math.PI-c),{radius:o,angle:zZ(c),angleInRadian:c}},WZ=function(t){var r=t.startAngle,n=t.endAngle,a=Math.floor(r/360),i=Math.floor(n/360),s=Math.min(a,i);return{startAngle:r-s*360,endAngle:n-s*360}},HZ=function(t,r){var n=r.startAngle,a=r.endAngle,i=Math.floor(n/360),s=Math.floor(a/360),o=Math.min(i,s);return t+o*360},Kk=function(t,r){var n=t.x,a=t.y,i=VZ({x:n,y:a},r),s=i.radius,o=i.angle,u=r.innerRadius,c=r.outerRadius;if(sc)return!1;if(s===0)return!0;var f=WZ(r),d=f.startAngle,p=f.endAngle,h=o,x;if(d<=p){for(;h>p;)h-=360;for(;h=d&&h<=p}else{for(;h>d;)h-=360;for(;h=p&&h<=d}return x?Ua(Ua({},r),{},{radius:s,angle:HZ(h,r)}):null},VT=function(t){return!S.isValidElement(t)&&!Te(t)&&typeof t!="boolean"?t.className:""};function rd(e){"@babel/helpers - typeof";return rd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rd(e)}var GZ=["offset"];function qZ(e){return ZZ(e)||XZ(e)||YZ(e)||KZ()}function KZ(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function DZ(e,t){if(e){if(typeof e=="string")return qk(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return qk(e,t)}}function qk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},BZ=function(t,r,n,a,i){var s=t.width,o=t.height,u=t.startAngle,c=t.endAngle,f=Gr(t.cx,s,s/2),d=Gr(t.cy,o,o/2),p=UT(s,o,n),h=Gr(t.innerRadius,p,0),x=Gr(t.outerRadius,p,p*.8),v=Object.keys(r);return v.reduce(function(g,y){var m=r[y],w=m.domain,j=m.reversed,b;if(Fe(m.range))a==="angleAxis"?b=[u,c]:a==="radiusAxis"&&(b=[h,x]),j&&(b=[b[1],b[0]]);else{b=m.range;var _=b,k=IZ(_,2);u=k[0],c=k[1]}var O=MT(m,i),E=O.realScaleType,T=O.scale;T.domain(w).range(b),DT(T);var R=LT(T,Ua(Ua({},m),{},{realScaleType:E})),N=Ua(Ua(Ua({},m),R),{},{range:b,radius:x,realScaleType:E,scale:T,cx:f,cy:d,innerRadius:h,outerRadius:x,startAngle:u,endAngle:c});return Ua(Ua({},g),{},BT({},y,N))},{})},UZ=function(t,r){var n=t.x,a=t.y,i=r.x,s=r.y;return Math.sqrt(Math.pow(n-i,2)+Math.pow(a-s,2))},VZ=function(t,r){var n=t.x,a=t.y,i=r.cx,s=r.cy,o=UZ({x:n,y:a},{x:i,y:s});if(o<=0)return{radius:o};var u=(n-i)/o,c=Math.acos(u);return a>s&&(c=2*Math.PI-c),{radius:o,angle:zZ(c),angleInRadian:c}},WZ=function(t){var r=t.startAngle,n=t.endAngle,a=Math.floor(r/360),i=Math.floor(n/360),s=Math.min(a,i);return{startAngle:r-s*360,endAngle:n-s*360}},HZ=function(t,r){var n=r.startAngle,a=r.endAngle,i=Math.floor(n/360),s=Math.floor(a/360),o=Math.min(i,s);return t+o*360},Kk=function(t,r){var n=t.x,a=t.y,i=VZ({x:n,y:a},r),s=i.radius,o=i.angle,u=r.innerRadius,c=r.outerRadius;if(sc)return!1;if(s===0)return!0;var f=WZ(r),d=f.startAngle,p=f.endAngle,h=o,x;if(d<=p){for(;h>p;)h-=360;for(;h=d&&h<=p}else{for(;h>d;)h-=360;for(;h=p&&h<=d}return x?Ua(Ua({},r),{},{radius:s,angle:HZ(h,r)}):null},VT=function(t){return!S.isValidElement(t)&&!Te(t)&&typeof t!="boolean"?t.className:""};function rd(e){"@babel/helpers - typeof";return rd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rd(e)}var GZ=["offset"];function qZ(e){return ZZ(e)||XZ(e)||YZ(e)||KZ()}function KZ(){throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function YZ(e,t){if(e){if(typeof e=="string")return c0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c0(e,t)}}function XZ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ZZ(e){if(Array.isArray(e))return c0(e)}function c0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function QZ(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Yk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function lr(e){for(var t=1;t=0?1:-1,w,j;a==="insideStart"?(w=h+m*s,j=v):a==="insideEnd"?(w=x-m*s,j=!v):a==="end"&&(w=x+m*s,j=v),j=y<=0?j:!j;var b=Et(c,f,g,w),_=Et(c,f,g,w+(j?1:-1)*359),k="M".concat(b.x,",").concat(b.y,` A`).concat(g,",").concat(g,",0,1,").concat(j?0:1,`, `).concat(_.x,",").concat(_.y),O=Fe(t.id)?oo("recharts-radial-line-"):t.id;return P.createElement("text",nd({},n,{dominantBaseline:"central",className:He("recharts-radial-bar-label",o)}),P.createElement("defs",null,P.createElement("path",{id:O,d:k})),P.createElement("textPath",{xlinkHref:"#".concat(O)},r))},sJ=function(t){var r=t.viewBox,n=t.offset,a=t.position,i=r,s=i.cx,o=i.cy,u=i.innerRadius,c=i.outerRadius,f=i.startAngle,d=i.endAngle,p=(f+d)/2;if(a==="outside"){var h=Et(s,o,c+n,p),x=h.x,v=h.y;return{x,y:v,textAnchor:x>=s?"start":"end",verticalAnchor:"middle"}}if(a==="center")return{x:s,y:o,textAnchor:"middle",verticalAnchor:"middle"};if(a==="centerTop")return{x:s,y:o,textAnchor:"middle",verticalAnchor:"start"};if(a==="centerBottom")return{x:s,y:o,textAnchor:"middle",verticalAnchor:"end"};var g=(u+c)/2,y=Et(s,o,g,p),m=y.x,w=y.y;return{x:m,y:w,textAnchor:"middle",verticalAnchor:"middle"}},oJ=function(t){var r=t.viewBox,n=t.parentViewBox,a=t.offset,i=t.position,s=r,o=s.x,u=s.y,c=s.width,f=s.height,d=f>=0?1:-1,p=d*a,h=d>0?"end":"start",x=d>0?"start":"end",v=c>=0?1:-1,g=v*a,y=v>0?"end":"start",m=v>0?"start":"end";if(i==="top"){var w={x:o+c/2,y:u-d*a,textAnchor:"middle",verticalAnchor:h};return lr(lr({},w),n?{height:Math.max(u-n.y,0),width:c}:{})}if(i==="bottom"){var j={x:o+c/2,y:u+f+p,textAnchor:"middle",verticalAnchor:x};return lr(lr({},j),n?{height:Math.max(n.y+n.height-(u+f),0),width:c}:{})}if(i==="left"){var b={x:o-g,y:u+f/2,textAnchor:y,verticalAnchor:"middle"};return lr(lr({},b),n?{width:Math.max(b.x-n.x,0),height:f}:{})}if(i==="right"){var _={x:o+c+g,y:u+f/2,textAnchor:m,verticalAnchor:"middle"};return lr(lr({},_),n?{width:Math.max(n.x+n.width-_.x,0),height:f}:{})}var k=n?{width:c,height:f}:{};return i==="insideLeft"?lr({x:o+g,y:u+f/2,textAnchor:m,verticalAnchor:"middle"},k):i==="insideRight"?lr({x:o+c-g,y:u+f/2,textAnchor:y,verticalAnchor:"middle"},k):i==="insideTop"?lr({x:o+c/2,y:u+p,textAnchor:"middle",verticalAnchor:x},k):i==="insideBottom"?lr({x:o+c/2,y:u+f-p,textAnchor:"middle",verticalAnchor:h},k):i==="insideTopLeft"?lr({x:o+g,y:u+p,textAnchor:m,verticalAnchor:x},k):i==="insideTopRight"?lr({x:o+c-g,y:u+p,textAnchor:y,verticalAnchor:x},k):i==="insideBottomLeft"?lr({x:o+g,y:u+f-p,textAnchor:m,verticalAnchor:h},k):i==="insideBottomRight"?lr({x:o+c-g,y:u+f-p,textAnchor:y,verticalAnchor:h},k):eu(i)&&(se(i.x)||Ps(i.x))&&(se(i.y)||Ps(i.y))?lr({x:o+Gr(i.x,c),y:u+Gr(i.y,f),textAnchor:"end",verticalAnchor:"end"},k):lr({x:o+c/2,y:u+f/2,textAnchor:"middle",verticalAnchor:"middle"},k)},lJ=function(t){return"cx"in t&&se(t.cx)};function xr(e){var t=e.offset,r=t===void 0?5:t,n=JZ(e,GZ),a=lr({offset:r},n),i=a.viewBox,s=a.position,o=a.value,u=a.children,c=a.content,f=a.className,d=f===void 0?"":f,p=a.textBreakAll;if(!i||Fe(o)&&Fe(u)&&!S.isValidElement(c)&&!Te(c))return null;if(S.isValidElement(c))return S.cloneElement(c,a);var h;if(Te(c)){if(h=S.createElement(c,a),S.isValidElement(h))return h}else h=nJ(a);var x=lJ(i),v=Ee(a,!0);if(x&&(s==="insideStart"||s==="insideEnd"||s==="end"))return iJ(a,h,v);var g=x?sJ(a):oJ(a);return P.createElement(Ys,nd({className:He("recharts-label",d)},v,g,{breakAll:p}),h)}xr.displayName="Label";var WT=function(t){var r=t.cx,n=t.cy,a=t.angle,i=t.startAngle,s=t.endAngle,o=t.r,u=t.radius,c=t.innerRadius,f=t.outerRadius,d=t.x,p=t.y,h=t.top,x=t.left,v=t.width,g=t.height,y=t.clockWise,m=t.labelViewBox;if(m)return m;if(se(v)&&se(g)){if(se(d)&&se(p))return{x:d,y:p,width:v,height:g};if(se(h)&&se(x))return{x:h,y:x,width:v,height:g}}return se(d)&&se(p)?{x:d,y:p,width:0,height:0}:se(r)&&se(n)?{cx:r,cy:n,startAngle:i||a||0,endAngle:s||a||0,innerRadius:c||0,outerRadius:f||u||o||0,clockWise:y}:t.viewBox?t.viewBox:{}},uJ=function(t,r){return t?t===!0?P.createElement(xr,{key:"label-implicit",viewBox:r}):pr(t)?P.createElement(xr,{key:"label-implicit",viewBox:r,value:t}):S.isValidElement(t)?t.type===xr?S.cloneElement(t,{key:"label-implicit",viewBox:r}):P.createElement(xr,{key:"label-implicit",content:t,viewBox:r}):Te(t)?P.createElement(xr,{key:"label-implicit",content:t,viewBox:r}):eu(t)?P.createElement(xr,nd({viewBox:r},t,{key:"label-implicit"})):null:null},cJ=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&n&&!t.label)return null;var a=t.children,i=WT(t),s=_n(a,xr).map(function(u,c){return S.cloneElement(u,{viewBox:r||i,key:"label-".concat(c)})});if(!n)return s;var o=uJ(t.label,r||i);return[o].concat(qZ(s))};xr.parseViewBox=WT;xr.renderCallByParent=cJ;function dJ(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var fJ=dJ;const pJ=vt(fJ);function ad(e){"@babel/helpers - typeof";return ad=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ad(e)}var hJ=["valueAccessor"],mJ=["data","dataKey","clockWise","id","textBreakAll"];function gJ(e){return bJ(e)||xJ(e)||vJ(e)||yJ()}function yJ(){throw new TypeError(`Invalid attempt to spread non-iterable instance. @@ -115,16 +115,16 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho A`).concat(s,",").concat(s,",0,0,").concat(+(d<0),",").concat(h.x,",").concat(h.y,` A`).concat(i,",").concat(i,",0,").concat(+(j>180),",").concat(+(d<0),",").concat(y.x,",").concat(y.y,` A`).concat(s,",").concat(s,",0,0,").concat(+(d<0),",").concat(m.x,",").concat(m.y,` - `);if(a>0){var _=Cf({cx:r,cy:n,radius:a,angle:c,sign:d,isExternal:!0,cornerRadius:s,cornerIsExternal:u}),k=_.circleTangency,O=_.lineTangency,E=_.theta,T=Cf({cx:r,cy:n,radius:a,angle:f,sign:-d,isExternal:!0,cornerRadius:s,cornerIsExternal:u}),$=T.circleTangency,A=T.lineTangency,R=T.theta,M=u?Math.abs(c-f):Math.abs(c-f)-E-R;if(M<0&&s===0)return"".concat(b,"L").concat(r,",").concat(n,"Z");b+="L".concat(A.x,",").concat(A.y,` - A`).concat(s,",").concat(s,",0,0,").concat(+(d<0),",").concat($.x,",").concat($.y,` - A`).concat(a,",").concat(a,",0,").concat(+(M>180),",").concat(+(d>0),",").concat(k.x,",").concat(k.y,` + `);if(a>0){var _=Cf({cx:r,cy:n,radius:a,angle:c,sign:d,isExternal:!0,cornerRadius:s,cornerIsExternal:u}),k=_.circleTangency,O=_.lineTangency,E=_.theta,T=Cf({cx:r,cy:n,radius:a,angle:f,sign:-d,isExternal:!0,cornerRadius:s,cornerIsExternal:u}),R=T.circleTangency,N=T.lineTangency,$=T.theta,I=u?Math.abs(c-f):Math.abs(c-f)-E-$;if(I<0&&s===0)return"".concat(b,"L").concat(r,",").concat(n,"Z");b+="L".concat(N.x,",").concat(N.y,` + A`).concat(s,",").concat(s,",0,0,").concat(+(d<0),",").concat(R.x,",").concat(R.y,` + A`).concat(a,",").concat(a,",0,").concat(+(I>180),",").concat(+(d>0),",").concat(k.x,",").concat(k.y,` A`).concat(s,",").concat(s,",0,0,").concat(+(d<0),",").concat(O.x,",").concat(O.y,"Z")}else b+="L".concat(r,",").concat(n,"Z");return b},$J={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},GT=function(t){var r=e2(e2({},$J),t),n=r.cx,a=r.cy,i=r.innerRadius,s=r.outerRadius,o=r.cornerRadius,u=r.forceCornerRadius,c=r.cornerIsExternal,f=r.startAngle,d=r.endAngle,p=r.className;if(s0&&Math.abs(f-d)<360?g=TJ({cx:n,cy:a,innerRadius:i,outerRadius:s,cornerRadius:Math.min(v,x/2),forceCornerRadius:u,cornerIsExternal:c,startAngle:f,endAngle:d}):g=HT({cx:n,cy:a,innerRadius:i,outerRadius:s,startAngle:f,endAngle:d}),P.createElement("path",f0({},Ee(r,!0),{className:h,d:g,role:"img"}))};function sd(e){"@babel/helpers - typeof";return sd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},sd(e)}function p0(){return p0=Object.assign?Object.assign.bind():function(e){for(var t=1;tGJ.call(e,t));function co(e,t){return e===t||!e&&!t&&e!==e&&t!==t}const YJ="__v",XJ="__o",ZJ="_owner",{getOwnPropertyDescriptor:i2,keys:s2}=Object;function JJ(e,t){return e.byteLength===t.byteLength&&bh(new Uint8Array(e),new Uint8Array(t))}function QJ(e,t,r){let n=e.length;if(t.length!==n)return!1;for(;n-- >0;)if(!r.equals(e[n],t[n],n,n,e,t,r))return!1;return!0}function eQ(e,t){return e.byteLength===t.byteLength&&bh(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function tQ(e,t){return co(e.getTime(),t.getTime())}function rQ(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function nQ(e,t){return e===t}function o2(e,t,r){const n=e.size;if(n!==t.size)return!1;if(!n)return!0;const a=new Array(n),i=e.entries();let s,o,u=0;for(;(s=i.next())&&!s.done;){const c=t.entries();let f=!1,d=0;for(;(o=c.next())&&!o.done;){if(a[d]){d++;continue}const p=s.value,h=o.value;if(r.equals(p[0],h[0],u,d,e,t,r)&&r.equals(p[1],h[1],p[0],h[0],e,t,r)){f=a[d]=!0;break}d++}if(!f)return!1;u++}return!0}const aQ=co;function iQ(e,t,r){const n=s2(e);let a=n.length;if(s2(t).length!==a)return!1;for(;a-- >0;)if(!XT(e,t,r,n[a]))return!1;return!0}function Tu(e,t,r){const n=a2(e);let a=n.length;if(a2(t).length!==a)return!1;let i,s,o;for(;a-- >0;)if(i=n[a],!XT(e,t,r,i)||(s=i2(e,i),o=i2(t,i),(s||o)&&(!s||!o||s.configurable!==o.configurable||s.enumerable!==o.enumerable||s.writable!==o.writable)))return!1;return!0}function sQ(e,t){return co(e.valueOf(),t.valueOf())}function oQ(e,t){return e.source===t.source&&e.flags===t.flags}function l2(e,t,r){const n=e.size;if(n!==t.size)return!1;if(!n)return!0;const a=new Array(n),i=e.values();let s,o;for(;(s=i.next())&&!s.done;){const u=t.values();let c=!1,f=0;for(;(o=u.next())&&!o.done;){if(!a[f]&&r.equals(s.value,o.value,s.value,o.value,e,t,r)){c=a[f]=!0;break}f++}if(!c)return!1}return!0}function bh(e,t){let r=e.byteLength;if(t.byteLength!==r||e.byteOffset!==t.byteOffset)return!1;for(;r-- >0;)if(e[r]!==t[r])return!1;return!0}function lQ(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function XT(e,t,r,n){return(n===ZJ||n===XJ||n===YJ)&&(e.$$typeof||t.$$typeof)?!0:KJ(t,n)&&r.equals(e[n],t[n],n,n,e,t,r)}const uQ="[object ArrayBuffer]",cQ="[object Arguments]",dQ="[object Boolean]",fQ="[object DataView]",pQ="[object Date]",hQ="[object Error]",mQ="[object Map]",gQ="[object Number]",yQ="[object Object]",vQ="[object RegExp]",xQ="[object Set]",bQ="[object String]",wQ={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},_Q="[object URL]",jQ=Object.prototype.toString;function SQ({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:r,areDatesEqual:n,areErrorsEqual:a,areFunctionsEqual:i,areMapsEqual:s,areNumbersEqual:o,areObjectsEqual:u,arePrimitiveWrappersEqual:c,areRegExpsEqual:f,areSetsEqual:d,areTypedArraysEqual:p,areUrlsEqual:h,unknownTagComparators:x}){return function(g,y,m){if(g===y)return!0;if(g==null||y==null)return!1;const w=typeof g;if(w!==typeof y)return!1;if(w!=="object")return w==="number"?o(g,y,m):w==="function"?i(g,y,m):!1;const j=g.constructor;if(j!==y.constructor)return!1;if(j===Object)return u(g,y,m);if(Array.isArray(g))return t(g,y,m);if(j===Date)return n(g,y,m);if(j===RegExp)return f(g,y,m);if(j===Map)return s(g,y,m);if(j===Set)return d(g,y,m);const b=jQ.call(g);if(b===pQ)return n(g,y,m);if(b===vQ)return f(g,y,m);if(b===mQ)return s(g,y,m);if(b===xQ)return d(g,y,m);if(b===yQ)return typeof g.then!="function"&&typeof y.then!="function"&&u(g,y,m);if(b===_Q)return h(g,y,m);if(b===hQ)return a(g,y,m);if(b===cQ)return u(g,y,m);if(wQ[b])return p(g,y,m);if(b===uQ)return e(g,y,m);if(b===fQ)return r(g,y,m);if(b===dQ||b===gQ||b===bQ)return c(g,y,m);if(x){let _=x[b];if(!_){const k=qJ(g);k&&(_=x[k])}if(_)return _(g,y,m)}return!1}}function kQ({circular:e,createCustomConfig:t,strict:r}){let n={areArrayBuffersEqual:JJ,areArraysEqual:r?Tu:QJ,areDataViewsEqual:eQ,areDatesEqual:tQ,areErrorsEqual:rQ,areFunctionsEqual:nQ,areMapsEqual:r?Ny(o2,Tu):o2,areNumbersEqual:aQ,areObjectsEqual:r?Tu:iQ,arePrimitiveWrappersEqual:sQ,areRegExpsEqual:oQ,areSetsEqual:r?Ny(l2,Tu):l2,areTypedArraysEqual:r?Ny(bh,Tu):bh,areUrlsEqual:lQ,unknownTagComparators:void 0};if(t&&(n=Object.assign({},n,t(n))),e){const a=$f(n.areArraysEqual),i=$f(n.areMapsEqual),s=$f(n.areObjectsEqual),o=$f(n.areSetsEqual);n=Object.assign({},n,{areArraysEqual:a,areMapsEqual:i,areObjectsEqual:s,areSetsEqual:o})}return n}function OQ(e){return function(t,r,n,a,i,s,o){return e(t,r,o)}}function NQ({circular:e,comparator:t,createState:r,equals:n,strict:a}){if(r)return function(o,u){const{cache:c=e?new WeakMap:void 0,meta:f}=r();return t(o,u,{cache:c,equals:n,meta:f,strict:a})};if(e)return function(o,u){return t(o,u,{cache:new WeakMap,equals:n,meta:void 0,strict:a})};const i={cache:void 0,equals:n,meta:void 0,strict:a};return function(o,u){return t(o,u,i)}}const AQ=cs();cs({strict:!0});cs({circular:!0});cs({circular:!0,strict:!0});cs({createInternalComparator:()=>co});cs({strict:!0,createInternalComparator:()=>co});cs({circular:!0,createInternalComparator:()=>co});cs({circular:!0,createInternalComparator:()=>co,strict:!0});function cs(e={}){const{circular:t=!1,createInternalComparator:r,createState:n,strict:a=!1}=e,i=kQ(e),s=SQ(i),o=r?r(s):OQ(s);return NQ({circular:t,comparator:s,createState:n,equals:o,strict:a})}function EQ(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function u2(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=-1,n=function a(i){r<0&&(r=i),i-r>t?(e(i),r=-1):EQ(a)};requestAnimationFrame(n)}function h0(e){"@babel/helpers - typeof";return h0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},h0(e)}function PQ(e){return RQ(e)||$Q(e)||TQ(e)||CQ()}function CQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function TQ(e,t){if(e){if(typeof e=="string")return c2(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c2(e,t)}}function c2(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r1?1:y<0?0:y},v=function(y){for(var m=y>1?1:y,w=m,j=0;j<8;++j){var b=d(w)-m,_=h(w);if(Math.abs(b-m)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,a=t.damping,i=a===void 0?8:a,s=t.dt,o=s===void 0?17:s,u=function(f,d,p){var h=-(f-d)*n,x=p*i,v=p+(h-x)*o/1e3,g=p*o/1e3+f;return Math.abs(g-d)e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function dee(e,t){if(e==null)return{};var r={},n=Object.keys(e),a,i;for(i=0;i=0)&&(r[a]=e[a]);return r}function Ay(e){return mee(e)||hee(e)||pee(e)||fee()}function fee(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pee(e,t){if(e){if(typeof e=="string")return x0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return x0(e,t)}}function hee(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function mee(e){if(Array.isArray(e))return x0(e)}function x0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function jh(e){return jh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},jh(e)}var da=function(e){bee(r,e);var t=wee(r);function r(n,a){var i;gee(this,r),i=t.call(this,n,a);var s=i.props,o=s.isActive,u=s.attributeName,c=s.from,f=s.to,d=s.steps,p=s.children,h=s.duration;if(i.handleStyleChange=i.handleStyleChange.bind(_0(i)),i.changeStyle=i.changeStyle.bind(_0(i)),!o||h<=0)return i.state={style:{}},typeof p=="function"&&(i.state={style:f}),w0(i);if(d&&d.length)i.state={style:d[0].style};else if(c){if(typeof p=="function")return i.state={style:c},w0(i);i.state={style:u?Hu({},u,c):c}}else i.state={style:{}};return i}return vee(r,[{key:"componentDidMount",value:function(){var a=this.props,i=a.isActive,s=a.canBegin;this.mounted=!0,!(!i||!s)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(a){var i=this.props,s=i.isActive,o=i.canBegin,u=i.attributeName,c=i.shouldReAnimate,f=i.to,d=i.from,p=this.state.style;if(o){if(!s){var h={style:u?Hu({},u,f):f};this.state&&p&&(u&&p[u]!==f||!u&&p!==f)&&this.setState(h);return}if(!(AQ(a.to,f)&&a.canBegin&&a.isActive)){var x=!a.canBegin||!a.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var v=x||c?d:a.to;if(this.state&&p){var g={style:u?Hu({},u,v):v};(u&&p[u]!==v||!u&&p!==v)&&this.setState(g)}this.runAnimation(Xn(Xn({},this.props),{},{from:v,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var a=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),a&&a()}},{key:"handleStyleChange",value:function(a){this.changeStyle(a)}},{key:"changeStyle",value:function(a){this.mounted&&this.setState({style:a})}},{key:"runJSAnimation",value:function(a){var i=this,s=a.from,o=a.to,u=a.duration,c=a.easing,f=a.begin,d=a.onAnimationEnd,p=a.onAnimationStart,h=lee(s,o,ZQ(c),u,this.changeStyle),x=function(){i.stopJSAnimation=h()};this.manager.start([p,f,x,u,d])}},{key:"runStepAnimation",value:function(a){var i=this,s=a.steps,o=a.begin,u=a.onAnimationStart,c=s[0],f=c.style,d=c.duration,p=d===void 0?0:d,h=function(v,g,y){if(y===0)return v;var m=g.duration,w=g.easing,j=w===void 0?"ease":w,b=g.style,_=g.properties,k=g.onAnimationEnd,O=y>0?s[y-1]:g,E=_||Object.keys(b);if(typeof j=="function"||j==="spring")return[].concat(Ay(v),[i.runJSAnimation.bind(i,{from:O.style,to:b,duration:m,easing:j}),m]);var T=p2(E,m,j),$=Xn(Xn(Xn({},O.style),b),{},{transition:T});return[].concat(Ay(v),[$,m,k]).filter(FQ)};return this.manager.start([u].concat(Ay(s.reduce(h,[f,Math.max(p,o)])),[a.onAnimationEnd]))}},{key:"runAnimation",value:function(a){this.manager||(this.manager=IQ());var i=a.begin,s=a.duration,o=a.attributeName,u=a.to,c=a.easing,f=a.onAnimationStart,d=a.onAnimationEnd,p=a.steps,h=a.children,x=this.manager;if(this.unSubscribe=x.subscribe(this.handleStyleChange),typeof c=="function"||typeof h=="function"||c==="spring"){this.runJSAnimation(a);return}if(p.length>1){this.runStepAnimation(a);return}var v=o?Hu({},o,u):u,g=p2(Object.keys(v),s,c);x.start([f,i,Xn(Xn({},v),{},{transition:g}),s,d])}},{key:"render",value:function(){var a=this.props,i=a.children;a.begin;var s=a.duration;a.attributeName,a.easing;var o=a.isActive;a.steps,a.from,a.to,a.canBegin,a.onAnimationEnd,a.shouldReAnimate,a.onAnimationReStart;var u=cee(a,uee),c=S.Children.count(i),f=this.state.style;if(typeof i=="function")return i(f);if(!o||c===0||s<=0)return i;var d=function(h){var x=h.props,v=x.style,g=v===void 0?{}:v,y=x.className,m=S.cloneElement(h,Xn(Xn({},u),{},{style:Xn(Xn({},g),f),className:y}));return m};return c===1?d(S.Children.only(i)):P.createElement("div",null,S.Children.map(i,function(p){return d(p)}))}}]),r}(S.PureComponent);da.displayName="Animate";da.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};da.propTypes={from:gt.oneOfType([gt.object,gt.string]),to:gt.oneOfType([gt.object,gt.string]),attributeName:gt.string,duration:gt.number,begin:gt.number,easing:gt.oneOfType([gt.string,gt.func]),steps:gt.arrayOf(gt.shape({duration:gt.number.isRequired,style:gt.object.isRequired,easing:gt.oneOfType([gt.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),gt.func]),properties:gt.arrayOf("string"),onAnimationEnd:gt.func})),children:gt.oneOfType([gt.node,gt.func]),isActive:gt.bool,canBegin:gt.bool,onAnimationEnd:gt.func,shouldReAnimate:gt.bool,onAnimationStart:gt.func,onAnimationReStart:gt.func};function ud(e){"@babel/helpers - typeof";return ud=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ud(e)}function Sh(){return Sh=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function jh(e){return jh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},jh(e)}var da=function(e){bee(r,e);var t=wee(r);function r(n,a){var i;gee(this,r),i=t.call(this,n,a);var s=i.props,o=s.isActive,u=s.attributeName,c=s.from,f=s.to,d=s.steps,p=s.children,h=s.duration;if(i.handleStyleChange=i.handleStyleChange.bind(_0(i)),i.changeStyle=i.changeStyle.bind(_0(i)),!o||h<=0)return i.state={style:{}},typeof p=="function"&&(i.state={style:f}),w0(i);if(d&&d.length)i.state={style:d[0].style};else if(c){if(typeof p=="function")return i.state={style:c},w0(i);i.state={style:u?Hu({},u,c):c}}else i.state={style:{}};return i}return vee(r,[{key:"componentDidMount",value:function(){var a=this.props,i=a.isActive,s=a.canBegin;this.mounted=!0,!(!i||!s)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(a){var i=this.props,s=i.isActive,o=i.canBegin,u=i.attributeName,c=i.shouldReAnimate,f=i.to,d=i.from,p=this.state.style;if(o){if(!s){var h={style:u?Hu({},u,f):f};this.state&&p&&(u&&p[u]!==f||!u&&p!==f)&&this.setState(h);return}if(!(AQ(a.to,f)&&a.canBegin&&a.isActive)){var x=!a.canBegin||!a.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var v=x||c?d:a.to;if(this.state&&p){var g={style:u?Hu({},u,v):v};(u&&p[u]!==v||!u&&p!==v)&&this.setState(g)}this.runAnimation(Xn(Xn({},this.props),{},{from:v,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var a=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),a&&a()}},{key:"handleStyleChange",value:function(a){this.changeStyle(a)}},{key:"changeStyle",value:function(a){this.mounted&&this.setState({style:a})}},{key:"runJSAnimation",value:function(a){var i=this,s=a.from,o=a.to,u=a.duration,c=a.easing,f=a.begin,d=a.onAnimationEnd,p=a.onAnimationStart,h=lee(s,o,ZQ(c),u,this.changeStyle),x=function(){i.stopJSAnimation=h()};this.manager.start([p,f,x,u,d])}},{key:"runStepAnimation",value:function(a){var i=this,s=a.steps,o=a.begin,u=a.onAnimationStart,c=s[0],f=c.style,d=c.duration,p=d===void 0?0:d,h=function(v,g,y){if(y===0)return v;var m=g.duration,w=g.easing,j=w===void 0?"ease":w,b=g.style,_=g.properties,k=g.onAnimationEnd,O=y>0?s[y-1]:g,E=_||Object.keys(b);if(typeof j=="function"||j==="spring")return[].concat(Ay(v),[i.runJSAnimation.bind(i,{from:O.style,to:b,duration:m,easing:j}),m]);var T=p2(E,m,j),R=Xn(Xn(Xn({},O.style),b),{},{transition:T});return[].concat(Ay(v),[R,m,k]).filter(FQ)};return this.manager.start([u].concat(Ay(s.reduce(h,[f,Math.max(p,o)])),[a.onAnimationEnd]))}},{key:"runAnimation",value:function(a){this.manager||(this.manager=IQ());var i=a.begin,s=a.duration,o=a.attributeName,u=a.to,c=a.easing,f=a.onAnimationStart,d=a.onAnimationEnd,p=a.steps,h=a.children,x=this.manager;if(this.unSubscribe=x.subscribe(this.handleStyleChange),typeof c=="function"||typeof h=="function"||c==="spring"){this.runJSAnimation(a);return}if(p.length>1){this.runStepAnimation(a);return}var v=o?Hu({},o,u):u,g=p2(Object.keys(v),s,c);x.start([f,i,Xn(Xn({},v),{},{transition:g}),s,d])}},{key:"render",value:function(){var a=this.props,i=a.children;a.begin;var s=a.duration;a.attributeName,a.easing;var o=a.isActive;a.steps,a.from,a.to,a.canBegin,a.onAnimationEnd,a.shouldReAnimate,a.onAnimationReStart;var u=cee(a,uee),c=S.Children.count(i),f=this.state.style;if(typeof i=="function")return i(f);if(!o||c===0||s<=0)return i;var d=function(h){var x=h.props,v=x.style,g=v===void 0?{}:v,y=x.className,m=S.cloneElement(h,Xn(Xn({},u),{},{style:Xn(Xn({},g),f),className:y}));return m};return c===1?d(S.Children.only(i)):P.createElement("div",null,S.Children.map(i,function(p){return d(p)}))}}]),r}(S.PureComponent);da.displayName="Animate";da.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};da.propTypes={from:gt.oneOfType([gt.object,gt.string]),to:gt.oneOfType([gt.object,gt.string]),attributeName:gt.string,duration:gt.number,begin:gt.number,easing:gt.oneOfType([gt.string,gt.func]),steps:gt.arrayOf(gt.shape({duration:gt.number.isRequired,style:gt.object.isRequired,easing:gt.oneOfType([gt.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),gt.func]),properties:gt.arrayOf("string"),onAnimationEnd:gt.func})),children:gt.oneOfType([gt.node,gt.func]),isActive:gt.bool,canBegin:gt.bool,onAnimationEnd:gt.func,shouldReAnimate:gt.bool,onAnimationStart:gt.func,onAnimationReStart:gt.func};function ud(e){"@babel/helpers - typeof";return ud=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ud(e)}function Sh(){return Sh=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0?1:-1,u=n>=0?1:-1,c=a>=0&&n>=0||a<0&&n<0?1:0,f;if(s>0&&i instanceof Array){for(var d=[0,0,0,0],p=0,h=4;ps?s:i[p];f="M".concat(t,",").concat(r+o*d[0]),d[0]>0&&(f+="A ".concat(d[0],",").concat(d[0],",0,0,").concat(c,",").concat(t+u*d[0],",").concat(r)),f+="L ".concat(t+n-u*d[1],",").concat(r),d[1]>0&&(f+="A ".concat(d[1],",").concat(d[1],",0,0,").concat(c,`, `).concat(t+n,",").concat(r+o*d[1])),f+="L ".concat(t+n,",").concat(r+a-o*d[2]),d[2]>0&&(f+="A ".concat(d[2],",").concat(d[2],",0,0,").concat(c,`, `).concat(t+n-u*d[2],",").concat(r+a)),f+="L ".concat(t+u*d[3],",").concat(r+a),d[3]>0&&(f+="A ".concat(d[3],",").concat(d[3],",0,0,").concat(c,`, @@ -137,14 +137,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho L `).concat(t+u*x,",").concat(r+a,` A `).concat(x,",").concat(x,",0,0,").concat(c,",").concat(t,",").concat(r+a-o*x," Z")}else f="M ".concat(t,",").concat(r," h ").concat(n," v ").concat(a," h ").concat(-n," Z");return f},Cee=function(t,r){if(!t||!r)return!1;var n=t.x,a=t.y,i=r.x,s=r.y,o=r.width,u=r.height;if(Math.abs(o)>0&&Math.abs(u)>0){var c=Math.min(i,i+o),f=Math.max(i,i+o),d=Math.min(s,s+u),p=Math.max(s,s+u);return n>=c&&n<=f&&a>=d&&a<=p}return!1},Tee={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},d1=function(t){var r=w2(w2({},Tee),t),n=S.useRef(),a=S.useState(-1),i=jee(a,2),s=i[0],o=i[1];S.useEffect(function(){if(n.current&&n.current.getTotalLength)try{var j=n.current.getTotalLength();j&&o(j)}catch{}},[]);var u=r.x,c=r.y,f=r.width,d=r.height,p=r.radius,h=r.className,x=r.animationEasing,v=r.animationDuration,g=r.animationBegin,y=r.isAnimationActive,m=r.isUpdateAnimationActive;if(u!==+u||c!==+c||f!==+f||d!==+d||f===0||d===0)return null;var w=He("recharts-rectangle",h);return m?P.createElement(da,{canBegin:s>0,from:{width:f,height:d,x:u,y:c},to:{width:f,height:d,x:u,y:c},duration:v,animationEasing:x,isActive:m},function(j){var b=j.width,_=j.height,k=j.x,O=j.y;return P.createElement(da,{canBegin:s>0,from:"0px ".concat(s===-1?1:s,"px"),to:"".concat(s,"px 0px"),attributeName:"strokeDasharray",begin:g,duration:v,isActive:y,easing:x},P.createElement("path",Sh({},Ee(r,!0),{className:w,d:_2(k,O,b,_,p),ref:n})))}):P.createElement("path",Sh({},Ee(r,!0),{className:w,d:_2(u,c,f,d,p)}))},$ee=["points","className","baseLinePoints","connectNulls"];function Vo(){return Vo=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Iee(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function j2(e){return Fee(e)||Lee(e)||Dee(e)||Mee()}function Mee(){throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Dee(e,t){if(e){if(typeof e=="string")return j0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return j0(e,t)}}function Lee(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Fee(e){if(Array.isArray(e))return j0(e)}function j0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&arguments[0]!==void 0?arguments[0]:[],r=[[]];return t.forEach(function(n){S2(n)?r[r.length-1].push(n):r[r.length-1].length>0&&r.push([])}),S2(t[0])&&r[r.length-1].push(t[0]),r[r.length-1].length<=0&&(r=r.slice(0,-1)),r},fc=function(t,r){var n=zee(t);r&&(n=[n.reduce(function(i,s){return[].concat(j2(i),j2(s))},[])]);var a=n.map(function(i){return i.reduce(function(s,o,u){return"".concat(s).concat(u===0?"M":"L").concat(o.x,",").concat(o.y)},"")}).join("");return n.length===1?"".concat(a,"Z"):a},Bee=function(t,r,n){var a=fc(t,n);return"".concat(a.slice(-1)==="Z"?a.slice(0,-1):a,"L").concat(fc(r.reverse(),n).slice(1))},Uee=function(t){var r=t.points,n=t.className,a=t.baseLinePoints,i=t.connectNulls,s=Ree(t,$ee);if(!r||!r.length)return null;var o=He("recharts-polygon",n);if(a&&a.length){var u=s.stroke&&s.stroke!=="none",c=Bee(r,a,i);return P.createElement("g",{className:o},P.createElement("path",Vo({},Ee(s,!0),{fill:c.slice(-1)==="Z"?s.fill:"none",stroke:"none",d:c})),u?P.createElement("path",Vo({},Ee(s,!0),{fill:"none",d:fc(r,i)})):null,u?P.createElement("path",Vo({},Ee(s,!0),{fill:"none",d:fc(a,i)})):null)}var f=fc(r,i);return P.createElement("path",Vo({},Ee(s,!0),{fill:f.slice(-1)==="Z"?s.fill:"none",className:o,d:f}))};function S0(){return S0=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Yee(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var Xee=function(t,r,n,a,i,s){return"M".concat(t,",").concat(i,"v").concat(a,"M").concat(s,",").concat(r,"h").concat(n)},Zee=function(t){var r=t.x,n=r===void 0?0:r,a=t.y,i=a===void 0?0:a,s=t.top,o=s===void 0?0:s,u=t.left,c=u===void 0?0:u,f=t.width,d=f===void 0?0:f,p=t.height,h=p===void 0?0:p,x=t.className,v=Kee(t,Vee),g=Wee({x:n,y:i,top:o,left:c,width:d,height:h},v);return!se(n)||!se(i)||!se(d)||!se(h)||!se(o)||!se(c)?null:P.createElement("path",k0({},Ee(g,!0),{className:He("recharts-cross",x),d:Xee(n,i,d,h,o,c)}))},Jee=eg,Qee=hT,ete=Ma;function tte(e,t){return e&&e.length?Jee(e,ete(t),Qee):void 0}var rte=tte;const nte=vt(rte);var ate=eg,ite=Ma,ste=mT;function ote(e,t){return e&&e.length?ate(e,ite(t),ste):void 0}var lte=ote;const ute=vt(lte);var cte=["cx","cy","angle","ticks","axisLine"],dte=["ticks","tick","angle","tickFormatter","stroke"];function El(e){"@babel/helpers - typeof";return El=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},El(e)}function pc(){return pc=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function fte(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function pte(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function A2(e,t){for(var r=0;rC2?s=a==="outer"?"start":"end":i<-C2?s=a==="outer"?"end":"start":s="middle",s}},{key:"renderAxisLine",value:function(){var n=this.props,a=n.cx,i=n.cy,s=n.radius,o=n.axisLine,u=n.axisLineType,c=ys(ys({},Ee(this.props,!1)),{},{fill:"none"},Ee(o,!1));if(u==="circle")return P.createElement(Ud,Ss({className:"recharts-polar-angle-axis-line"},c,{cx:a,cy:i,r:s}));var f=this.props.ticks,d=f.map(function(p){return Et(a,i,s,p.coordinate)});return P.createElement(Uee,Ss({className:"recharts-polar-angle-axis-line"},c,{points:d}))}},{key:"renderTicks",value:function(){var n=this,a=this.props,i=a.ticks,s=a.tick,o=a.tickLine,u=a.tickFormatter,c=a.stroke,f=Ee(this.props,!1),d=Ee(s,!1),p=ys(ys({},f),{},{fill:"none"},Ee(o,!1)),h=i.map(function(x,v){var g=n.getTickLineCoord(x),y=n.getTickTextAnchor(x),m=ys(ys(ys({textAnchor:y},f),{},{stroke:"none",fill:c},d),{},{index:v,payload:x,x:g.x2,y:g.y2});return P.createElement(Qe,Ss({className:He("recharts-polar-angle-axis-tick",VT(s)),key:"tick-".concat(x.coordinate)},Ks(n.props,x,v)),o&&P.createElement("line",Ss({className:"recharts-polar-angle-axis-tick-line"},p,g)),s&&t.renderTickItem(s,m,u?u(x.value,v):x.value))});return P.createElement(Qe,{className:"recharts-polar-angle-axis-ticks"},h)}},{key:"render",value:function(){var n=this.props,a=n.ticks,i=n.radius,s=n.axisLine;return i<=0||!a||!a.length?null:P.createElement(Qe,{className:He("recharts-polar-angle-axis",this.props.className)},s&&this.renderAxisLine(),this.renderTicks())}}],[{key:"renderTickItem",value:function(n,a,i){var s;return P.isValidElement(n)?s=P.cloneElement(n,a):Te(n)?s=n(a):s=P.createElement(Ys,Ss({},a,{className:"recharts-polar-angle-axis-tick-value"}),i),s}}])}(S.PureComponent);sg(og,"displayName","PolarAngleAxis");sg(og,"axisType","angleAxis");sg(og,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var Ate=dC,Ete=Ate(Object.getPrototypeOf,Object),Pte=Ete,Cte=hi,Tte=Pte,$te=mi,Rte="[object Object]",Ite=Function.prototype,Mte=Object.prototype,o$=Ite.toString,Dte=Mte.hasOwnProperty,Lte=o$.call(Object);function Fte(e){if(!$te(e)||Cte(e)!=Rte)return!1;var t=Tte(e);if(t===null)return!0;var r=Dte.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&o$.call(r)==Lte}var zte=Fte;const Bte=vt(zte);var Ute=hi,Vte=mi,Wte="[object Boolean]";function Hte(e){return e===!0||e===!1||Vte(e)&&Ute(e)==Wte}var Gte=Hte;const qte=vt(Gte);function dd(e){"@babel/helpers - typeof";return dd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dd(e)}function Nh(){return Nh=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0,from:{upperWidth:0,lowerWidth:0,height:p,x:u,y:c},to:{upperWidth:f,lowerWidth:d,height:p,x:u,y:c},duration:v,animationEasing:x,isActive:y},function(w){var j=w.upperWidth,b=w.lowerWidth,_=w.height,k=w.x,O=w.y;return P.createElement(da,{canBegin:s>0,from:"0px ".concat(s===-1?1:s,"px"),to:"".concat(s,"px 0px"),attributeName:"strokeDasharray",begin:g,duration:v,easing:x},P.createElement("path",Nh({},Ee(r,!0),{className:m,d:I2(k,O,j,b,_),ref:n})))}):P.createElement("g",null,P.createElement("path",Nh({},Ee(r,!0),{className:m,d:I2(u,c,f,d,p)})))},are=["option","shapeType","propTransformer","activeClassName","isActive"];function fd(e){"@babel/helpers - typeof";return fd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fd(e)}function ire(e,t){if(e==null)return{};var r=sre(e,t),n,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function sre(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function M2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ah(e){for(var t=1;t0?wn(w,"paddingAngle",0):0;if(b){var k=dr(b.endAngle-b.startAngle,w.endAngle-w.startAngle),O=Ot(Ot({},w),{},{startAngle:m+_,endAngle:m+k(v)+_});g.push(O),m=O.endAngle}else{var E=w.endAngle,T=w.startAngle,$=dr(0,E-T),A=$(v),R=Ot(Ot({},w),{},{startAngle:m+_,endAngle:m+A+_});g.push(R),m=R.endAngle}}),P.createElement(Qe,null,n.renderSectorsStatically(g))})}},{key:"attachKeyboardHandlers",value:function(n){var a=this;n.onkeydown=function(i){if(!i.altKey)switch(i.key){case"ArrowLeft":{var s=++a.state.sectorToFocus%a.sectorRefs.length;a.sectorRefs[s].focus(),a.setState({sectorToFocus:s});break}case"ArrowRight":{var o=--a.state.sectorToFocus<0?a.sectorRefs.length-1:a.state.sectorToFocus%a.sectorRefs.length;a.sectorRefs[o].focus(),a.setState({sectorToFocus:o});break}case"Escape":{a.sectorRefs[a.state.sectorToFocus].blur(),a.setState({sectorToFocus:0});break}}}}},{key:"renderSectors",value:function(){var n=this.props,a=n.sectors,i=n.isAnimationActive,s=this.state.prevSectors;return i&&a&&a.length&&(!s||!Xs(s,a))?this.renderSectorsWithAnimation():this.renderSectorsStatically(a)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var n=this,a=this.props,i=a.hide,s=a.sectors,o=a.className,u=a.label,c=a.cx,f=a.cy,d=a.innerRadius,p=a.outerRadius,h=a.isAnimationActive,x=this.state.isAnimationFinished;if(i||!s||!s.length||!se(c)||!se(f)||!se(d)||!se(p))return null;var v=He("recharts-pie",o);return P.createElement(Qe,{tabIndex:this.props.rootTabIndex,className:v,ref:function(y){n.pieRef=y}},this.renderSectors(),u&&this.renderLabels(s),xr.renderCallByParent(this.props,null,!1),(!h||x)&&Aa.renderCallByParent(this.props,s,!1))}}],[{key:"getDerivedStateFromProps",value:function(n,a){return a.prevIsAnimationActive!==n.isAnimationActive?{prevIsAnimationActive:n.isAnimationActive,prevAnimationId:n.animationId,curSectors:n.sectors,prevSectors:[],isAnimationFinished:!0}:n.isAnimationActive&&n.animationId!==a.prevAnimationId?{prevAnimationId:n.animationId,curSectors:n.sectors,prevSectors:a.curSectors,isAnimationFinished:!0}:n.sectors!==a.curSectors?{curSectors:n.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(n,a){return n>a?"start":ne.length)&&(t=e.length);for(var r=0,n=new Array(t);r0,from:{upperWidth:0,lowerWidth:0,height:p,x:u,y:c},to:{upperWidth:f,lowerWidth:d,height:p,x:u,y:c},duration:v,animationEasing:x,isActive:y},function(w){var j=w.upperWidth,b=w.lowerWidth,_=w.height,k=w.x,O=w.y;return P.createElement(da,{canBegin:s>0,from:"0px ".concat(s===-1?1:s,"px"),to:"".concat(s,"px 0px"),attributeName:"strokeDasharray",begin:g,duration:v,easing:x},P.createElement("path",Nh({},Ee(r,!0),{className:m,d:I2(k,O,j,b,_),ref:n})))}):P.createElement("g",null,P.createElement("path",Nh({},Ee(r,!0),{className:m,d:I2(u,c,f,d,p)})))},are=["option","shapeType","propTransformer","activeClassName","isActive"];function fd(e){"@babel/helpers - typeof";return fd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fd(e)}function ire(e,t){if(e==null)return{};var r=sre(e,t),n,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function sre(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function M2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ah(e){for(var t=1;t0?wn(w,"paddingAngle",0):0;if(b){var k=dr(b.endAngle-b.startAngle,w.endAngle-w.startAngle),O=Ot(Ot({},w),{},{startAngle:m+_,endAngle:m+k(v)+_});g.push(O),m=O.endAngle}else{var E=w.endAngle,T=w.startAngle,R=dr(0,E-T),N=R(v),$=Ot(Ot({},w),{},{startAngle:m+_,endAngle:m+N+_});g.push($),m=$.endAngle}}),P.createElement(Qe,null,n.renderSectorsStatically(g))})}},{key:"attachKeyboardHandlers",value:function(n){var a=this;n.onkeydown=function(i){if(!i.altKey)switch(i.key){case"ArrowLeft":{var s=++a.state.sectorToFocus%a.sectorRefs.length;a.sectorRefs[s].focus(),a.setState({sectorToFocus:s});break}case"ArrowRight":{var o=--a.state.sectorToFocus<0?a.sectorRefs.length-1:a.state.sectorToFocus%a.sectorRefs.length;a.sectorRefs[o].focus(),a.setState({sectorToFocus:o});break}case"Escape":{a.sectorRefs[a.state.sectorToFocus].blur(),a.setState({sectorToFocus:0});break}}}}},{key:"renderSectors",value:function(){var n=this.props,a=n.sectors,i=n.isAnimationActive,s=this.state.prevSectors;return i&&a&&a.length&&(!s||!Xs(s,a))?this.renderSectorsWithAnimation():this.renderSectorsStatically(a)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var n=this,a=this.props,i=a.hide,s=a.sectors,o=a.className,u=a.label,c=a.cx,f=a.cy,d=a.innerRadius,p=a.outerRadius,h=a.isAnimationActive,x=this.state.isAnimationFinished;if(i||!s||!s.length||!se(c)||!se(f)||!se(d)||!se(p))return null;var v=He("recharts-pie",o);return P.createElement(Qe,{tabIndex:this.props.rootTabIndex,className:v,ref:function(y){n.pieRef=y}},this.renderSectors(),u&&this.renderLabels(s),xr.renderCallByParent(this.props,null,!1),(!h||x)&&Aa.renderCallByParent(this.props,s,!1))}}],[{key:"getDerivedStateFromProps",value:function(n,a){return a.prevIsAnimationActive!==n.isAnimationActive?{prevIsAnimationActive:n.isAnimationActive,prevAnimationId:n.animationId,curSectors:n.sectors,prevSectors:[],isAnimationFinished:!0}:n.isAnimationActive&&n.animationId!==a.prevAnimationId?{prevAnimationId:n.animationId,curSectors:n.sectors,prevSectors:a.curSectors,isAnimationFinished:!0}:n.sectors!==a.curSectors?{curSectors:n.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(n,a){return n>a?"start":n=360?m:m-1)*u,j=g-m*h-w,b=a.reduce(function(O,E){var T=er(E,y,0);return O+(se(T)?T:0)},0),_;if(b>0){var k;_=a.map(function(O,E){var T=er(O,y,0),$=er(O,f,E),A=(se(T)?T:0)/b,R;E?R=k.endAngle+Hr(v)*u*(T!==0?1:0):R=s;var M=R+Hr(v)*((T!==0?h:0)+A*j),L=(R+M)/2,V=(x.innerRadius+x.outerRadius)/2,H=[{name:$,value:T,payload:O,dataKey:y,type:p}],I=Et(x.cx,x.cy,V,L);return k=Ot(Ot(Ot({percent:A,cornerRadius:i,name:$,tooltipPayload:H,midAngle:L,middleRadius:V,tooltipPosition:I},O),x),{},{value:er(O,y),startAngle:R,endAngle:M,payload:O,paddingAngle:Hr(v)*u}),k})}return Ot(Ot({},x),{},{sectors:_,data:a})});var Nre=Math.ceil,Are=Math.max;function Ere(e,t,r,n){for(var a=-1,i=Are(Nre((t-e)/(r||1)),0),s=Array(i);i--;)s[n?i:++a]=e,e+=r;return s}var Pre=Ere,Cre=PC,z2=1/0,Tre=17976931348623157e292;function $re(e){if(!e)return e===0?e:0;if(e=Cre(e),e===z2||e===-z2){var t=e<0?-1:1;return t*Tre}return e===e?e:0}var d$=$re,Rre=Pre,Ire=qm,Ey=d$;function Mre(e){return function(t,r,n){return n&&typeof n!="number"&&Ire(t,r,n)&&(r=n=void 0),t=Ey(t),r===void 0?(r=t,t=0):r=Ey(r),n=n===void 0?t0&&n.handleDrag(a.changedTouches[0])}),mn(n,"handleDragEnd",function(){n.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var a=n.props,i=a.endIndex,s=a.onDragEnd,o=a.startIndex;s==null||s({endIndex:i,startIndex:o})}),n.detachDragEndListener()}),mn(n,"handleLeaveWrapper",function(){(n.state.isTravellerMoving||n.state.isSlideMoving)&&(n.leaveTimer=window.setTimeout(n.handleDragEnd,n.props.leaveTimeOut))}),mn(n,"handleEnterSlideOrTraveller",function(){n.setState({isTextActive:!0})}),mn(n,"handleLeaveSlideOrTraveller",function(){n.setState({isTextActive:!1})}),mn(n,"handleSlideDragStart",function(a){var i=H2(a)?a.changedTouches[0]:a;n.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:i.pageX}),n.attachDragEndListener()}),n.travellerDragStartHandlers={startX:n.handleTravellerDragStart.bind(n,"startX"),endX:n.handleTravellerDragStart.bind(n,"endX")},n.state={},n}return Xre(t,e),Gre(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(n){var a=n.startX,i=n.endX,s=this.state.scaleValues,o=this.props,u=o.gap,c=o.data,f=c.length-1,d=Math.min(a,i),p=Math.max(a,i),h=t.getIndexInRange(s,d),x=t.getIndexInRange(s,p);return{startIndex:h-h%u,endIndex:x===f?f:x-x%u}}},{key:"getTextOfTick",value:function(n){var a=this.props,i=a.data,s=a.tickFormatter,o=a.dataKey,u=er(i[n],o,n);return Te(s)?s(u,n):u}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(n){var a=this.state,i=a.slideMoveStartX,s=a.startX,o=a.endX,u=this.props,c=u.x,f=u.width,d=u.travellerWidth,p=u.startIndex,h=u.endIndex,x=u.onChange,v=n.pageX-i;v>0?v=Math.min(v,c+f-d-o,c+f-d-s):v<0&&(v=Math.max(v,c-s,c-o));var g=this.getIndex({startX:s+v,endX:o+v});(g.startIndex!==p||g.endIndex!==h)&&x&&x(g),this.setState({startX:s+v,endX:o+v,slideMoveStartX:n.pageX})}},{key:"handleTravellerDragStart",value:function(n,a){var i=H2(a)?a.changedTouches[0]:a;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:n,brushMoveStartX:i.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(n){var a=this.state,i=a.brushMoveStartX,s=a.movingTravellerId,o=a.endX,u=a.startX,c=this.state[s],f=this.props,d=f.x,p=f.width,h=f.travellerWidth,x=f.onChange,v=f.gap,g=f.data,y={startX:this.state.startX,endX:this.state.endX},m=n.pageX-i;m>0?m=Math.min(m,d+p-h-c):m<0&&(m=Math.max(m,d-c)),y[s]=c+m;var w=this.getIndex(y),j=w.startIndex,b=w.endIndex,_=function(){var O=g.length-1;return s==="startX"&&(o>u?j%v===0:b%v===0)||ou?b%v===0:j%v===0)||o>u&&b===O};this.setState(mn(mn({},s,c+m),"brushMoveStartX",n.pageX),function(){x&&_()&&x(w)})}},{key:"handleTravellerMoveKeyboard",value:function(n,a){var i=this,s=this.state,o=s.scaleValues,u=s.startX,c=s.endX,f=this.state[a],d=o.indexOf(f);if(d!==-1){var p=d+n;if(!(p===-1||p>=o.length)){var h=o[p];a==="startX"&&h>=c||a==="endX"&&h<=u||this.setState(mn({},a,h),function(){i.props.onChange(i.getIndex({startX:i.state.startX,endX:i.state.endX}))})}}}},{key:"renderBackground",value:function(){var n=this.props,a=n.x,i=n.y,s=n.width,o=n.height,u=n.fill,c=n.stroke;return P.createElement("rect",{stroke:c,fill:u,x:a,y:i,width:s,height:o})}},{key:"renderPanorama",value:function(){var n=this.props,a=n.x,i=n.y,s=n.width,o=n.height,u=n.data,c=n.children,f=n.padding,d=S.Children.only(c);return d?P.cloneElement(d,{x:a,y:i,width:s,height:o,margin:f,compact:!0,data:u}):null}},{key:"renderTravellerLayer",value:function(n,a){var i,s,o=this,u=this.props,c=u.y,f=u.travellerWidth,d=u.height,p=u.traveller,h=u.ariaLabel,x=u.data,v=u.startIndex,g=u.endIndex,y=Math.max(n,this.props.x),m=Py(Py({},Ee(this.props,!1)),{},{x:y,y:c,width:f,height:d}),w=h||"Min value: ".concat((i=x[v])===null||i===void 0?void 0:i.name,", Max value: ").concat((s=x[g])===null||s===void 0?void 0:s.name);return P.createElement(Qe,{tabIndex:0,role:"slider","aria-label":w,"aria-valuenow":n,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[a],onTouchStart:this.travellerDragStartHandlers[a],onKeyDown:function(b){["ArrowLeft","ArrowRight"].includes(b.key)&&(b.preventDefault(),b.stopPropagation(),o.handleTravellerMoveKeyboard(b.key==="ArrowRight"?1:-1,a))},onFocus:function(){o.setState({isTravellerFocused:!0})},onBlur:function(){o.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(p,m))}},{key:"renderSlide",value:function(n,a){var i=this.props,s=i.y,o=i.height,u=i.stroke,c=i.travellerWidth,f=Math.min(n,a)+c,d=Math.max(Math.abs(a-n)-c,0);return P.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:u,fillOpacity:.2,x:f,y:s,width:d,height:o})}},{key:"renderText",value:function(){var n=this.props,a=n.startIndex,i=n.endIndex,s=n.y,o=n.height,u=n.travellerWidth,c=n.stroke,f=this.state,d=f.startX,p=f.endX,h=5,x={pointerEvents:"none",fill:c};return P.createElement(Qe,{className:"recharts-brush-texts"},P.createElement(Ys,Ch({textAnchor:"end",verticalAnchor:"middle",x:Math.min(d,p)-h,y:s+o/2},x),this.getTextOfTick(a)),P.createElement(Ys,Ch({textAnchor:"start",verticalAnchor:"middle",x:Math.max(d,p)+u+h,y:s+o/2},x),this.getTextOfTick(i)))}},{key:"render",value:function(){var n=this.props,a=n.data,i=n.className,s=n.children,o=n.x,u=n.y,c=n.width,f=n.height,d=n.alwaysShowText,p=this.state,h=p.startX,x=p.endX,v=p.isTextActive,g=p.isSlideMoving,y=p.isTravellerMoving,m=p.isTravellerFocused;if(!a||!a.length||!se(o)||!se(u)||!se(c)||!se(f)||c<=0||f<=0)return null;var w=He("recharts-brush",i),j=P.Children.count(s)===1,b=Wre("userSelect","none");return P.createElement(Qe,{className:w,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:b},this.renderBackground(),j&&this.renderPanorama(),this.renderSlide(h,x),this.renderTravellerLayer(h,"startX"),this.renderTravellerLayer(x,"endX"),(v||g||y||m||d)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(n){var a=n.x,i=n.y,s=n.width,o=n.height,u=n.stroke,c=Math.floor(i+o/2)-1;return P.createElement(P.Fragment,null,P.createElement("rect",{x:a,y:i,width:s,height:o,fill:u,stroke:"none"}),P.createElement("line",{x1:a+1,y1:c,x2:a+s-1,y2:c,fill:"none",stroke:"#fff"}),P.createElement("line",{x1:a+1,y1:c+2,x2:a+s-1,y2:c+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(n,a){var i;return P.isValidElement(n)?i=P.cloneElement(n,a):Te(n)?i=n(a):i=t.renderDefaultTraveller(a),i}},{key:"getDerivedStateFromProps",value:function(n,a){var i=n.data,s=n.width,o=n.x,u=n.travellerWidth,c=n.updateId,f=n.startIndex,d=n.endIndex;if(i!==a.prevData||c!==a.prevUpdateId)return Py({prevData:i,prevTravellerWidth:u,prevUpdateId:c,prevX:o,prevWidth:s},i&&i.length?Jre({data:i,width:s,x:o,travellerWidth:u,startIndex:f,endIndex:d}):{scale:null,scaleValues:null});if(a.scale&&(s!==a.prevWidth||o!==a.prevX||u!==a.prevTravellerWidth)){a.scale.range([o,o+s-u]);var p=a.scale.domain().map(function(h){return a.scale(h)});return{prevData:i,prevTravellerWidth:u,prevUpdateId:c,prevX:o,prevWidth:s,startX:a.scale(n.startIndex),endX:a.scale(n.endIndex),scaleValues:p}}return null}},{key:"getIndexInRange",value:function(n,a){for(var i=n.length,s=0,o=i-1;o-s>1;){var u=Math.floor((s+o)/2);n[u]>a?o=u:s=u}return a>=n[o]?o:s}}])}(S.PureComponent);mn($l,"displayName","Brush");mn($l,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var Qre=Dw;function ene(e,t){var r;return Qre(e,function(n,a,i){return r=t(n,a,i),!r}),!!r}var tne=ene,rne=nC,nne=Ma,ane=tne,ine=cn,sne=qm;function one(e,t,r){var n=ine(e)?rne:ane;return r&&sne(e,t,r)&&(t=void 0),n(e,nne(t))}var lne=one;const une=vt(lne);var Ea=function(t,r){var n=t.alwaysShow,a=t.ifOverflow;return n&&(a="extendDomain"),a===r},G2=kC;function cne(e,t,r){t=="__proto__"&&G2?G2(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var dne=cne,fne=dne,pne=jC,hne=Ma;function mne(e,t){var r={};return t=hne(t),pne(e,function(n,a,i){fne(r,a,t(n,a,i))}),r}var gne=mne;const yne=vt(gne);function vne(e,t){for(var r=-1,n=e==null?0:e.length;++r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Ine(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Mne(e,t){var r=e.x,n=e.y,a=Rne(e,Pne),i="".concat(r),s=parseInt(i,10),o="".concat(n),u=parseInt(o,10),c="".concat(t.height||a.height),f=parseInt(c,10),d="".concat(t.width||a.width),p=parseInt(d,10);return $u($u($u($u($u({},t),a),s?{x:s}:{}),u?{y:u}:{}),{},{height:f,width:p,name:t.name,radius:t.radius})}function K2(e){return P.createElement(l$,P0({shapeType:"rectangle",propTransformer:Mne,activeClassName:"recharts-active-bar"},e))}var Dne=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(n,a){if(typeof t=="number")return t;var i=se(n)||i8(n);return i?t(n,a):(i||Js(),r)}},Lne=["value","background"],g$;function Rl(e){"@babel/helpers - typeof";return Rl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rl(e)}function Fne(e,t){if(e==null)return{};var r=zne(e,t),n,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function zne(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function $h(){return $h=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs(L)0&&Math.abs(M)0&&(R=Math.min((q||0)-(M[le-1]||0),R))}),Number.isFinite(R)){var L=R/A,V=v.layout==="vertical"?n.height:n.width;if(v.padding==="gap"&&(k=L*V/2),v.padding==="no-gap"){var H=Gr(t.barCategoryGap,L*V),I=L*V/2;k=I-H-(I-H)/V*H}}}a==="xAxis"?O=[n.left+(w.left||0)+(k||0),n.left+n.width-(w.right||0)-(k||0)]:a==="yAxis"?O=u==="horizontal"?[n.top+n.height-(w.bottom||0),n.top+(w.top||0)]:[n.top+(w.top||0)+(k||0),n.top+n.height-(w.bottom||0)-(k||0)]:O=v.range,b&&(O=[O[1],O[0]]);var B=MT(v,i,p),W=B.scale,G=B.realScaleType;W.domain(y).range(O),DT(W);var K=LT(W,ea(ea({},v),{},{realScaleType:G}));a==="xAxis"?($=g==="top"&&!j||g==="bottom"&&j,E=n.left,T=d[_]-$*v.height):a==="yAxis"&&($=g==="left"&&!j||g==="right"&&j,E=d[_]-$*v.width,T=n.top);var ee=ea(ea(ea({},v),K),{},{realScaleType:G,x:E,y:T,scale:W,width:a==="xAxis"?n.width:v.width,height:a==="yAxis"?n.height:v.height});return ee.bandSize=yh(ee,K),!v.hide&&a==="xAxis"?d[_]+=($?-1:1)*ee.height:v.hide||(d[_]+=($?-1:1)*ee.width),ea(ea({},h),{},cg({},x,ee))},{})},b$=function(t,r){var n=t.x,a=t.y,i=r.x,s=r.y;return{x:Math.min(n,i),y:Math.min(a,s),width:Math.abs(i-n),height:Math.abs(s-a)}},Zne=function(t){var r=t.x1,n=t.y1,a=t.x2,i=t.y2;return b$({x:r,y:n},{x:a,y:i})},w$=function(){function e(t){Kne(this,e),this.scale=t}return Yne(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=n.bandAware,i=n.position;if(r!==void 0){if(i)switch(i){case"start":return this.scale(r);case"middle":{var s=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+s}case"end":{var o=this.bandwidth?this.bandwidth():0;return this.scale(r)+o}default:return this.scale(r)}if(a){var u=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+u}return this.scale(r)}}},{key:"isInRange",value:function(r){var n=this.range(),a=n[0],i=n[n.length-1];return a<=i?r>=a&&r<=i:r>=i&&r<=a}}],[{key:"create",value:function(r){return new e(r)}}])}();cg(w$,"EPS",1e-4);var p1=function(t){var r=Object.keys(t).reduce(function(n,a){return ea(ea({},n),{},cg({},a,w$.create(t[a])))},{});return ea(ea({},r),{},{apply:function(a){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=i.bandAware,o=i.position;return yne(a,function(u,c){return r[c].apply(u,{bandAware:s,position:o})})},isInRange:function(a){return m$(a,function(i,s){return r[s].isInRange(i)})}})};function Jne(e){return(e%180+180)%180}var Qne=function(t){var r=t.width,n=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=Jne(a),s=i*Math.PI/180,o=Math.atan(n/r),u=s>o&&s-1?a[i?t[s]:s]:void 0}}var aae=nae,iae=d$;function sae(e){var t=iae(e),r=t%1;return t===t?r?t-r:t:0}var oae=sae,lae=yC,uae=Ma,cae=oae,dae=Math.max;function fae(e,t,r){var n=e==null?0:e.length;if(!n)return-1;var a=r==null?0:cae(r);return a<0&&(a=dae(n+a,0)),lae(e,uae(t),a)}var pae=fae,hae=aae,mae=pae,gae=hae(mae),yae=gae;const vae=vt(yae);var xae=d6(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),h1=S.createContext(void 0),m1=S.createContext(void 0),_$=S.createContext(void 0),j$=S.createContext({}),S$=S.createContext(void 0),k$=S.createContext(0),O$=S.createContext(0),Q2=function(t){var r=t.state,n=r.xAxisMap,a=r.yAxisMap,i=r.offset,s=t.clipPathId,o=t.children,u=t.width,c=t.height,f=xae(i);return P.createElement(h1.Provider,{value:n},P.createElement(m1.Provider,{value:a},P.createElement(j$.Provider,{value:i},P.createElement(_$.Provider,{value:f},P.createElement(S$.Provider,{value:s},P.createElement(k$.Provider,{value:c},P.createElement(O$.Provider,{value:u},o)))))))},bae=function(){return S.useContext(S$)},N$=function(t){var r=S.useContext(h1);r==null&&Js();var n=r[t];return n==null&&Js(),n},wae=function(){var t=S.useContext(h1);return Pi(t)},_ae=function(){var t=S.useContext(m1),r=vae(t,function(n){return m$(n.domain,Number.isFinite)});return r||Pi(t)},A$=function(t){var r=S.useContext(m1);r==null&&Js();var n=r[t];return n==null&&Js(),n},jae=function(){var t=S.useContext(_$);return t},Sae=function(){return S.useContext(j$)},g1=function(){return S.useContext(O$)},y1=function(){return S.useContext(k$)};function Il(e){"@babel/helpers - typeof";return Il=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Il(e)}function kae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Oae(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);re*a)return!1;var i=r();return e*(t-e*i/2-n)>=0&&e*(t+e*i/2-a)<=0}function oie(e,t){return I$(e,t+1)}function lie(e,t,r,n,a){for(var i=(n||[]).slice(),s=t.start,o=t.end,u=0,c=1,f=s,d=function(){var x=n==null?void 0:n[u];if(x===void 0)return{v:I$(n,c)};var v=u,g,y=function(){return g===void 0&&(g=r(x,v)),g},m=x.coordinate,w=u===0||Lh(e,m,y,f,o);w||(u=0,f=s,c+=1),w&&(f=m+e*(y()/2+a),u+=c)},p;c<=i.length;)if(p=d(),p)return p.v;return[]}function yd(e){"@babel/helpers - typeof";return yd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yd(e)}function oO(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ir(e){for(var t=1;t0?h.coordinate-g*e:h.coordinate})}else i[p]=h=Ir(Ir({},h),{},{tickCoord:h.coordinate});var y=Lh(e,h.tickCoord,v,o,u);y&&(u=h.tickCoord-e*(v()/2+a),i[p]=Ir(Ir({},h),{},{isShow:!0}))},f=s-1;f>=0;f--)c(f);return i}function pie(e,t,r,n,a,i){var s=(n||[]).slice(),o=s.length,u=t.start,c=t.end;if(i){var f=n[o-1],d=r(f,o-1),p=e*(f.coordinate+e*d/2-c);s[o-1]=f=Ir(Ir({},f),{},{tickCoord:p>0?f.coordinate-p*e:f.coordinate});var h=Lh(e,f.tickCoord,function(){return d},u,c);h&&(c=f.tickCoord-e*(d/2+a),s[o-1]=Ir(Ir({},f),{},{isShow:!0}))}for(var x=i?o-1:o,v=function(m){var w=s[m],j,b=function(){return j===void 0&&(j=r(w,m)),j};if(m===0){var _=e*(w.coordinate-e*b()/2-u);s[m]=w=Ir(Ir({},w),{},{tickCoord:_<0?w.coordinate-_*e:w.coordinate})}else s[m]=w=Ir(Ir({},w),{},{tickCoord:w.coordinate});var k=Lh(e,w.tickCoord,b,u,c);k&&(u=w.tickCoord+e*(b()/2+a),s[m]=Ir(Ir({},w),{},{isShow:!0}))},g=0;g=2?Hr(a[1].coordinate-a[0].coordinate):1,y=sie(i,g,h);return u==="equidistantPreserveStart"?lie(g,y,v,a,s):(u==="preserveStart"||u==="preserveStartEnd"?p=pie(g,y,v,a,s,u==="preserveStartEnd"):p=fie(g,y,v,a,s),p.filter(function(m){return m.isShow}))}var hie=["viewBox"],mie=["viewBox"],gie=["ticks"];function Ll(e){"@babel/helpers - typeof";return Ll=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ll(e)}function Ho(){return Ho=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function yie(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function vie(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function uO(e,t){for(var r=0;r0?u(this.props):u(h)),s<=0||o<=0||!x||!x.length?null:P.createElement(Qe,{className:He("recharts-cartesian-axis",c),ref:function(g){n.layerReference=g}},i&&this.renderAxisLine(),this.renderTicks(x,this.state.fontSize,this.state.letterSpacing),xr.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(n,a,i){var s,o=He(a.className,"recharts-cartesian-axis-tick-value");return P.isValidElement(n)?s=P.cloneElement(n,or(or({},a),{},{className:o})):Te(n)?s=n(or(or({},a),{},{className:o})):s=P.createElement(Ys,Ho({},a,{className:"recharts-cartesian-axis-tick-value"}),i),s}}])}(S.Component);w1(du,"displayName","CartesianAxis");w1(du,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var kie=["x1","y1","x2","y2","key"],Oie=["offset"];function Qs(e){"@babel/helpers - typeof";return Qs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qs(e)}function cO(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Lr(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Pie(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var Cie=function(t){var r=t.fill;if(!r||r==="none")return null;var n=t.fillOpacity,a=t.x,i=t.y,s=t.width,o=t.height,u=t.ry;return P.createElement("rect",{x:a,y:i,ry:u,width:s,height:o,stroke:"none",fill:r,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function L$(e,t){var r;if(P.isValidElement(e))r=P.cloneElement(e,t);else if(Te(e))r=e(t);else{var n=t.x1,a=t.y1,i=t.x2,s=t.y2,o=t.key,u=dO(t,kie),c=Ee(u,!1);c.offset;var f=dO(c,Oie);r=P.createElement("line",$s({},f,{x1:n,y1:a,x2:i,y2:s,fill:"none",key:o}))}return r}function Tie(e){var t=e.x,r=e.width,n=e.horizontal,a=n===void 0?!0:n,i=e.horizontalPoints;if(!a||!i||!i.length)return null;var s=i.map(function(o,u){var c=Lr(Lr({},e),{},{x1:t,y1:o,x2:t+r,y2:o,key:"line-".concat(u),index:u});return L$(a,c)});return P.createElement("g",{className:"recharts-cartesian-grid-horizontal"},s)}function $ie(e){var t=e.y,r=e.height,n=e.vertical,a=n===void 0?!0:n,i=e.verticalPoints;if(!a||!i||!i.length)return null;var s=i.map(function(o,u){var c=Lr(Lr({},e),{},{x1:o,y1:t,x2:o,y2:t+r,key:"line-".concat(u),index:u});return L$(a,c)});return P.createElement("g",{className:"recharts-cartesian-grid-vertical"},s)}function Rie(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,a=e.y,i=e.width,s=e.height,o=e.horizontalPoints,u=e.horizontal,c=u===void 0?!0:u;if(!c||!t||!t.length)return null;var f=o.map(function(p){return Math.round(p+a-a)}).sort(function(p,h){return p-h});a!==f[0]&&f.unshift(0);var d=f.map(function(p,h){var x=!f[h+1],v=x?a+s-p:f[h+1]-p;if(v<=0)return null;var g=h%t.length;return P.createElement("rect",{key:"react-".concat(h),y:p,x:n,height:v,width:i,stroke:"none",fill:t[g],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return P.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function Iie(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,a=e.fillOpacity,i=e.x,s=e.y,o=e.width,u=e.height,c=e.verticalPoints;if(!r||!n||!n.length)return null;var f=c.map(function(p){return Math.round(p+i-i)}).sort(function(p,h){return p-h});i!==f[0]&&f.unshift(0);var d=f.map(function(p,h){var x=!f[h+1],v=x?i+o-p:f[h+1]-p;if(v<=0)return null;var g=h%n.length;return P.createElement("rect",{key:"react-".concat(h),x:p,y:s,width:v,height:u,stroke:"none",fill:n[g],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return P.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var Mie=function(t,r){var n=t.xAxis,a=t.width,i=t.height,s=t.offset;return IT(b1(Lr(Lr(Lr({},du.defaultProps),n),{},{ticks:Xa(n,!0),viewBox:{x:0,y:0,width:a,height:i}})),s.left,s.left+s.width,r)},Die=function(t,r){var n=t.yAxis,a=t.width,i=t.height,s=t.offset;return IT(b1(Lr(Lr(Lr({},du.defaultProps),n),{},{ticks:Xa(n,!0),viewBox:{x:0,y:0,width:a,height:i}})),s.top,s.top+s.height,r)},vo={horizontal:!0,vertical:!0,stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function fp(e){var t,r,n,a,i,s,o=g1(),u=y1(),c=Sae(),f=Lr(Lr({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:vo.stroke,fill:(r=e.fill)!==null&&r!==void 0?r:vo.fill,horizontal:(n=e.horizontal)!==null&&n!==void 0?n:vo.horizontal,horizontalFill:(a=e.horizontalFill)!==null&&a!==void 0?a:vo.horizontalFill,vertical:(i=e.vertical)!==null&&i!==void 0?i:vo.vertical,verticalFill:(s=e.verticalFill)!==null&&s!==void 0?s:vo.verticalFill,x:se(e.x)?e.x:c.left,y:se(e.y)?e.y:c.top,width:se(e.width)?e.width:c.width,height:se(e.height)?e.height:c.height}),d=f.x,p=f.y,h=f.width,x=f.height,v=f.syncWithTicks,g=f.horizontalValues,y=f.verticalValues,m=wae(),w=_ae();if(!se(h)||h<=0||!se(x)||x<=0||!se(d)||d!==+d||!se(p)||p!==+p)return null;var j=f.verticalCoordinatesGenerator||Mie,b=f.horizontalCoordinatesGenerator||Die,_=f.horizontalPoints,k=f.verticalPoints;if((!_||!_.length)&&Te(b)){var O=g&&g.length,E=b({yAxis:w?Lr(Lr({},w),{},{ticks:O?g:w.ticks}):void 0,width:o,height:u,offset:c},O?!0:v);la(Array.isArray(E),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(Qs(E),"]")),Array.isArray(E)&&(_=E)}if((!k||!k.length)&&Te(j)){var T=y&&y.length,$=j({xAxis:m?Lr(Lr({},m),{},{ticks:T?y:m.ticks}):void 0,width:o,height:u,offset:c},T?!0:v);la(Array.isArray($),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(Qs($),"]")),Array.isArray($)&&(k=$)}return P.createElement("g",{className:"recharts-cartesian-grid"},P.createElement(Cie,{fill:f.fill,fillOpacity:f.fillOpacity,x:f.x,y:f.y,width:f.width,height:f.height,ry:f.ry}),P.createElement(Tie,$s({},f,{offset:c,horizontalPoints:_,xAxis:m,yAxis:w})),P.createElement($ie,$s({},f,{offset:c,verticalPoints:k,xAxis:m,yAxis:w})),P.createElement(Rie,$s({},f,{horizontalPoints:_})),P.createElement(Iie,$s({},f,{verticalPoints:k})))}fp.displayName="CartesianGrid";var Lie=["type","layout","connectNulls","ref"],Fie=["key"];function Fl(e){"@babel/helpers - typeof";return Fl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fl(e)}function fO(e,t){if(e==null)return{};var r=zie(e,t),n,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function zie(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function hc(){return hc=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);rd){h=[].concat(xo(u.slice(0,x)),[d-v]);break}var g=h.length%2===0?[0,p]:[p];return[].concat(xo(t.repeat(u,f)),xo(h),g).map(function(y){return"".concat(y,"px")}).join(", ")}),ta(r,"id",oo("recharts-line-")),ta(r,"pathRef",function(s){r.mainCurve=s}),ta(r,"handleAnimationEnd",function(){r.setState({isAnimationFinished:!0}),r.props.onAnimationEnd&&r.props.onAnimationEnd()}),ta(r,"handleAnimationStart",function(){r.setState({isAnimationFinished:!1}),r.props.onAnimationStart&&r.props.onAnimationStart()}),r}return Xie(t,e),Gie(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();this.setState({totalLength:n})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();n!==this.state.totalLength&&this.setState({totalLength:n})}}},{key:"getTotalLength",value:function(){var n=this.mainCurve;try{return n&&n.getTotalLength&&n.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(n,a){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var i=this.props,s=i.points,o=i.xAxis,u=i.yAxis,c=i.layout,f=i.children,d=_n(f,Bd);if(!d)return null;var p=function(v,g){return{x:v.x,y:v.y,value:v.value,errorVal:er(v.payload,g)}},h={clipPath:n?"url(#clipPath-".concat(a,")"):null};return P.createElement(Qe,h,d.map(function(x){return P.cloneElement(x,{key:"bar-".concat(x.props.dataKey),data:s,xAxis:o,yAxis:u,layout:c,dataPointFormatter:p})}))}},{key:"renderDots",value:function(n,a,i){var s=this.props.isAnimationActive;if(s&&!this.state.isAnimationFinished)return null;var o=this.props,u=o.dot,c=o.points,f=o.dataKey,d=Ee(this.props,!1),p=Ee(u,!0),h=c.map(function(v,g){var y=hn(hn(hn({key:"dot-".concat(g),r:3},d),p),{},{index:g,cx:v.x,cy:v.y,value:v.value,dataKey:f,payload:v.payload,points:c});return t.renderDotItem(u,y)}),x={clipPath:n?"url(#clipPath-".concat(a?"":"dots-").concat(i,")"):null};return P.createElement(Qe,hc({className:"recharts-line-dots",key:"dots"},x),h)}},{key:"renderCurveStatically",value:function(n,a,i,s){var o=this.props,u=o.type,c=o.layout,f=o.connectNulls;o.ref;var d=fO(o,Lie),p=hn(hn(hn({},Ee(d,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:a?"url(#clipPath-".concat(i,")"):null,points:n},s),{},{type:u,layout:c,connectNulls:f});return P.createElement(Bs,hc({},p,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(n,a){var i=this,s=this.props,o=s.points,u=s.strokeDasharray,c=s.isAnimationActive,f=s.animationBegin,d=s.animationDuration,p=s.animationEasing,h=s.animationId,x=s.animateNewValues,v=s.width,g=s.height,y=this.state,m=y.prevPoints,w=y.totalLength;return P.createElement(da,{begin:f,duration:d,isActive:c,easing:p,from:{t:0},to:{t:1},key:"line-".concat(h),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(j){var b=j.t;if(m){var _=m.length/o.length,k=o.map(function(A,R){var M=Math.floor(R*_);if(m[M]){var L=m[M],V=dr(L.x,A.x),H=dr(L.y,A.y);return hn(hn({},A),{},{x:V(b),y:H(b)})}if(x){var I=dr(v*2,A.x),B=dr(g/2,A.y);return hn(hn({},A),{},{x:I(b),y:B(b)})}return hn(hn({},A),{},{x:A.x,y:A.y})});return i.renderCurveStatically(k,n,a)}var O=dr(0,w),E=O(b),T;if(u){var $="".concat(u).split(/[,\s]+/gim).map(function(A){return parseFloat(A)});T=i.getStrokeDasharray(E,w,$)}else T=i.generateSimpleStrokeDasharray(w,E);return i.renderCurveStatically(o,n,a,{strokeDasharray:T})})}},{key:"renderCurve",value:function(n,a){var i=this.props,s=i.points,o=i.isAnimationActive,u=this.state,c=u.prevPoints,f=u.totalLength;return o&&s&&s.length&&(!c&&f>0||!Xs(c,s))?this.renderCurveWithAnimation(n,a):this.renderCurveStatically(s,n,a)}},{key:"render",value:function(){var n,a=this.props,i=a.hide,s=a.dot,o=a.points,u=a.className,c=a.xAxis,f=a.yAxis,d=a.top,p=a.left,h=a.width,x=a.height,v=a.isAnimationActive,g=a.id;if(i||!o||!o.length)return null;var y=this.state.isAnimationFinished,m=o.length===1,w=He("recharts-line",u),j=c&&c.allowDataOverflow,b=f&&f.allowDataOverflow,_=j||b,k=Fe(g)?this.id:g,O=(n=Ee(s,!1))!==null&&n!==void 0?n:{r:3,strokeWidth:2},E=O.r,T=E===void 0?3:E,$=O.strokeWidth,A=$===void 0?2:$,R=AP(s)?s:{},M=R.clipDot,L=M===void 0?!0:M,V=T*2+A;return P.createElement(Qe,{className:w},j||b?P.createElement("defs",null,P.createElement("clipPath",{id:"clipPath-".concat(k)},P.createElement("rect",{x:j?p:p-h/2,y:b?d:d-x/2,width:j?h:h*2,height:b?x:x*2})),!L&&P.createElement("clipPath",{id:"clipPath-dots-".concat(k)},P.createElement("rect",{x:p-V/2,y:d-V/2,width:h+V,height:x+V}))):null,!m&&this.renderCurve(_,k),this.renderErrorBar(_,k),(m||s)&&this.renderDots(_,L,k),(!v||y)&&Aa.renderCallByParent(this.props,o))}}],[{key:"getDerivedStateFromProps",value:function(n,a){return n.animationId!==a.prevAnimationId?{prevAnimationId:n.animationId,curPoints:n.points,prevPoints:a.curPoints}:n.points!==a.curPoints?{curPoints:n.points}:null}},{key:"repeat",value:function(n,a){for(var i=n.length%2!==0?[].concat(xo(n),[0]):n,s=[],o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function ese(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Rs(){return Rs=Object.assign?Object.assign.bind():function(e){for(var t=1;t0||!Xs(f,s)||!Xs(d,o))?this.renderAreaWithAnimation(n,a):this.renderAreaStatically(s,o,n,a)}},{key:"render",value:function(){var n,a=this.props,i=a.hide,s=a.dot,o=a.points,u=a.className,c=a.top,f=a.left,d=a.xAxis,p=a.yAxis,h=a.width,x=a.height,v=a.isAnimationActive,g=a.id;if(i||!o||!o.length)return null;var y=this.state.isAnimationFinished,m=o.length===1,w=He("recharts-area",u),j=d&&d.allowDataOverflow,b=p&&p.allowDataOverflow,_=j||b,k=Fe(g)?this.id:g,O=(n=Ee(s,!1))!==null&&n!==void 0?n:{r:3,strokeWidth:2},E=O.r,T=E===void 0?3:E,$=O.strokeWidth,A=$===void 0?2:$,R=AP(s)?s:{},M=R.clipDot,L=M===void 0?!0:M,V=T*2+A;return P.createElement(Qe,{className:w},j||b?P.createElement("defs",null,P.createElement("clipPath",{id:"clipPath-".concat(k)},P.createElement("rect",{x:j?f:f-h/2,y:b?c:c-x/2,width:j?h:h*2,height:b?x:x*2})),!L&&P.createElement("clipPath",{id:"clipPath-dots-".concat(k)},P.createElement("rect",{x:f-V/2,y:c-V/2,width:h+V,height:x+V}))):null,m?null:this.renderArea(_,k),(s||m)&&this.renderDots(_,L,k),(!v||y)&&Aa.renderCallByParent(this.props,o))}}],[{key:"getDerivedStateFromProps",value:function(n,a){return n.animationId!==a.prevAnimationId?{prevAnimationId:n.animationId,curPoints:n.points,curBaseLine:n.baseLine,prevPoints:a.curPoints,prevBaseLine:a.curBaseLine}:n.points!==a.curPoints||n.baseLine!==a.curBaseLine?{curPoints:n.points,curBaseLine:n.baseLine}:null}}])}(S.PureComponent);B$=ds;Sa(ds,"displayName","Area");Sa(ds,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!os.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});Sa(ds,"getBaseValue",function(e,t,r,n){var a=e.layout,i=e.baseValue,s=t.props.baseValue,o=s??i;if(se(o)&&typeof o=="number")return o;var u=a==="horizontal"?n:r,c=u.scale.domain();if(u.type==="number"){var f=Math.max(c[0],c[1]),d=Math.min(c[0],c[1]);return o==="dataMin"?d:o==="dataMax"||f<0?f:Math.max(Math.min(c[0],c[1]),0)}return o==="dataMin"?c[0]:o==="dataMax"?c[1]:c[0]});Sa(ds,"getComposedData",function(e){var t=e.props,r=e.item,n=e.xAxis,a=e.yAxis,i=e.xAxisTicks,s=e.yAxisTicks,o=e.bandSize,u=e.dataKey,c=e.stackedData,f=e.dataStartIndex,d=e.displayedData,p=e.offset,h=t.layout,x=c&&c.length,v=B$.getBaseValue(t,r,n,a),g=h==="horizontal",y=!1,m=d.map(function(j,b){var _;x?_=c[f+b]:(_=er(j,u),Array.isArray(_)?y=!0:_=[v,_]);var k=_[1]==null||x&&er(j,u)==null;return g?{x:gh({axis:n,ticks:i,bandSize:o,entry:j,index:b}),y:k?null:a.scale(_[1]),value:_,payload:j}:{x:k?null:n.scale(_[1]),y:gh({axis:a,ticks:s,bandSize:o,entry:j,index:b}),value:_,payload:j}}),w;return x||y?w=m.map(function(j){var b=Array.isArray(j.value)?j.value[0]:null;return g?{x:j.x,y:b!=null&&j.y!=null?a.scale(b):null}:{x:b!=null?n.scale(b):null,y:j.y}}):w=g?a.scale(v):n.scale(v),_i({points:m,baseLine:w,layout:h,isRange:y},p)});Sa(ds,"renderDotItem",function(e,t){var r;if(P.isValidElement(e))r=P.cloneElement(e,t);else if(Te(e))r=e(t);else{var n=He("recharts-area-dot",typeof e!="boolean"?e.className:""),a=t.key,i=U$(t,Qie);r=P.createElement(Ud,Rs({},i,{key:a,className:n}))}return r});function Bl(e){"@babel/helpers - typeof";return Bl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bl(e)}function lse(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function use(e,t){for(var r=0;r=360?m:m-1)*u,j=g-m*h-w,b=a.reduce(function(O,E){var T=er(E,y,0);return O+(se(T)?T:0)},0),_;if(b>0){var k;_=a.map(function(O,E){var T=er(O,y,0),R=er(O,f,E),N=(se(T)?T:0)/b,$;E?$=k.endAngle+Hr(v)*u*(T!==0?1:0):$=s;var I=$+Hr(v)*((T!==0?h:0)+N*j),L=($+I)/2,V=(x.innerRadius+x.outerRadius)/2,H=[{name:R,value:T,payload:O,dataKey:y,type:p}],M=Et(x.cx,x.cy,V,L);return k=Ot(Ot(Ot({percent:N,cornerRadius:i,name:R,tooltipPayload:H,midAngle:L,middleRadius:V,tooltipPosition:M},O),x),{},{value:er(O,y),startAngle:$,endAngle:I,payload:O,paddingAngle:Hr(v)*u}),k})}return Ot(Ot({},x),{},{sectors:_,data:a})});var Nre=Math.ceil,Are=Math.max;function Ere(e,t,r,n){for(var a=-1,i=Are(Nre((t-e)/(r||1)),0),s=Array(i);i--;)s[n?i:++a]=e,e+=r;return s}var Pre=Ere,Cre=PC,z2=1/0,Tre=17976931348623157e292;function $re(e){if(!e)return e===0?e:0;if(e=Cre(e),e===z2||e===-z2){var t=e<0?-1:1;return t*Tre}return e===e?e:0}var d$=$re,Rre=Pre,Ire=qm,Ey=d$;function Mre(e){return function(t,r,n){return n&&typeof n!="number"&&Ire(t,r,n)&&(r=n=void 0),t=Ey(t),r===void 0?(r=t,t=0):r=Ey(r),n=n===void 0?t0&&n.handleDrag(a.changedTouches[0])}),mn(n,"handleDragEnd",function(){n.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var a=n.props,i=a.endIndex,s=a.onDragEnd,o=a.startIndex;s==null||s({endIndex:i,startIndex:o})}),n.detachDragEndListener()}),mn(n,"handleLeaveWrapper",function(){(n.state.isTravellerMoving||n.state.isSlideMoving)&&(n.leaveTimer=window.setTimeout(n.handleDragEnd,n.props.leaveTimeOut))}),mn(n,"handleEnterSlideOrTraveller",function(){n.setState({isTextActive:!0})}),mn(n,"handleLeaveSlideOrTraveller",function(){n.setState({isTextActive:!1})}),mn(n,"handleSlideDragStart",function(a){var i=H2(a)?a.changedTouches[0]:a;n.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:i.pageX}),n.attachDragEndListener()}),n.travellerDragStartHandlers={startX:n.handleTravellerDragStart.bind(n,"startX"),endX:n.handleTravellerDragStart.bind(n,"endX")},n.state={},n}return Xre(t,e),Gre(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(n){var a=n.startX,i=n.endX,s=this.state.scaleValues,o=this.props,u=o.gap,c=o.data,f=c.length-1,d=Math.min(a,i),p=Math.max(a,i),h=t.getIndexInRange(s,d),x=t.getIndexInRange(s,p);return{startIndex:h-h%u,endIndex:x===f?f:x-x%u}}},{key:"getTextOfTick",value:function(n){var a=this.props,i=a.data,s=a.tickFormatter,o=a.dataKey,u=er(i[n],o,n);return Te(s)?s(u,n):u}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(n){var a=this.state,i=a.slideMoveStartX,s=a.startX,o=a.endX,u=this.props,c=u.x,f=u.width,d=u.travellerWidth,p=u.startIndex,h=u.endIndex,x=u.onChange,v=n.pageX-i;v>0?v=Math.min(v,c+f-d-o,c+f-d-s):v<0&&(v=Math.max(v,c-s,c-o));var g=this.getIndex({startX:s+v,endX:o+v});(g.startIndex!==p||g.endIndex!==h)&&x&&x(g),this.setState({startX:s+v,endX:o+v,slideMoveStartX:n.pageX})}},{key:"handleTravellerDragStart",value:function(n,a){var i=H2(a)?a.changedTouches[0]:a;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:n,brushMoveStartX:i.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(n){var a=this.state,i=a.brushMoveStartX,s=a.movingTravellerId,o=a.endX,u=a.startX,c=this.state[s],f=this.props,d=f.x,p=f.width,h=f.travellerWidth,x=f.onChange,v=f.gap,g=f.data,y={startX:this.state.startX,endX:this.state.endX},m=n.pageX-i;m>0?m=Math.min(m,d+p-h-c):m<0&&(m=Math.max(m,d-c)),y[s]=c+m;var w=this.getIndex(y),j=w.startIndex,b=w.endIndex,_=function(){var O=g.length-1;return s==="startX"&&(o>u?j%v===0:b%v===0)||ou?b%v===0:j%v===0)||o>u&&b===O};this.setState(mn(mn({},s,c+m),"brushMoveStartX",n.pageX),function(){x&&_()&&x(w)})}},{key:"handleTravellerMoveKeyboard",value:function(n,a){var i=this,s=this.state,o=s.scaleValues,u=s.startX,c=s.endX,f=this.state[a],d=o.indexOf(f);if(d!==-1){var p=d+n;if(!(p===-1||p>=o.length)){var h=o[p];a==="startX"&&h>=c||a==="endX"&&h<=u||this.setState(mn({},a,h),function(){i.props.onChange(i.getIndex({startX:i.state.startX,endX:i.state.endX}))})}}}},{key:"renderBackground",value:function(){var n=this.props,a=n.x,i=n.y,s=n.width,o=n.height,u=n.fill,c=n.stroke;return P.createElement("rect",{stroke:c,fill:u,x:a,y:i,width:s,height:o})}},{key:"renderPanorama",value:function(){var n=this.props,a=n.x,i=n.y,s=n.width,o=n.height,u=n.data,c=n.children,f=n.padding,d=S.Children.only(c);return d?P.cloneElement(d,{x:a,y:i,width:s,height:o,margin:f,compact:!0,data:u}):null}},{key:"renderTravellerLayer",value:function(n,a){var i,s,o=this,u=this.props,c=u.y,f=u.travellerWidth,d=u.height,p=u.traveller,h=u.ariaLabel,x=u.data,v=u.startIndex,g=u.endIndex,y=Math.max(n,this.props.x),m=Py(Py({},Ee(this.props,!1)),{},{x:y,y:c,width:f,height:d}),w=h||"Min value: ".concat((i=x[v])===null||i===void 0?void 0:i.name,", Max value: ").concat((s=x[g])===null||s===void 0?void 0:s.name);return P.createElement(Qe,{tabIndex:0,role:"slider","aria-label":w,"aria-valuenow":n,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[a],onTouchStart:this.travellerDragStartHandlers[a],onKeyDown:function(b){["ArrowLeft","ArrowRight"].includes(b.key)&&(b.preventDefault(),b.stopPropagation(),o.handleTravellerMoveKeyboard(b.key==="ArrowRight"?1:-1,a))},onFocus:function(){o.setState({isTravellerFocused:!0})},onBlur:function(){o.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(p,m))}},{key:"renderSlide",value:function(n,a){var i=this.props,s=i.y,o=i.height,u=i.stroke,c=i.travellerWidth,f=Math.min(n,a)+c,d=Math.max(Math.abs(a-n)-c,0);return P.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:u,fillOpacity:.2,x:f,y:s,width:d,height:o})}},{key:"renderText",value:function(){var n=this.props,a=n.startIndex,i=n.endIndex,s=n.y,o=n.height,u=n.travellerWidth,c=n.stroke,f=this.state,d=f.startX,p=f.endX,h=5,x={pointerEvents:"none",fill:c};return P.createElement(Qe,{className:"recharts-brush-texts"},P.createElement(Ys,Ch({textAnchor:"end",verticalAnchor:"middle",x:Math.min(d,p)-h,y:s+o/2},x),this.getTextOfTick(a)),P.createElement(Ys,Ch({textAnchor:"start",verticalAnchor:"middle",x:Math.max(d,p)+u+h,y:s+o/2},x),this.getTextOfTick(i)))}},{key:"render",value:function(){var n=this.props,a=n.data,i=n.className,s=n.children,o=n.x,u=n.y,c=n.width,f=n.height,d=n.alwaysShowText,p=this.state,h=p.startX,x=p.endX,v=p.isTextActive,g=p.isSlideMoving,y=p.isTravellerMoving,m=p.isTravellerFocused;if(!a||!a.length||!se(o)||!se(u)||!se(c)||!se(f)||c<=0||f<=0)return null;var w=He("recharts-brush",i),j=P.Children.count(s)===1,b=Wre("userSelect","none");return P.createElement(Qe,{className:w,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:b},this.renderBackground(),j&&this.renderPanorama(),this.renderSlide(h,x),this.renderTravellerLayer(h,"startX"),this.renderTravellerLayer(x,"endX"),(v||g||y||m||d)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(n){var a=n.x,i=n.y,s=n.width,o=n.height,u=n.stroke,c=Math.floor(i+o/2)-1;return P.createElement(P.Fragment,null,P.createElement("rect",{x:a,y:i,width:s,height:o,fill:u,stroke:"none"}),P.createElement("line",{x1:a+1,y1:c,x2:a+s-1,y2:c,fill:"none",stroke:"#fff"}),P.createElement("line",{x1:a+1,y1:c+2,x2:a+s-1,y2:c+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(n,a){var i;return P.isValidElement(n)?i=P.cloneElement(n,a):Te(n)?i=n(a):i=t.renderDefaultTraveller(a),i}},{key:"getDerivedStateFromProps",value:function(n,a){var i=n.data,s=n.width,o=n.x,u=n.travellerWidth,c=n.updateId,f=n.startIndex,d=n.endIndex;if(i!==a.prevData||c!==a.prevUpdateId)return Py({prevData:i,prevTravellerWidth:u,prevUpdateId:c,prevX:o,prevWidth:s},i&&i.length?Jre({data:i,width:s,x:o,travellerWidth:u,startIndex:f,endIndex:d}):{scale:null,scaleValues:null});if(a.scale&&(s!==a.prevWidth||o!==a.prevX||u!==a.prevTravellerWidth)){a.scale.range([o,o+s-u]);var p=a.scale.domain().map(function(h){return a.scale(h)});return{prevData:i,prevTravellerWidth:u,prevUpdateId:c,prevX:o,prevWidth:s,startX:a.scale(n.startIndex),endX:a.scale(n.endIndex),scaleValues:p}}return null}},{key:"getIndexInRange",value:function(n,a){for(var i=n.length,s=0,o=i-1;o-s>1;){var u=Math.floor((s+o)/2);n[u]>a?o=u:s=u}return a>=n[o]?o:s}}])}(S.PureComponent);mn($l,"displayName","Brush");mn($l,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var Qre=Dw;function ene(e,t){var r;return Qre(e,function(n,a,i){return r=t(n,a,i),!r}),!!r}var tne=ene,rne=nC,nne=Ma,ane=tne,ine=cn,sne=qm;function one(e,t,r){var n=ine(e)?rne:ane;return r&&sne(e,t,r)&&(t=void 0),n(e,nne(t))}var lne=one;const une=vt(lne);var Ea=function(t,r){var n=t.alwaysShow,a=t.ifOverflow;return n&&(a="extendDomain"),a===r},G2=kC;function cne(e,t,r){t=="__proto__"&&G2?G2(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var dne=cne,fne=dne,pne=jC,hne=Ma;function mne(e,t){var r={};return t=hne(t),pne(e,function(n,a,i){fne(r,a,t(n,a,i))}),r}var gne=mne;const yne=vt(gne);function vne(e,t){for(var r=-1,n=e==null?0:e.length;++r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Ine(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Mne(e,t){var r=e.x,n=e.y,a=Rne(e,Pne),i="".concat(r),s=parseInt(i,10),o="".concat(n),u=parseInt(o,10),c="".concat(t.height||a.height),f=parseInt(c,10),d="".concat(t.width||a.width),p=parseInt(d,10);return $u($u($u($u($u({},t),a),s?{x:s}:{}),u?{y:u}:{}),{},{height:f,width:p,name:t.name,radius:t.radius})}function K2(e){return P.createElement(l$,P0({shapeType:"rectangle",propTransformer:Mne,activeClassName:"recharts-active-bar"},e))}var Dne=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(n,a){if(typeof t=="number")return t;var i=se(n)||i8(n);return i?t(n,a):(i||Js(),r)}},Lne=["value","background"],g$;function Rl(e){"@babel/helpers - typeof";return Rl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rl(e)}function Fne(e,t){if(e==null)return{};var r=zne(e,t),n,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function zne(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function $h(){return $h=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs(L)0&&Math.abs(I)0&&($=Math.min((q||0)-(I[le-1]||0),$))}),Number.isFinite($)){var L=$/N,V=v.layout==="vertical"?n.height:n.width;if(v.padding==="gap"&&(k=L*V/2),v.padding==="no-gap"){var H=Gr(t.barCategoryGap,L*V),M=L*V/2;k=M-H-(M-H)/V*H}}}a==="xAxis"?O=[n.left+(w.left||0)+(k||0),n.left+n.width-(w.right||0)-(k||0)]:a==="yAxis"?O=u==="horizontal"?[n.top+n.height-(w.bottom||0),n.top+(w.top||0)]:[n.top+(w.top||0)+(k||0),n.top+n.height-(w.bottom||0)-(k||0)]:O=v.range,b&&(O=[O[1],O[0]]);var B=MT(v,i,p),W=B.scale,G=B.realScaleType;W.domain(y).range(O),DT(W);var K=LT(W,ea(ea({},v),{},{realScaleType:G}));a==="xAxis"?(R=g==="top"&&!j||g==="bottom"&&j,E=n.left,T=d[_]-R*v.height):a==="yAxis"&&(R=g==="left"&&!j||g==="right"&&j,E=d[_]-R*v.width,T=n.top);var ee=ea(ea(ea({},v),K),{},{realScaleType:G,x:E,y:T,scale:W,width:a==="xAxis"?n.width:v.width,height:a==="yAxis"?n.height:v.height});return ee.bandSize=yh(ee,K),!v.hide&&a==="xAxis"?d[_]+=(R?-1:1)*ee.height:v.hide||(d[_]+=(R?-1:1)*ee.width),ea(ea({},h),{},cg({},x,ee))},{})},b$=function(t,r){var n=t.x,a=t.y,i=r.x,s=r.y;return{x:Math.min(n,i),y:Math.min(a,s),width:Math.abs(i-n),height:Math.abs(s-a)}},Zne=function(t){var r=t.x1,n=t.y1,a=t.x2,i=t.y2;return b$({x:r,y:n},{x:a,y:i})},w$=function(){function e(t){Kne(this,e),this.scale=t}return Yne(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=n.bandAware,i=n.position;if(r!==void 0){if(i)switch(i){case"start":return this.scale(r);case"middle":{var s=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+s}case"end":{var o=this.bandwidth?this.bandwidth():0;return this.scale(r)+o}default:return this.scale(r)}if(a){var u=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+u}return this.scale(r)}}},{key:"isInRange",value:function(r){var n=this.range(),a=n[0],i=n[n.length-1];return a<=i?r>=a&&r<=i:r>=i&&r<=a}}],[{key:"create",value:function(r){return new e(r)}}])}();cg(w$,"EPS",1e-4);var p1=function(t){var r=Object.keys(t).reduce(function(n,a){return ea(ea({},n),{},cg({},a,w$.create(t[a])))},{});return ea(ea({},r),{},{apply:function(a){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=i.bandAware,o=i.position;return yne(a,function(u,c){return r[c].apply(u,{bandAware:s,position:o})})},isInRange:function(a){return m$(a,function(i,s){return r[s].isInRange(i)})}})};function Jne(e){return(e%180+180)%180}var Qne=function(t){var r=t.width,n=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=Jne(a),s=i*Math.PI/180,o=Math.atan(n/r),u=s>o&&s-1?a[i?t[s]:s]:void 0}}var aae=nae,iae=d$;function sae(e){var t=iae(e),r=t%1;return t===t?r?t-r:t:0}var oae=sae,lae=yC,uae=Ma,cae=oae,dae=Math.max;function fae(e,t,r){var n=e==null?0:e.length;if(!n)return-1;var a=r==null?0:cae(r);return a<0&&(a=dae(n+a,0)),lae(e,uae(t),a)}var pae=fae,hae=aae,mae=pae,gae=hae(mae),yae=gae;const vae=vt(yae);var xae=d6(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),h1=S.createContext(void 0),m1=S.createContext(void 0),_$=S.createContext(void 0),j$=S.createContext({}),S$=S.createContext(void 0),k$=S.createContext(0),O$=S.createContext(0),Q2=function(t){var r=t.state,n=r.xAxisMap,a=r.yAxisMap,i=r.offset,s=t.clipPathId,o=t.children,u=t.width,c=t.height,f=xae(i);return P.createElement(h1.Provider,{value:n},P.createElement(m1.Provider,{value:a},P.createElement(j$.Provider,{value:i},P.createElement(_$.Provider,{value:f},P.createElement(S$.Provider,{value:s},P.createElement(k$.Provider,{value:c},P.createElement(O$.Provider,{value:u},o)))))))},bae=function(){return S.useContext(S$)},N$=function(t){var r=S.useContext(h1);r==null&&Js();var n=r[t];return n==null&&Js(),n},wae=function(){var t=S.useContext(h1);return Pi(t)},_ae=function(){var t=S.useContext(m1),r=vae(t,function(n){return m$(n.domain,Number.isFinite)});return r||Pi(t)},A$=function(t){var r=S.useContext(m1);r==null&&Js();var n=r[t];return n==null&&Js(),n},jae=function(){var t=S.useContext(_$);return t},Sae=function(){return S.useContext(j$)},g1=function(){return S.useContext(O$)},y1=function(){return S.useContext(k$)};function Il(e){"@babel/helpers - typeof";return Il=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Il(e)}function kae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Oae(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);re*a)return!1;var i=r();return e*(t-e*i/2-n)>=0&&e*(t+e*i/2-a)<=0}function oie(e,t){return I$(e,t+1)}function lie(e,t,r,n,a){for(var i=(n||[]).slice(),s=t.start,o=t.end,u=0,c=1,f=s,d=function(){var x=n==null?void 0:n[u];if(x===void 0)return{v:I$(n,c)};var v=u,g,y=function(){return g===void 0&&(g=r(x,v)),g},m=x.coordinate,w=u===0||Lh(e,m,y,f,o);w||(u=0,f=s,c+=1),w&&(f=m+e*(y()/2+a),u+=c)},p;c<=i.length;)if(p=d(),p)return p.v;return[]}function yd(e){"@babel/helpers - typeof";return yd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yd(e)}function oO(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ir(e){for(var t=1;t0?h.coordinate-g*e:h.coordinate})}else i[p]=h=Ir(Ir({},h),{},{tickCoord:h.coordinate});var y=Lh(e,h.tickCoord,v,o,u);y&&(u=h.tickCoord-e*(v()/2+a),i[p]=Ir(Ir({},h),{},{isShow:!0}))},f=s-1;f>=0;f--)c(f);return i}function pie(e,t,r,n,a,i){var s=(n||[]).slice(),o=s.length,u=t.start,c=t.end;if(i){var f=n[o-1],d=r(f,o-1),p=e*(f.coordinate+e*d/2-c);s[o-1]=f=Ir(Ir({},f),{},{tickCoord:p>0?f.coordinate-p*e:f.coordinate});var h=Lh(e,f.tickCoord,function(){return d},u,c);h&&(c=f.tickCoord-e*(d/2+a),s[o-1]=Ir(Ir({},f),{},{isShow:!0}))}for(var x=i?o-1:o,v=function(m){var w=s[m],j,b=function(){return j===void 0&&(j=r(w,m)),j};if(m===0){var _=e*(w.coordinate-e*b()/2-u);s[m]=w=Ir(Ir({},w),{},{tickCoord:_<0?w.coordinate-_*e:w.coordinate})}else s[m]=w=Ir(Ir({},w),{},{tickCoord:w.coordinate});var k=Lh(e,w.tickCoord,b,u,c);k&&(u=w.tickCoord+e*(b()/2+a),s[m]=Ir(Ir({},w),{},{isShow:!0}))},g=0;g=2?Hr(a[1].coordinate-a[0].coordinate):1,y=sie(i,g,h);return u==="equidistantPreserveStart"?lie(g,y,v,a,s):(u==="preserveStart"||u==="preserveStartEnd"?p=pie(g,y,v,a,s,u==="preserveStartEnd"):p=fie(g,y,v,a,s),p.filter(function(m){return m.isShow}))}var hie=["viewBox"],mie=["viewBox"],gie=["ticks"];function Ll(e){"@babel/helpers - typeof";return Ll=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ll(e)}function Ho(){return Ho=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function yie(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function vie(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function uO(e,t){for(var r=0;r0?u(this.props):u(h)),s<=0||o<=0||!x||!x.length?null:P.createElement(Qe,{className:He("recharts-cartesian-axis",c),ref:function(g){n.layerReference=g}},i&&this.renderAxisLine(),this.renderTicks(x,this.state.fontSize,this.state.letterSpacing),xr.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(n,a,i){var s,o=He(a.className,"recharts-cartesian-axis-tick-value");return P.isValidElement(n)?s=P.cloneElement(n,or(or({},a),{},{className:o})):Te(n)?s=n(or(or({},a),{},{className:o})):s=P.createElement(Ys,Ho({},a,{className:"recharts-cartesian-axis-tick-value"}),i),s}}])}(S.Component);w1(du,"displayName","CartesianAxis");w1(du,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var kie=["x1","y1","x2","y2","key"],Oie=["offset"];function Qs(e){"@babel/helpers - typeof";return Qs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qs(e)}function cO(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Lr(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Pie(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var Cie=function(t){var r=t.fill;if(!r||r==="none")return null;var n=t.fillOpacity,a=t.x,i=t.y,s=t.width,o=t.height,u=t.ry;return P.createElement("rect",{x:a,y:i,ry:u,width:s,height:o,stroke:"none",fill:r,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function L$(e,t){var r;if(P.isValidElement(e))r=P.cloneElement(e,t);else if(Te(e))r=e(t);else{var n=t.x1,a=t.y1,i=t.x2,s=t.y2,o=t.key,u=dO(t,kie),c=Ee(u,!1);c.offset;var f=dO(c,Oie);r=P.createElement("line",$s({},f,{x1:n,y1:a,x2:i,y2:s,fill:"none",key:o}))}return r}function Tie(e){var t=e.x,r=e.width,n=e.horizontal,a=n===void 0?!0:n,i=e.horizontalPoints;if(!a||!i||!i.length)return null;var s=i.map(function(o,u){var c=Lr(Lr({},e),{},{x1:t,y1:o,x2:t+r,y2:o,key:"line-".concat(u),index:u});return L$(a,c)});return P.createElement("g",{className:"recharts-cartesian-grid-horizontal"},s)}function $ie(e){var t=e.y,r=e.height,n=e.vertical,a=n===void 0?!0:n,i=e.verticalPoints;if(!a||!i||!i.length)return null;var s=i.map(function(o,u){var c=Lr(Lr({},e),{},{x1:o,y1:t,x2:o,y2:t+r,key:"line-".concat(u),index:u});return L$(a,c)});return P.createElement("g",{className:"recharts-cartesian-grid-vertical"},s)}function Rie(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,a=e.y,i=e.width,s=e.height,o=e.horizontalPoints,u=e.horizontal,c=u===void 0?!0:u;if(!c||!t||!t.length)return null;var f=o.map(function(p){return Math.round(p+a-a)}).sort(function(p,h){return p-h});a!==f[0]&&f.unshift(0);var d=f.map(function(p,h){var x=!f[h+1],v=x?a+s-p:f[h+1]-p;if(v<=0)return null;var g=h%t.length;return P.createElement("rect",{key:"react-".concat(h),y:p,x:n,height:v,width:i,stroke:"none",fill:t[g],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return P.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function Iie(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,a=e.fillOpacity,i=e.x,s=e.y,o=e.width,u=e.height,c=e.verticalPoints;if(!r||!n||!n.length)return null;var f=c.map(function(p){return Math.round(p+i-i)}).sort(function(p,h){return p-h});i!==f[0]&&f.unshift(0);var d=f.map(function(p,h){var x=!f[h+1],v=x?i+o-p:f[h+1]-p;if(v<=0)return null;var g=h%n.length;return P.createElement("rect",{key:"react-".concat(h),x:p,y:s,width:v,height:u,stroke:"none",fill:n[g],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return P.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var Mie=function(t,r){var n=t.xAxis,a=t.width,i=t.height,s=t.offset;return IT(b1(Lr(Lr(Lr({},du.defaultProps),n),{},{ticks:Xa(n,!0),viewBox:{x:0,y:0,width:a,height:i}})),s.left,s.left+s.width,r)},Die=function(t,r){var n=t.yAxis,a=t.width,i=t.height,s=t.offset;return IT(b1(Lr(Lr(Lr({},du.defaultProps),n),{},{ticks:Xa(n,!0),viewBox:{x:0,y:0,width:a,height:i}})),s.top,s.top+s.height,r)},vo={horizontal:!0,vertical:!0,stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function fp(e){var t,r,n,a,i,s,o=g1(),u=y1(),c=Sae(),f=Lr(Lr({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:vo.stroke,fill:(r=e.fill)!==null&&r!==void 0?r:vo.fill,horizontal:(n=e.horizontal)!==null&&n!==void 0?n:vo.horizontal,horizontalFill:(a=e.horizontalFill)!==null&&a!==void 0?a:vo.horizontalFill,vertical:(i=e.vertical)!==null&&i!==void 0?i:vo.vertical,verticalFill:(s=e.verticalFill)!==null&&s!==void 0?s:vo.verticalFill,x:se(e.x)?e.x:c.left,y:se(e.y)?e.y:c.top,width:se(e.width)?e.width:c.width,height:se(e.height)?e.height:c.height}),d=f.x,p=f.y,h=f.width,x=f.height,v=f.syncWithTicks,g=f.horizontalValues,y=f.verticalValues,m=wae(),w=_ae();if(!se(h)||h<=0||!se(x)||x<=0||!se(d)||d!==+d||!se(p)||p!==+p)return null;var j=f.verticalCoordinatesGenerator||Mie,b=f.horizontalCoordinatesGenerator||Die,_=f.horizontalPoints,k=f.verticalPoints;if((!_||!_.length)&&Te(b)){var O=g&&g.length,E=b({yAxis:w?Lr(Lr({},w),{},{ticks:O?g:w.ticks}):void 0,width:o,height:u,offset:c},O?!0:v);la(Array.isArray(E),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(Qs(E),"]")),Array.isArray(E)&&(_=E)}if((!k||!k.length)&&Te(j)){var T=y&&y.length,R=j({xAxis:m?Lr(Lr({},m),{},{ticks:T?y:m.ticks}):void 0,width:o,height:u,offset:c},T?!0:v);la(Array.isArray(R),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(Qs(R),"]")),Array.isArray(R)&&(k=R)}return P.createElement("g",{className:"recharts-cartesian-grid"},P.createElement(Cie,{fill:f.fill,fillOpacity:f.fillOpacity,x:f.x,y:f.y,width:f.width,height:f.height,ry:f.ry}),P.createElement(Tie,$s({},f,{offset:c,horizontalPoints:_,xAxis:m,yAxis:w})),P.createElement($ie,$s({},f,{offset:c,verticalPoints:k,xAxis:m,yAxis:w})),P.createElement(Rie,$s({},f,{horizontalPoints:_})),P.createElement(Iie,$s({},f,{verticalPoints:k})))}fp.displayName="CartesianGrid";var Lie=["type","layout","connectNulls","ref"],Fie=["key"];function Fl(e){"@babel/helpers - typeof";return Fl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fl(e)}function fO(e,t){if(e==null)return{};var r=zie(e,t),n,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function zie(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function hc(){return hc=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);rd){h=[].concat(xo(u.slice(0,x)),[d-v]);break}var g=h.length%2===0?[0,p]:[p];return[].concat(xo(t.repeat(u,f)),xo(h),g).map(function(y){return"".concat(y,"px")}).join(", ")}),ta(r,"id",oo("recharts-line-")),ta(r,"pathRef",function(s){r.mainCurve=s}),ta(r,"handleAnimationEnd",function(){r.setState({isAnimationFinished:!0}),r.props.onAnimationEnd&&r.props.onAnimationEnd()}),ta(r,"handleAnimationStart",function(){r.setState({isAnimationFinished:!1}),r.props.onAnimationStart&&r.props.onAnimationStart()}),r}return Xie(t,e),Gie(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();this.setState({totalLength:n})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();n!==this.state.totalLength&&this.setState({totalLength:n})}}},{key:"getTotalLength",value:function(){var n=this.mainCurve;try{return n&&n.getTotalLength&&n.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(n,a){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var i=this.props,s=i.points,o=i.xAxis,u=i.yAxis,c=i.layout,f=i.children,d=_n(f,Bd);if(!d)return null;var p=function(v,g){return{x:v.x,y:v.y,value:v.value,errorVal:er(v.payload,g)}},h={clipPath:n?"url(#clipPath-".concat(a,")"):null};return P.createElement(Qe,h,d.map(function(x){return P.cloneElement(x,{key:"bar-".concat(x.props.dataKey),data:s,xAxis:o,yAxis:u,layout:c,dataPointFormatter:p})}))}},{key:"renderDots",value:function(n,a,i){var s=this.props.isAnimationActive;if(s&&!this.state.isAnimationFinished)return null;var o=this.props,u=o.dot,c=o.points,f=o.dataKey,d=Ee(this.props,!1),p=Ee(u,!0),h=c.map(function(v,g){var y=hn(hn(hn({key:"dot-".concat(g),r:3},d),p),{},{index:g,cx:v.x,cy:v.y,value:v.value,dataKey:f,payload:v.payload,points:c});return t.renderDotItem(u,y)}),x={clipPath:n?"url(#clipPath-".concat(a?"":"dots-").concat(i,")"):null};return P.createElement(Qe,hc({className:"recharts-line-dots",key:"dots"},x),h)}},{key:"renderCurveStatically",value:function(n,a,i,s){var o=this.props,u=o.type,c=o.layout,f=o.connectNulls;o.ref;var d=fO(o,Lie),p=hn(hn(hn({},Ee(d,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:a?"url(#clipPath-".concat(i,")"):null,points:n},s),{},{type:u,layout:c,connectNulls:f});return P.createElement(Bs,hc({},p,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(n,a){var i=this,s=this.props,o=s.points,u=s.strokeDasharray,c=s.isAnimationActive,f=s.animationBegin,d=s.animationDuration,p=s.animationEasing,h=s.animationId,x=s.animateNewValues,v=s.width,g=s.height,y=this.state,m=y.prevPoints,w=y.totalLength;return P.createElement(da,{begin:f,duration:d,isActive:c,easing:p,from:{t:0},to:{t:1},key:"line-".concat(h),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(j){var b=j.t;if(m){var _=m.length/o.length,k=o.map(function(N,$){var I=Math.floor($*_);if(m[I]){var L=m[I],V=dr(L.x,N.x),H=dr(L.y,N.y);return hn(hn({},N),{},{x:V(b),y:H(b)})}if(x){var M=dr(v*2,N.x),B=dr(g/2,N.y);return hn(hn({},N),{},{x:M(b),y:B(b)})}return hn(hn({},N),{},{x:N.x,y:N.y})});return i.renderCurveStatically(k,n,a)}var O=dr(0,w),E=O(b),T;if(u){var R="".concat(u).split(/[,\s]+/gim).map(function(N){return parseFloat(N)});T=i.getStrokeDasharray(E,w,R)}else T=i.generateSimpleStrokeDasharray(w,E);return i.renderCurveStatically(o,n,a,{strokeDasharray:T})})}},{key:"renderCurve",value:function(n,a){var i=this.props,s=i.points,o=i.isAnimationActive,u=this.state,c=u.prevPoints,f=u.totalLength;return o&&s&&s.length&&(!c&&f>0||!Xs(c,s))?this.renderCurveWithAnimation(n,a):this.renderCurveStatically(s,n,a)}},{key:"render",value:function(){var n,a=this.props,i=a.hide,s=a.dot,o=a.points,u=a.className,c=a.xAxis,f=a.yAxis,d=a.top,p=a.left,h=a.width,x=a.height,v=a.isAnimationActive,g=a.id;if(i||!o||!o.length)return null;var y=this.state.isAnimationFinished,m=o.length===1,w=He("recharts-line",u),j=c&&c.allowDataOverflow,b=f&&f.allowDataOverflow,_=j||b,k=Fe(g)?this.id:g,O=(n=Ee(s,!1))!==null&&n!==void 0?n:{r:3,strokeWidth:2},E=O.r,T=E===void 0?3:E,R=O.strokeWidth,N=R===void 0?2:R,$=AP(s)?s:{},I=$.clipDot,L=I===void 0?!0:I,V=T*2+N;return P.createElement(Qe,{className:w},j||b?P.createElement("defs",null,P.createElement("clipPath",{id:"clipPath-".concat(k)},P.createElement("rect",{x:j?p:p-h/2,y:b?d:d-x/2,width:j?h:h*2,height:b?x:x*2})),!L&&P.createElement("clipPath",{id:"clipPath-dots-".concat(k)},P.createElement("rect",{x:p-V/2,y:d-V/2,width:h+V,height:x+V}))):null,!m&&this.renderCurve(_,k),this.renderErrorBar(_,k),(m||s)&&this.renderDots(_,L,k),(!v||y)&&Aa.renderCallByParent(this.props,o))}}],[{key:"getDerivedStateFromProps",value:function(n,a){return n.animationId!==a.prevAnimationId?{prevAnimationId:n.animationId,curPoints:n.points,prevPoints:a.curPoints}:n.points!==a.curPoints?{curPoints:n.points}:null}},{key:"repeat",value:function(n,a){for(var i=n.length%2!==0?[].concat(xo(n),[0]):n,s=[],o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function ese(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Rs(){return Rs=Object.assign?Object.assign.bind():function(e){for(var t=1;t0||!Xs(f,s)||!Xs(d,o))?this.renderAreaWithAnimation(n,a):this.renderAreaStatically(s,o,n,a)}},{key:"render",value:function(){var n,a=this.props,i=a.hide,s=a.dot,o=a.points,u=a.className,c=a.top,f=a.left,d=a.xAxis,p=a.yAxis,h=a.width,x=a.height,v=a.isAnimationActive,g=a.id;if(i||!o||!o.length)return null;var y=this.state.isAnimationFinished,m=o.length===1,w=He("recharts-area",u),j=d&&d.allowDataOverflow,b=p&&p.allowDataOverflow,_=j||b,k=Fe(g)?this.id:g,O=(n=Ee(s,!1))!==null&&n!==void 0?n:{r:3,strokeWidth:2},E=O.r,T=E===void 0?3:E,R=O.strokeWidth,N=R===void 0?2:R,$=AP(s)?s:{},I=$.clipDot,L=I===void 0?!0:I,V=T*2+N;return P.createElement(Qe,{className:w},j||b?P.createElement("defs",null,P.createElement("clipPath",{id:"clipPath-".concat(k)},P.createElement("rect",{x:j?f:f-h/2,y:b?c:c-x/2,width:j?h:h*2,height:b?x:x*2})),!L&&P.createElement("clipPath",{id:"clipPath-dots-".concat(k)},P.createElement("rect",{x:f-V/2,y:c-V/2,width:h+V,height:x+V}))):null,m?null:this.renderArea(_,k),(s||m)&&this.renderDots(_,L,k),(!v||y)&&Aa.renderCallByParent(this.props,o))}}],[{key:"getDerivedStateFromProps",value:function(n,a){return n.animationId!==a.prevAnimationId?{prevAnimationId:n.animationId,curPoints:n.points,curBaseLine:n.baseLine,prevPoints:a.curPoints,prevBaseLine:a.curBaseLine}:n.points!==a.curPoints||n.baseLine!==a.curBaseLine?{curPoints:n.points,curBaseLine:n.baseLine}:null}}])}(S.PureComponent);B$=ds;Sa(ds,"displayName","Area");Sa(ds,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!os.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});Sa(ds,"getBaseValue",function(e,t,r,n){var a=e.layout,i=e.baseValue,s=t.props.baseValue,o=s??i;if(se(o)&&typeof o=="number")return o;var u=a==="horizontal"?n:r,c=u.scale.domain();if(u.type==="number"){var f=Math.max(c[0],c[1]),d=Math.min(c[0],c[1]);return o==="dataMin"?d:o==="dataMax"||f<0?f:Math.max(Math.min(c[0],c[1]),0)}return o==="dataMin"?c[0]:o==="dataMax"?c[1]:c[0]});Sa(ds,"getComposedData",function(e){var t=e.props,r=e.item,n=e.xAxis,a=e.yAxis,i=e.xAxisTicks,s=e.yAxisTicks,o=e.bandSize,u=e.dataKey,c=e.stackedData,f=e.dataStartIndex,d=e.displayedData,p=e.offset,h=t.layout,x=c&&c.length,v=B$.getBaseValue(t,r,n,a),g=h==="horizontal",y=!1,m=d.map(function(j,b){var _;x?_=c[f+b]:(_=er(j,u),Array.isArray(_)?y=!0:_=[v,_]);var k=_[1]==null||x&&er(j,u)==null;return g?{x:gh({axis:n,ticks:i,bandSize:o,entry:j,index:b}),y:k?null:a.scale(_[1]),value:_,payload:j}:{x:k?null:n.scale(_[1]),y:gh({axis:a,ticks:s,bandSize:o,entry:j,index:b}),value:_,payload:j}}),w;return x||y?w=m.map(function(j){var b=Array.isArray(j.value)?j.value[0]:null;return g?{x:j.x,y:b!=null&&j.y!=null?a.scale(b):null}:{x:b!=null?n.scale(b):null,y:j.y}}):w=g?a.scale(v):n.scale(v),_i({points:m,baseLine:w,layout:h,isRange:y},p)});Sa(ds,"renderDotItem",function(e,t){var r;if(P.isValidElement(e))r=P.cloneElement(e,t);else if(Te(e))r=e(t);else{var n=He("recharts-area-dot",typeof e!="boolean"?e.className:""),a=t.key,i=U$(t,Qie);r=P.createElement(Ud,Rs({},i,{key:a,className:n}))}return r});function Bl(e){"@babel/helpers - typeof";return Bl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bl(e)}function lse(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function use(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Yse(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Xse(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zse(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?s:t&&t.length&&se(a)&&se(i)?t.slice(a,i+1):[]};function aR(e){return e==="number"?[0,"auto"]:void 0}var X0=function(t,r,n,a){var i=t.graphicalItems,s=t.tooltipAxis,o=mg(r,t);return n<0||!i||!i.length||n>=o.length?null:i.reduce(function(u,c){var f,d=(f=c.props.data)!==null&&f!==void 0?f:r;d&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=n&&(d=d.slice(t.dataStartIndex,t.dataEndIndex+1));var p;if(s.dataKey&&!s.allowDuplicatedCategory){var h=d===void 0?o:d;p=Bp(h,s.dataKey,a)}else p=d&&d[n]||o[n];return p?[].concat(Wl(u),[zT(c,p)]):u},[])},_O=function(t,r,n,a){var i=a||{x:t.chartX,y:t.chartY},s=uoe(i,n),o=t.orderedTooltipTicks,u=t.tooltipAxis,c=t.tooltipTicks,f=yZ(s,o,c,u);if(f>=0&&c){var d=c[f]&&c[f].value,p=X0(t,r,f,d),h=coe(n,o,f,i);return{activeTooltipIndex:f,activeLabel:d,activePayload:p,activeCoordinate:h}}return null},doe=function(t,r){var n=r.axes,a=r.graphicalItems,i=r.axisType,s=r.axisIdKey,o=r.stackGroups,u=r.dataStartIndex,c=r.dataEndIndex,f=t.layout,d=t.children,p=t.stackOffset,h=RT(f,i);return n.reduce(function(x,v){var g,y=v.type.defaultProps!==void 0?Z(Z({},v.type.defaultProps),v.props):v.props,m=y.type,w=y.dataKey,j=y.allowDataOverflow,b=y.allowDuplicatedCategory,_=y.scale,k=y.ticks,O=y.includeHidden,E=y[s];if(x[E])return x;var T=mg(t.data,{graphicalItems:a.filter(function(K){var ee,q=s in K.props?K.props[s]:(ee=K.type.defaultProps)===null||ee===void 0?void 0:ee[s];return q===E}),dataStartIndex:u,dataEndIndex:c}),$=T.length,A,R,M;Dse(y.domain,j,m)&&(A=u0(y.domain,null,j),h&&(m==="number"||_!=="auto")&&(M=cc(T,w,"category")));var L=aR(m);if(!A||A.length===0){var V,H=(V=y.domain)!==null&&V!==void 0?V:L;if(w){if(A=cc(T,w,m),m==="category"&&h){var I=o8(A);b&&I?(R=A,A=Ph(0,$)):b||(A=Hk(H,A,v).reduce(function(K,ee){return K.indexOf(ee)>=0?K:[].concat(Wl(K),[ee])},[]))}else if(m==="category")b?A=A.filter(function(K){return K!==""&&!Fe(K)}):A=Hk(H,A,v).reduce(function(K,ee){return K.indexOf(ee)>=0||ee===""||Fe(ee)?K:[].concat(Wl(K),[ee])},[]);else if(m==="number"){var B=_Z(T,a.filter(function(K){var ee,q,le=s in K.props?K.props[s]:(ee=K.type.defaultProps)===null||ee===void 0?void 0:ee[s],ge="hide"in K.props?K.props.hide:(q=K.type.defaultProps)===null||q===void 0?void 0:q.hide;return le===E&&(O||!ge)}),w,i,f);B&&(A=B)}h&&(m==="number"||_!=="auto")&&(M=cc(T,w,"category"))}else h?A=Ph(0,$):o&&o[E]&&o[E].hasStack&&m==="number"?A=p==="expand"?[0,1]:FT(o[E].stackGroups,u,c):A=$T(T,a.filter(function(K){var ee=s in K.props?K.props[s]:K.type.defaultProps[s],q="hide"in K.props?K.props.hide:K.type.defaultProps.hide;return ee===E&&(O||!q)}),m,f,!0);if(m==="number")A=q0(d,A,E,i,k),H&&(A=u0(H,A,j));else if(m==="category"&&H){var W=H,G=A.every(function(K){return W.indexOf(K)>=0});G&&(A=W)}}return Z(Z({},x),{},Ce({},E,Z(Z({},y),{},{axisType:i,domain:A,categoricalDomain:M,duplicateDomain:R,originalDomain:(g=y.domain)!==null&&g!==void 0?g:L,isCategorical:h,layout:f})))},{})},foe=function(t,r){var n=r.graphicalItems,a=r.Axis,i=r.axisType,s=r.axisIdKey,o=r.stackGroups,u=r.dataStartIndex,c=r.dataEndIndex,f=t.layout,d=t.children,p=mg(t.data,{graphicalItems:n,dataStartIndex:u,dataEndIndex:c}),h=p.length,x=RT(f,i),v=-1;return n.reduce(function(g,y){var m=y.type.defaultProps!==void 0?Z(Z({},y.type.defaultProps),y.props):y.props,w=m[s],j=aR("number");if(!g[w]){v++;var b;return x?b=Ph(0,h):o&&o[w]&&o[w].hasStack?(b=FT(o[w].stackGroups,u,c),b=q0(d,b,w,i)):(b=u0(j,$T(p,n.filter(function(_){var k,O,E=s in _.props?_.props[s]:(k=_.type.defaultProps)===null||k===void 0?void 0:k[s],T="hide"in _.props?_.props.hide:(O=_.type.defaultProps)===null||O===void 0?void 0:O.hide;return E===w&&!T}),"number",f),a.defaultProps.allowDataOverflow),b=q0(d,b,w,i)),Z(Z({},g),{},Ce({},w,Z(Z({axisType:i},a.defaultProps),{},{hide:!0,orientation:wn(ooe,"".concat(i,".").concat(v%2),null),domain:b,originalDomain:j,isCategorical:x,layout:f})))}return g},{})},poe=function(t,r){var n=r.axisType,a=n===void 0?"xAxis":n,i=r.AxisComp,s=r.graphicalItems,o=r.stackGroups,u=r.dataStartIndex,c=r.dataEndIndex,f=t.children,d="".concat(a,"Id"),p=_n(f,i),h={};return p&&p.length?h=doe(t,{axes:p,graphicalItems:s,axisType:a,axisIdKey:d,stackGroups:o,dataStartIndex:u,dataEndIndex:c}):s&&s.length&&(h=foe(t,{Axis:i,graphicalItems:s,axisType:a,axisIdKey:d,stackGroups:o,dataStartIndex:u,dataEndIndex:c})),h},hoe=function(t){var r=Pi(t),n=Xa(r,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:Lw(n,function(a){return a.coordinate}),tooltipAxis:r,tooltipAxisBandSize:yh(r,n)}},jO=function(t){var r=t.children,n=t.defaultShowTooltip,a=yn(r,$l),i=0,s=0;return t.data&&t.data.length!==0&&(s=t.data.length-1),a&&a.props&&(a.props.startIndex>=0&&(i=a.props.startIndex),a.props.endIndex>=0&&(s=a.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:i,dataEndIndex:s,activeTooltipIndex:-1,isTooltipActive:!!n}},moe=function(t){return!t||!t.length?!1:t.some(function(r){var n=Qa(r&&r.type);return n&&n.indexOf("Bar")>=0})},SO=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},goe=function(t,r){var n=t.props,a=t.graphicalItems,i=t.xAxisMap,s=i===void 0?{}:i,o=t.yAxisMap,u=o===void 0?{}:o,c=n.width,f=n.height,d=n.children,p=n.margin||{},h=yn(d,$l),x=yn(d,ia),v=Object.keys(u).reduce(function(b,_){var k=u[_],O=k.orientation;return!k.mirror&&!k.hide?Z(Z({},b),{},Ce({},O,b[O]+k.width)):b},{left:p.left||0,right:p.right||0}),g=Object.keys(s).reduce(function(b,_){var k=s[_],O=k.orientation;return!k.mirror&&!k.hide?Z(Z({},b),{},Ce({},O,wn(b,"".concat(O))+k.height)):b},{top:p.top||0,bottom:p.bottom||0}),y=Z(Z({},g),v),m=y.bottom;h&&(y.bottom+=h.props.height||$l.defaultProps.height),x&&r&&(y=bZ(y,a,n,r));var w=c-y.left-y.right,j=f-y.top-y.bottom;return Z(Z({brushBottom:m},y),{},{width:Math.max(w,0),height:Math.max(j,0)})},yoe=function(t,r){if(r==="xAxis")return t[r].width;if(r==="yAxis")return t[r].height},gg=function(t){var r=t.chartName,n=t.GraphicalChild,a=t.defaultTooltipEventType,i=a===void 0?"axis":a,s=t.validateTooltipEventTypes,o=s===void 0?["axis"]:s,u=t.axisComponents,c=t.legendContent,f=t.formatAxisMap,d=t.defaultProps,p=function(y,m){var w=m.graphicalItems,j=m.stackGroups,b=m.offset,_=m.updateId,k=m.dataStartIndex,O=m.dataEndIndex,E=y.barSize,T=y.layout,$=y.barGap,A=y.barCategoryGap,R=y.maxBarSize,M=SO(T),L=M.numericAxisName,V=M.cateAxisName,H=moe(w),I=[];return w.forEach(function(B,W){var G=mg(y.data,{graphicalItems:[B],dataStartIndex:k,dataEndIndex:O}),K=B.type.defaultProps!==void 0?Z(Z({},B.type.defaultProps),B.props):B.props,ee=K.dataKey,q=K.maxBarSize,le=K["".concat(L,"Id")],ge=K["".concat(V,"Id")],$e={},Pe=u.reduce(function(Ge,We){var C=m["".concat(We.axisType,"Map")],z=K["".concat(We.axisType,"Id")];C&&C[z]||We.axisType==="zAxis"||Js();var U=C[z];return Z(Z({},Ge),{},Ce(Ce({},We.axisType,U),"".concat(We.axisType,"Ticks"),Xa(U)))},$e),J=Pe[V],ue=Pe["".concat(V,"Ticks")],de=j&&j[le]&&j[le].hasStack&&CZ(B,j[le].stackGroups),X=Qa(B.type).indexOf("Bar")>=0,we=yh(J,ue),ye=[],qe=H&&vZ({barSize:E,stackGroups:j,totalSize:yoe(Pe,V)});if(X){var De,ke,Re=Fe(q)?R:q,Ie=(De=(ke=yh(J,ue,!0))!==null&&ke!==void 0?ke:Re)!==null&&De!==void 0?De:0;ye=xZ({barGap:$,barCategoryGap:A,bandSize:Ie!==we?Ie:we,sizeList:qe[ge],maxBarSize:Re}),Ie!==we&&(ye=ye.map(function(Ge){return Z(Z({},Ge),{},{position:Z(Z({},Ge.position),{},{offset:Ge.position.offset-Ie/2})})}))}var Oe=B&&B.type&&B.type.getComposedData;Oe&&I.push({props:Z(Z({},Oe(Z(Z({},Pe),{},{displayedData:G,props:y,dataKey:ee,item:B,bandSize:we,barPosition:ye,offset:b,stackedData:de,layout:T,dataStartIndex:k,dataEndIndex:O}))),{},Ce(Ce(Ce({key:B.key||"item-".concat(W)},L,Pe[L]),V,Pe[V]),"animationId",_)),childIndex:x8(B,y.children),item:B})}),I},h=function(y,m){var w=y.props,j=y.dataStartIndex,b=y.dataEndIndex,_=y.updateId;if(!Fj({props:w}))return null;var k=w.children,O=w.layout,E=w.stackOffset,T=w.data,$=w.reverseStackOrder,A=SO(O),R=A.numericAxisName,M=A.cateAxisName,L=_n(k,n),V=EZ(T,L,"".concat(R,"Id"),"".concat(M,"Id"),E,$),H=u.reduce(function(K,ee){var q="".concat(ee.axisType,"Map");return Z(Z({},K),{},Ce({},q,poe(w,Z(Z({},ee),{},{graphicalItems:L,stackGroups:ee.axisType===R&&V,dataStartIndex:j,dataEndIndex:b}))))},{}),I=goe(Z(Z({},H),{},{props:w,graphicalItems:L}),m==null?void 0:m.legendBBox);Object.keys(H).forEach(function(K){H[K]=f(w,H[K],I,K.replace("Map",""),r)});var B=H["".concat(M,"Map")],W=hoe(B),G=p(w,Z(Z({},H),{},{dataStartIndex:j,dataEndIndex:b,updateId:_,graphicalItems:L,stackGroups:V,offset:I}));return Z(Z({formattedGraphicalItems:G,graphicalItems:L,offset:I,stackGroups:V},W),H)},x=function(g){function y(m){var w,j,b;return Xse(this,y),b=Qse(this,y,[m]),Ce(b,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Ce(b,"accessibilityManager",new Mse),Ce(b,"handleLegendBBoxUpdate",function(_){if(_){var k=b.state,O=k.dataStartIndex,E=k.dataEndIndex,T=k.updateId;b.setState(Z({legendBBox:_},h({props:b.props,dataStartIndex:O,dataEndIndex:E,updateId:T},Z(Z({},b.state),{},{legendBBox:_}))))}}),Ce(b,"handleReceiveSyncEvent",function(_,k,O){if(b.props.syncId===_){if(O===b.eventEmitterSymbol&&typeof b.props.syncMethod!="function")return;b.applySyncEvent(k)}}),Ce(b,"handleBrushChange",function(_){var k=_.startIndex,O=_.endIndex;if(k!==b.state.dataStartIndex||O!==b.state.dataEndIndex){var E=b.state.updateId;b.setState(function(){return Z({dataStartIndex:k,dataEndIndex:O},h({props:b.props,dataStartIndex:k,dataEndIndex:O,updateId:E},b.state))}),b.triggerSyncEvent({dataStartIndex:k,dataEndIndex:O})}}),Ce(b,"handleMouseEnter",function(_){var k=b.getMouseInfo(_);if(k){var O=Z(Z({},k),{},{isTooltipActive:!0});b.setState(O),b.triggerSyncEvent(O);var E=b.props.onMouseEnter;Te(E)&&E(O,_)}}),Ce(b,"triggeredAfterMouseMove",function(_){var k=b.getMouseInfo(_),O=k?Z(Z({},k),{},{isTooltipActive:!0}):{isTooltipActive:!1};b.setState(O),b.triggerSyncEvent(O);var E=b.props.onMouseMove;Te(E)&&E(O,_)}),Ce(b,"handleItemMouseEnter",function(_){b.setState(function(){return{isTooltipActive:!0,activeItem:_,activePayload:_.tooltipPayload,activeCoordinate:_.tooltipPosition||{x:_.cx,y:_.cy}}})}),Ce(b,"handleItemMouseLeave",function(){b.setState(function(){return{isTooltipActive:!1}})}),Ce(b,"handleMouseMove",function(_){_.persist(),b.throttleTriggeredAfterMouseMove(_)}),Ce(b,"handleMouseLeave",function(_){b.throttleTriggeredAfterMouseMove.cancel();var k={isTooltipActive:!1};b.setState(k),b.triggerSyncEvent(k);var O=b.props.onMouseLeave;Te(O)&&O(k,_)}),Ce(b,"handleOuterEvent",function(_){var k=v8(_),O=wn(b.props,"".concat(k));if(k&&Te(O)){var E,T;/.*touch.*/i.test(k)?T=b.getMouseInfo(_.changedTouches[0]):T=b.getMouseInfo(_),O((E=T)!==null&&E!==void 0?E:{},_)}}),Ce(b,"handleClick",function(_){var k=b.getMouseInfo(_);if(k){var O=Z(Z({},k),{},{isTooltipActive:!0});b.setState(O),b.triggerSyncEvent(O);var E=b.props.onClick;Te(E)&&E(O,_)}}),Ce(b,"handleMouseDown",function(_){var k=b.props.onMouseDown;if(Te(k)){var O=b.getMouseInfo(_);k(O,_)}}),Ce(b,"handleMouseUp",function(_){var k=b.props.onMouseUp;if(Te(k)){var O=b.getMouseInfo(_);k(O,_)}}),Ce(b,"handleTouchMove",function(_){_.changedTouches!=null&&_.changedTouches.length>0&&b.throttleTriggeredAfterMouseMove(_.changedTouches[0])}),Ce(b,"handleTouchStart",function(_){_.changedTouches!=null&&_.changedTouches.length>0&&b.handleMouseDown(_.changedTouches[0])}),Ce(b,"handleTouchEnd",function(_){_.changedTouches!=null&&_.changedTouches.length>0&&b.handleMouseUp(_.changedTouches[0])}),Ce(b,"handleDoubleClick",function(_){var k=b.props.onDoubleClick;if(Te(k)){var O=b.getMouseInfo(_);k(O,_)}}),Ce(b,"handleContextMenu",function(_){var k=b.props.onContextMenu;if(Te(k)){var O=b.getMouseInfo(_);k(O,_)}}),Ce(b,"triggerSyncEvent",function(_){b.props.syncId!==void 0&&Ty.emit($y,b.props.syncId,_,b.eventEmitterSymbol)}),Ce(b,"applySyncEvent",function(_){var k=b.props,O=k.layout,E=k.syncMethod,T=b.state.updateId,$=_.dataStartIndex,A=_.dataEndIndex;if(_.dataStartIndex!==void 0||_.dataEndIndex!==void 0)b.setState(Z({dataStartIndex:$,dataEndIndex:A},h({props:b.props,dataStartIndex:$,dataEndIndex:A,updateId:T},b.state)));else if(_.activeTooltipIndex!==void 0){var R=_.chartX,M=_.chartY,L=_.activeTooltipIndex,V=b.state,H=V.offset,I=V.tooltipTicks;if(!H)return;if(typeof E=="function")L=E(I,_);else if(E==="value"){L=-1;for(var B=0;B=0){var de,X;if(R.dataKey&&!R.allowDuplicatedCategory){var we=typeof R.dataKey=="function"?ue:"payload.".concat(R.dataKey.toString());de=Bp(B,we,L),X=W&&G&&Bp(G,we,L)}else de=B==null?void 0:B[M],X=W&&G&&G[M];if(ge||le){var ye=_.props.activeIndex!==void 0?_.props.activeIndex:M;return[S.cloneElement(_,Z(Z(Z({},E.props),Pe),{},{activeIndex:ye})),null,null]}if(!Fe(de))return[J].concat(Wl(b.renderActivePoints({item:E,activePoint:de,basePoint:X,childIndex:M,isRange:W})))}else{var qe,De=(qe=b.getItemByXY(b.state.activeCoordinate))!==null&&qe!==void 0?qe:{graphicalItem:J},ke=De.graphicalItem,Re=ke.item,Ie=Re===void 0?_:Re,Oe=ke.childIndex,Ge=Z(Z(Z({},E.props),Pe),{},{activeIndex:Oe});return[S.cloneElement(Ie,Ge),null,null]}return W?[J,null,null]:[J,null]}),Ce(b,"renderCustomized",function(_,k,O){return S.cloneElement(_,Z(Z({key:"recharts-customized-".concat(O)},b.props),b.state))}),Ce(b,"renderMap",{CartesianGrid:{handler:If,once:!0},ReferenceArea:{handler:b.renderReferenceElement},ReferenceLine:{handler:If},ReferenceDot:{handler:b.renderReferenceElement},XAxis:{handler:If},YAxis:{handler:If},Brush:{handler:b.renderBrush,once:!0},Bar:{handler:b.renderGraphicChild},Line:{handler:b.renderGraphicChild},Area:{handler:b.renderGraphicChild},Radar:{handler:b.renderGraphicChild},RadialBar:{handler:b.renderGraphicChild},Scatter:{handler:b.renderGraphicChild},Pie:{handler:b.renderGraphicChild},Funnel:{handler:b.renderGraphicChild},Tooltip:{handler:b.renderCursor,once:!0},PolarGrid:{handler:b.renderPolarGrid,once:!0},PolarAngleAxis:{handler:b.renderPolarAxis},PolarRadiusAxis:{handler:b.renderPolarAxis},Customized:{handler:b.renderCustomized}}),b.clipPathId="".concat((w=m.id)!==null&&w!==void 0?w:oo("recharts"),"-clip"),b.throttleTriggeredAfterMouseMove=CC(b.triggeredAfterMouseMove,(j=m.throttleDelay)!==null&&j!==void 0?j:1e3/60),b.state={},b}return roe(y,g),Jse(y,[{key:"componentDidMount",value:function(){var w,j;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(w=this.props.margin.left)!==null&&w!==void 0?w:0,top:(j=this.props.margin.top)!==null&&j!==void 0?j:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var w=this.props,j=w.children,b=w.data,_=w.height,k=w.layout,O=yn(j,Or);if(O){var E=O.props.defaultIndex;if(!(typeof E!="number"||E<0||E>this.state.tooltipTicks.length-1)){var T=this.state.tooltipTicks[E]&&this.state.tooltipTicks[E].value,$=X0(this.state,b,E,T),A=this.state.tooltipTicks[E].coordinate,R=(this.state.offset.top+_)/2,M=k==="horizontal",L=M?{x:A,y:R}:{y:A,x:R},V=this.state.formattedGraphicalItems.find(function(I){var B=I.item;return B.type.name==="Scatter"});V&&(L=Z(Z({},L),V.props.points[E].tooltipPosition),$=V.props.points[E].tooltipPayload);var H={activeTooltipIndex:E,isTooltipActive:!0,activeLabel:T,activePayload:$,activeCoordinate:L};this.setState(H),this.renderCursor(O),this.accessibilityManager.setIndex(E)}}}},{key:"getSnapshotBeforeUpdate",value:function(w,j){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==j.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==w.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==w.margin){var b,_;this.accessibilityManager.setDetails({offset:{left:(b=this.props.margin.left)!==null&&b!==void 0?b:0,top:(_=this.props.margin.top)!==null&&_!==void 0?_:0}})}return null}},{key:"componentDidUpdate",value:function(w){Sx([yn(w.children,Or)],[yn(this.props.children,Or)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var w=yn(this.props.children,Or);if(w&&typeof w.props.shared=="boolean"){var j=w.props.shared?"axis":"item";return o.indexOf(j)>=0?j:i}return i}},{key:"getMouseInfo",value:function(w){if(!this.container)return null;var j=this.container,b=j.getBoundingClientRect(),_=HG(b),k={chartX:Math.round(w.pageX-_.left),chartY:Math.round(w.pageY-_.top)},O=b.width/j.offsetWidth||1,E=this.inRange(k.chartX,k.chartY,O);if(!E)return null;var T=this.state,$=T.xAxisMap,A=T.yAxisMap,R=this.getTooltipEventType(),M=_O(this.state,this.props.data,this.props.layout,E);if(R!=="axis"&&$&&A){var L=Pi($).scale,V=Pi(A).scale,H=L&&L.invert?L.invert(k.chartX):null,I=V&&V.invert?V.invert(k.chartY):null;return Z(Z({},k),{},{xValue:H,yValue:I},M)}return M?Z(Z({},k),M):null}},{key:"inRange",value:function(w,j){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,_=this.props.layout,k=w/b,O=j/b;if(_==="horizontal"||_==="vertical"){var E=this.state.offset,T=k>=E.left&&k<=E.left+E.width&&O>=E.top&&O<=E.top+E.height;return T?{x:k,y:O}:null}var $=this.state,A=$.angleAxisMap,R=$.radiusAxisMap;if(A&&R){var M=Pi(A);return Kk({x:k,y:O},M)}return null}},{key:"parseEventsOfWrapper",value:function(){var w=this.props.children,j=this.getTooltipEventType(),b=yn(w,Or),_={};b&&j==="axis"&&(b.props.trigger==="click"?_={onClick:this.handleClick}:_={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var k=Up(this.props,this.handleOuterEvent);return Z(Z({},k),_)}},{key:"addListener",value:function(){Ty.on($y,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){Ty.removeListener($y,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(w,j,b){for(var _=this.state.formattedGraphicalItems,k=0,O=_.length;k{let t;const r=new Set,n=(f,d)=>{const p=typeof f=="function"?f(t):f;if(!Object.is(p,t)){const h=t;t=d??(typeof p!="object"||p===null)?p:Object.assign({},t,p),r.forEach(x=>x(t,h))}},a=()=>t,u={setState:n,getState:a,getInitialState:()=>c,subscribe:f=>(r.add(f),()=>r.delete(f)),destroy:()=>{(boe?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}},c=t=e(n,a,u);return u},woe=e=>e?kO(e):kO;var iR={exports:{}},sR={};/** +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tR(e,t){if(e){if(typeof e=="string")return Y0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Y0(e,t)}}function aoe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ioe(e){if(Array.isArray(e))return Y0(e)}function Y0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?s:t&&t.length&&se(a)&&se(i)?t.slice(a,i+1):[]};function aR(e){return e==="number"?[0,"auto"]:void 0}var X0=function(t,r,n,a){var i=t.graphicalItems,s=t.tooltipAxis,o=mg(r,t);return n<0||!i||!i.length||n>=o.length?null:i.reduce(function(u,c){var f,d=(f=c.props.data)!==null&&f!==void 0?f:r;d&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=n&&(d=d.slice(t.dataStartIndex,t.dataEndIndex+1));var p;if(s.dataKey&&!s.allowDuplicatedCategory){var h=d===void 0?o:d;p=Bp(h,s.dataKey,a)}else p=d&&d[n]||o[n];return p?[].concat(Wl(u),[zT(c,p)]):u},[])},_O=function(t,r,n,a){var i=a||{x:t.chartX,y:t.chartY},s=uoe(i,n),o=t.orderedTooltipTicks,u=t.tooltipAxis,c=t.tooltipTicks,f=yZ(s,o,c,u);if(f>=0&&c){var d=c[f]&&c[f].value,p=X0(t,r,f,d),h=coe(n,o,f,i);return{activeTooltipIndex:f,activeLabel:d,activePayload:p,activeCoordinate:h}}return null},doe=function(t,r){var n=r.axes,a=r.graphicalItems,i=r.axisType,s=r.axisIdKey,o=r.stackGroups,u=r.dataStartIndex,c=r.dataEndIndex,f=t.layout,d=t.children,p=t.stackOffset,h=RT(f,i);return n.reduce(function(x,v){var g,y=v.type.defaultProps!==void 0?Z(Z({},v.type.defaultProps),v.props):v.props,m=y.type,w=y.dataKey,j=y.allowDataOverflow,b=y.allowDuplicatedCategory,_=y.scale,k=y.ticks,O=y.includeHidden,E=y[s];if(x[E])return x;var T=mg(t.data,{graphicalItems:a.filter(function(K){var ee,q=s in K.props?K.props[s]:(ee=K.type.defaultProps)===null||ee===void 0?void 0:ee[s];return q===E}),dataStartIndex:u,dataEndIndex:c}),R=T.length,N,$,I;Dse(y.domain,j,m)&&(N=u0(y.domain,null,j),h&&(m==="number"||_!=="auto")&&(I=cc(T,w,"category")));var L=aR(m);if(!N||N.length===0){var V,H=(V=y.domain)!==null&&V!==void 0?V:L;if(w){if(N=cc(T,w,m),m==="category"&&h){var M=o8(N);b&&M?($=N,N=Ph(0,R)):b||(N=Hk(H,N,v).reduce(function(K,ee){return K.indexOf(ee)>=0?K:[].concat(Wl(K),[ee])},[]))}else if(m==="category")b?N=N.filter(function(K){return K!==""&&!Fe(K)}):N=Hk(H,N,v).reduce(function(K,ee){return K.indexOf(ee)>=0||ee===""||Fe(ee)?K:[].concat(Wl(K),[ee])},[]);else if(m==="number"){var B=_Z(T,a.filter(function(K){var ee,q,le=s in K.props?K.props[s]:(ee=K.type.defaultProps)===null||ee===void 0?void 0:ee[s],ge="hide"in K.props?K.props.hide:(q=K.type.defaultProps)===null||q===void 0?void 0:q.hide;return le===E&&(O||!ge)}),w,i,f);B&&(N=B)}h&&(m==="number"||_!=="auto")&&(I=cc(T,w,"category"))}else h?N=Ph(0,R):o&&o[E]&&o[E].hasStack&&m==="number"?N=p==="expand"?[0,1]:FT(o[E].stackGroups,u,c):N=$T(T,a.filter(function(K){var ee=s in K.props?K.props[s]:K.type.defaultProps[s],q="hide"in K.props?K.props.hide:K.type.defaultProps.hide;return ee===E&&(O||!q)}),m,f,!0);if(m==="number")N=q0(d,N,E,i,k),H&&(N=u0(H,N,j));else if(m==="category"&&H){var W=H,G=N.every(function(K){return W.indexOf(K)>=0});G&&(N=W)}}return Z(Z({},x),{},Ce({},E,Z(Z({},y),{},{axisType:i,domain:N,categoricalDomain:I,duplicateDomain:$,originalDomain:(g=y.domain)!==null&&g!==void 0?g:L,isCategorical:h,layout:f})))},{})},foe=function(t,r){var n=r.graphicalItems,a=r.Axis,i=r.axisType,s=r.axisIdKey,o=r.stackGroups,u=r.dataStartIndex,c=r.dataEndIndex,f=t.layout,d=t.children,p=mg(t.data,{graphicalItems:n,dataStartIndex:u,dataEndIndex:c}),h=p.length,x=RT(f,i),v=-1;return n.reduce(function(g,y){var m=y.type.defaultProps!==void 0?Z(Z({},y.type.defaultProps),y.props):y.props,w=m[s],j=aR("number");if(!g[w]){v++;var b;return x?b=Ph(0,h):o&&o[w]&&o[w].hasStack?(b=FT(o[w].stackGroups,u,c),b=q0(d,b,w,i)):(b=u0(j,$T(p,n.filter(function(_){var k,O,E=s in _.props?_.props[s]:(k=_.type.defaultProps)===null||k===void 0?void 0:k[s],T="hide"in _.props?_.props.hide:(O=_.type.defaultProps)===null||O===void 0?void 0:O.hide;return E===w&&!T}),"number",f),a.defaultProps.allowDataOverflow),b=q0(d,b,w,i)),Z(Z({},g),{},Ce({},w,Z(Z({axisType:i},a.defaultProps),{},{hide:!0,orientation:wn(ooe,"".concat(i,".").concat(v%2),null),domain:b,originalDomain:j,isCategorical:x,layout:f})))}return g},{})},poe=function(t,r){var n=r.axisType,a=n===void 0?"xAxis":n,i=r.AxisComp,s=r.graphicalItems,o=r.stackGroups,u=r.dataStartIndex,c=r.dataEndIndex,f=t.children,d="".concat(a,"Id"),p=_n(f,i),h={};return p&&p.length?h=doe(t,{axes:p,graphicalItems:s,axisType:a,axisIdKey:d,stackGroups:o,dataStartIndex:u,dataEndIndex:c}):s&&s.length&&(h=foe(t,{Axis:i,graphicalItems:s,axisType:a,axisIdKey:d,stackGroups:o,dataStartIndex:u,dataEndIndex:c})),h},hoe=function(t){var r=Pi(t),n=Xa(r,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:Lw(n,function(a){return a.coordinate}),tooltipAxis:r,tooltipAxisBandSize:yh(r,n)}},jO=function(t){var r=t.children,n=t.defaultShowTooltip,a=yn(r,$l),i=0,s=0;return t.data&&t.data.length!==0&&(s=t.data.length-1),a&&a.props&&(a.props.startIndex>=0&&(i=a.props.startIndex),a.props.endIndex>=0&&(s=a.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:i,dataEndIndex:s,activeTooltipIndex:-1,isTooltipActive:!!n}},moe=function(t){return!t||!t.length?!1:t.some(function(r){var n=Qa(r&&r.type);return n&&n.indexOf("Bar")>=0})},SO=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},goe=function(t,r){var n=t.props,a=t.graphicalItems,i=t.xAxisMap,s=i===void 0?{}:i,o=t.yAxisMap,u=o===void 0?{}:o,c=n.width,f=n.height,d=n.children,p=n.margin||{},h=yn(d,$l),x=yn(d,ia),v=Object.keys(u).reduce(function(b,_){var k=u[_],O=k.orientation;return!k.mirror&&!k.hide?Z(Z({},b),{},Ce({},O,b[O]+k.width)):b},{left:p.left||0,right:p.right||0}),g=Object.keys(s).reduce(function(b,_){var k=s[_],O=k.orientation;return!k.mirror&&!k.hide?Z(Z({},b),{},Ce({},O,wn(b,"".concat(O))+k.height)):b},{top:p.top||0,bottom:p.bottom||0}),y=Z(Z({},g),v),m=y.bottom;h&&(y.bottom+=h.props.height||$l.defaultProps.height),x&&r&&(y=bZ(y,a,n,r));var w=c-y.left-y.right,j=f-y.top-y.bottom;return Z(Z({brushBottom:m},y),{},{width:Math.max(w,0),height:Math.max(j,0)})},yoe=function(t,r){if(r==="xAxis")return t[r].width;if(r==="yAxis")return t[r].height},gg=function(t){var r=t.chartName,n=t.GraphicalChild,a=t.defaultTooltipEventType,i=a===void 0?"axis":a,s=t.validateTooltipEventTypes,o=s===void 0?["axis"]:s,u=t.axisComponents,c=t.legendContent,f=t.formatAxisMap,d=t.defaultProps,p=function(y,m){var w=m.graphicalItems,j=m.stackGroups,b=m.offset,_=m.updateId,k=m.dataStartIndex,O=m.dataEndIndex,E=y.barSize,T=y.layout,R=y.barGap,N=y.barCategoryGap,$=y.maxBarSize,I=SO(T),L=I.numericAxisName,V=I.cateAxisName,H=moe(w),M=[];return w.forEach(function(B,W){var G=mg(y.data,{graphicalItems:[B],dataStartIndex:k,dataEndIndex:O}),K=B.type.defaultProps!==void 0?Z(Z({},B.type.defaultProps),B.props):B.props,ee=K.dataKey,q=K.maxBarSize,le=K["".concat(L,"Id")],ge=K["".concat(V,"Id")],$e={},Pe=u.reduce(function(Ge,We){var C=m["".concat(We.axisType,"Map")],z=K["".concat(We.axisType,"Id")];C&&C[z]||We.axisType==="zAxis"||Js();var U=C[z];return Z(Z({},Ge),{},Ce(Ce({},We.axisType,U),"".concat(We.axisType,"Ticks"),Xa(U)))},$e),J=Pe[V],ue=Pe["".concat(V,"Ticks")],de=j&&j[le]&&j[le].hasStack&&CZ(B,j[le].stackGroups),X=Qa(B.type).indexOf("Bar")>=0,we=yh(J,ue),ye=[],qe=H&&vZ({barSize:E,stackGroups:j,totalSize:yoe(Pe,V)});if(X){var De,ke,Re=Fe(q)?$:q,Ie=(De=(ke=yh(J,ue,!0))!==null&&ke!==void 0?ke:Re)!==null&&De!==void 0?De:0;ye=xZ({barGap:R,barCategoryGap:N,bandSize:Ie!==we?Ie:we,sizeList:qe[ge],maxBarSize:Re}),Ie!==we&&(ye=ye.map(function(Ge){return Z(Z({},Ge),{},{position:Z(Z({},Ge.position),{},{offset:Ge.position.offset-Ie/2})})}))}var Oe=B&&B.type&&B.type.getComposedData;Oe&&M.push({props:Z(Z({},Oe(Z(Z({},Pe),{},{displayedData:G,props:y,dataKey:ee,item:B,bandSize:we,barPosition:ye,offset:b,stackedData:de,layout:T,dataStartIndex:k,dataEndIndex:O}))),{},Ce(Ce(Ce({key:B.key||"item-".concat(W)},L,Pe[L]),V,Pe[V]),"animationId",_)),childIndex:x8(B,y.children),item:B})}),M},h=function(y,m){var w=y.props,j=y.dataStartIndex,b=y.dataEndIndex,_=y.updateId;if(!Fj({props:w}))return null;var k=w.children,O=w.layout,E=w.stackOffset,T=w.data,R=w.reverseStackOrder,N=SO(O),$=N.numericAxisName,I=N.cateAxisName,L=_n(k,n),V=EZ(T,L,"".concat($,"Id"),"".concat(I,"Id"),E,R),H=u.reduce(function(K,ee){var q="".concat(ee.axisType,"Map");return Z(Z({},K),{},Ce({},q,poe(w,Z(Z({},ee),{},{graphicalItems:L,stackGroups:ee.axisType===$&&V,dataStartIndex:j,dataEndIndex:b}))))},{}),M=goe(Z(Z({},H),{},{props:w,graphicalItems:L}),m==null?void 0:m.legendBBox);Object.keys(H).forEach(function(K){H[K]=f(w,H[K],M,K.replace("Map",""),r)});var B=H["".concat(I,"Map")],W=hoe(B),G=p(w,Z(Z({},H),{},{dataStartIndex:j,dataEndIndex:b,updateId:_,graphicalItems:L,stackGroups:V,offset:M}));return Z(Z({formattedGraphicalItems:G,graphicalItems:L,offset:M,stackGroups:V},W),H)},x=function(g){function y(m){var w,j,b;return Xse(this,y),b=Qse(this,y,[m]),Ce(b,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Ce(b,"accessibilityManager",new Mse),Ce(b,"handleLegendBBoxUpdate",function(_){if(_){var k=b.state,O=k.dataStartIndex,E=k.dataEndIndex,T=k.updateId;b.setState(Z({legendBBox:_},h({props:b.props,dataStartIndex:O,dataEndIndex:E,updateId:T},Z(Z({},b.state),{},{legendBBox:_}))))}}),Ce(b,"handleReceiveSyncEvent",function(_,k,O){if(b.props.syncId===_){if(O===b.eventEmitterSymbol&&typeof b.props.syncMethod!="function")return;b.applySyncEvent(k)}}),Ce(b,"handleBrushChange",function(_){var k=_.startIndex,O=_.endIndex;if(k!==b.state.dataStartIndex||O!==b.state.dataEndIndex){var E=b.state.updateId;b.setState(function(){return Z({dataStartIndex:k,dataEndIndex:O},h({props:b.props,dataStartIndex:k,dataEndIndex:O,updateId:E},b.state))}),b.triggerSyncEvent({dataStartIndex:k,dataEndIndex:O})}}),Ce(b,"handleMouseEnter",function(_){var k=b.getMouseInfo(_);if(k){var O=Z(Z({},k),{},{isTooltipActive:!0});b.setState(O),b.triggerSyncEvent(O);var E=b.props.onMouseEnter;Te(E)&&E(O,_)}}),Ce(b,"triggeredAfterMouseMove",function(_){var k=b.getMouseInfo(_),O=k?Z(Z({},k),{},{isTooltipActive:!0}):{isTooltipActive:!1};b.setState(O),b.triggerSyncEvent(O);var E=b.props.onMouseMove;Te(E)&&E(O,_)}),Ce(b,"handleItemMouseEnter",function(_){b.setState(function(){return{isTooltipActive:!0,activeItem:_,activePayload:_.tooltipPayload,activeCoordinate:_.tooltipPosition||{x:_.cx,y:_.cy}}})}),Ce(b,"handleItemMouseLeave",function(){b.setState(function(){return{isTooltipActive:!1}})}),Ce(b,"handleMouseMove",function(_){_.persist(),b.throttleTriggeredAfterMouseMove(_)}),Ce(b,"handleMouseLeave",function(_){b.throttleTriggeredAfterMouseMove.cancel();var k={isTooltipActive:!1};b.setState(k),b.triggerSyncEvent(k);var O=b.props.onMouseLeave;Te(O)&&O(k,_)}),Ce(b,"handleOuterEvent",function(_){var k=v8(_),O=wn(b.props,"".concat(k));if(k&&Te(O)){var E,T;/.*touch.*/i.test(k)?T=b.getMouseInfo(_.changedTouches[0]):T=b.getMouseInfo(_),O((E=T)!==null&&E!==void 0?E:{},_)}}),Ce(b,"handleClick",function(_){var k=b.getMouseInfo(_);if(k){var O=Z(Z({},k),{},{isTooltipActive:!0});b.setState(O),b.triggerSyncEvent(O);var E=b.props.onClick;Te(E)&&E(O,_)}}),Ce(b,"handleMouseDown",function(_){var k=b.props.onMouseDown;if(Te(k)){var O=b.getMouseInfo(_);k(O,_)}}),Ce(b,"handleMouseUp",function(_){var k=b.props.onMouseUp;if(Te(k)){var O=b.getMouseInfo(_);k(O,_)}}),Ce(b,"handleTouchMove",function(_){_.changedTouches!=null&&_.changedTouches.length>0&&b.throttleTriggeredAfterMouseMove(_.changedTouches[0])}),Ce(b,"handleTouchStart",function(_){_.changedTouches!=null&&_.changedTouches.length>0&&b.handleMouseDown(_.changedTouches[0])}),Ce(b,"handleTouchEnd",function(_){_.changedTouches!=null&&_.changedTouches.length>0&&b.handleMouseUp(_.changedTouches[0])}),Ce(b,"handleDoubleClick",function(_){var k=b.props.onDoubleClick;if(Te(k)){var O=b.getMouseInfo(_);k(O,_)}}),Ce(b,"handleContextMenu",function(_){var k=b.props.onContextMenu;if(Te(k)){var O=b.getMouseInfo(_);k(O,_)}}),Ce(b,"triggerSyncEvent",function(_){b.props.syncId!==void 0&&Ty.emit($y,b.props.syncId,_,b.eventEmitterSymbol)}),Ce(b,"applySyncEvent",function(_){var k=b.props,O=k.layout,E=k.syncMethod,T=b.state.updateId,R=_.dataStartIndex,N=_.dataEndIndex;if(_.dataStartIndex!==void 0||_.dataEndIndex!==void 0)b.setState(Z({dataStartIndex:R,dataEndIndex:N},h({props:b.props,dataStartIndex:R,dataEndIndex:N,updateId:T},b.state)));else if(_.activeTooltipIndex!==void 0){var $=_.chartX,I=_.chartY,L=_.activeTooltipIndex,V=b.state,H=V.offset,M=V.tooltipTicks;if(!H)return;if(typeof E=="function")L=E(M,_);else if(E==="value"){L=-1;for(var B=0;B=0){var de,X;if($.dataKey&&!$.allowDuplicatedCategory){var we=typeof $.dataKey=="function"?ue:"payload.".concat($.dataKey.toString());de=Bp(B,we,L),X=W&&G&&Bp(G,we,L)}else de=B==null?void 0:B[I],X=W&&G&&G[I];if(ge||le){var ye=_.props.activeIndex!==void 0?_.props.activeIndex:I;return[S.cloneElement(_,Z(Z(Z({},E.props),Pe),{},{activeIndex:ye})),null,null]}if(!Fe(de))return[J].concat(Wl(b.renderActivePoints({item:E,activePoint:de,basePoint:X,childIndex:I,isRange:W})))}else{var qe,De=(qe=b.getItemByXY(b.state.activeCoordinate))!==null&&qe!==void 0?qe:{graphicalItem:J},ke=De.graphicalItem,Re=ke.item,Ie=Re===void 0?_:Re,Oe=ke.childIndex,Ge=Z(Z(Z({},E.props),Pe),{},{activeIndex:Oe});return[S.cloneElement(Ie,Ge),null,null]}return W?[J,null,null]:[J,null]}),Ce(b,"renderCustomized",function(_,k,O){return S.cloneElement(_,Z(Z({key:"recharts-customized-".concat(O)},b.props),b.state))}),Ce(b,"renderMap",{CartesianGrid:{handler:If,once:!0},ReferenceArea:{handler:b.renderReferenceElement},ReferenceLine:{handler:If},ReferenceDot:{handler:b.renderReferenceElement},XAxis:{handler:If},YAxis:{handler:If},Brush:{handler:b.renderBrush,once:!0},Bar:{handler:b.renderGraphicChild},Line:{handler:b.renderGraphicChild},Area:{handler:b.renderGraphicChild},Radar:{handler:b.renderGraphicChild},RadialBar:{handler:b.renderGraphicChild},Scatter:{handler:b.renderGraphicChild},Pie:{handler:b.renderGraphicChild},Funnel:{handler:b.renderGraphicChild},Tooltip:{handler:b.renderCursor,once:!0},PolarGrid:{handler:b.renderPolarGrid,once:!0},PolarAngleAxis:{handler:b.renderPolarAxis},PolarRadiusAxis:{handler:b.renderPolarAxis},Customized:{handler:b.renderCustomized}}),b.clipPathId="".concat((w=m.id)!==null&&w!==void 0?w:oo("recharts"),"-clip"),b.throttleTriggeredAfterMouseMove=CC(b.triggeredAfterMouseMove,(j=m.throttleDelay)!==null&&j!==void 0?j:1e3/60),b.state={},b}return roe(y,g),Jse(y,[{key:"componentDidMount",value:function(){var w,j;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(w=this.props.margin.left)!==null&&w!==void 0?w:0,top:(j=this.props.margin.top)!==null&&j!==void 0?j:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var w=this.props,j=w.children,b=w.data,_=w.height,k=w.layout,O=yn(j,Or);if(O){var E=O.props.defaultIndex;if(!(typeof E!="number"||E<0||E>this.state.tooltipTicks.length-1)){var T=this.state.tooltipTicks[E]&&this.state.tooltipTicks[E].value,R=X0(this.state,b,E,T),N=this.state.tooltipTicks[E].coordinate,$=(this.state.offset.top+_)/2,I=k==="horizontal",L=I?{x:N,y:$}:{y:N,x:$},V=this.state.formattedGraphicalItems.find(function(M){var B=M.item;return B.type.name==="Scatter"});V&&(L=Z(Z({},L),V.props.points[E].tooltipPosition),R=V.props.points[E].tooltipPayload);var H={activeTooltipIndex:E,isTooltipActive:!0,activeLabel:T,activePayload:R,activeCoordinate:L};this.setState(H),this.renderCursor(O),this.accessibilityManager.setIndex(E)}}}},{key:"getSnapshotBeforeUpdate",value:function(w,j){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==j.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==w.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==w.margin){var b,_;this.accessibilityManager.setDetails({offset:{left:(b=this.props.margin.left)!==null&&b!==void 0?b:0,top:(_=this.props.margin.top)!==null&&_!==void 0?_:0}})}return null}},{key:"componentDidUpdate",value:function(w){Sx([yn(w.children,Or)],[yn(this.props.children,Or)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var w=yn(this.props.children,Or);if(w&&typeof w.props.shared=="boolean"){var j=w.props.shared?"axis":"item";return o.indexOf(j)>=0?j:i}return i}},{key:"getMouseInfo",value:function(w){if(!this.container)return null;var j=this.container,b=j.getBoundingClientRect(),_=HG(b),k={chartX:Math.round(w.pageX-_.left),chartY:Math.round(w.pageY-_.top)},O=b.width/j.offsetWidth||1,E=this.inRange(k.chartX,k.chartY,O);if(!E)return null;var T=this.state,R=T.xAxisMap,N=T.yAxisMap,$=this.getTooltipEventType(),I=_O(this.state,this.props.data,this.props.layout,E);if($!=="axis"&&R&&N){var L=Pi(R).scale,V=Pi(N).scale,H=L&&L.invert?L.invert(k.chartX):null,M=V&&V.invert?V.invert(k.chartY):null;return Z(Z({},k),{},{xValue:H,yValue:M},I)}return I?Z(Z({},k),I):null}},{key:"inRange",value:function(w,j){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,_=this.props.layout,k=w/b,O=j/b;if(_==="horizontal"||_==="vertical"){var E=this.state.offset,T=k>=E.left&&k<=E.left+E.width&&O>=E.top&&O<=E.top+E.height;return T?{x:k,y:O}:null}var R=this.state,N=R.angleAxisMap,$=R.radiusAxisMap;if(N&&$){var I=Pi(N);return Kk({x:k,y:O},I)}return null}},{key:"parseEventsOfWrapper",value:function(){var w=this.props.children,j=this.getTooltipEventType(),b=yn(w,Or),_={};b&&j==="axis"&&(b.props.trigger==="click"?_={onClick:this.handleClick}:_={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var k=Up(this.props,this.handleOuterEvent);return Z(Z({},k),_)}},{key:"addListener",value:function(){Ty.on($y,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){Ty.removeListener($y,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(w,j,b){for(var _=this.state.formattedGraphicalItems,k=0,O=_.length;k{let t;const r=new Set,n=(f,d)=>{const p=typeof f=="function"?f(t):f;if(!Object.is(p,t)){const h=t;t=d??(typeof p!="object"||p===null)?p:Object.assign({},t,p),r.forEach(x=>x(t,h))}},a=()=>t,u={setState:n,getState:a,getInitialState:()=>c,subscribe:f=>(r.add(f),()=>r.delete(f)),destroy:()=>{(boe?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}},c=t=e(n,a,u);return u},woe=e=>e?kO(e):kO;var iR={exports:{}},sR={};/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -373,16 +373,16 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const PO=Xe("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function Li(e){return e.toString().padStart(2,"0")}function jle(e){return`${e.getFullYear()}-${Li(e.getMonth()+1)}-${Li(e.getDate())}T${Li(e.getHours())}:${Li(e.getMinutes())}`}function Sle(e){const t=new Date(e);return Number.isFinite(t.getTime())?t:null}function kle(e){return e?new Intl.DateTimeFormat(void 0,{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"}).format(e):"Select date and time"}function Ole(e){return new Intl.DateTimeFormat(void 0,{month:"long",year:"numeric"}).format(e)}function Nle(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function Ale(e){const t=new Date(e.getFullYear(),e.getMonth(),1),r=t.getDay(),n=new Date(t);return n.setDate(n.getDate()-r),Array.from({length:42},(a,i)=>{const s=new Date(n);return s.setDate(n.getDate()+i),{key:`${s.getFullYear()}-${s.getMonth()}-${s.getDate()}`,date:s,inMonth:s.getMonth()===e.getMonth()}})}function Xh({value:e,onChange:t,className:r=""}){const n=S.useRef(null),a=S.useMemo(()=>Sle(e),[e]),[i,s]=S.useState(!1),[o,u]=S.useState(a||new Date),[c,f]=S.useState(a||new Date);S.useEffect(()=>{a&&(u(a),f(new Date(a.getFullYear(),a.getMonth(),1)))},[a==null?void 0:a.getTime()]),S.useEffect(()=>{if(!i)return;function g(m){var w;(w=n.current)!=null&&w.contains(m.target)||s(!1)}function y(m){m.key==="Escape"&&s(!1)}return document.addEventListener("mousedown",g),document.addEventListener("keydown",y),()=>{document.removeEventListener("mousedown",g),document.removeEventListener("keydown",y)}},[i]);const d=S.useMemo(()=>Ale(c),[c]);function p(g){u(y=>{const m=new Date(g);return m.setHours(y.getHours(),y.getMinutes(),0,0),m})}function h(g,y){u(m=>{const w=new Date(m);return g==="hours"?w.setHours(Number(y)):w.setMinutes(Number(y)),w})}function x(){t(jle(o)),s(!1)}function v(){const g=new Date;u(g),f(new Date(g.getFullYear(),g.getMonth(),1))}return l.jsxs("div",{ref:n,className:`relative ${r}`,children:[l.jsxs("button",{type:"button",onClick:()=>{if(!i){const g=a||new Date;u(g),f(new Date(g.getFullYear(),g.getMonth(),1))}s(g=>!g)},className:"flex h-11 w-full items-center justify-between gap-3 rounded-2xl border border-slate-200 bg-white/90 px-4 text-left text-sm text-slate-700 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.2)] transition focus:outline-none focus:ring-2 focus:ring-brand-500/20 dark:border-[#2a303a] dark:bg-[#161b24] dark:text-[#e5ecf7] dark:shadow-none",children:[l.jsx("span",{className:"truncate",children:kle(a)}),l.jsx(nle,{size:16,className:"shrink-0 text-slate-400 dark:text-[#8a8a93]"})]}),i?l.jsxs("div",{className:"absolute left-0 top-[calc(100%+10px)] z-[80] w-[284px] rounded-[24px] border border-slate-200 bg-white/95 p-3 shadow-[0_24px_70px_-40px_rgba(15,23,42,0.45)] backdrop-blur dark:border-[#2a303a] dark:bg-[#11151d]/95 dark:shadow-[0_24px_70px_-40px_rgba(0,0,0,0.7)]",children:[l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-[13px] font-semibold text-slate-900 dark:text-white",children:Ole(c)}),l.jsx("p",{className:"mt-1 text-[11px] text-slate-500 dark:text-[#8a8a93]",children:"Choose a day and time"})]}),l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx("button",{type:"button",onClick:()=>f(g=>new Date(g.getFullYear(),g.getMonth()-1,1)),className:"flex h-7 w-7 items-center justify-center rounded-full border border-slate-200 text-slate-500 transition hover:border-slate-300 hover:text-slate-900 dark:border-[#2a303a] dark:text-[#8a8a93] dark:hover:text-white",children:l.jsx(ile,{size:14})}),l.jsx("button",{type:"button",onClick:()=>f(g=>new Date(g.getFullYear(),g.getMonth()+1,1)),className:"flex h-7 w-7 items-center justify-center rounded-full border border-slate-200 text-slate-500 transition hover:border-slate-300 hover:text-slate-900 dark:border-[#2a303a] dark:text-[#8a8a93] dark:hover:text-white",children:l.jsx(sle,{size:14})})]})]}),l.jsx("div",{className:"mt-3 grid grid-cols-7 gap-1 text-center text-[10px] font-semibold uppercase tracking-[0.14em] text-slate-400 dark:text-[#667085]",children:["S","M","T","W","T","F","S"].map(g=>l.jsx("span",{className:"py-2",children:g},g))}),l.jsx("div",{className:"grid grid-cols-7 gap-1",children:d.map(g=>{const y=Nle(g.date,o);return l.jsx("button",{type:"button",onClick:()=>p(g.date),className:`flex h-9 items-center justify-center rounded-lg text-[13px] transition ${y?"bg-brand-600 text-white shadow-[0_12px_30px_-22px_rgba(59,130,246,0.7)] dark:bg-brand-500 dark:text-white":g.inMonth?"text-slate-700 hover:bg-slate-100 dark:text-[#e5ecf7] dark:hover:bg-[#1a2130]":"text-slate-300 hover:bg-slate-100 dark:text-[#4b5565] dark:hover:bg-[#161b24]"}`,children:g.date.getDate()},g.key)})}),l.jsxs("div",{className:"mt-3 rounded-[18px] border border-slate-200 bg-slate-50/70 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:[l.jsxs("div",{className:"mb-2 flex items-center gap-2",children:[l.jsx(J0,{size:13,className:"text-slate-400 dark:text-[#8a8a93]"}),l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Time"})]}),l.jsxs("div",{className:"grid grid-cols-[1fr_auto_1fr] items-center gap-2",children:[l.jsx("select",{value:Li(o.getHours()),onChange:g=>h("hours",g.target.value),className:"h-9 rounded-xl border border-slate-200 bg-white/90 px-3 text-sm text-slate-700 dark:border-[#2a303a] dark:bg-[#11151d] dark:text-[#e5ecf7]",children:Array.from({length:24},(g,y)=>Li(y)).map(g=>l.jsx("option",{value:g,children:g},g))}),l.jsx("span",{className:"text-sm font-semibold text-slate-400 dark:text-[#8a8a93]",children:":"}),l.jsx("select",{value:Li(o.getMinutes()),onChange:g=>h("minutes",g.target.value),className:"h-9 rounded-xl border border-slate-200 bg-white/90 px-3 text-sm text-slate-700 dark:border-[#2a303a] dark:bg-[#11151d] dark:text-[#e5ecf7]",children:Array.from({length:60},(g,y)=>Li(y)).map(g=>l.jsx("option",{value:g,children:g},g))})]})]}),l.jsxs("div",{className:"mt-3 flex items-center justify-between gap-2",children:[l.jsx(Ae,{size:"sm",variant:"ghost",onClick:v,children:"Now"}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>s(!1),children:"Cancel"}),l.jsx(Ae,{size:"sm",onClick:x,children:"Apply"})]})]})]}):null]})}const CO=[{value:"15m",label:"Last 15 mins"},{value:"1h",label:"Last 1 hour"},{value:"12h",label:"Last 12 hours"},{value:"1d",label:"Last 1 day"},{value:"1w",label:"Last 1 week"},{value:"custom",label:"Custom window"}],Cn=["#0069ED","#14b8a6","#f97316","#e11d48","#8b5cf6","#22c55e"],Lf={backgroundColor:"#0d0d12",border:"1px solid #1c1c24",borderRadius:"14px",color:"#e8e8f4",boxShadow:"0 16px 40px rgba(0, 0, 0, 0.35)"},Ff={color:"#f8fafc",fontWeight:600,marginBottom:8},zf={color:"#e2e8f0"},Bf={zIndex:30,outline:"none"},TO={dimensions:{},gateways:[]},Ru=3,Dy=50,Ele=5,Ly=10,bo={hits:{title:"API call counts",purpose:"Use these cards to see how much traffic each major decision-engine API handled in the selected window.",calculation:"Each request records one lightweight API-call event. The cards count those recorded calls for the endpoints surfaced in the current view.",source:"Counts come from ClickHouse-backed API analytics rows ingested from Kafka into `analytics_api_events`."},share:{title:"Gateway share over time",purpose:"Use this to see when traffic shifted from one connector to another for the selected merchant.",calculation:"Decision events are bucketed by time and grouped by chosen connector. The chart shows how many decisions each gateway captured in each bucket.",source:"Reads ClickHouse-backed domain analytics rows from `analytics_domain_events`."},sr:{title:"Connector success rate over time",purpose:"Use this to explain why a connector won routing at a given time, based on the recorded historical score trail.",calculation:"Stored `score_snapshot` events are bucketed over the selected window and averaged per connector. The line values are displayed as percentages.",source:"Reads ClickHouse-backed `score_snapshot` analytics rows from `analytics_domain_events`. The current score state still originates from Redis-backed scoring flows."},preview_hits:{title:"Rule-based summary",purpose:"Use these cards to distinguish preview request volume from the connector coverage produced by rule-based routing.",calculation:"Rule Evaluate counts come from request-hit analytics for `/routing/evaluate`. Gateway coverage counts the unique connectors selected in the fetched preview sample.",source:"Reads `request_hit` and `rule_evaluation_preview` analytics associated with preview routing activity."},preview_activity:{title:"Connector selections over time",purpose:"Use this to see which connectors were selected in each time bucket inside the selected preview window.",calculation:"Returned preview traces are bucketed by time using each trace's latest activity timestamp, then grouped by latest selected connector. The chart shows connector counts per bucket.",source:"Reads `rule_evaluation_preview` activity through `/analytics/preview-trace`."},preview_share:{title:"Rule-based gateway selection mix",purpose:"Use this to see which connectors dominate the fetched rule-preview sample, separate from real transaction decisions.",calculation:"Returned preview traces are grouped by latest selected connector and displayed as share of the fetched preview sample.",source:"Reads `rule_evaluation_preview` activity through `/analytics/preview-trace`."}};function dR(e){const t=new URLSearchParams;return Object.entries(e).forEach(([r,n])=>{n!==void 0&&n!==""&&t.set(r,String(n))}),t.toString()}function Fy(e,t,r,n){const a={range:t==="custom"?"1h":t,start_ms:r==null?void 0:r.start_ms,end_ms:r==null?void 0:r.end_ms,gateway:n!=null&&n.gateways.length?n.gateways.join(","):void 0};Object.entries((n==null?void 0:n.dimensions)||{}).forEach(([s,o])=>{o&&(a[s]=o)});const i=dR(a);return i?`${e}?${i}`:e}function Q0(e,t,r,n){const a={range:e==="custom"?"1h":e,start_ms:n==null?void 0:n.start_ms,end_ms:n==null?void 0:n.end_ms,page:t,page_size:r},i=dR(a);return i?`/analytics/preview-trace?${i}`:"/analytics/preview-trace"}async function Ple(e,t){const r=await nn(Q0(e,1,Dy,t)),n=Math.min(Math.ceil(r.total_results/Dy),Ele);if(n<=1)return r;const a=await Promise.all(Array.from({length:n-1},(i,s)=>nn(Q0(e,s+2,Dy,t))));return{...r,results:[r.results,...a.map(i=>i.results)].flat()}}function Zh(e,t=2){if(e==null||Number.isNaN(Number(e)))return"0";const r=Number(e);return Number.isInteger(r)?r.toString():r.toFixed(t)}function fR(e){return Number.isFinite(e)?e<=1?e*100:e:0}function Uf(e,t=1){return e==null||Number.isNaN(Number(e))?"0%":`${Zh(fR(Number(e)),t)}%`}function Cle(e,t){const r=Math.max(0,t.end_ms-t.start_ms);return r<=24*60*60*1e3?new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit"}).format(new Date(e)):r<=7*24*60*60*1e3?new Intl.DateTimeFormat(void 0,{day:"numeric",month:"short",hour:"2-digit"}).format(new Date(e)):new Intl.DateTimeFormat(void 0,{day:"numeric",month:"short"}).format(new Date(e))}function vs(e){return new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(e))}function Tle(e,t){const r=t?t.end_ms-t.start_ms:e==="15m"?9e5:e==="1h"?36e5:e==="12h"?432e5:e==="1d"?864e5:6048e5;return r<=15*60*1e3?60*1e3:r<=60*60*1e3?5*60*1e3:r<=12*60*60*1e3||r<=24*60*60*1e3?60*60*1e3:24*60*60*1e3}function eb(e,t){return e-e%Math.max(1,t)}function zy(e,t){const r=[],n=Math.max(1,t),a=eb(e.start_ms,n),i=eb(e.end_ms,n);for(let s=a;s<=i;s+=n)r.push(s);return r}function $O(e){const t=Date.now(),r=e==="15m"?15*60*1e3:e==="1h"?60*60*1e3:e==="12h"?12*60*60*1e3:e==="1d"?24*60*60*1e3:7*24*60*60*1e3;return{start_ms:t-r,end_ms:t}}function Vf(e){const t=new Date(e),r=n=>n.toString().padStart(2,"0");return`${t.getFullYear()}-${r(t.getMonth()+1)}-${r(t.getDate())}T${r(t.getHours())}:${r(t.getMinutes())}`}function RO(e){const t=new Date(e).getTime();return Number.isFinite(t)?t:null}function bi({title:e,body:t}){return l.jsxs("div",{className:"rounded-[24px] border border-dashed border-slate-200 bg-white/60 px-6 py-12 text-center dark:border-[#222227] dark:bg-[#0b0b0d]",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:t})]})}function Iu({title:e,body:t}){return l.jsxs("div",{className:"rounded-[24px] border border-slate-200 bg-white/60 px-6 py-12 text-center dark:border-[#222227] dark:bg-[#0b0b0d]",children:[l.jsx("div",{className:"flex justify-center",children:l.jsx(Ft,{size:20})}),l.jsx("p",{className:"mt-4 text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:t})]})}function $le({label:e}){return l.jsxs("div",{className:"overflow-hidden rounded-[22px] border border-brand-500/20 bg-white shadow-[0_10px_30px_-24px_rgba(0,105,237,0.9)] dark:bg-[#0c0c0e]",children:[l.jsx("div",{className:"h-2 w-full bg-brand-500/15",children:l.jsx("div",{className:"h-full origin-left animate-[analytics-progress_1.8s_ease-in-out_infinite] rounded-r-full bg-brand-500"})}),l.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-3",children:[l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:e}),l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-brand-600 dark:text-brand-300",children:"Loading"})]})]})}function Rle(){return"h-11 w-full rounded-2xl border border-slate-200 bg-white px-4 text-sm text-slate-700 shadow-sm outline-none transition focus:border-brand-500 focus:ring-2 focus:ring-brand-500/20 dark:border-[#27272a] dark:bg-[#121214] dark:text-[#e5e7eb]"}function By(e){return e?"!border-slate-200 !bg-white !text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.28)] dark:!border-[#2a303a] dark:!bg-[#161b24] dark:!text-white":"!border-transparent !bg-slate-100 !text-slate-600 hover:!bg-slate-200 hover:!text-slate-900 dark:!bg-[#161b24] dark:!text-[#a7b2c6] dark:hover:!bg-[#1c2330] dark:hover:!text-white"}function wo({content:e}){const[t,r]=S.useState(!1),n=S.useRef(null),[a,i]=S.useState({top:0,left:0,width:320});return S.useEffect(()=>{if(!t)return;function s(o){var u;(u=n.current)!=null&&u.contains(o.target)||r(!1)}return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[t]),S.useLayoutEffect(()=>{if(!t||!n.current)return;const s=320,o=280,u=16,c=12;function f(){if(!n.current)return;const d=n.current.getBoundingClientRect(),p=Math.min(s,window.innerWidth-u*2),h=Math.min(Math.max(d.right-p,u),window.innerWidth-p-u),v=d.bottom+c+o>window.innerHeight-u?Math.max(d.top-o-c,u):d.bottom+c;i({top:v,left:h,width:p})}return f(),window.addEventListener("resize",f),window.addEventListener("scroll",f,!0),()=>{window.removeEventListener("resize",f),window.removeEventListener("scroll",f,!0)}},[t]),l.jsxs("div",{ref:n,className:"relative shrink-0",children:[l.jsx("button",{type:"button","aria-label":`About ${e.title}`,onClick:()=>r(s=>!s),className:`flex h-7 w-7 items-center justify-center rounded-full border text-xs font-semibold transition ${t?"border-brand-500/50 bg-brand-500/10 text-brand-700 dark:text-brand-200":"border-slate-200 bg-white text-slate-500 hover:border-slate-300 hover:text-slate-900 dark:border-[#27272a] dark:bg-[#121214] dark:text-[#8a8a93] dark:hover:text-white"}`,children:"i"}),t?l.jsxs("div",{style:{position:"fixed",top:a.top,left:a.left,width:a.width},className:"z-[120] rounded-[24px] border border-slate-200 bg-white/95 p-4 shadow-2xl backdrop-blur dark:border-[#1d1d23] dark:bg-[#09090d]/95",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e.title}),l.jsxs("div",{className:"mt-3 space-y-3 text-xs leading-6 text-slate-600 dark:text-[#b3b3bd]",children:[l.jsxs("div",{children:[l.jsx("p",{className:"font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Why it matters"}),l.jsx("p",{className:"mt-1",children:e.purpose})]}),l.jsxs("div",{children:[l.jsx("p",{className:"font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"How it is calculated"}),l.jsx("p",{className:"mt-1",children:e.calculation})]}),l.jsxs("div",{children:[l.jsx("p",{className:"font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Data source"}),l.jsx("p",{className:"mt-1",children:e.source})]})]})]}):null]})}function Uy({label:e,value:t,subtitle:r,eyebrow:n="Endpoint hits"}){return l.jsx(Se,{className:"h-full overflow-hidden",children:l.jsxs(Be,{className:"flex h-full min-h-[150px] flex-col justify-between",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:n}),l.jsx("p",{className:"text-lg font-semibold text-slate-900 dark:text-white",children:e})]}),l.jsxs("div",{className:"flex items-end justify-between gap-4",children:[l.jsx("p",{className:"text-5xl font-semibold tracking-tight text-slate-950 dark:text-white",children:Zh(t,0)}),l.jsx(ze,{variant:"blue",children:r})]})]})})}function Ile(e){return e==="/decide_gateway"?"Decide Gateway":e==="/update_gateway"?"Update Gateway":e==="/rule_evaluate"?"Rule Evaluate":e}function Mle(){var Pt,Ye,Br,st,Ct,Tt,qn,Gt,fn,mr,Zr,ma,ga,pn,Kn,Da,Yd,Xd,Zd,Jd,Qd,fs,fo,ps;const{merchantId:e}=Nn(),t=ua(F=>{var re;return((re=F.user)==null?void 0:re.merchantId)||""}),r=e||t,[n,a]=S.useState("1h"),[i,s]=S.useState("transactions"),[o,u]=S.useState(TO),[c,f]=S.useState(!1),[d,p]=S.useState(1),[h,x]=S.useState(()=>Vf(Date.now()-2*60*60*1e3)),[v,g]=S.useState(()=>Vf(Date.now())),y=S.useMemo(()=>{if(n!=="custom")return;const F=RO(h),re=RO(v);if(!(F===null||re===null||re<=F))return{start_ms:F,end_ms:re}},[v,h,n]),m=n!=="custom"||y?Fy("/analytics/overview",n,y):null,w=n!=="custom"||y?Fy("/analytics/routing-stats",n,y):null,j=n!=="custom"||y?Fy("/analytics/routing-stats",n,y,o):null,b=n!=="custom"||y?["preview-trace-analytics",n,(y==null?void 0:y.start_ms)??null,(y==null?void 0:y.end_ms)??null]:null,_=n!=="custom"||y?Q0(n,d,Ly,y):null,k={revalidateOnFocus:!1,revalidateIfStale:!1},O={revalidateOnFocus:!1,revalidateIfStale:!1},E={...O,keepPreviousData:!0},T={revalidateOnFocus:!1,revalidateIfStale:!1,keepPreviousData:!0},$=Xt(m,nn,k),A=Xt(w,nn,O),R=Xt(j,nn,E),M=Xt(b,async F=>{const[,re,me,Le]=F;return Ple(re,me!==null&&Le!==null?{start_ms:Number(me),end_ms:Number(Le)}:void 0)},{revalidateOnFocus:!1,revalidateIfStale:!1}),L=Xt(_,nn,T),V=!$.data&&$.isLoading||!A.data&&A.isLoading||!R.data&&R.isLoading,H=!$.data&&$.isLoading||!M.data&&M.isLoading,I=((Pt=$.error)==null?void 0:Pt.message)||((Ye=A.error)==null?void 0:Ye.message)||((Br=R.error)==null?void 0:Br.message)||null,B=((st=$.error)==null?void 0:st.message)||((Ct=M.error)==null?void 0:Ct.message)||((Tt=L.error)==null?void 0:Tt.message)||null,W=i==="transactions"?V:H,G=i==="transactions"?I:B,K=!V&&($.isValidating||A.isValidating||R.isValidating),ee=!H&&($.isValidating||M.isValidating||L.isValidating),q=i==="transactions"?K:ee,le={dimensions:((Gt=(qn=A.data)==null?void 0:qn.available_filters)==null?void 0:Gt.dimensions)||((mr=(fn=R.data)==null?void 0:fn.available_filters)==null?void 0:mr.dimensions)||[],missing_dimensions:((ma=(Zr=A.data)==null?void 0:Zr.available_filters)==null?void 0:ma.missing_dimensions)||((pn=(ga=R.data)==null?void 0:ga.available_filters)==null?void 0:pn.missing_dimensions)||[],gateways:((Da=(Kn=A.data)==null?void 0:Kn.available_filters)==null?void 0:Da.gateways)||((Xd=(Yd=R.data)==null?void 0:Yd.available_filters)==null?void 0:Xd.gateways)||[]},ge=S.useMemo(()=>new Map(le.dimensions.map(F=>[F.key,F])),[le.dimensions]);S.useEffect(()=>{u(F=>{const re=Object.fromEntries(Object.entries(F.dimensions).filter(([Le,tt])=>{if(!tt)return!1;const Ke=ge.get(Le);return Ke?Ke.values.includes(tt):!1})),me=F.gateways.filter(Le=>le.gateways.includes(Le));return Object.keys(re).length===Object.keys(F.dimensions).length&&Object.entries(re).every(([Le,tt])=>F.dimensions[Le]===tt)&&me.length===F.gateways.length&&me.every((Le,tt)=>Le===F.gateways[tt])?F:{dimensions:re,gateways:me}})},[ge,le.gateways]),S.useEffect(()=>{le.dimensions.length<=Ru&&c&&f(!1)},[le.dimensions.length,c]),S.useEffect(()=>{p(1)},[n,y==null?void 0:y.start_ms,y==null?void 0:y.end_ms]);const $e=S.useMemo(()=>{var F;return n!=="custom"?((F=CO.find(re=>re.value===n))==null?void 0:F.label)||"Selected window":y?`${vs(y.start_ms)} to ${vs(y.end_ms)}`:"Custom window"},[y,n]),Pe=S.useMemo(()=>y||$O(n),[y,n]),J=S.useMemo(()=>{var re,me;const F=[{route:"/decide_gateway",count:0},{route:"/update_gateway",count:0},{route:"/rule_evaluate",count:0}];return(me=(re=$.data)==null?void 0:re.route_hits)!=null&&me.length?F.map(Le=>{var tt,Ke;return{...Le,count:((Ke=(tt=$.data)==null?void 0:tt.route_hits.find(it=>it.route===Le.route))==null?void 0:Ke.count)||0}}):F},[$.data]),ue=S.useMemo(()=>J.filter(F=>F.route!=="/rule_evaluate"),[J]),de=S.useMemo(()=>{var F;return((F=J.find(re=>re.route==="/rule_evaluate"))==null?void 0:F.count)||0},[J]),X=((Zd=M.data)==null?void 0:Zd.results)||[],we=((Jd=L.data)==null?void 0:Jd.results)||[],ye=S.useMemo(()=>{const F=new Map;for(const re of X){const me=re.latest_gateway||"No gateway selected";F.set(me,(F.get(me)||0)+1)}return Array.from(F.entries()).map(([re,me])=>({gateway:re,count:me})).sort((re,me)=>me.count-re.count).slice(0,6)},[X]),qe=S.useMemo(()=>{const F=new Map;for(const re of X){const me=re.latest_status||"unknown";F.set(me,(F.get(me)||0)+1)}return Array.from(F.entries()).map(([re,me])=>({status:re,count:me})).sort((re,me)=>me.count-re.count)},[X]),De=S.useMemo(()=>Tle(n,y),[y,n]),ke=S.useMemo(()=>F=>Cle(Number(F),Pe),[Pe]),Re=S.useMemo(()=>{const F=ye.map(me=>me.gateway).slice(0,6),re=new Map;for(const me of zy(Pe,De))re.set(me,F.reduce((Le,tt)=>(Le[tt]=0,Le),{bucket_ms:me}));for(const me of X){const Le=me.latest_gateway||"No gateway selected";if(!F.includes(Le))continue;const tt=eb(me.last_seen_ms,De),Ke=re.get(tt)||F.reduce((it,Ze)=>(it[Ze]=0,it),{bucket_ms:tt});Ke[Le]=(Ke[Le]||0)+1,re.set(tt,Ke)}return{gateways:F,rows:Array.from(re.values()).sort((me,Le)=>me.bucket_ms-Le.bucket_ms)}},[De,Pe,X,ye]),Ie=(Qd=X[0])==null?void 0:Qd.last_seen_ms,Oe=((fs=L.data)==null?void 0:fs.total_results)||0,Ge=Math.max(1,Math.ceil(Oe/Ly)),We=Oe?(d-1)*Ly+1:0,C=Oe?We+we.length-1:0,z=ye.filter(F=>F.gateway!=="No gateway selected").length,U=((fo=ye[0])==null?void 0:fo.count)||1,ae=S.useMemo(()=>{const F=ye.reduce((re,me)=>re+me.count,0);return ye.map((re,me)=>({name:re.gateway,value:re.count,percentage:F?re.count/F*100:0,color:re.gateway==="No gateway selected"?"#64748b":Cn[me%Cn.length]}))},[ye]),te=de>0&&!M.error&&!L.error&&X.length===0&&we.length===0;S.useEffect(()=>{if(!Oe&&d!==1){p(1);return}d>Ge&&p(Ge)},[d,Ge,Oe]);const Q=S.useMemo(()=>{var me,Le;const F=Array.from(new Set((((me=A.data)==null?void 0:me.gateway_share)||[]).map(tt=>tt.gateway))).slice(0,6);if(!F.length)return{gateways:F,rows:[]};const re=new Map;for(const tt of zy(Pe,De))re.set(tt,F.reduce((Ke,it)=>(Ke[it]=0,Ke),{bucket_ms:tt}));for(const tt of((Le=A.data)==null?void 0:Le.gateway_share)||[]){if(!F.includes(tt.gateway))continue;const Ke=re.get(tt.bucket_ms)||F.reduce((it,Ze)=>(it[Ze]=0,it),{bucket_ms:tt.bucket_ms});Ke[tt.gateway]=tt.count,re.set(tt.bucket_ms,Ke)}return{gateways:F,rows:Array.from(re.values()).sort((tt,Ke)=>tt.bucket_ms-Ke.bucket_ms)}},[De,Pe,A.data]),ne=S.useMemo(()=>{var Le,tt;const F=Array.from(new Set((((Le=R.data)==null?void 0:Le.sr_trend)||[]).map(Ke=>Ke.gateway))).slice(0,6);if(!F.length)return{gateways:F,rows:[]};const re=new Map;for(const Ke of zy(Pe,De))re.set(Ke,F.reduce((it,Ze)=>(it[Ze]=null,it),{bucket_ms:Ke}));for(const Ke of((tt=R.data)==null?void 0:tt.sr_trend)||[]){if(!F.includes(Ke.gateway))continue;const it=re.get(Ke.bucket_ms)||F.reduce((Ze,yi)=>(Ze[yi]=null,Ze),{bucket_ms:Ke.bucket_ms});it[Ke.gateway]=fR(Ke.score_value),re.set(Ke.bucket_ms,it)}const me=Array.from(re.values()).sort((Ke,it)=>Number(Ke.bucket_ms)-Number(it.bucket_ms));for(const Ke of F){let it=null,Ze=!1;for(const yi of me){if(typeof yi[Ke]=="number"){it=yi[Ke],Ze=!0;continue}Ze&&(yi[Ke]=it)}}return{gateways:F,rows:me}},[De,Pe,R.data]),_e=S.useMemo(()=>{if(!ne.rows.length)return[];const F=[...ne.rows].reverse().find(re=>ne.gateways.some(me=>typeof re[me]=="number"));return F?ne.gateways.map(re=>({gateway:re,value:typeof F[re]=="number"?F[re]:null})).filter(re=>re.value!==null):[]},[ne]),Ne=S.useMemo(()=>{const F=ne.rows.flatMap(tt=>ne.gateways.map(Ke=>tt[Ke]).filter(Ke=>typeof Ke=="number"));if(!F.length)return[0,100];const re=Math.min(...F),me=Math.max(...F),Le=re===me?5:Math.max(2,(me-re)*.35);return[Math.max(0,Math.floor(re-Le)),Math.min(100,Math.ceil(me+Le))]},[ne]),dt=S.useMemo(()=>{const F=le.dimensions.flatMap(re=>{const me=o.dimensions[re.key];return me?[`${re.label}: ${me}`]:[]});return o.gateways.length&&F.push(o.gateways.join(", ")),F.length?F.join(" / "):"All routing dimensions"},[le.dimensions,o]),mt=S.useMemo(()=>c||le.dimensions.length<=Ru?le.dimensions:le.dimensions.slice(0,Ru),[le.dimensions,c]),Lt=le.dimensions.length>Ru,zr=Lt?le.dimensions.length-Ru:0,Pr=S.useMemo(()=>{const F=le.dimensions.flatMap(me=>{const Le=o.dimensions[me.key];return Le?[{key:`dimension:${me.key}`,label:`${me.label}: ${Le}`}]:[]}),re=o.gateways.map(me=>({key:`gateway:${me}`,label:`Connector: ${me}`}));return[...F,...re]},[le.dimensions,o]);function Cr(F){if(a(F),F!=="custom"){const re=$O(F);x(Vf(re.start_ms)),g(Vf(re.end_ms))}}function Y(){$.mutate(),A.mutate(),R.mutate(),M.mutate(),L.mutate()}function Me(F){u(re=>{const me=re.gateways.includes(F);return{...re,gateways:me?re.gateways.filter(Le=>Le!==F):[...re.gateways,F]}})}function ft(){u(TO)}function Zt(F){if(F.startsWith("dimension:")){pt(F.replace("dimension:",""),"");return}F.startsWith("gateway:")&&Me(F.replace("gateway:",""))}function pt(F,re){u(me=>{const Le={...me.dimensions};return re?Le[F]=re:delete Le[F],{...me,dimensions:Le}})}return l.jsxs("div",{className:"space-y-8 px-5 sm:px-6 lg:px-8 xl:px-10",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900 dark:text-white",children:"Analytics"}),l.jsx(ze,{variant:"green",children:((ps=$.data)==null?void 0:ps.merchant_id)||r||"Signed-in merchant"})]}),l.jsx("p",{className:"text-sm text-slate-500 dark:text-[#8a8a93]",children:i==="transactions"?"One working surface for route volume, connector share, and historical connector success rate.":"Preview-only activity for rule-based routing, separate from transaction decisions and score updates."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2 md:justify-end",children:[l.jsx(Ae,{size:"sm",variant:"ghost",onClick:Y,children:"Refresh"}),l.jsx("div",{className:"flex flex-wrap items-center gap-2 rounded-full border border-slate-200 bg-white/70 p-1 dark:border-[#2a303a] dark:bg-[#11151d]",children:CO.map(F=>l.jsx(Ae,{size:"sm",variant:"secondary",className:By(n===F.value),onClick:()=>Cr(F.value),children:F.value==="custom"?"Custom":F.value},F.value))})]})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",className:By(i==="transactions"),onClick:()=>s("transactions"),children:"Transactions"}),l.jsx(Ae,{size:"sm",variant:"secondary",className:By(i==="rule_based"),onClick:()=>s("rule_based"),children:"Rule-Based"})]}),n==="custom"?l.jsxs(Se,{className:"overflow-visible p-4",children:[l.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[l.jsxs("label",{className:"space-y-2",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Start time"}),l.jsx(Xh,{className:"w-full",value:h,onChange:x})]}),l.jsxs("label",{className:"space-y-2",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"End time"}),l.jsx(Xh,{className:"w-full",value:v,onChange:g})]})]}),y?null:l.jsx("p",{className:"mt-3 text-xs text-red-500",children:"Choose an end time after the start time."})]}):null,l.jsx(Nr,{error:G}),W?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading analytics…"]}):null,q?l.jsx($le,{label:i==="transactions"?`Refreshing transaction analytics for ${$e.toLowerCase()}`:`Refreshing rule-based analytics for ${$e.toLowerCase()}`}):null,l.jsxs("div",{className:"relative",children:[q?l.jsx("div",{className:"pointer-events-none absolute inset-0 z-20 rounded-[28px] bg-white/45 backdrop-blur-[1px] dark:bg-[#050507]/45"}):null,i==="transactions"?l.jsxs("div",{className:q?"transition-opacity duration-200 opacity-60 space-y-6":"transition-opacity duration-200 opacity-100 space-y-6",children:[l.jsxs("section",{className:"space-y-5",children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-lg font-semibold text-slate-900 dark:text-white",children:"API calls"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#8a8a93]",children:"Counts for the decision and feedback surfaces tied to real transaction flow."})]}),l.jsx(wo,{content:bo.hits})]}),l.jsx("div",{className:"grid gap-5 lg:grid-cols-2",children:ue.map(F=>l.jsx(Uy,{label:Ile(F.route),value:F.count,subtitle:n==="custom"?"Custom window":$e},F.route))})]}),l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Gateway share over time"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"How decision volume moved across connectors inside the selected merchant window."})]}),l.jsx(wo,{content:bo.share})]})}),l.jsx(Be,{children:Q.rows.length?l.jsx("div",{className:"h-80",children:l.jsx(Ii,{width:"100%",height:"100%",children:l.jsxs(xoe,{data:Q.rows,children:[l.jsx(fp,{strokeDasharray:"3 3",stroke:"#e2e8f0"}),l.jsx(Pa,{dataKey:"bucket_ms",tickFormatter:ke,tick:{fontSize:11}}),l.jsx(Ca,{tick:{fontSize:11}}),l.jsx(Or,{labelFormatter:F=>vs(Number(F)),contentStyle:Lf,labelStyle:Ff,itemStyle:zf,wrapperStyle:Bf}),l.jsx(ia,{}),Q.gateways.map((F,re)=>l.jsx(ds,{type:"monotone",dataKey:F,stackId:"1",stroke:Cn[re%Cn.length],fill:Cn[re%Cn.length],fillOpacity:.24,name:F},F))]})})}):l.jsx(bi,{title:"No gateway share history yet",body:"Send real decide-gateway traffic in the selected window to populate connector share."})})]}),l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Connector success rate over time"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Historical connector score trend for the selected merchant window."}),l.jsxs("p",{className:"mt-2 text-xs font-medium text-slate-600 dark:text-[#b3b3bd]",children:["Active filters: ",dt]})]}),l.jsx(wo,{content:bo.sr})]})}),l.jsxs(Be,{className:"space-y-4",children:[l.jsxs("div",{className:"rounded-[24px] border border-slate-200 bg-white p-4 dark:border-[#1d1d23] dark:bg-[#0c0c0e]",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Connector filters"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Narrow the success-rate line chart by the routing dimensions present for this merchant."})]}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:ft,disabled:!Object.values(o.dimensions).some(Boolean)&&!o.gateways.length,children:"Clear filters"})]}),le.dimensions.length?l.jsxs("div",{className:"mt-4 space-y-3",children:[l.jsx("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-3",children:mt.map(F=>l.jsxs("label",{className:"space-y-2",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:F.label}),l.jsxs("select",{value:o.dimensions[F.key]||"",onChange:re=>pt(F.key,re.target.value),className:Rle(),disabled:!F.values.length,children:[l.jsxs("option",{value:"",children:["All ",F.label.toLowerCase()]}),F.values.map(re=>l.jsx("option",{value:re,children:re},re))]})]},F.key))}),Lt?l.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-2xl border border-slate-200 bg-white px-4 py-3 dark:border-[#1d1d23] dark:bg-[#09090b]",children:[l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:c?"Showing all routing dimensions available for this merchant.":`${zr} more routing dimension${zr===1?"":"s"} available for this merchant.`}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>f(F=>!F),children:c?"Show fewer filters":"More filters"})]}):null]}):le.missing_dimensions.length?l.jsx(bi,{title:"No populated routing dimensions in this window",body:"The merchant has score history, but none of the dynamic routing dimensions have values recorded in the selected time window yet."}):null,le.missing_dimensions.length?l.jsxs("div",{className:"mt-4 rounded-2xl border border-dashed border-slate-200 bg-white px-4 py-3 dark:border-[#1d1d23] dark:bg-[#09090b]",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"No values in this window yet"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:le.missing_dimensions.map(F=>F.label).join(", ")})]}):null,Pr.length?l.jsxs("div",{className:"mt-4 space-y-2",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Active filters"}),l.jsx("div",{className:"flex flex-wrap gap-2",children:Pr.map(F=>l.jsxs("button",{type:"button",onClick:()=>Zt(F.key),className:"inline-flex items-center gap-2 rounded-full border border-brand-500/30 bg-brand-500/10 px-3 py-1.5 text-xs font-semibold text-brand-700 transition hover:bg-brand-500/15 dark:text-brand-200",children:[l.jsx("span",{children:F.label}),l.jsx("span",{"aria-hidden":"true",children:"×"})]},F.key))})]}):null,l.jsxs("div",{className:"mt-4 space-y-2",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Connectors"}),l.jsx("div",{className:"flex flex-wrap gap-2",children:le.gateways.length?le.gateways.map(F=>{const re=o.gateways.includes(F);return l.jsx("button",{type:"button",onClick:()=>Me(F),className:`rounded-full border px-3 py-1.5 text-xs font-semibold transition ${re?"border-brand-500/50 bg-brand-500/10 text-brand-700 dark:text-brand-200":"border-slate-200 bg-white text-slate-600 hover:border-slate-300 hover:text-slate-900 dark:border-[#27272a] dark:bg-[#121214] dark:text-[#a1a1aa] dark:hover:text-white"}`,children:F},F)}):l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:"No connector history yet for the selected window."})})]})]}),_e.length?l.jsx("div",{className:"flex flex-wrap gap-2",children:_e.map(F=>l.jsxs(ze,{variant:"blue",children:[F.gateway,": ",Uf(F.value)]},F.gateway))}):null,ne.rows.length?l.jsx("div",{className:"h-80",children:l.jsx(Ii,{width:"100%",height:"100%",children:l.jsxs(voe,{data:ne.rows,children:[l.jsx(fp,{strokeDasharray:"3 3",stroke:"#e2e8f0"}),l.jsx(Pa,{dataKey:"bucket_ms",tickFormatter:ke,tick:{fontSize:11}}),l.jsx(Ca,{domain:Ne,tick:{fontSize:11},tickFormatter:F=>`${Zh(Number(F),0)}%`}),l.jsx(Or,{labelFormatter:F=>vs(Number(F)),formatter:(F,re)=>[Uf(F),String(re)],contentStyle:Lf,labelStyle:Ff,itemStyle:zf,wrapperStyle:Bf}),l.jsx(ia,{}),ne.gateways.map((F,re)=>l.jsx(Vd,{type:"monotone",dataKey:F,stroke:Cn[re%Cn.length],strokeWidth:3,dot:!1,activeDot:{r:5},connectNulls:!0,name:F},F))]})})}):l.jsx(bi,{title:"No connector score history yet",body:"Send decide-gateway and update-gateway-score traffic in the selected window to populate connector history."})]})]})]}):l.jsxs("div",{className:q?"transition-opacity duration-200 opacity-60 space-y-6":"transition-opacity duration-200 opacity-100 space-y-6",children:[l.jsxs("section",{className:"space-y-5",children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-lg font-semibold text-slate-900 dark:text-white",children:"Rule-based activity"}),l.jsxs("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#8a8a93]",children:["Preview-only routing activity from ",l.jsx("code",{children:"/routing/evaluate"}),", kept separate from transaction routing and gateway scoring."]})]}),l.jsx(wo,{content:bo.preview_hits})]}),l.jsxs("div",{className:"grid gap-5 lg:grid-cols-2",children:[l.jsx(Uy,{label:"Rule Evaluate",value:de,subtitle:n==="custom"?"Custom window":$e}),l.jsx(Uy,{label:"Gateways touched",value:z,subtitle:"Across recent preview selections",eyebrow:"Preview coverage"})]})]}),l.jsxs("div",{className:"grid gap-5 xl:grid-cols-2",children:[l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Connector selections over time"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Time-bucketed connector counts from the fetched rule-preview sample."})]}),l.jsx(wo,{content:bo.preview_activity})]})}),l.jsx(Be,{children:Re.gateways.length?l.jsx("div",{className:"h-80",children:l.jsx(Ii,{width:"100%",height:"100%",children:l.jsxs(Z0,{data:Re.rows,barGap:6,children:[l.jsx(fp,{strokeDasharray:"3 3",stroke:"#e2e8f0"}),l.jsx(Pa,{dataKey:"bucket_ms",tickFormatter:ke,tick:{fontSize:11}}),l.jsx(Ca,{tick:{fontSize:11}}),l.jsx(Or,{labelFormatter:F=>vs(Number(F)),contentStyle:Lf,labelStyle:Ff,itemStyle:zf,wrapperStyle:Bf}),l.jsx(ia,{}),Re.gateways.map((F,re)=>l.jsx(li,{dataKey:F,stackId:"preview-connectors",fill:F==="No gateway selected"?"#64748b":Cn[re%Cn.length],radius:[6,6,0,0],name:F},F))]})})}):te?l.jsx(Iu,{title:"Processing recent rule previews",body:"Rule evaluate calls have landed, but the preview sample has not been materialized yet. This panel is auto-refreshing and will fill in once analytics catches up."}):l.jsx(bi,{title:"No connector selections yet",body:"Send /routing/evaluate preview traffic in the selected window to populate connector time-series."})})]}),l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Gateway selection mix"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Connector share across the fetched rule-preview sample."})]}),l.jsx(wo,{content:bo.preview_share})]})}),l.jsx(Be,{children:ae.length?l.jsxs("div",{className:"grid gap-4 lg:grid-cols-[minmax(0,1fr)_240px]",children:[l.jsxs("div",{className:"relative h-80",children:[l.jsx(Ii,{width:"100%",height:"100%",children:l.jsxs(_1,{children:[l.jsx(Or,{formatter:(F,re,me)=>{var Le;return[`${Zh(F,0)} previews`,`${String(re)} (${Uf(((Le=me.payload)==null?void 0:Le.percentage)||0)})`]},contentStyle:Lf,labelStyle:Ff,itemStyle:zf,wrapperStyle:Bf}),l.jsx(ia,{}),l.jsx(ha,{data:ae,dataKey:"value",nameKey:"name",innerRadius:72,outerRadius:108,paddingAngle:3,children:ae.map(F=>l.jsx(qi,{fill:F.color},F.name))})]})}),l.jsxs("div",{className:"pointer-events-none absolute inset-0 flex flex-col items-center justify-center text-center",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Sample size"}),l.jsx("p",{className:"mt-2 text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:X.length}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"preview groups"})]})]}),l.jsx("div",{className:"space-y-3",children:ae.map(F=>l.jsxs("div",{className:"rounded-[20px] border border-slate-200 bg-white/80 px-4 py-3 dark:border-[#1d1d23] dark:bg-[#0c0c0e]",children:[l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:F.color}}),l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:F.name})]}),l.jsx("p",{className:"text-xs font-semibold text-slate-500 dark:text-[#8a8a93]",children:F.value})]}),l.jsxs("p",{className:"mt-2 text-xs text-slate-500 dark:text-[#8a8a93]",children:[Uf(F.percentage)," of fetched previews"]})]},F.name))})]}):te?l.jsx(Iu,{title:"Building preview connector mix",body:"Recent rule-preview activity is still being folded into the fetched sample. This card will update automatically once the preview rows appear."}):l.jsx(bi,{title:"No preview connector mix yet",body:"Rule previews need to return gateway selections before the mix chart can render."})})]})]}),l.jsxs("div",{className:"grid gap-5 xl:grid-cols-[minmax(0,1.2fr)_minmax(320px,0.8fr)]",children:[l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Recent rule previews"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:["Preview-only evaluations captured from ",l.jsx("code",{children:"/routing/evaluate"}),". This does not affect transaction scoring."]})]}),l.jsx(ze,{variant:"purple",children:Ie?`Latest ${vs(Ie)}`:"No activity"})]})}),l.jsx(Be,{children:!L.data&&L.isLoading?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading rule previews…"]}):L.error&&!L.data?l.jsx(Nr,{error:L.error.message}):we.length?l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:["Showing ",We,"-",C," of ",Oe]}),L.isLoading?l.jsxs("div",{className:"flex items-center gap-2 text-xs text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:14}),"Loading page…"]}):null]}),l.jsx("div",{className:"space-y-3",children:we.map(F=>l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-white/90 px-4 py-4 dark:border-[#1d1d23] dark:bg-[#0c0c0e]",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:F.payment_id||F.request_id||F.lookup_key}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:[F.merchant_id||"unknown merchant"," · ",vs(F.last_seen_ms)]})]}),l.jsx(ze,{variant:"purple",children:F.latest_status||"preview"})]}),l.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[l.jsx(ze,{variant:"blue",children:"Rule Evaluate"}),F.latest_gateway?l.jsx(ze,{variant:"green",children:F.latest_gateway}):null,l.jsxs(ze,{variant:"gray",children:[F.event_count," events"]})]})]},F.lookup_key))}),Ge>1?l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 border-t border-slate-200 pt-4 dark:border-[#1d1d23]",children:[l.jsxs("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:["Page ",d," of ",Ge]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>p(F=>Math.max(1,F-1)),disabled:d===1||L.isLoading,children:"Previous"}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>p(F=>Math.min(Ge,F+1)),disabled:d>=Ge||L.isLoading,children:"Next"})]})]}):null]}):te?l.jsx(Iu,{title:"Waiting for preview rows",body:"Recent /routing/evaluate calls were recorded, but the detailed rule-preview rows are still being flushed. This list is polling every few seconds."}):l.jsx(bi,{title:"No rule-based activity yet",body:"Send /routing/evaluate preview traffic in the selected window to populate rule-based activity."})})]}),l.jsxs("div",{className:"space-y-5",children:[l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Gateway activity"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Recent preview selections grouped by latest chosen gateway."})]})}),l.jsx(Be,{children:ye.length?l.jsx("div",{className:"space-y-3",children:ye.map((F,re)=>l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:F.gateway}),l.jsx("p",{className:"text-xs font-semibold text-slate-500 dark:text-[#8a8a93]",children:F.count})]}),l.jsx("div",{className:"h-2 overflow-hidden rounded-full bg-slate-100 dark:bg-[#141822]",children:l.jsx("div",{className:"h-full rounded-full",style:{width:`${F.count/U*100}%`,backgroundColor:Cn[re%Cn.length]}})})]},F.gateway))}):te?l.jsx(Iu,{title:"Waiting for gateway activity",body:"The preview sample is still being assembled from recent rule-evaluate calls. Gateway activity will appear here automatically once the rows are available."}):l.jsx(bi,{title:"No gateway activity yet",body:"Once rule previews are captured, this panel will show which connectors are being selected."})})]}),l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Recent preview outcomes"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Status mix from the loaded preview sample."})]})}),l.jsx(Be,{children:qe.length?l.jsx("div",{className:"flex flex-wrap gap-2",children:qe.map(F=>l.jsxs(ze,{variant:F.status.toLowerCase().includes("fail")?"red":F.status==="default_selection"?"orange":"purple",children:[F.status," · ",F.count]},F.status))}):te?l.jsx(Iu,{title:"Waiting for preview outcomes",body:"Recent preview traffic is still being ingested. Outcome summaries will appear here automatically once the preview rows land."}):l.jsx(bi,{title:"No preview outcomes yet",body:"Recent rule preview results will appear here once preview traffic is recorded."})})]})]})]})]})]})]})}const Dle={SR_SELECTION_V3_ROUTING:"bg-blue-100 text-blue-800",PRIORITY_LOGIC:"bg-purple-100 text-purple-800",NTW_BASED_ROUTING:"bg-green-100 text-green-800",SR_SELECTION_V3_ROUTING_WITH_HEDGING:"bg-orange-100 text-orange-800",HEDGING:"bg-orange-100 text-orange-800"},Lle=["card","card_redirect","pay_later","wallet","bank_redirect","bank_transfer","crypto","bank_debit","reward","real_time_payment","upi","voucher","gift_card","open_banking","mobile_payment"],Fle={card:["credit","debit"],bank_debit:["ach","sepa","bacs","becs"],bank_transfer:["ach","sepa","sepa_bank_transfer","bacs","multibanco","pix","pse","permata_bank_transfer","bca_bank_transfer","bni_va","bri_va","cimb_va","danamon_va","mandiri_va","local_bank_transfer","instant_bank_transfer"],wallet:["amazon_pay","apple_pay","google_pay","paypal","ali_pay","ali_pay_hk","dana","mb_way","mobile_pay","samsung_pay","twint","vipps","touch_n_go","swish","we_chat_pay","go_pay","gcash","momo","kakao_pay","cashapp","mifinity","paze"],pay_later:["affirm","alma","afterpay_clearpay","klarna","pay_bright","atome","walley"],upi:["upi_collect","upi_intent"],voucher:["boleto","efecty","pago_efectivo","red_compra","red_pagos","indomaret","alfamart","oxxo","seven_eleven","lawson","mini_stop","family_mart","seicomart","pay_easy"],bank_redirect:["giropay","ideal","sofort","eft","eps","bancontact_card","blik","local_bank_redirect","online_banking_thailand","online_banking_czech_republic","online_banking_finland","online_banking_fpx","online_banking_poland","online_banking_slovakia","przelewy24","trustly","bizum","interac","open_banking_uk","open_banking_pis"],gift_card:["givex","pay_safe_card"],card_redirect:["knet","benefit","momo_atm","card_redirect"],real_time_payment:["fps","duit_now","prompt_pay","viet_qr"],crypto:["crypto_currency"],reward:["evoucher","classic_reward"],open_banking:["open_banking_pis"],mobile_payment:["direct_carrier_billing"]};function zle(e){var n;if(!e)return[];const t=a=>{if(!a||typeof a!="object")return{};const i=a.keys;return i&&typeof i=="object"?i:a},r={...t(e.keys),...t((n=e.routing_config)==null?void 0:n.keys)};return Object.keys(r).length===0?[]:Object.entries(r).map(([a,i])=>{const s=(i.type||i.data_type||"str_value").toString().toLowerCase(),o={key:a,type:s};return i.values&&(o.values=Array.isArray(i.values)?i.values.map(u=>u.trim()):i.values.split(",").map(u=>u.trim())),i.min_value!==void 0&&(o.min_value=i.min_value),i.max_value!==void 0&&(o.max_value=i.max_value),i.min_length!==void 0&&(o.min_length=i.min_length),i.max_length!==void 0&&(o.max_length=i.max_length),i.exact_length!==void 0&&(o.exact_length=i.exact_length),i.regex&&(o.regex=i.regex),o})}function pR(){const{data:e,error:t,isLoading:r}=Xt("/config/routing-keys",nn,{refreshInterval:0,revalidateOnFocus:!1}),n=S.useMemo(()=>zle(e||null),[e]),a=S.useMemo(()=>n.reduce((s,o)=>(s[o.key]=o,s),{}),[n]),i=S.useMemo(()=>{const s={};return n.forEach(o=>{s[o.key]={type:o.type,values:o.values||[]}}),s},[n]);return{config:e,keys:n,keysByName:a,routingKeysConfig:i,isLoading:r,error:t,getKeyValues:s=>{var o;return((o=a[s])==null?void 0:o.values)||[]},isIntegerKey:s=>{var o;return((o=a[s])==null?void 0:o.type)==="integer"},isEnumKey:s=>{var o;return((o=a[s])==null?void 0:o.type)==="enum"}}}function hR(e){const t=e?`/merchant-account/${e}/debit-routing`:null,{data:r,error:n,isLoading:a,mutate:i}=Xt(t,nn);async function s(o){if(!e||!t)throw new Error("Set a merchant ID first");const u=await zt(t,{enabled:o});return await i(u,!1),u}return{data:r,error:n,isLoading:a,isEnabled:!!(r!=null&&r.debit_routing_enabled),mutate:i,setDebitRoutingEnabled:s}}const mR=["SrBasedRouting","PlBasedRouting","NtwBasedRouting","NtwSrHybridRouting"],Ble={SrBasedRouting:"Success Rate Based",PlBasedRouting:"Priority List Based",NtwBasedRouting:"Network Based",NtwSrHybridRouting:"Network + SR Hybrid"};function Ule(e){for(const[t,r]of Object.entries(Dle))if(e.includes(t)||t.includes(e))return r;return"bg-white/5 text-slate-600 ring-1 ring-inset ring-white/8"}const Jr=["#0069ED","#10b981","#f59e0b","#ef4444","#8b5cf6","#ec4899","#06b6d4","#84cc16"],gR="decision-explorer-state-v2",yR={amount:"1000",currency:"",payment_method_type:"",payment_method:"",card_brand:"",auth_type:"",eligible_gateways:"stripe, adyen",ranking_algorithm:"SrBasedRouting",elimination_enabled:!1},Vle={amount:"1000",currency:"USD",auth_type:"THREE_DS",eligible_gateways:"stripe, adyen",merchant_category_code:"merchant_category_code_0001",acquirer_country:"US",co_badged_networks:"VISA, NYCE, PULSE, STAR",issuer_country:"US",is_regulated:!1,regulated_name:"",card_type:"Debit"},Wle={totalPayments:"10",successCount:"7",failureCount:"3"},Hle=[{key:"payment_method_type",type:"enum_variant",value:"",metadataKey:""},{key:"currency",type:"enum_variant",value:"",metadataKey:""}],Gle=[{gateway_name:"stripe",gateway_id:"gateway_001"},{gateway_name:"adyen",gateway_id:"gateway_002"}];function vR(e){return e.map(t=>({...t}))}function xR(e){return e.map(t=>({...t}))}function qle(e){return e==="SR_BASED_ROUTING"?"SrBasedRouting":e==="PL_BASED_ROUTING"?"PlBasedRouting":e==="NTW_BASED_ROUTING"?"NtwBasedRouting":e==="NTW_SR_HYBRID_ROUTING"?"NtwSrHybridRouting":mR.includes(e)?e:yR.ranking_algorithm}function Gu(){return{activeTab:"batch",form:{...yR},simulationConfig:{...Wle},debitForm:{...Vle},ruleParams:vR(Hle),fallbackConnectors:xR(Gle),volumePayments:"100",result:null,debitResult:null,debitPaymentId:null,singleRunPaymentId:null,singleRunOutcome:"CHARGED",ruleResult:null,volumeDistribution:[],volumeEvaluationLog:[],volumeProgress:0,simulationResults:[],responseOpen:!1,debitResponseOpen:!1,volumeResponseOpen:!1}}function Kle(){var e,t,r;if(typeof window>"u")return Gu();try{const n=window.localStorage.getItem(gR);if(!n)return Gu();const a=JSON.parse(n),i=Gu();return{...i,...a,activeTab:a.activeTab&&a.activeTab!=="single"?a.activeTab:i.activeTab,form:{...i.form,...a.form||{},ranking_algorithm:qle((e=a.form)==null?void 0:e.ranking_algorithm)},simulationConfig:{...i.simulationConfig,...a.simulationConfig||{}},debitForm:{...i.debitForm,...a.debitForm||{}},ruleParams:(t=a.ruleParams)!=null&&t.length?vR(a.ruleParams):i.ruleParams,fallbackConnectors:(r=a.fallbackConnectors)!=null&&r.length?xR(a.fallbackConnectors):i.fallbackConnectors,volumeDistribution:a.volumeDistribution||i.volumeDistribution,volumeEvaluationLog:a.volumeEvaluationLog||i.volumeEvaluationLog,simulationResults:a.simulationResults||i.simulationResults}}catch{return Gu()}}function pp(e=[]){return e.map(t=>t.trim()).filter(Boolean).map(t=>t.toUpperCase())}function Vy(e=[]){return Array.from(new Set(pp(e)))}function Yle(e){var t,r,n,a,i;return((r=(t=e.evaluated_output)==null?void 0:t[0])==null?void 0:r.gateway_name)||((n=e.output.connector)==null?void 0:n.gateway_name)||((i=(a=e.output.connectors)==null?void 0:a[0])==null?void 0:i.gateway_name)||null}function Wy(e){return e==="enum"?"enum_variant":e==="integer"?"number":e==="udf"||e==="global_ref"?"metadata_variant":"str_value"}function bR(e){const t=new URLSearchParams;return Object.entries(e).forEach(([r,n])=>{n!==void 0&&n!==""&&t.set(r,String(n))}),t.toString()}function qu(e){return new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(e))}function Tn(e){return e?e.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().toLowerCase().replace(/\b\w/g,r=>r.toUpperCase()):""}function Ku(e){return e?e==="decision_gateway"||e==="decide_gateway"?"Decide Gateway":e==="update_gateway_score"?"Update Gateway":e==="routing_evaluate"?"Rule Evaluate":Tn(e):"Unknown route"}function IO(e){return e?e==="decide_gateway_decision"?"Decide Gateway":e==="update_gateway_score_update"||e==="update_gateway_score_score_snapshot"||e==="update_score_legacy_score_snapshot"?"Update Gateway":e==="decide_gateway_rule_hit"?"Rule Evaluate":e.startsWith("routing_evaluate_")&&e!=="routing_evaluate_request_hit"?"Preview Result":e.endsWith("_error")?"Errors":Tn(e):"Unknown event"}function k1(e){return e.flow_type||""}function Yu(e){const t=k1(e);return e.event_stage==="gateway_decided"?"Decide Gateway":e.event_stage==="score_updated"?"Update Gateway":e.event_stage==="rule_applied"?"Rule Evaluate":e.event_stage==="preview_evaluated"||t.startsWith("routing_evaluate_")&&t!=="routing_evaluate_request_hit"?"Preview Result":t.endsWith("_error")?"Errors":Tn(e.event_stage||t)}function tb(e){const t=k1(e);return t.startsWith("decide_gateway_")&&t!=="decide_gateway_rule_hit"||e.event_stage==="gateway_decided"?"Decide Gateway":t==="decide_gateway_rule_hit"||e.event_stage==="rule_applied"?"Rule Evaluate":t.startsWith("update_gateway_score_")||t.startsWith("update_score_legacy_")||e.event_stage==="score_updated"?"Update Gateway":t.startsWith("routing_evaluate_")&&t!=="routing_evaluate_request_hit"||e.event_stage==="preview_evaluated"?"Preview":"Errors"}function Wf(e){const t=k1(e),r=(e.status||"").toUpperCase();return t.endsWith("_error")||r==="FAILURE"||r.includes("FAILED")||r.includes("DECLINED")?"red":t==="decide_gateway_rule_hit"?"purple":r==="CHARGED"||r==="AUTHORIZED"||r==="SUCCESS"?"green":t.startsWith("routing_evaluate_")&&t!=="routing_evaluate_request_hit"?"purple":t.startsWith("update_gateway_score_")||t.startsWith("update_score_legacy_")?"green":t.startsWith("decide_gateway_")?"blue":"orange"}function MO(e){const t=(e||"").toUpperCase();return t==="FAILURE"||t.includes("FAILED")||t.includes("DECLINED")?"red":t==="SUCCESS"||t==="CHARGED"||t==="AUTHORIZED"?"green":"gray"}function DO(e){return e==="Decide Gateway"?"blue":e==="Rule Evaluate"||e==="Preview"?"purple":e==="Update Gateway"?"green":e==="Errors"?"red":"gray"}function Mu(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Hy(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""))}function wR(e){return typeof e=="string"?e:JSON.stringify(e,null,2)}function Xle(e){return`/analytics/payment-audit?${bR({range:"1d",page:1,page_size:25,payment_id:e})}`}function Zle(e){return`/analytics/preview-trace?${bR({range:"1d",page:1,page_size:25,payment_id:e})}`}function LO(e){if(!e)return null;const t=Mu(e.details_json)?e.details_json:{},r=t.response??t.response_payload??t.result??t.output??null,n=t.request??t.request_payload??t.input??t.payload??Hy({payment_id:e.payment_id,request_id:e.request_id,payment_method_type:e.payment_method_type,payment_method:e.payment_method,gateway:e.gateway}),a=r??Hy({flow_type:e.flow_type,status:e.status,error_code:e.error_code,error_message:e.error_message,score_value:e.score_value,sigma_factor:e.sigma_factor,average_latency:e.average_latency,tp99_latency:e.tp99_latency,transaction_count:e.transaction_count,rule_name:e.rule_name,routing_approach:e.routing_approach}),i=Mu(r)?r:null,s=Mu(i==null?void 0:i.decided_gateway)?i.decided_gateway:null,o=t.score_context??(s?s.gateway_priority_map:null)??(i?i.gateway_priority_map:null)??null,u=t.selection_reason??null,c=[{label:"Phase",value:tb(e)},{label:"Stage",value:Yu(e)},{label:"Route",value:Ku(e.route)},{label:"Timestamp",value:qu(e.created_at_ms)},...e.merchant_id?[{label:"Merchant",value:e.merchant_id}]:[],...e.payment_id?[{label:"Payment ID",value:e.payment_id}]:[],...e.request_id?[{label:"Request ID",value:e.request_id}]:[],...e.gateway?[{label:"Gateway",value:e.gateway}]:[],...e.status?[{label:"Status",value:Tn(e.status)}]:[]],f=Hy(Object.fromEntries(Object.entries(t).filter(([d])=>!["request","request_payload","input","payload","response","response_payload","result","output","score_context","selection_reason"].includes(d))));return{summaryRows:c,requestPayload:Mu(n)&&!Object.keys(n).length?null:n,responsePayload:Mu(a)&&!Object.keys(a).length?null:a,scoreContext:o,selectionReason:u,signalRecord:Object.keys(f).length?f:null,rawEvent:{...e,details_json:e.details_json}}}function _o(e){return e?"!border-slate-200 !bg-white !text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.28)] dark:!border-[#2a303a] dark:!bg-[#161b24] dark:!text-white":"!border-transparent !bg-slate-100 !text-slate-600 hover:!bg-slate-200 hover:!text-slate-900 dark:!bg-[#161b24] dark:!text-[#a7b2c6] dark:hover:!bg-[#1c2330] dark:hover:!text-white"}function Xu({title:e,body:t}){return l.jsxs("div",{className:"rounded-[22px] border border-dashed border-slate-200 bg-slate-50/80 px-6 py-12 text-center dark:border-[#2a303a] dark:bg-[#161b24]/80",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:t})]})}function FO({title:e,body:t}){return l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-slate-50/80 px-6 py-10 text-center dark:border-[#2a303a] dark:bg-[#161b24]/80",children:[l.jsx("div",{className:"flex justify-center",children:l.jsx(Ft,{size:18})}),l.jsx("p",{className:"mt-4 text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:t}),l.jsx("div",{className:"mt-5 h-2 overflow-hidden rounded-full bg-slate-200 dark:bg-[#202734]",children:l.jsx("div",{className:"h-full w-1/3 animate-pulse rounded-full bg-brand-500"})}),l.jsx("p",{className:"mt-3 text-[11px] uppercase tracking-[0.16em] text-slate-400 dark:text-[#8390a7]",children:"Polling every second"})]})}function zO({rows:e}){return e.length?l.jsx("div",{className:"grid gap-3 md:grid-cols-2",children:e.map(t=>l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-white/80 px-4 py-3 shadow-[0_14px_30px_-28px_rgba(15,23,42,0.18)] dark:border-[#2a303a] dark:bg-[#161b24] dark:shadow-none",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8390a7]",children:t.label}),l.jsx("p",{className:"mt-2 break-words text-sm text-slate-900 dark:text-white",children:t.value})]},`${t.label}-${t.value}`))}):null}function Fa({title:e,value:t,emptyMessage:r}){return l.jsxs("div",{className:"space-y-3",children:[l.jsx("div",{children:l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e})}),t?l.jsx("pre",{className:"overflow-x-auto rounded-[22px] border border-slate-200 bg-slate-950/95 px-4 py-4 text-xs leading-6 text-slate-200 shadow-[0_16px_30px_-28px_rgba(15,23,42,0.4)] dark:border-[#2a303a] dark:bg-[#0b1017] dark:text-[#d8e1ef] dark:shadow-none",children:wR(t)}):l.jsx(Xu,{title:`No ${e.toLowerCase()} captured`,body:r})]})}function Jle(){var V1,W1,H1,G1,q1,K1,Y1,X1,Z1,J1,Q1;const{merchantId:e}=Nn(),t=ua(N=>{var D;return((D=N.user)==null?void 0:D.merchantId)||""}),r=e||t,n=hR(r),{routingKeysConfig:a,isLoading:i,error:s}=pR(),o=Object.keys(a).length>0,u=!i&&(!o||!!s),c=S.useMemo(()=>Kle(),[]),[f,d]=S.useState(c.activeTab),[p,h]=S.useState(c.form),[x,v]=S.useState(c.simulationConfig),[g,y]=S.useState(c.debitForm),[m,w]=S.useState(c.ruleParams),[j,b]=S.useState(c.fallbackConnectors),[_,k]=S.useState(c.volumePayments),[O,E]=S.useState(c.result),[T,$]=S.useState(c.debitResult),[A,R]=S.useState(c.debitPaymentId),[M,L]=S.useState(c.singleRunPaymentId),[V,H]=S.useState(c.singleRunOutcome),[I,B]=S.useState(c.ruleResult),[W,G]=S.useState(c.volumeDistribution),[K,ee]=S.useState(c.volumeEvaluationLog),[q,le]=S.useState(c.volumeProgress),[ge,$e]=S.useState(c.simulationResults),[Pe,J]=S.useState(!1),[ue,de]=S.useState(null),[X,we]=S.useState(!1),[ye,qe]=S.useState(!1),[De,ke]=S.useState(c.responseOpen),[Re,Ie]=S.useState(c.debitResponseOpen),[Oe,Ge]=S.useState(c.volumeResponseOpen),[We,C]=S.useState(null),[z,U]=S.useState(null),[ae,te]=S.useState("summary"),[Q,ne]=S.useState(null),[_e,Ne]=S.useState(null),[dt,mt]=S.useState("summary"),[Lt,zr]=S.useState("Rule Evaluation Preview"),Pr=S.useDeferredValue(ge),Cr=S.useMemo(()=>Object.keys(a).sort(),[a]),Y=S.useMemo(()=>{var N;return pp(((N=a.payment_method)==null?void 0:N.values)||[])},[a]),Me=S.useMemo(()=>{var D;const N=p.payment_method_type.toLowerCase();return pp(((D=a[N])==null?void 0:D.values)||[])},[p.payment_method_type,a]),ft=S.useMemo(()=>{var N;return Vy(((N=a.currency)==null?void 0:N.values)||[])},[a]),Zt=S.useMemo(()=>{var N;return Vy(((N=a.card_network)==null?void 0:N.values)||[])},[a]),pt=S.useMemo(()=>{var N;return Vy(((N=a.authentication_type)==null?void 0:N.values)||[])},[a]),Pt=We?Xle(We):null,Ye=Xt(Pt,nn,{refreshInterval:We?12e3:0,revalidateOnFocus:!0}),Br=Q?Zle(Q):null,st=Xt(Br,nn,{refreshInterval:N=>{var D;return Q?(((D=N==null?void 0:N.timeline)==null?void 0:D.length)||0)>0?12e3:1e3:0},revalidateOnFocus:!0});S.useEffect(()=>{u||i||(h(N=>{var ht;const D={...N};let ie=!1;ft.length>0&&!ft.includes(D.currency)&&(D.currency=ft[0],ie=!0),Y.length>0&&!Y.includes(D.payment_method_type)&&(D.payment_method_type=Y[0],ie=!0);const fe=pp(((ht=a[D.payment_method_type.toLowerCase()])==null?void 0:ht.values)||[]);return fe.length>0&&!fe.includes(D.payment_method)&&(D.payment_method=fe[0],ie=!0),pt.length>0&&!pt.includes(D.auth_type)&&(D.auth_type=pt[0],ie=!0),Zt.length>0&&!Zt.includes(D.card_brand)&&(D.card_brand=Zt[0],ie=!0),ie?D:N}),w(N=>{let D=!1;const ie=N.map(fe=>{if(!fe.key||!a[fe.key])return fe;const ht=a[fe.key],qt=Wy(ht.type),wt=ht.values||[],jr=qt==="enum_variant"?wt.includes(fe.value)?fe.value:wt[0]||"":fe.value;return fe.type!==qt||fe.value!==jr?(D=!0,{...fe,type:qt,value:jr}):fe});return D?ie:N}))},[u,i,a,ft,Y,pt,Zt]),S.useEffect(()=>{if(!We&&!Q)return;const N=document.body.style.overflow,D=ie=>{ie.key==="Escape"&&(C(null),U(null),te("summary"),ne(null),Ne(null),mt("summary"))};return document.body.style.overflow="hidden",window.addEventListener("keydown",D),()=>{document.body.style.overflow=N,window.removeEventListener("keydown",D)}},[We,Q]),S.useEffect(()=>{const N={activeTab:f,form:p,simulationConfig:x,debitForm:g,ruleParams:m,fallbackConnectors:j,volumePayments:_,result:O,debitResult:T,debitPaymentId:A,singleRunPaymentId:M,singleRunOutcome:V,ruleResult:I,volumeDistribution:W,volumeEvaluationLog:K,volumeProgress:q,simulationResults:ge,responseOpen:De,debitResponseOpen:Re,volumeResponseOpen:Oe};typeof window<"u"&&window.localStorage.setItem(gR,JSON.stringify(N))},[f,p,x,g,m,j,_,O,T,A,M,V,I,W,K,q,ge,De,Re,Oe]);function Ct(N,D){h(ie=>({...ie,[N]:D}))}function Tt(N,D){y(ie=>({...ie,[N]:D}))}function qn(){const N=g.co_badged_networks.split(",").map(D=>D.trim().toUpperCase()).filter(Boolean);return JSON.stringify({merchant_category_code:g.merchant_category_code.trim(),acquirer_country:g.acquirer_country.trim().toUpperCase(),co_badged_card_data:{co_badged_card_networks:N,issuer_country:g.issuer_country.trim().toUpperCase(),is_regulated:g.is_regulated,regulated_name:g.is_regulated&&g.regulated_name.trim()?g.regulated_name.trim():null,card_type:g.card_type}})}function Gt(){var ht;if(Cr.length===0)return;const N=Cr[0],D=a[N],ie=Wy(D==null?void 0:D.type),fe=ie==="enum_variant"&&((ht=D==null?void 0:D.values)==null?void 0:ht[0])||"";w([...m,{key:N,type:ie,value:fe,metadataKey:""}])}function fn(N){w(m.filter((D,ie)=>ie!==N))}function mr(N,D,ie){w(m.map((fe,ht)=>ht===N?{...fe,[D]:ie}:fe))}function Zr(N,D){w(m.map((ie,fe)=>fe===N?{...ie,metadataKey:D}:ie))}function ma(N,D){var qt;const ie=a[D],fe=Wy(ie==null?void 0:ie.type),ht=fe==="enum_variant"&&((qt=ie==null?void 0:ie.values)==null?void 0:qt[0])||"";w(m.map((wt,jr)=>jr===N?{...wt,key:D,type:fe,value:ht,metadataKey:""}:wt))}function ga(){b([...j,{gateway_name:"",gateway_id:""}])}function pn(N){b(j.filter((D,ie)=>ie!==N))}function Kn(N,D,ie){b(j.map((fe,ht)=>ht===N?{...fe,[D]:ie}:fe))}async function Da(){if(!r)return de("Sign in with a merchant-linked account to continue");if(u)return de("Routing key config unavailable. Fix /config/routing-keys and retry.");we(!0),de(null),L(null);const N=p.eligible_gateways.split(",").map(ie=>ie.trim()).filter(Boolean),D=`explorer_${Date.now()}`;try{const ie=await zt("/decide-gateway",{merchantId:r,paymentInfo:{paymentId:D,amount:parseFloat(p.amount)||1e3,currency:p.currency,paymentType:"ORDER_PAYMENT",paymentMethodType:p.payment_method_type,paymentMethod:p.payment_method,authType:p.auth_type,cardBrand:p.card_brand},eligibleGatewayList:N,rankingAlgorithm:p.ranking_algorithm,eliminationEnabled:p.elimination_enabled});await zt("/update-gateway-score",{merchantId:r,gateway:ie.decided_gateway,gatewayReferenceId:null,status:V,paymentId:D,enforceDynamicRoutingFailure:null}),E(ie),L(D)}catch(ie){de(ie instanceof Error?ie.message:"Request failed")}finally{we(!1)}}async function Yd(){if(!r)return de("Sign in with a merchant-linked account to continue");we(!0),de(null);try{await n.setDebitRoutingEnabled(!0)}catch(N){de(N instanceof Error?N.message:"Failed to enable debit routing")}finally{we(!1)}}async function Xd(){if(!r)return de("Sign in with a merchant-linked account to continue");if(!n.isEnabled)return de("Debit routing is disabled for this merchant. Enable it before running network routing.");const N=g.eligible_gateways.split(",").map(ie=>ie.trim()).filter(Boolean);if(N.length===0)return de("Add at least one eligible gateway");we(!0),de(null),$(null);const D=`debit_${Date.now()}`;try{const ie=await zt("/decide-gateway",{merchantId:r,paymentInfo:{paymentId:D,amount:parseFloat(g.amount)||1e3,currency:g.currency,paymentType:"ORDER_PAYMENT",paymentMethodType:"CARD",paymentMethod:"DEBIT",authType:g.auth_type,metadata:qn()},eligibleGatewayList:N,rankingAlgorithm:"NtwBasedRouting",eliminationEnabled:!1});$(ie),R(D)}catch(ie){const fe=ie instanceof Error?ie.message:"Request failed";de(fe.includes("debit_routing_not_enabled")?"Debit routing is disabled for this merchant. Enable it and retry.":fe)}finally{we(!1)}}async function Zd(){if(!r)return de("Sign in with a merchant-linked account to continue");if(u)return de("Routing key config unavailable. Fix /config/routing-keys and retry.");const N=parseInt(x.totalPayments)||0,D=parseInt(x.successCount)||0,ie=parseInt(x.failureCount)||0;if(N<=0)return de("Total Payments must be greater than 0");if(D+ie!==N)return de("Success + Failure count must equal Total Payments");J(!0),de(null),$e([]);const fe=p.eligible_gateways.split(",").map(wt=>wt.trim()).filter(Boolean),ht=[],qt=[...Array(D).fill("CHARGED"),...Array(ie).fill("FAILURE")];for(let wt=qt.length-1;wt>0;wt--){const jr=Math.floor(Math.random()*(wt+1));[qt[wt],qt[jr]]=[qt[jr],qt[wt]]}try{for(let wt=0;wt{fe.key&&(fe.type==="metadata_variant"?D[fe.key]={type:fe.type,value:{key:fe.metadataKey||fe.key,value:fe.value}}:fe.type==="number"?D[fe.key]={type:fe.type,value:parseFloat(fe.value)||0}:D[fe.key]={type:fe.type,value:fe.value})});const ie=await zt("/routing/evaluate",{created_by:r||"test_user",payment_id:N,fallback_output:j.filter(fe=>fe.gateway_name),parameters:D});if(B(ie),ie.output.type==="volume_split"&&ie.output.splits){const fe=parseInt(_)||100,ht=ie.output.splits.map(qt=>({name:qt.connector.gateway_name,count:Math.round(qt.split/100*fe),percentage:qt.split}));G(ht)}}catch(D){de(D instanceof Error?D.message:"Request failed")}finally{we(!1)}}async function Qd(){if(!r)return de("Sign in with a merchant-linked account to continue");we(!0),de(null),B(null),G([]),ee([]),le(0);const N=parseInt(_)||0;if(N<=0)return we(!1),de("Total Payments must be greater than 0");try{const ie=`volume_preview_${Date.now()}`,fe=[],ht=new Map;let qt=null;for(let wt=0;wt{const ho=wt+vi,e_=`${ie}_${ho}`,yI=await zt("/routing/evaluate",{created_by:r,payment_id:e_,fallback_output:[{gateway_name:"stripe",gateway_id:"gateway_001"},{gateway_name:"adyen",gateway_id:"gateway_002"}],parameters:{}});return{paymentId:e_,response:yI}}));for(const{paymentId:mu,response:vi}of hs){if(vi.output.type!=="volume_split")throw new Error("Active routing algorithm is not a volume split rule.");const ho=Yle(vi);if(!ho)throw new Error("Volume split evaluation did not return a connector.");ht.set(ho,(ht.get(ho)||0)+1),fe.push({paymentId:mu,connector:ho}),qt=vi}le(fe.length)}if(qt){const wt=Array.from(ht.entries()).map(([jr,hs])=>({name:jr,count:hs,percentage:Number((hs/N*100).toFixed(1))})).sort((jr,hs)=>hs.count-jr.count);B(qt),ee(fe),G(wt),ne(qt.payment_id)}}catch(D){de(D instanceof Error?D.message:"Request failed")}finally{we(!1)}}const fs=O!=null&&O.gateway_priority_map?Object.entries(O.gateway_priority_map).sort(([,N],[,D])=>D-N).map(([N,D])=>({name:N,score:Math.round(D*1e3)/10})):[],fo=parseInt(x.totalPayments)||0,ps=ge.length,F=fo>0?Math.round(ps/fo*100):0,re=Pe||ps>0,me=Pr.reduce((N,D)=>(N[D.decidedGateway]||(N[D.decidedGateway]={total:0,success:0,failure:0}),N[D.decidedGateway].total++,D.status==="CHARGED"?N[D.decidedGateway].success++:N[D.decidedGateway].failure++,N),{}),Le=W.map(N=>({name:N.name,value:N.count})),tt=((V1=T==null?void 0:T.debit_routing_output)==null?void 0:V1.co_badged_card_networks_info)||[],Ke=S.useMemo(()=>new Map(W.map((N,D)=>[N.name,D])),[W]),it=S.useMemo(()=>{var D;const N=((D=Ye.data)==null?void 0:D.results)||[];return N.find(ie=>ie.payment_id===We)||N[0]||null},[(W1=Ye.data)==null?void 0:W1.results,We]),Ze=S.useMemo(()=>{var D;const N=((D=Ye.data)==null?void 0:D.timeline)||[];return N.find(ie=>ie.id===z)||N[0]||null},[(H1=Ye.data)==null?void 0:H1.timeline,z]);S.useEffect(()=>{var D,ie;if(Ze!=null&&Ze.id){U(Ze.id);return}const N=(ie=(D=Ye.data)==null?void 0:D.timeline)==null?void 0:ie[0];N!=null&&N.id&&U(N.id)},[(G1=Ye.data)==null?void 0:G1.timeline,Ze==null?void 0:Ze.id]);const yi=S.useMemo(()=>{var D;const N=[];for(const ie of((D=Ye.data)==null?void 0:D.timeline)||[]){const fe=tb(ie),ht=N[N.length-1];!ht||ht.phase!==fe?N.push({phase:fe,events:[ie]}):ht.events.push(ie)}return N},[(q1=Ye.data)==null?void 0:q1.timeline]),ya=S.useMemo(()=>LO(Ze),[Ze]),_r=S.useMemo(()=>{var D;const N=((D=st.data)==null?void 0:D.results)||[];return N.find(ie=>ie.payment_id===Q)||N[0]||null},[(K1=st.data)==null?void 0:K1.results,Q]),kt=S.useMemo(()=>{var D;const N=((D=st.data)==null?void 0:D.timeline)||[];return N.find(ie=>ie.id===_e)||N[0]||null},[(Y1=st.data)==null?void 0:Y1.timeline,_e]);S.useEffect(()=>{var D,ie;if(kt!=null&&kt.id){Ne(kt.id);return}const N=(ie=(D=st.data)==null?void 0:D.timeline)==null?void 0:ie[0];N!=null&&N.id&&Ne(N.id)},[(X1=st.data)==null?void 0:X1.timeline,kt==null?void 0:kt.id]);const z1=S.useMemo(()=>{var D;const N=[];for(const ie of((D=st.data)==null?void 0:D.timeline)||[]){const fe=tb(ie),ht=N[N.length-1];!ht||ht.phase!==fe?N.push({phase:fe,events:[ie]}):ht.events.push(ie)}return N},[(Z1=st.data)==null?void 0:Z1.timeline]),po=S.useMemo(()=>LO(kt),[kt]);S.useEffect(()=>{Q&&st.mutate()},[Q]);function kg(N){ne(null),Ne(null),mt("summary"),C(N),U(null),te("summary")}function B1(){C(null),U(null),te("summary")}function ef(N,D){C(null),U(null),te("summary"),zr(D),ne(N),Ne(null),mt("summary")}function U1(){ne(null),Ne(null),mt("summary")}function mI(){const N=Gu();f==="single"?(h(N.form),E(N.result),L(N.singleRunPaymentId),H(N.singleRunOutcome),ke(N.responseOpen)):f==="batch"?(h(N.form),v(N.simulationConfig),$e(N.simulationResults),J(!1)):f==="rule"?(w(N.ruleParams),b(N.fallbackConnectors),B(N.ruleResult),ne(null),Ne(null),mt("summary"),zr("Rule Evaluation Preview")):f==="volume"?(k(N.volumePayments),B(N.ruleResult),G(N.volumeDistribution),ee(N.volumeEvaluationLog),le(N.volumeProgress),Ge(N.volumeResponseOpen),ne(null),Ne(null),mt("summary"),zr("Volume Split Preview")):f==="debit"&&(y(N.debitForm),$(N.debitResult),R(N.debitPaymentId),Ie(N.debitResponseOpen),C(null),U(null),te("summary")),de(null),we(!1),qe(!1),C(null),U(null),te("summary")}const gI=f==="batch"?"Reset Auth-Rate Based Routing":f==="rule"?"Reset Rule Based Routing":f==="volume"?"Reset Volume Based Routing":"Reset Debit Routing";return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900 dark:text-white",children:"Decision Explorer"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#b2bdd1]",children:"Run payment routing checks across auth-rate based, rule based, volume based, and debit network strategies."})]}),l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{className:"flex flex-wrap gap-2",children:[l.jsx("button",{onClick:()=>d("batch"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${_o(f==="batch")}`,children:"Auth-Rate Based Routing"}),l.jsx("button",{onClick:()=>d("rule"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${_o(f==="rule")}`,children:"Rule Based Routing"}),l.jsx("button",{onClick:()=>d("volume"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${_o(f==="volume")}`,children:"Volume Based Routing"}),l.jsx("button",{onClick:()=>d("debit"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${_o(f==="debit")}`,children:"Debit Routing"})]}),l.jsxs(Ae,{size:"sm",variant:"secondary",onClick:mI,children:[l.jsx(Df,{size:14}),gI]})]}),l.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx(an,{children:f==="rule"?"Rule Evaluation":f==="volume"?"Volume Split":f==="debit"?"Network Routing":"Simulation"}),l.jsx("h2",{className:"mt-3 font-medium text-slate-800 dark:text-white",children:f==="rule"?"Rule Evaluation Parameters":f==="volume"?"Volume Split Configuration":f==="debit"?"Debit Routing Parameters":"Auth-Rate Based Routing Parameters"})]})}),l.jsxs(Be,{className:"space-y-3",children:[!r&&l.jsx("p",{className:"text-xs text-amber-600 bg-amber-50 border border-amber-200 rounded px-3 py-2",children:"Set a merchant ID in the top bar first."}),f!=="volume"&&f!=="debit"&&i&&l.jsx("p",{className:"text-xs text-slate-600 bg-slate-50 border border-slate-200 rounded px-3 py-2",children:"Loading routing config from backend..."}),f!=="volume"&&f!=="debit"&&u&&l.jsx(Nr,{error:"Routing config unavailable from /config/routing-keys. Parameter forms are disabled."}),f==="rule"?l.jsxs(l.Fragment,{children:[i&&l.jsx("p",{className:"text-sm text-slate-500",children:"Loading routing keys from backend..."}),u&&l.jsx(Nr,{error:"Routing keys are unavailable from backend (/config/routing-keys). Rule Evaluation is disabled."}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Parameters"}),l.jsx("div",{className:"space-y-2",children:m.map((N,D)=>{var ie;return l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex gap-2 items-center",children:[l.jsx("select",{value:N.key,onChange:fe=>ma(D,fe.target.value),disabled:u||i,className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Cr.length===0?l.jsx("option",{value:"",children:"No keys available"}):Cr.map(fe=>l.jsx("option",{value:fe,children:fe},fe))}),l.jsx("input",{value:N.type,readOnly:!0,className:"w-36 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("button",{onClick:()=>fn(D),className:"p-1.5 text-slate-400 hover:text-red-500",children:l.jsx(di,{size:14})})]}),N.type==="metadata_variant"?l.jsxs("div",{className:"flex gap-2 items-center pl-1",children:[l.jsx("input",{placeholder:"Metadata Key",value:N.metadataKey||"",onChange:fe=>Zr(D,fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{placeholder:"Metadata Value",value:N.value,onChange:fe=>mr(D,"value",fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}):N.type==="enum_variant"?l.jsx("div",{className:"flex gap-2 items-center pl-1",children:l.jsx("select",{value:N.value,onChange:fe=>mr(D,"value",fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:(((ie=a[N.key])==null?void 0:ie.values)||[]).map(fe=>l.jsx("option",{value:fe,children:fe},fe))})}):N.type==="number"?l.jsx("div",{className:"flex gap-2 items-center pl-1",children:l.jsx("input",{type:"number",placeholder:"Value",value:N.value,onChange:fe=>mr(D,"value",fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})}):l.jsx("div",{className:"flex gap-2 items-center pl-1",children:l.jsx("input",{placeholder:"Value",value:N.value,onChange:fe=>mr(D,"value",fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})})]},D)})}),l.jsxs("button",{onClick:Gt,disabled:u||i||Cr.length===0,className:"mt-2 flex items-center gap-1 text-xs text-brand-500 hover:text-brand-600",children:[l.jsx(ci,{size:12})," Add Parameter"]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Fallback gateway_name/gateway_id"}),l.jsx("div",{className:"space-y-2",children:j.map((N,D)=>l.jsxs("div",{className:"flex gap-2 items-center",children:[l.jsx("input",{placeholder:"gateway_name",value:N.gateway_name,onChange:ie=>Kn(D,"gateway_name",ie.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{placeholder:"gateway_id",value:N.gateway_id||"",onChange:ie=>Kn(D,"gateway_id",ie.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("button",{onClick:()=>pn(D),className:"p-1.5 text-slate-400 hover:text-red-500",children:l.jsx(di,{size:14})})]},D))}),l.jsxs("button",{onClick:ga,className:"mt-2 flex items-center gap-1 text-xs text-brand-500 hover:text-brand-600",children:[l.jsx(ci,{size:12})," Add Gateway"]})]})]}):f==="debit"?l.jsxs("div",{className:"space-y-4",children:[n.isLoading?l.jsxs("p",{className:"flex items-center gap-2 rounded-lg border border-slate-200 bg-slate-50 px-3 py-2 text-xs text-slate-600 dark:border-[#222226] dark:bg-[#10131a] dark:text-[#aab5c8]",children:[l.jsx(Ft,{size:14}),"Loading debit routing flag..."]}):n.isEnabled?l.jsx("p",{className:"rounded-lg border border-emerald-200 bg-emerald-50 px-3 py-2 text-xs text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/10 dark:text-emerald-300",children:"Debit routing is enabled for this merchant. This tab will call /decide-gateway with NtwBasedRouting."}):l.jsx("div",{className:"rounded-lg border border-amber-200 bg-amber-50 px-3 py-3 text-xs text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-300",children:l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsx("span",{children:"Debit routing is disabled for this merchant."}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:Yd,disabled:!r||X,children:"Enable Debit Routing"})]})}),l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Amount"}),l.jsx("input",{value:g.amount,onChange:N=>Tt("amount",N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Currency"}),l.jsx("input",{value:g.currency,onChange:N=>Tt("currency",N.target.value.toUpperCase()),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Auth Type"}),l.jsxs("select",{value:g.auth_type,onChange:N=>Tt("auth_type",N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:[l.jsx("option",{value:"THREE_DS",children:"THREE_DS"}),l.jsx("option",{value:"NO_THREE_DS",children:"NO_THREE_DS"})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Card Type"}),l.jsxs("select",{value:g.card_type,onChange:N=>Tt("card_type",N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:[l.jsx("option",{value:"Debit",children:"Debit"}),l.jsx("option",{value:"Credit",children:"Credit"})]})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Eligible Gateways (comma-separated)"}),l.jsx("input",{value:g.eligible_gateways,onChange:N=>Tt("eligible_gateways",N.target.value),placeholder:"stripe, adyen",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Merchant Category Code"}),l.jsx("input",{value:g.merchant_category_code,onChange:N=>Tt("merchant_category_code",N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Acquirer Country"}),l.jsx("input",{value:g.acquirer_country,onChange:N=>Tt("acquirer_country",N.target.value.toUpperCase()),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Co-badged Networks (comma-separated)"}),l.jsx("input",{value:g.co_badged_networks,onChange:N=>Tt("co_badged_networks",N.target.value),placeholder:"VISA, NYCE, PULSE, STAR",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Issuer Country"}),l.jsx("input",{value:g.issuer_country,onChange:N=>Tt("issuer_country",N.target.value.toUpperCase()),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{className:"flex items-center gap-2 pt-6",children:[l.jsx("input",{id:"debit-is-regulated",type:"checkbox",checked:g.is_regulated,onChange:N=>Tt("is_regulated",N.target.checked),className:"h-4 w-4 rounded border-slate-300"}),l.jsx("label",{htmlFor:"debit-is-regulated",className:"text-sm text-slate-600 dark:text-[#aab5c8]",children:"Regulated debit card"})]})]}),g.is_regulated&&l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Regulated Name"}),l.jsx("input",{value:g.regulated_name,onChange:N=>Tt("regulated_name",N.target.value),placeholder:"GOVERNMENT NON-EXEMPT INTERCHANGE FEE (WITH FRAUD)",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsx("p",{className:"text-xs text-slate-500",children:"The request sends debit details inside paymentInfo.metadata because the backend debit router parses co-badged card data from metadata."})]}):f==="volume"?l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Number of Payments"}),l.jsx("input",{type:"text",value:_,onChange:N=>k(N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("p",{className:"text-xs text-slate-500 mt-1",children:"Enter how many preview evaluations to run against the active volume split rule."})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Amount"}),l.jsx("input",{value:p.amount,onChange:N=>Ct("amount",N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Currency"}),l.jsx("select",{value:p.currency,onChange:N=>Ct("currency",N.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:ft.map(N=>l.jsx("option",{children:N},N))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Payment Method Type"}),l.jsx("select",{value:p.payment_method_type,onChange:N=>Ct("payment_method_type",N.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Y.map(N=>l.jsx("option",{children:N},N))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Payment Method"}),l.jsx("select",{value:p.payment_method,onChange:N=>Ct("payment_method",N.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Me.map(N=>l.jsx("option",{children:N},N))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Card Brand"}),l.jsx("select",{value:p.card_brand,onChange:N=>Ct("card_brand",N.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Zt.map(N=>l.jsx("option",{children:N},N))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Auth Type"}),l.jsx("select",{value:p.auth_type,onChange:N=>Ct("auth_type",N.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:pt.map(N=>l.jsx("option",{children:N},N))})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Eligible Gateways (comma-separated)"}),l.jsx("input",{value:p.eligible_gateways,onChange:N=>Ct("eligible_gateways",N.target.value),placeholder:"stripe, adyen",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsx("div",{children:l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Algorithm"}),l.jsx("select",{value:p.ranking_algorithm,onChange:N=>Ct("ranking_algorithm",N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:mR.map(N=>l.jsx("option",{value:N,children:Ble[N]},N))})]})}),f==="single"&&l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Transaction Outcome"}),l.jsxs("select",{value:V,onChange:N=>H(N.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:[l.jsx("option",{value:"CHARGED",children:"Success (CHARGED)"}),l.jsx("option",{value:"FAILURE",children:"Failure (FAILURE)"})]}),l.jsx("p",{className:"mt-1 text-xs text-slate-500",children:"After deciding the gateway, single test will post feedback with this outcome so the payment appears in Decision Audit."})]}),f==="batch"&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-4 mt-4 space-y-3",children:[l.jsxs("h3",{className:"text-sm font-medium text-slate-800 flex items-center gap-2",children:[l.jsx(sl,{size:14}),"Simulation Configuration"]}),l.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Total Payments"}),l.jsx("input",{type:"text",value:x.totalPayments,onChange:N=>v(D=>({...D,totalPayments:N.target.value})),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Success Count"}),l.jsx("input",{type:"text",value:x.successCount,onChange:N=>v(D=>({...D,successCount:N.target.value})),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Failure Count"}),l.jsx("input",{type:"text",value:x.failureCount,onChange:N=>v(D=>({...D,failureCount:N.target.value})),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]}),l.jsxs("p",{className:"text-xs text-slate-500",children:["Will run ",x.totalPayments||0," payments: ",x.successCount||0," SUCCESS, ",x.failureCount||0," FAILURE"]})]})]}),l.jsx(Nr,{error:ue}),f==="rule"?l.jsx(Ae,{onClick:Jd,disabled:X||u,className:"w-full justify-center",children:X?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Evaluating…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Mf,{size:14})," Evaluate Rules"]})}):f==="debit"?l.jsx(Ae,{onClick:Xd,disabled:X||!r||n.isLoading||!n.isEnabled,className:"w-full justify-center",children:X?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Running Debit Routing…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Kh,{size:14})," Run Debit Routing"]})}):f==="volume"?l.jsx(Ae,{onClick:Qd,disabled:X||!r,className:"w-full justify-center",children:X?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Running ",q,"/",_||0," previews…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Yh,{size:14})," Run Volume Evaluation"]})}):f==="batch"?l.jsx(Ae,{onClick:Zd,disabled:Pe||!r||u,className:"w-full justify-center",children:Pe?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14}),"Simulating ",ge.length,"/",x.totalPayments||0,"..."]}):l.jsxs(l.Fragment,{children:[l.jsx(sl,{size:14})," Run Auth-Rate Simulation"]})}):l.jsx(Ae,{onClick:Da,disabled:X||!r||u,className:"w-full justify-center",children:X?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Running…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Mf,{size:14})," Run Single Transaction"]})})]})]}),l.jsx("div",{className:"space-y-4",children:f==="debit"?T?l.jsx(l.Fragment,{children:l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800 dark:text-white",children:"Debit Routing Result"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#9ca7ba]",children:["Real response from ",l.jsx("code",{children:"/decide-gateway"})," using ",l.jsx("code",{children:"NtwBasedRouting"}),"."]})]}),A?l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>kg(A),children:"View audit"}):null]})}),l.jsxs(Be,{className:"space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{className:"rounded-lg bg-slate-50 p-3 dark:bg-[#111114]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"routing_approach"}),l.jsx("p",{className:"mt-1 font-semibold text-slate-900 dark:text-white",children:T.routing_approach})]}),l.jsxs("div",{className:"rounded-lg bg-slate-50 p-3 dark:bg-[#111114]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"request payment_id"}),l.jsx("p",{className:"mt-1 font-mono text-xs text-slate-900 dark:text-white",children:A})]})]}),T.debit_routing_output?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[l.jsxs("div",{className:"rounded-lg border border-slate-200 p-3 dark:border-[#222226]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"Issuer country"}),l.jsx("p",{className:"mt-1 text-lg font-semibold text-slate-900 dark:text-white",children:T.debit_routing_output.issuer_country})]}),l.jsxs("div",{className:"rounded-lg border border-slate-200 p-3 dark:border-[#222226]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"Regulated"}),l.jsx("p",{className:"mt-1 text-lg font-semibold text-slate-900 dark:text-white",children:T.debit_routing_output.is_regulated?"Yes":"No"})]}),l.jsxs("div",{className:"rounded-lg border border-slate-200 p-3 dark:border-[#222226]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"Card type"}),l.jsx("p",{className:"mt-1 text-lg font-semibold text-slate-900 dark:text-white",children:T.debit_routing_output.card_type})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800 dark:text-white",children:"Ranked Debit Networks"})}),l.jsx(Be,{className:"p-0",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 text-xs text-slate-500 dark:bg-[#111114]",children:l.jsxs("tr",{children:[l.jsx("th",{className:"px-4 py-2 text-left",children:"Rank"}),l.jsx("th",{className:"px-4 py-2 text-left",children:"Network"}),l.jsx("th",{className:"px-4 py-2 text-right",children:"Saving %"})]})}),l.jsx("tbody",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:tt.map((N,D)=>l.jsxs("tr",{className:"hover:bg-slate-50 dark:hover:bg-[#111114]",children:[l.jsxs("td",{className:"px-4 py-2 font-mono text-xs text-slate-500",children:["#",D+1]}),l.jsx("td",{className:"px-4 py-2 font-medium text-slate-900 dark:text-white",children:N.network}),l.jsxs("td",{className:"px-4 py-2 text-right text-slate-700 dark:text-[#d8e1ef]",children:[N.saving_percentage.toFixed(2),"%"]})]},`${N.network}-${D}`))})]})})]})]}):l.jsx(Nr,{error:"Debit routing output was not returned. Check the raw response for backend details."}),l.jsxs("div",{className:"border-t border-slate-200 pt-3 dark:border-[#222226]",children:[l.jsxs("button",{type:"button",onClick:()=>Ie(!Re),className:"flex items-center gap-1 text-xs font-medium text-slate-500 hover:text-slate-700",children:[Re?l.jsx(No,{size:14}):l.jsx(ks,{size:14}),"Raw response"]}),Re&&l.jsx("pre",{className:"mt-3 max-h-96 overflow-auto rounded-lg bg-slate-950 p-4 text-xs text-slate-200",children:JSON.stringify(T,null,2)})]})]})]})}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-12 text-center",children:[l.jsx(Kh,{size:32,className:"mx-auto mb-3 text-slate-300"}),l.jsx("p",{className:"text-sm text-slate-500",children:'Enable debit routing, keep the default debit metadata, and click "Run Debit Routing" to inspect ranked networks.'})]})}):f==="volume"?W.length>0?l.jsxs(l.Fragment,{children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Volume Distribution Overview"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500",children:["Actual distribution from ",K.length," calls to ",l.jsx("code",{children:"/routing/evaluate"})," using the active volume split rule."]})]}),I!=null&&I.payment_id?l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>ef(I.payment_id,"Volume Split Preview"),children:"View latest preview trace"}):null]})}),l.jsxs(Be,{children:[l.jsxs("div",{className:"text-center mb-4",children:[l.jsx("p",{className:"text-3xl font-bold text-slate-900",children:K.length}),l.jsx("p",{className:"text-xs text-slate-500",children:"Evaluations completed"})]}),l.jsx("div",{className:"grid grid-cols-2 gap-4",children:W.map((N,D)=>l.jsxs("div",{className:"bg-slate-50 dark:bg-[#111114] rounded-lg p-3",children:[l.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[l.jsx("div",{className:"w-3 h-3 rounded",style:{backgroundColor:Jr[D%Jr.length]}}),l.jsx("span",{className:"font-medium text-sm",children:N.name})]}),l.jsxs("div",{className:"flex justify-between text-xs text-slate-500",children:[l.jsxs("span",{children:[N.percentage,"%"]}),l.jsxs("span",{className:"font-medium text-slate-700",children:[N.count," payments"]})]})]},D))})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Pie Chart"})}),l.jsx(Be,{children:l.jsx(Ii,{width:"100%",height:250,children:l.jsxs(_1,{children:[l.jsx(ha,{data:Le,cx:"50%",cy:"50%",innerRadius:60,outerRadius:100,paddingAngle:3,dataKey:"value",label:({name:N,percent:D})=>`${N} ${(D*100).toFixed(0)}%`,labelLine:!1,children:Le.map((N,D)=>l.jsx(qi,{fill:Jr[D%Jr.length]},`cell-${D}`))}),l.jsx(Or,{formatter:N=>[`${N} payments`,"Count"],contentStyle:document.documentElement.classList.contains("dark")?{backgroundColor:"#111114",border:"1px solid #222226",borderRadius:"8px",color:"#fff"}:{backgroundColor:"#fff",border:"1px solid #e5e7eb",borderRadius:"8px",color:"#1f2937"}})]})})})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Bar Chart"})}),l.jsx(Be,{children:l.jsx(Ii,{width:"100%",height:W.length*50+40,children:l.jsxs(Z0,{data:W,layout:"vertical",margin:{left:20,right:40},children:[l.jsx(Pa,{type:"number",tick:{fontSize:12,fill:"#666"},axisLine:{stroke:"#e5e7eb"},tickLine:!1}),l.jsx(Ca,{type:"category",dataKey:"name",tick:{fontSize:12,fill:"#666"},width:80,axisLine:!1,tickLine:!1}),l.jsx(Or,{formatter:N=>[`${N} payments`,"Count"],contentStyle:document.documentElement.classList.contains("dark")?{backgroundColor:"#111114",border:"1px solid #222226",borderRadius:"8px",color:"#fff"}:{backgroundColor:"#fff",border:"1px solid #e5e7eb",borderRadius:"8px",color:"#1f2937"}}),l.jsx(li,{dataKey:"count",radius:[0,6,6,0],children:W.map((N,D)=>l.jsx(qi,{fill:Jr[D%Jr.length]},`cell-${D}`))})]})})})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Percentage Distribution"})}),l.jsxs(Be,{children:[l.jsx("div",{className:"h-4 rounded-full overflow-hidden flex",children:W.map((N,D)=>l.jsx("div",{style:{width:`${N.percentage}%`,backgroundColor:Jr[D%Jr.length]},className:"h-full transition-all duration-300",title:`${N.name}: ${N.percentage}%`},D))}),l.jsx("div",{className:"flex flex-wrap gap-3 mt-3",children:W.map((N,D)=>l.jsxs("div",{className:"flex items-center gap-1.5 text-xs",children:[l.jsx("div",{className:"w-2.5 h-2.5 rounded-sm",style:{backgroundColor:Jr[D%Jr.length]}}),l.jsx("span",{className:"text-slate-600",children:N.name}),l.jsxs("span",{className:"font-medium",children:[N.percentage,"%"]})]},D))})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Gateway Summary"})}),l.jsx(Be,{className:"p-0",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#111114] text-xs text-slate-500",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-4 py-2",children:"gateway_name"}),l.jsx("th",{className:"text-right px-4 py-2",children:"Payments"}),l.jsx("th",{className:"text-right px-4 py-2",children:"Percentage"})]})}),l.jsxs("tbody",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:[W.map((N,D)=>l.jsxs("tr",{className:"hover:bg-slate-50 dark:bg-[#111114]",children:[l.jsx("td",{className:"px-4 py-2",children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"w-3 h-3 rounded",style:{backgroundColor:Jr[D%Jr.length]}}),l.jsx("span",{className:"font-medium",children:N.name})]})}),l.jsx("td",{className:"px-4 py-2 text-right font-medium",children:N.count}),l.jsxs("td",{className:"px-4 py-2 text-right text-slate-500",children:[N.percentage,"%"]})]},D)),l.jsxs("tr",{className:"bg-slate-50 dark:bg-[#111114] font-medium",children:[l.jsx("td",{className:"px-4 py-2",children:"Total"}),l.jsx("td",{className:"px-4 py-2 text-right",children:K.length}),l.jsx("td",{className:"px-4 py-2 text-right",children:"100%"})]})]})]})})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Evaluation Sequence"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500",children:["Actual connector sequence returned by repeated ",l.jsx("code",{children:"/routing/evaluate"})," calls."]})]})}),l.jsx(Be,{className:"p-0 max-h-80 overflow-auto",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#111114] text-xs text-slate-500 sticky top-0",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-4 py-2 w-20",children:"#"}),l.jsx("th",{className:"text-left px-4 py-2",children:"payment_id"}),l.jsx("th",{className:"text-left px-4 py-2",children:"gateway_name"}),l.jsx("th",{className:"text-right px-4 py-2 w-28",children:"trace"})]})}),l.jsx("tbody",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:K.map((N,D)=>l.jsxs("tr",{className:"cursor-pointer hover:bg-slate-50 dark:bg-[#111114]",onClick:()=>ef(N.paymentId,"Volume Split Preview"),children:[l.jsx("td",{className:"px-4 py-1.5 text-slate-500 font-mono text-xs",children:D+1}),l.jsx("td",{className:"px-4 py-1.5 font-mono text-xs text-slate-500",children:N.paymentId}),l.jsx("td",{className:"px-4 py-1.5",children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"w-2 h-2 rounded",style:{backgroundColor:Jr[(Ke.get(N.connector)||0)%Jr.length]}}),l.jsx("span",{className:"font-medium",children:N.connector})]})}),l.jsx("td",{className:"px-4 py-1.5 text-right",children:l.jsx("button",{type:"button",className:"text-xs font-medium text-brand-600 hover:text-brand-700",onClick:ie=>{ie.stopPropagation(),ef(N.paymentId,"Volume Split Preview")},children:"View trace"})})]},N.paymentId))})]})})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("button",{onClick:()=>Ge(N=>!N),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(My,{size:14}),"API Response"]}),Oe?l.jsx(No,{size:14}):l.jsx(ks,{size:14})]})}),Oe&&I&&l.jsx(Be,{className:"p-0",children:l.jsx("pre",{className:"text-xs text-slate-600 bg-slate-50 dark:bg-[#0a0a0f] p-4 overflow-auto max-h-96 font-mono",children:JSON.stringify(I,null,2)})})]})]}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-16 text-center",children:[l.jsx(Yh,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsxs("p",{className:"text-slate-400 text-sm",children:['Enter the number of payments and click "Run Volume Evaluation" to execute repeated ',l.jsx("code",{children:"/routing/evaluate"})," calls against the active volume rule."]})]})}):f==="rule"?I?l.jsxs(l.Fragment,{children:[l.jsx(Se,{children:l.jsxs(Be,{children:[l.jsxs("div",{className:"flex items-start justify-between mb-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs text-slate-500 uppercase tracking-wide mb-1",children:"Status"}),l.jsx("p",{className:"text-2xl font-bold text-slate-900",children:I.status}),l.jsxs("p",{className:"text-xs text-slate-500 mt-1",children:["output_type: ",I.output.type]})]}),I.payment_id?l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>ef(I.payment_id,"Rule Evaluation Preview"),children:"View preview trace"}):null]}),I.output.type==="single"&&I.output.connector&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsx("p",{className:"text-xs text-slate-400 mb-1",children:"Selected gateway_name"}),l.jsx("p",{className:"text-lg font-semibold",children:I.output.connector.gateway_name}),I.output.connector.gateway_id&&l.jsxs("p",{className:"text-xs text-slate-500",children:["gateway_id: ",I.output.connector.gateway_id]})]}),I.output.type==="priority"&&I.output.connectors&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsx("p",{className:"text-xs text-slate-400 mb-2",children:"Priority gateway_name list"}),l.jsx("div",{className:"space-y-1",children:I.output.connectors.map((N,D)=>l.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[l.jsx("span",{className:"w-5 h-5 rounded-full bg-brand-500 text-white text-xs flex items-center justify-center",children:D+1}),l.jsx("span",{className:"font-medium",children:N.gateway_name}),N.gateway_id&&l.jsxs("span",{className:"text-xs text-slate-500",children:["(",N.gateway_id,")"]})]},D))})]}),I.output.type==="volume_split"&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsx("p",{className:"text-xs text-slate-400 mb-2",children:"Volume Split Result"}),l.jsx("p",{className:"text-sm text-slate-600",children:"See Volume Split tab for detailed visualization."})]})]})}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("button",{onClick:()=>ke(N=>!N),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(My,{size:14}),"API Response"]}),De?l.jsx(No,{size:14}):l.jsx(ks,{size:14})]})}),De&&l.jsx(Be,{className:"p-0",children:l.jsx("pre",{className:"text-xs text-slate-600 bg-slate-50 dark:bg-[#0a0a0f] p-4 overflow-auto max-h-96 font-mono",children:JSON.stringify(I,null,2)})})]})]}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-16 text-center",children:[l.jsx(Mf,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsx("p",{className:"text-slate-400 text-sm",children:'Configure rule parameters and click "Evaluate Rules" to test routing.'})]})}):f==="batch"?re?l.jsxs(l.Fragment,{children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Simulation Progress"})}),l.jsxs(Be,{children:[l.jsxs("div",{className:"mb-4",children:[l.jsxs("div",{className:"flex justify-between text-xs text-slate-600 mb-1",children:[l.jsx("span",{children:"Progress"}),l.jsxs("span",{children:[F,"%"]})]}),l.jsx("div",{className:"w-full overflow-hidden rounded-full bg-gray-200 h-2",children:l.jsx("div",{className:`h-2 rounded-full bg-brand-500 transition-[width] duration-300 ease-out ${Pe&&ps===0?"animate-pulse":""}`,style:{width:`${F}%`}})}),l.jsxs("p",{className:"mt-2 text-xs text-slate-500",children:[ps," of ",fo||0," payments processed."]})]}),Object.keys(me).length>0&&l.jsxs("div",{className:"space-y-2",children:[l.jsx("h4",{className:"text-xs font-medium text-slate-700",children:"Gateway Selection Summary"}),Object.entries(me).map(([N,D])=>l.jsxs("div",{className:"flex items-center justify-between text-sm",children:[l.jsx("span",{className:"font-medium",children:N}),l.jsxs("div",{className:"flex gap-3 text-xs",children:[l.jsxs("span",{className:"text-emerald-600",children:[D.success," ✓"]}),l.jsxs("span",{className:"text-red-500",children:[D.failure," ✗"]}),l.jsxs("span",{className:"text-slate-500",children:["(",D.total," total)"]})]})]},N))]})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Transaction Log"})}),l.jsx(Be,{className:"p-0 max-h-96 overflow-auto",children:Pr.length>0?l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#0a0a0f] text-xs text-slate-500 sticky top-0",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-3 py-2",children:"#"}),l.jsx("th",{className:"text-left px-3 py-2",children:"Payment ID"}),l.jsx("th",{className:"text-left px-3 py-2",children:"Gateway"}),l.jsx("th",{className:"text-left px-3 py-2",children:"Outcome"})]})}),l.jsx("tbody",{className:"divide-y divide-[#1c1c24]",children:Pr.map((N,D)=>l.jsxs("tr",{className:"hover:bg-slate-100 dark:bg-[#0f0f16]",children:[l.jsx("td",{className:"px-3 py-2 text-slate-500",children:D+1}),l.jsx("td",{className:"px-3 py-2",children:l.jsxs("button",{type:"button",title:N.paymentId,onClick:()=>kg(N.paymentId),className:"group flex items-start gap-3 text-left",children:[l.jsx("span",{className:"inline-flex h-8 w-8 items-center justify-center rounded-full bg-brand-500/10 text-[11px] font-semibold uppercase tracking-[0.16em] text-brand-600 dark:text-brand-300",children:D+1}),l.jsxs("span",{className:"min-w-0",children:[l.jsx("span",{className:"block truncate font-mono text-xs font-semibold text-slate-900 transition group-hover:text-brand-600 dark:text-white",children:N.paymentId}),l.jsx("span",{className:"mt-1 block text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-400 transition group-hover:text-brand-500",children:"View audit"})]})]})}),l.jsx("td",{className:"px-3 py-2 font-medium",children:N.decidedGateway}),l.jsx("td",{className:"px-3 py-2",children:l.jsx(ze,{variant:N.status==="CHARGED"?"green":"red",children:N.status})})]},N.paymentId))})]}):l.jsxs("div",{className:"flex items-center gap-3 px-4 py-6 text-sm text-slate-500",children:[l.jsx(Ft,{size:16}),"Waiting for the first simulated payment result…"]})})]})]}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-16 text-center",children:[l.jsx(sl,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsx("p",{className:"text-slate-400 text-sm",children:'Configure simulation parameters and click "Run Auth-Rate Simulation" to test auth-rate based routing.'})]})}):O?l.jsxs(l.Fragment,{children:[l.jsx(Se,{children:l.jsxs(Be,{children:[l.jsxs("div",{className:"flex items-start justify-between mb-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs text-slate-500 uppercase tracking-wide mb-1",children:"Decided Gateway"}),l.jsx("p",{className:"text-3xl font-bold text-slate-900",children:O.decided_gateway})]}),l.jsxs("div",{className:"text-right space-y-2",children:[l.jsx("div",{children:l.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded text-xs font-medium ${Ule(O.routing_approach)}`,children:O.routing_approach})}),M?l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>kg(M),children:"View audit"}):null,O.is_scheduled_outage&&l.jsx(ze,{variant:"red",children:"Scheduled Outage"}),M?l.jsx(ze,{variant:V==="CHARGED"?"green":"red",children:V}):null,O.latency!=null&&l.jsxs("p",{className:"text-xs text-slate-400",children:[O.latency,"ms"]})]})]}),M?l.jsxs("div",{className:"mb-3 rounded-[18px] border border-slate-200 bg-slate-50/80 px-4 py-3 dark:border-[#1c1c23] dark:bg-[#0b0b10]",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Payment ID"}),l.jsx("p",{className:"mt-2 font-mono text-sm text-slate-900 dark:text-white",children:M}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:["Feedback recorded as ",V,". Open audit to inspect the full decide and update flow."]})]}):null,O.routing_dimension&&l.jsxs("div",{className:"flex gap-4 text-sm text-slate-600 border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-xs text-slate-400",children:"Dimension"}),l.jsx("p",{className:"font-medium",children:O.routing_dimension})]}),O.routing_dimension_level&&l.jsxs("div",{children:[l.jsx("span",{className:"text-xs text-slate-400",children:"Level"}),l.jsx("p",{className:"font-medium",children:O.routing_dimension_level})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-xs text-slate-400",children:"Reset"}),l.jsx("p",{className:"font-medium",children:O.reset_approach})]})]})]})}),fs.length>0&&l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Gateway Scores"}),l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:Da,className:"text-xs",children:[l.jsx(Df,{size:12})," Refresh"]})]})}),l.jsx(Be,{children:l.jsx(Ii,{width:"100%",height:fs.length*40+20,children:l.jsxs(Z0,{data:fs,layout:"vertical",margin:{left:10,right:30},children:[l.jsx(Pa,{type:"number",domain:[0,100],tickFormatter:N=>`${N}%`,tick:{fontSize:11,fill:"#66667a"},axisLine:{stroke:"#1c1c24"},tickLine:!1}),l.jsx(Ca,{type:"category",dataKey:"name",tick:{fontSize:12,fill:"#8e8ea0"},width:60,axisLine:!1,tickLine:!1}),l.jsx(Or,{formatter:N=>`${N}%`,contentStyle:{backgroundColor:"#0d0d12",border:"1px solid #1c1c24",borderRadius:"8px",color:"#e8e8f4"}}),l.jsx(li,{dataKey:"score",radius:[0,4,4,0],children:fs.map((N,D)=>l.jsx(qi,{fill:N.name===O.decided_gateway?"#0069ED":N.score<30?"#ef4444":N.score<60?"#f59e0b":"#10b981"},D))})]})})})]}),O.filter_wise_gateways&&l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("button",{onClick:()=>qe(N=>!N),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:["Filter Chain",ye?l.jsx(No,{size:14}):l.jsx(ks,{size:14})]})}),ye&&l.jsx(Be,{className:"space-y-2",children:Object.entries(O.filter_wise_gateways).map(([N,D])=>l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("span",{className:"text-xs font-mono bg-slate-100 dark:bg-[#111118] text-slate-600 rounded-md px-2 py-0.5 mt-0.5 shrink-0 border border-slate-200 dark:border-[#1c1c24]",children:N}),l.jsx("div",{className:"flex flex-wrap gap-1",children:Array.isArray(D)?D.map(ie=>l.jsx("span",{className:"text-xs bg-blue-500/10 text-blue-400 ring-1 ring-inset ring-blue-500/20 rounded-md px-2 py-0.5",children:ie},ie)):l.jsx("span",{className:"text-xs text-slate-400",children:"—"})})]},N))})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("button",{onClick:()=>ke(N=>!N),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(My,{size:14}),"API Response"]}),De?l.jsx(No,{size:14}):l.jsx(ks,{size:14})]})}),De&&l.jsx(Be,{className:"p-0",children:l.jsx("pre",{className:"text-xs text-slate-600 bg-slate-50 dark:bg-[#0a0a0f] p-4 overflow-auto max-h-96 font-mono",children:JSON.stringify(O,null,2)})})]})]}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-16 text-center",children:[l.jsx(Mf,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsx("p",{className:"text-slate-400 text-sm",children:'Fill in the parameters and click "Run Single Transaction" to decide a gateway, post feedback, and inspect the audit trail.'})]})})})]}),We&&l.jsxs("div",{className:"fixed bottom-0 left-64 right-0 top-[76px] z-[130] p-8",children:[l.jsx("button",{type:"button","aria-label":"Close payment audit",className:"absolute inset-0 bg-slate-950/70 backdrop-blur-sm",onClick:B1}),l.jsxs("div",{role:"dialog","aria-modal":"true","aria-labelledby":"decision-explorer-audit-title",className:"relative mx-auto flex h-full w-full max-w-7xl flex-col overflow-hidden rounded-[30px] border border-slate-200 bg-white shadow-2xl dark:border-[#1c1c23] dark:bg-[#09090d]",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4 border-b border-slate-200 bg-slate-50/90 px-6 py-5 dark:border-[#1c1c23] dark:bg-[#0b0b10]",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.2em] text-slate-500 dark:text-[#8a8a93]",children:"Simulation Audit"}),l.jsx("h2",{id:"decision-explorer-audit-title",className:"mt-2 truncate text-2xl font-semibold text-slate-900 dark:text-white",children:We}),l.jsx("p",{className:"mt-2 max-w-3xl text-sm text-slate-500 dark:text-[#8a8a93]",children:"Inspect the exact decision trail for this simulated payment, including request payloads, API responses, score context, and the final transaction outcome."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[it!=null&&it.latest_gateway?l.jsx(ze,{variant:"green",children:it.latest_gateway}):null,it!=null&&it.latest_status?l.jsx(ze,{variant:MO(it.latest_status),children:Tn(it.latest_status)}):null,it!=null&&it.event_count?l.jsxs(ze,{variant:"gray",children:[it.event_count," events"]}):null,l.jsxs(Ae,{size:"sm",variant:"secondary",onClick:()=>Ye.mutate(),children:[l.jsx(Df,{size:12}),"Refresh"]}),l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:B1,children:[l.jsx(PO,{size:14}),"Close"]})]})]}),l.jsxs("div",{className:"grid min-h-0 flex-1 gap-0 xl:grid-cols-[340px_minmax(0,1fr)]",children:[l.jsxs("div",{className:"flex min-h-0 flex-col border-b border-slate-200 bg-slate-50/70 xl:border-b-0 xl:border-r dark:border-[#1c1c23] dark:bg-[#08080b]",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Audit Timeline"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Choose a step to inspect its request, response, and scoring context."})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:Ye.isLoading&&!Ye.data?l.jsxs("div",{className:"flex items-center gap-2 px-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading payment audit…"]}):Ye.error?l.jsx(Nr,{error:Ye.error.message}):yi.length?l.jsx("div",{className:"space-y-4",children:yi.map(N=>l.jsxs("section",{className:"space-y-2",children:[l.jsx("div",{className:"px-2",children:l.jsx(ze,{variant:DO(N.phase),children:N.phase})}),l.jsx("div",{className:"space-y-2",children:N.events.map(D=>l.jsxs("button",{type:"button",onClick:()=>{U(D.id),te("summary")},className:`w-full rounded-[22px] border px-4 py-3 text-left transition ${(Ze==null?void 0:Ze.id)===D.id?"border-brand-500/50 bg-brand-500/8":"border-slate-200 bg-white hover:border-slate-300 dark:border-[#1d1d23] dark:bg-[#0c0c10] dark:hover:border-[#2a2a31]"}`,children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:Yu(D)}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:qu(D.created_at_ms)})]}),l.jsx(ze,{variant:Wf(D),children:Tn(D.status)||IO(D.flow_type)})]}),l.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[l.jsx(ze,{variant:"gray",children:Ku(D.route)}),D.gateway?l.jsx(ze,{variant:"green",children:D.gateway}):null,D.request_id?l.jsx(ze,{variant:"blue",children:"Request"}):null]})]},D.id))})]},N.phase))}):l.jsx(Xu,{title:"No audit trail captured yet",body:"Run a simulated payment and gateway update first, then reopen the row once the audit payload is available."})})]}),l.jsxs("div",{className:"flex min-h-0 flex-col",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Ze?Yu(Ze):"Audit Inspector"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:Ze?`${Ku(Ze.route)} · ${qu(Ze.created_at_ms)}`:"Select an event from the left to inspect payloads."})]}),l.jsxs("div",{className:"flex flex-wrap gap-2",children:[Ze!=null&&Ze.gateway?l.jsx(ze,{variant:"green",children:Ze.gateway}):null,Ze!=null&&Ze.status?l.jsx(ze,{variant:Wf(Ze),children:Tn(Ze.status)}):null]})]}),l.jsx("div",{className:"mt-4 flex flex-wrap gap-2",children:["summary","input","response","raw"].map(N=>l.jsx("button",{type:"button",onClick:()=>te(N),className:`rounded-full px-4 py-2 text-xs font-semibold uppercase tracking-[0.16em] transition ${_o(ae===N)}`,children:N==="raw"?"Raw JSON":Tn(N)},N))})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-5",children:Ye.isLoading&&!Ye.data?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading inspector…"]}):ya?l.jsxs("div",{className:"space-y-5",children:[ae==="summary"?l.jsxs(l.Fragment,{children:[l.jsx(zO,{rows:ya.summaryRows}),ya.selectionReason?l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-slate-50/80 px-5 py-4 dark:border-[#1d1d23] dark:bg-[#0b0b10]",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Selection Reason"}),l.jsx("p",{className:"mt-3 text-sm leading-6 text-slate-700 dark:text-slate-200",children:wR(ya.selectionReason)})]}):null,l.jsx(Fa,{title:"Score Context",value:ya.scoreContext,emptyMessage:"No scoring context was captured for this event."}),ya.signalRecord?l.jsx(Fa,{title:"Additional Signals",value:ya.signalRecord,emptyMessage:"No additional signals were captured for this event."}):null]}):null,ae==="input"?l.jsx(Fa,{title:"Request Payload",value:ya.requestPayload,emptyMessage:"This step did not persist a request payload."}):null,ae==="response"?l.jsx(Fa,{title:"Response Payload",value:ya.responsePayload,emptyMessage:"This step did not persist a response payload."}):null,ae==="raw"?l.jsx(Fa,{title:"Raw Event JSON",value:ya.rawEvent,emptyMessage:"No raw event payload is available."}):null]}):l.jsx(Xu,{title:"Select a timeline step",body:"Choose one of the audit events on the left to inspect its request, response, and score context."})})]})]})]})]}),Q&&l.jsxs("div",{className:"fixed bottom-0 left-64 right-0 top-[76px] z-[130] p-8",children:[l.jsx("button",{type:"button","aria-label":"Close preview trace",className:"absolute inset-0 bg-slate-950/70 backdrop-blur-sm",onClick:U1}),l.jsxs("div",{role:"dialog","aria-modal":"true","aria-labelledby":"decision-explorer-preview-title",className:"relative mx-auto flex h-full w-full max-w-7xl flex-col overflow-hidden rounded-[30px] border border-slate-200 bg-white shadow-2xl dark:border-[#1c1c23] dark:bg-[#09090d]",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4 border-b border-slate-200 bg-slate-50/90 px-6 py-5 dark:border-[#1c1c23] dark:bg-[#0b0b10]",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.2em] text-slate-500 dark:text-[#8a8a93]",children:"Preview Trace"}),l.jsx("h2",{id:"decision-explorer-preview-title",className:"mt-2 truncate text-2xl font-semibold text-slate-900 dark:text-white",children:Q}),l.jsxs("p",{className:"mt-2 max-w-3xl text-sm text-slate-500 dark:text-[#8a8a93]",children:[Lt,". This is a preview-only trace captured from ",l.jsx("code",{className:"font-mono text-xs",children:"/routing/evaluate"}),", not a transaction outcome."]})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[_r!=null&&_r.latest_gateway?l.jsx(ze,{variant:"green",children:_r.latest_gateway}):null,_r!=null&&_r.latest_status?l.jsx(ze,{variant:MO(_r.latest_status),children:Tn(_r.latest_status)}):null,_r!=null&&_r.event_count?l.jsxs(ze,{variant:"gray",children:[_r.event_count," events"]}):null,l.jsxs(Ae,{size:"sm",variant:"secondary",onClick:()=>st.mutate(),children:[l.jsx(Df,{size:12}),"Refresh"]}),l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:U1,children:[l.jsx(PO,{size:14}),"Close"]})]})]}),l.jsxs("div",{className:"grid min-h-0 flex-1 gap-0 xl:grid-cols-[340px_minmax(0,1fr)]",children:[l.jsxs("div",{className:"flex min-h-0 flex-col border-b border-slate-200 bg-slate-50/70 xl:border-b-0 xl:border-r dark:border-[#1c1c23] dark:bg-[#08080b]",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Preview Timeline"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Choose a preview step to inspect its request, response, and routing output."})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:st.isLoading&&!st.data?l.jsxs("div",{className:"flex items-center gap-2 px-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading preview trace…"]}):st.error?l.jsx(Nr,{error:st.error.message}):z1.length?l.jsx("div",{className:"space-y-4",children:z1.map(N=>l.jsxs("section",{className:"space-y-2",children:[l.jsx("div",{className:"px-2",children:l.jsx(ze,{variant:DO(N.phase),children:N.phase})}),l.jsx("div",{className:"space-y-2",children:N.events.map(D=>l.jsxs("button",{type:"button",onClick:()=>{Ne(D.id),mt("summary")},className:`w-full rounded-[22px] border px-4 py-3 text-left transition ${(kt==null?void 0:kt.id)===D.id?"border-brand-500/50 bg-brand-500/8":"border-slate-200 bg-white hover:border-slate-300 dark:border-[#1d1d23] dark:bg-[#0c0c10] dark:hover:border-[#2a2a31]"}`,children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:Yu(D)}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:qu(D.created_at_ms)})]}),l.jsx(ze,{variant:Wf(D),children:Tn(D.status)||IO(D.flow_type)})]}),l.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[l.jsx(ze,{variant:"gray",children:Ku(D.route)}),D.gateway?l.jsx(ze,{variant:"green",children:D.gateway}):null]})]},D.id))})]},N.phase))}):Q?l.jsx(FO,{title:_r?"Preview summary available":"Preview trace still arriving",body:_r?"We already found the preview summary for this run, but the step-by-step timeline has not been flushed yet. The modal is still polling for detailed preview events.":"This preview was just logged. The modal is polling every second and will populate once the analytics writer flushes the trace."}):l.jsx(Xu,{title:"No preview trace captured yet",body:"Run Rule-Based or Volume Split evaluation first, then open the preview trace once the request has been logged."})})]}),l.jsxs("div",{className:"flex min-h-0 flex-col",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:kt?Yu(kt):"Preview Inspector"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:kt?`${Ku(kt.route)} · ${qu(kt.created_at_ms)}`:"Select an event from the left to inspect the preview payload."})]}),l.jsxs("div",{className:"flex flex-wrap gap-2",children:[kt!=null&&kt.gateway?l.jsx(ze,{variant:"green",children:kt.gateway}):null,kt!=null&&kt.status?l.jsx(ze,{variant:Wf(kt),children:Tn(kt.status)}):null]})]}),l.jsx("div",{className:"mt-4 flex flex-wrap gap-2",children:["summary","input","response","raw"].map(N=>l.jsx("button",{type:"button",onClick:()=>mt(N),className:`rounded-full px-4 py-2 text-xs font-semibold uppercase tracking-[0.16em] transition ${_o(dt===N)}`,children:N==="raw"?"Raw JSON":Tn(N)},N))})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-5",children:st.isLoading&&!st.data?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading preview inspector…"]}):po?l.jsxs("div",{className:"space-y-5",children:[dt==="summary"?l.jsxs(l.Fragment,{children:[l.jsx(zO,{rows:po.summaryRows}),l.jsx(Fa,{title:"Preview Signals",value:po.signalRecord,emptyMessage:"No extra preview metadata was captured for this evaluation."})]}):null,dt==="input"?l.jsx(Fa,{title:"Request Payload",value:po.requestPayload,emptyMessage:"No request payload was captured for this preview."}):null,dt==="response"?l.jsx(Fa,{title:"Response Payload",value:po.responsePayload,emptyMessage:"No response payload was captured for this preview."}):null,dt==="raw"?l.jsx(Fa,{title:"Raw Event JSON",value:po.rawEvent,emptyMessage:"No raw event payload is available for this preview."}):null]}):Q&&!((Q1=(J1=st.data)==null?void 0:J1.timeline)!=null&&Q1.length)?l.jsx(FO,{title:_r?"Waiting for detailed preview step":"Waiting for preview step",body:_r?"The preview record exists, but no inspectable step payload has arrived yet. The inspector will unlock as soon as the first timeline event is available.":"Inspector will unlock as soon as the first preview event is available."}):l.jsx(Xu,{title:"Select a preview step",body:"Choose one of the preview events on the left to inspect its request and response payload."})})]})]})]})]})]})}function Qle(){const{merchantId:e}=Nn(),{data:t,error:r,isLoading:n,isEnabled:a,setDebitRoutingEnabled:i}=hR(e),[s,o]=S.useState(!1),[u,c]=S.useState(null),[f,d]=S.useState(null);async function p(h){if(!e){c("Set a merchant ID first");return}o(!0),c(null),d(null);try{const x=await i(h);d(x.debit_routing_enabled?"Debit routing enabled for this merchant.":"Debit routing disabled for this merchant.")}catch(x){c(x instanceof Error?x.message:"Failed to update debit routing")}finally{o(!1)}}return l.jsxs("div",{className:"max-w-3xl space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold text-slate-900 dark:text-white",children:"Network / Debit Routing"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#b2bdd1]",children:"Enable debit network routing for a merchant, then test real network-routing decisions from Decision Explorer."})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Kh,{size:16,className:"text-brand-500"}),l.jsxs("div",{children:[l.jsx(an,{children:"Merchant feature flag"}),l.jsx("h2",{className:"mt-2 font-medium text-slate-800 dark:text-white",children:"Debit Routing Runtime Access"})]})]})}),l.jsxs(Be,{className:"space-y-5",children:[!e&&l.jsx("p",{className:"rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-700",children:"Set a merchant ID in the top bar to load debit routing access."}),e&&n?l.jsxs("div",{className:"flex items-center gap-2 py-4 text-sm text-slate-500",children:[l.jsx(Ft,{size:16}),"Loading debit routing flag..."]}):l.jsx("div",{className:"rounded-[24px] border border-slate-200 bg-slate-50 p-5 dark:border-[#232833] dark:bg-[#0b1017]",children:l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-slate-400 dark:text-[#6d768a]",children:"Current state"}),l.jsx("p",{className:"mt-2 text-2xl font-semibold text-slate-900 dark:text-white",children:a?"Enabled":"Disabled"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#9ca7ba]",children:(t==null?void 0:t.merchant_id)||e||"No merchant selected"})]}),l.jsx(Ae,{onClick:()=>p(!a),disabled:!e||s||n,variant:a?"secondary":"primary",children:s?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14}),"Updating..."]}):a?"Disable Debit Routing":"Enable Debit Routing"})]})}),l.jsx(Nr,{error:u||(r instanceof Error?r.message:r?"Failed to load debit routing flag":null)}),f&&l.jsx("p",{className:"text-sm text-emerald-500",children:f})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"font-medium text-slate-800 dark:text-white",children:"What This Controls"})}),l.jsxs(Be,{className:"space-y-3 text-sm text-slate-600 dark:text-[#aab5c8]",children:[l.jsxs("p",{children:["This toggle controls the backend runtime gate for ",l.jsx("code",{className:"rounded bg-slate-100 px-1.5 py-0.5 text-xs text-brand-600 dark:bg-[#111118]",children:"NtwBasedRouting"})," and hybrid debit routing."]}),l.jsx("p",{children:"Detailed debit fee tables and network cost configuration are still backend configuration, not dashboard-editable rule config. This page only enables or disables merchant access to the runtime debit-routing flow."}),l.jsxs("p",{children:["Use Decision Explorer's Debit Routing tab to send a real ",l.jsx("code",{className:"rounded bg-slate-100 px-1.5 py-0.5 text-xs text-brand-600 dark:bg-[#111118]",children:"/decide-gateway"})," request and inspect the ranked debit networks."]})]})]})]})}function eue(){for(var e=arguments.length,t=new Array(e),r=0;rn=>{t.forEach(a=>a(n))},t)}const vg=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function fu(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function O1(e){return"nodeType"in e}function dn(e){var t,r;return e?fu(e)?e:O1(e)&&(t=(r=e.ownerDocument)==null?void 0:r.defaultView)!=null?t:window:window}function N1(e){const{Document:t}=dn(e);return e instanceof t}function Hd(e){return fu(e)?!1:e instanceof dn(e).HTMLElement}function _R(e){return e instanceof dn(e).SVGElement}function pu(e){return e?fu(e)?e.document:O1(e)?N1(e)?e:Hd(e)||_R(e)?e.ownerDocument:document:document:document}const Ra=vg?S.useLayoutEffect:S.useEffect;function A1(e){const t=S.useRef(e);return Ra(()=>{t.current=e}),S.useCallback(function(){for(var r=arguments.length,n=new Array(r),a=0;a{e.current=setInterval(n,a)},[]),r=S.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,r]}function wd(e,t){t===void 0&&(t=[e]);const r=S.useRef(e);return Ra(()=>{r.current!==e&&(r.current=e)},t),r}function Gd(e,t){const r=S.useRef();return S.useMemo(()=>{const n=e(r.current);return r.current=n,n},[...t])}function Jh(e){const t=A1(e),r=S.useRef(null),n=S.useCallback(a=>{a!==r.current&&(t==null||t(a,r.current)),r.current=a},[]);return[r,n]}function rb(e){const t=S.useRef();return S.useEffect(()=>{t.current=e},[e]),t.current}let Gy={};function qd(e,t){return S.useMemo(()=>{if(t)return t;const r=Gy[e]==null?0:Gy[e]+1;return Gy[e]=r,e+"-"+r},[e,t])}function jR(e){return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),a=1;a{const o=Object.entries(s);for(const[u,c]of o){const f=i[u];f!=null&&(i[u]=f+e*c)}return i},{...t})}}const ol=jR(1),_d=jR(-1);function rue(e){return"clientX"in e&&"clientY"in e}function E1(e){if(!e)return!1;const{KeyboardEvent:t}=dn(e.target);return t&&e instanceof t}function nue(e){if(!e)return!1;const{TouchEvent:t}=dn(e.target);return t&&e instanceof t}function nb(e){if(nue(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:r}=e.touches[0];return{x:t,y:r}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:r}=e.changedTouches[0];return{x:t,y:r}}}return rue(e)?{x:e.clientX,y:e.clientY}:null}const jd=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:r}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(r?Math.round(r):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:r}=e;return"scaleX("+t+") scaleY("+r+")"}},Transform:{toString(e){if(e)return[jd.Translate.toString(e),jd.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:r,easing:n}=e;return t+" "+r+"ms "+n}}}),BO="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function aue(e){return e.matches(BO)?e:e.querySelector(BO)}const iue={display:"none"};function sue(e){let{id:t,value:r}=e;return P.createElement("div",{id:t,style:iue},r)}function oue(e){let{id:t,announcement:r,ariaLiveType:n="assertive"}=e;const a={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return P.createElement("div",{id:t,style:a,role:"status","aria-live":n,"aria-atomic":!0},r)}function lue(){const[e,t]=S.useState("");return{announce:S.useCallback(n=>{n!=null&&t(n)},[]),announcement:e}}const SR=S.createContext(null);function uue(e){const t=S.useContext(SR);S.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function cue(){const[e]=S.useState(()=>new Set),t=S.useCallback(n=>(e.add(n),()=>e.delete(n)),[e]);return[S.useCallback(n=>{let{type:a,event:i}=n;e.forEach(s=>{var o;return(o=s[a])==null?void 0:o.call(s,i)})},[e]),t]}const due={draggable:` + */const PO=Xe("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function Li(e){return e.toString().padStart(2,"0")}function jle(e){return`${e.getFullYear()}-${Li(e.getMonth()+1)}-${Li(e.getDate())}T${Li(e.getHours())}:${Li(e.getMinutes())}`}function Sle(e){const t=new Date(e);return Number.isFinite(t.getTime())?t:null}function kle(e){return e?new Intl.DateTimeFormat(void 0,{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"}).format(e):"Select date and time"}function Ole(e){return new Intl.DateTimeFormat(void 0,{month:"long",year:"numeric"}).format(e)}function Nle(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function Ale(e){const t=new Date(e.getFullYear(),e.getMonth(),1),r=t.getDay(),n=new Date(t);return n.setDate(n.getDate()-r),Array.from({length:42},(a,i)=>{const s=new Date(n);return s.setDate(n.getDate()+i),{key:`${s.getFullYear()}-${s.getMonth()}-${s.getDate()}`,date:s,inMonth:s.getMonth()===e.getMonth()}})}function Xh({value:e,onChange:t,className:r=""}){const n=S.useRef(null),a=S.useMemo(()=>Sle(e),[e]),[i,s]=S.useState(!1),[o,u]=S.useState(a||new Date),[c,f]=S.useState(a||new Date);S.useEffect(()=>{a&&(u(a),f(new Date(a.getFullYear(),a.getMonth(),1)))},[a==null?void 0:a.getTime()]),S.useEffect(()=>{if(!i)return;function g(m){var w;(w=n.current)!=null&&w.contains(m.target)||s(!1)}function y(m){m.key==="Escape"&&s(!1)}return document.addEventListener("mousedown",g),document.addEventListener("keydown",y),()=>{document.removeEventListener("mousedown",g),document.removeEventListener("keydown",y)}},[i]);const d=S.useMemo(()=>Ale(c),[c]);function p(g){u(y=>{const m=new Date(g);return m.setHours(y.getHours(),y.getMinutes(),0,0),m})}function h(g,y){u(m=>{const w=new Date(m);return g==="hours"?w.setHours(Number(y)):w.setMinutes(Number(y)),w})}function x(){t(jle(o)),s(!1)}function v(){const g=new Date;u(g),f(new Date(g.getFullYear(),g.getMonth(),1))}return l.jsxs("div",{ref:n,className:`relative ${r}`,children:[l.jsxs("button",{type:"button",onClick:()=>{if(!i){const g=a||new Date;u(g),f(new Date(g.getFullYear(),g.getMonth(),1))}s(g=>!g)},className:"flex h-11 w-full items-center justify-between gap-3 rounded-2xl border border-slate-200 bg-white/90 px-4 text-left text-sm text-slate-700 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.2)] transition focus:outline-none focus:ring-2 focus:ring-brand-500/20 dark:border-[#2a303a] dark:bg-[#161b24] dark:text-[#e5ecf7] dark:shadow-none",children:[l.jsx("span",{className:"truncate",children:kle(a)}),l.jsx(nle,{size:16,className:"shrink-0 text-slate-400 dark:text-[#8a8a93]"})]}),i?l.jsxs("div",{className:"absolute left-0 top-[calc(100%+10px)] z-[80] w-[284px] rounded-[24px] border border-slate-200 bg-white/95 p-3 shadow-[0_24px_70px_-40px_rgba(15,23,42,0.45)] backdrop-blur dark:border-[#2a303a] dark:bg-[#11151d]/95 dark:shadow-[0_24px_70px_-40px_rgba(0,0,0,0.7)]",children:[l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-[13px] font-semibold text-slate-900 dark:text-white",children:Ole(c)}),l.jsx("p",{className:"mt-1 text-[11px] text-slate-500 dark:text-[#8a8a93]",children:"Choose a day and time"})]}),l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx("button",{type:"button",onClick:()=>f(g=>new Date(g.getFullYear(),g.getMonth()-1,1)),className:"flex h-7 w-7 items-center justify-center rounded-full border border-slate-200 text-slate-500 transition hover:border-slate-300 hover:text-slate-900 dark:border-[#2a303a] dark:text-[#8a8a93] dark:hover:text-white",children:l.jsx(ile,{size:14})}),l.jsx("button",{type:"button",onClick:()=>f(g=>new Date(g.getFullYear(),g.getMonth()+1,1)),className:"flex h-7 w-7 items-center justify-center rounded-full border border-slate-200 text-slate-500 transition hover:border-slate-300 hover:text-slate-900 dark:border-[#2a303a] dark:text-[#8a8a93] dark:hover:text-white",children:l.jsx(sle,{size:14})})]})]}),l.jsx("div",{className:"mt-3 grid grid-cols-7 gap-1 text-center text-[10px] font-semibold uppercase tracking-[0.14em] text-slate-400 dark:text-[#667085]",children:["S","M","T","W","T","F","S"].map(g=>l.jsx("span",{className:"py-2",children:g},g))}),l.jsx("div",{className:"grid grid-cols-7 gap-1",children:d.map(g=>{const y=Nle(g.date,o);return l.jsx("button",{type:"button",onClick:()=>p(g.date),className:`flex h-9 items-center justify-center rounded-lg text-[13px] transition ${y?"bg-brand-600 text-white shadow-[0_12px_30px_-22px_rgba(59,130,246,0.7)] dark:bg-brand-500 dark:text-white":g.inMonth?"text-slate-700 hover:bg-slate-100 dark:text-[#e5ecf7] dark:hover:bg-[#1a2130]":"text-slate-300 hover:bg-slate-100 dark:text-[#4b5565] dark:hover:bg-[#161b24]"}`,children:g.date.getDate()},g.key)})}),l.jsxs("div",{className:"mt-3 rounded-[18px] border border-slate-200 bg-slate-50/70 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:[l.jsxs("div",{className:"mb-2 flex items-center gap-2",children:[l.jsx(J0,{size:13,className:"text-slate-400 dark:text-[#8a8a93]"}),l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Time"})]}),l.jsxs("div",{className:"grid grid-cols-[1fr_auto_1fr] items-center gap-2",children:[l.jsx("select",{value:Li(o.getHours()),onChange:g=>h("hours",g.target.value),className:"h-9 rounded-xl border border-slate-200 bg-white/90 px-3 text-sm text-slate-700 dark:border-[#2a303a] dark:bg-[#11151d] dark:text-[#e5ecf7]",children:Array.from({length:24},(g,y)=>Li(y)).map(g=>l.jsx("option",{value:g,children:g},g))}),l.jsx("span",{className:"text-sm font-semibold text-slate-400 dark:text-[#8a8a93]",children:":"}),l.jsx("select",{value:Li(o.getMinutes()),onChange:g=>h("minutes",g.target.value),className:"h-9 rounded-xl border border-slate-200 bg-white/90 px-3 text-sm text-slate-700 dark:border-[#2a303a] dark:bg-[#11151d] dark:text-[#e5ecf7]",children:Array.from({length:60},(g,y)=>Li(y)).map(g=>l.jsx("option",{value:g,children:g},g))})]})]}),l.jsxs("div",{className:"mt-3 flex items-center justify-between gap-2",children:[l.jsx(Ae,{size:"sm",variant:"ghost",onClick:v,children:"Now"}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>s(!1),children:"Cancel"}),l.jsx(Ae,{size:"sm",onClick:x,children:"Apply"})]})]})]}):null]})}const CO=[{value:"15m",label:"Last 15 mins"},{value:"1h",label:"Last 1 hour"},{value:"12h",label:"Last 12 hours"},{value:"1d",label:"Last 1 day"},{value:"1w",label:"Last 1 week"},{value:"custom",label:"Custom window"}],Cn=["#0069ED","#14b8a6","#f97316","#e11d48","#8b5cf6","#22c55e"],Lf={backgroundColor:"#0d0d12",border:"1px solid #1c1c24",borderRadius:"14px",color:"#e8e8f4",boxShadow:"0 16px 40px rgba(0, 0, 0, 0.35)"},Ff={color:"#f8fafc",fontWeight:600,marginBottom:8},zf={color:"#e2e8f0"},Bf={zIndex:30,outline:"none"},TO={dimensions:{},gateways:[]},Ru=3,Dy=50,Ele=5,Ly=10,bo={hits:{title:"API call counts",purpose:"Use these cards to see how much traffic each major decision-engine API handled in the selected window.",calculation:"Each request records one lightweight API-call event. The cards count those recorded calls for the endpoints surfaced in the current view.",source:"Counts come from ClickHouse-backed API analytics rows ingested from Kafka into `analytics_api_events`."},share:{title:"Gateway share over time",purpose:"Use this to see when traffic shifted from one connector to another for the selected merchant.",calculation:"Decision events are bucketed by time and grouped by chosen connector. The chart shows how many decisions each gateway captured in each bucket.",source:"Reads ClickHouse-backed domain analytics rows from `analytics_domain_events`."},sr:{title:"Connector success rate over time",purpose:"Use this to explain why a connector won routing at a given time, based on the recorded historical score trail.",calculation:"Stored `score_snapshot` events are bucketed over the selected window and averaged per connector. The line values are displayed as percentages.",source:"Reads ClickHouse-backed `score_snapshot` analytics rows from `analytics_domain_events`. The current score state still originates from Redis-backed scoring flows."},preview_hits:{title:"Rule-based summary",purpose:"Use these cards to distinguish preview request volume from the connector coverage produced by rule-based routing.",calculation:"Rule Evaluate counts come from request-hit analytics for `/routing/evaluate`. Gateway coverage counts the unique connectors selected in the fetched preview sample.",source:"Reads `request_hit` and `rule_evaluation_preview` analytics associated with preview routing activity."},preview_activity:{title:"Connector selections over time",purpose:"Use this to see which connectors were selected in each time bucket inside the selected preview window.",calculation:"Returned preview traces are bucketed by time using each trace's latest activity timestamp, then grouped by latest selected connector. The chart shows connector counts per bucket.",source:"Reads `rule_evaluation_preview` activity through `/analytics/preview-trace`."},preview_share:{title:"Rule-based gateway selection mix",purpose:"Use this to see which connectors dominate the fetched rule-preview sample, separate from real transaction decisions.",calculation:"Returned preview traces are grouped by latest selected connector and displayed as share of the fetched preview sample.",source:"Reads `rule_evaluation_preview` activity through `/analytics/preview-trace`."}};function dR(e){const t=new URLSearchParams;return Object.entries(e).forEach(([r,n])=>{n!==void 0&&n!==""&&t.set(r,String(n))}),t.toString()}function Fy(e,t,r,n){const a={range:t==="custom"?"1h":t,start_ms:r==null?void 0:r.start_ms,end_ms:r==null?void 0:r.end_ms,gateway:n!=null&&n.gateways.length?n.gateways.join(","):void 0};Object.entries((n==null?void 0:n.dimensions)||{}).forEach(([s,o])=>{o&&(a[s]=o)});const i=dR(a);return i?`${e}?${i}`:e}function Q0(e,t,r,n){const a={range:e==="custom"?"1h":e,start_ms:n==null?void 0:n.start_ms,end_ms:n==null?void 0:n.end_ms,page:t,page_size:r},i=dR(a);return i?`/analytics/preview-trace?${i}`:"/analytics/preview-trace"}async function Ple(e,t){const r=await nn(Q0(e,1,Dy,t)),n=Math.min(Math.ceil(r.total_results/Dy),Ele);if(n<=1)return r;const a=await Promise.all(Array.from({length:n-1},(i,s)=>nn(Q0(e,s+2,Dy,t))));return{...r,results:[r.results,...a.map(i=>i.results)].flat()}}function Zh(e,t=2){if(e==null||Number.isNaN(Number(e)))return"0";const r=Number(e);return Number.isInteger(r)?r.toString():r.toFixed(t)}function fR(e){return Number.isFinite(e)?e<=1?e*100:e:0}function Uf(e,t=1){return e==null||Number.isNaN(Number(e))?"0%":`${Zh(fR(Number(e)),t)}%`}function Cle(e,t){const r=Math.max(0,t.end_ms-t.start_ms);return r<=24*60*60*1e3?new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit"}).format(new Date(e)):r<=7*24*60*60*1e3?new Intl.DateTimeFormat(void 0,{day:"numeric",month:"short",hour:"2-digit"}).format(new Date(e)):new Intl.DateTimeFormat(void 0,{day:"numeric",month:"short"}).format(new Date(e))}function vs(e){return new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(e))}function Tle(e,t){const r=t?t.end_ms-t.start_ms:e==="15m"?9e5:e==="1h"?36e5:e==="12h"?432e5:e==="1d"?864e5:6048e5;return r<=15*60*1e3?60*1e3:r<=60*60*1e3?5*60*1e3:r<=12*60*60*1e3||r<=24*60*60*1e3?60*60*1e3:24*60*60*1e3}function eb(e,t){return e-e%Math.max(1,t)}function zy(e,t){const r=[],n=Math.max(1,t),a=eb(e.start_ms,n),i=eb(e.end_ms,n);for(let s=a;s<=i;s+=n)r.push(s);return r}function $O(e){const t=Date.now(),r=e==="15m"?15*60*1e3:e==="1h"?60*60*1e3:e==="12h"?12*60*60*1e3:e==="1d"?24*60*60*1e3:7*24*60*60*1e3;return{start_ms:t-r,end_ms:t}}function Vf(e){const t=new Date(e),r=n=>n.toString().padStart(2,"0");return`${t.getFullYear()}-${r(t.getMonth()+1)}-${r(t.getDate())}T${r(t.getHours())}:${r(t.getMinutes())}`}function RO(e){const t=new Date(e).getTime();return Number.isFinite(t)?t:null}function bi({title:e,body:t}){return l.jsxs("div",{className:"rounded-[24px] border border-dashed border-slate-200 bg-white/60 px-6 py-12 text-center dark:border-[#222227] dark:bg-[#0b0b0d]",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:t})]})}function Iu({title:e,body:t}){return l.jsxs("div",{className:"rounded-[24px] border border-slate-200 bg-white/60 px-6 py-12 text-center dark:border-[#222227] dark:bg-[#0b0b0d]",children:[l.jsx("div",{className:"flex justify-center",children:l.jsx(Ft,{size:20})}),l.jsx("p",{className:"mt-4 text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:t})]})}function $le({label:e}){return l.jsxs("div",{className:"overflow-hidden rounded-[22px] border border-brand-500/20 bg-white shadow-[0_10px_30px_-24px_rgba(0,105,237,0.9)] dark:bg-[#0c0c0e]",children:[l.jsx("div",{className:"h-2 w-full bg-brand-500/15",children:l.jsx("div",{className:"h-full origin-left animate-[analytics-progress_1.8s_ease-in-out_infinite] rounded-r-full bg-brand-500"})}),l.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-3",children:[l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:e}),l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-brand-600 dark:text-brand-300",children:"Loading"})]})]})}function Rle(){return"h-11 w-full rounded-2xl border border-slate-200 bg-white px-4 text-sm text-slate-700 shadow-sm outline-none transition focus:border-brand-500 focus:ring-2 focus:ring-brand-500/20 dark:border-[#27272a] dark:bg-[#121214] dark:text-[#e5e7eb]"}function By(e){return e?"!border-slate-200 !bg-white !text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.28)] dark:!border-[#2a303a] dark:!bg-[#161b24] dark:!text-white":"!border-transparent !bg-slate-100 !text-slate-600 hover:!bg-slate-200 hover:!text-slate-900 dark:!bg-[#161b24] dark:!text-[#a7b2c6] dark:hover:!bg-[#1c2330] dark:hover:!text-white"}function wo({content:e}){const[t,r]=S.useState(!1),n=S.useRef(null),[a,i]=S.useState({top:0,left:0,width:320});return S.useEffect(()=>{if(!t)return;function s(o){var u;(u=n.current)!=null&&u.contains(o.target)||r(!1)}return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[t]),S.useLayoutEffect(()=>{if(!t||!n.current)return;const s=320,o=280,u=16,c=12;function f(){if(!n.current)return;const d=n.current.getBoundingClientRect(),p=Math.min(s,window.innerWidth-u*2),h=Math.min(Math.max(d.right-p,u),window.innerWidth-p-u),v=d.bottom+c+o>window.innerHeight-u?Math.max(d.top-o-c,u):d.bottom+c;i({top:v,left:h,width:p})}return f(),window.addEventListener("resize",f),window.addEventListener("scroll",f,!0),()=>{window.removeEventListener("resize",f),window.removeEventListener("scroll",f,!0)}},[t]),l.jsxs("div",{ref:n,className:"relative shrink-0",children:[l.jsx("button",{type:"button","aria-label":`About ${e.title}`,onClick:()=>r(s=>!s),className:`flex h-7 w-7 items-center justify-center rounded-full border text-xs font-semibold transition ${t?"border-brand-500/50 bg-brand-500/10 text-brand-700 dark:text-brand-200":"border-slate-200 bg-white text-slate-500 hover:border-slate-300 hover:text-slate-900 dark:border-[#27272a] dark:bg-[#121214] dark:text-[#8a8a93] dark:hover:text-white"}`,children:"i"}),t?l.jsxs("div",{style:{position:"fixed",top:a.top,left:a.left,width:a.width},className:"z-[120] rounded-[24px] border border-slate-200 bg-white/95 p-4 shadow-2xl backdrop-blur dark:border-[#1d1d23] dark:bg-[#09090d]/95",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e.title}),l.jsxs("div",{className:"mt-3 space-y-3 text-xs leading-6 text-slate-600 dark:text-[#b3b3bd]",children:[l.jsxs("div",{children:[l.jsx("p",{className:"font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Why it matters"}),l.jsx("p",{className:"mt-1",children:e.purpose})]}),l.jsxs("div",{children:[l.jsx("p",{className:"font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"How it is calculated"}),l.jsx("p",{className:"mt-1",children:e.calculation})]}),l.jsxs("div",{children:[l.jsx("p",{className:"font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Data source"}),l.jsx("p",{className:"mt-1",children:e.source})]})]})]}):null]})}function Uy({label:e,value:t,subtitle:r,eyebrow:n="Endpoint hits"}){return l.jsx(Se,{className:"h-full overflow-hidden",children:l.jsxs(Be,{className:"flex h-full min-h-[150px] flex-col justify-between",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:n}),l.jsx("p",{className:"text-lg font-semibold text-slate-900 dark:text-white",children:e})]}),l.jsxs("div",{className:"flex items-end justify-between gap-4",children:[l.jsx("p",{className:"text-5xl font-semibold tracking-tight text-slate-950 dark:text-white",children:Zh(t,0)}),l.jsx(ze,{variant:"blue",children:r})]})]})})}function Ile(e){return e==="/decide_gateway"?"Decide Gateway":e==="/update_gateway"?"Update Gateway":e==="/rule_evaluate"?"Rule Evaluate":e}function Mle(){var Pt,Ye,Br,st,Ct,Tt,qn,Gt,fn,mr,Zr,ma,ga,pn,Kn,Da,Yd,Xd,Zd,Jd,Qd,fs,fo,ps;const{merchantId:e}=Nn(),t=ua(F=>{var re;return((re=F.user)==null?void 0:re.merchantId)||""}),r=e||t,[n,a]=S.useState("1h"),[i,s]=S.useState("transactions"),[o,u]=S.useState(TO),[c,f]=S.useState(!1),[d,p]=S.useState(1),[h,x]=S.useState(()=>Vf(Date.now()-2*60*60*1e3)),[v,g]=S.useState(()=>Vf(Date.now())),y=S.useMemo(()=>{if(n!=="custom")return;const F=RO(h),re=RO(v);if(!(F===null||re===null||re<=F))return{start_ms:F,end_ms:re}},[v,h,n]),m=n!=="custom"||y?Fy("/analytics/overview",n,y):null,w=n!=="custom"||y?Fy("/analytics/routing-stats",n,y):null,j=n!=="custom"||y?Fy("/analytics/routing-stats",n,y,o):null,b=n!=="custom"||y?["preview-trace-analytics",n,(y==null?void 0:y.start_ms)??null,(y==null?void 0:y.end_ms)??null]:null,_=n!=="custom"||y?Q0(n,d,Ly,y):null,k={revalidateOnFocus:!1,revalidateIfStale:!1},O={revalidateOnFocus:!1,revalidateIfStale:!1},E={...O,keepPreviousData:!0},T={revalidateOnFocus:!1,revalidateIfStale:!1,keepPreviousData:!0},R=Xt(m,nn,k),N=Xt(w,nn,O),$=Xt(j,nn,E),I=Xt(b,async F=>{const[,re,me,Le]=F;return Ple(re,me!==null&&Le!==null?{start_ms:Number(me),end_ms:Number(Le)}:void 0)},{revalidateOnFocus:!1,revalidateIfStale:!1}),L=Xt(_,nn,T),V=!R.data&&R.isLoading||!N.data&&N.isLoading||!$.data&&$.isLoading,H=!R.data&&R.isLoading||!I.data&&I.isLoading,M=((Pt=R.error)==null?void 0:Pt.message)||((Ye=N.error)==null?void 0:Ye.message)||((Br=$.error)==null?void 0:Br.message)||null,B=((st=R.error)==null?void 0:st.message)||((Ct=I.error)==null?void 0:Ct.message)||((Tt=L.error)==null?void 0:Tt.message)||null,W=i==="transactions"?V:H,G=i==="transactions"?M:B,K=!V&&(R.isValidating||N.isValidating||$.isValidating),ee=!H&&(R.isValidating||I.isValidating||L.isValidating),q=i==="transactions"?K:ee,le={dimensions:((Gt=(qn=N.data)==null?void 0:qn.available_filters)==null?void 0:Gt.dimensions)||((mr=(fn=$.data)==null?void 0:fn.available_filters)==null?void 0:mr.dimensions)||[],missing_dimensions:((ma=(Zr=N.data)==null?void 0:Zr.available_filters)==null?void 0:ma.missing_dimensions)||((pn=(ga=$.data)==null?void 0:ga.available_filters)==null?void 0:pn.missing_dimensions)||[],gateways:((Da=(Kn=N.data)==null?void 0:Kn.available_filters)==null?void 0:Da.gateways)||((Xd=(Yd=$.data)==null?void 0:Yd.available_filters)==null?void 0:Xd.gateways)||[]},ge=S.useMemo(()=>new Map(le.dimensions.map(F=>[F.key,F])),[le.dimensions]);S.useEffect(()=>{u(F=>{const re=Object.fromEntries(Object.entries(F.dimensions).filter(([Le,tt])=>{if(!tt)return!1;const Ke=ge.get(Le);return Ke?Ke.values.includes(tt):!1})),me=F.gateways.filter(Le=>le.gateways.includes(Le));return Object.keys(re).length===Object.keys(F.dimensions).length&&Object.entries(re).every(([Le,tt])=>F.dimensions[Le]===tt)&&me.length===F.gateways.length&&me.every((Le,tt)=>Le===F.gateways[tt])?F:{dimensions:re,gateways:me}})},[ge,le.gateways]),S.useEffect(()=>{le.dimensions.length<=Ru&&c&&f(!1)},[le.dimensions.length,c]),S.useEffect(()=>{p(1)},[n,y==null?void 0:y.start_ms,y==null?void 0:y.end_ms]);const $e=S.useMemo(()=>{var F;return n!=="custom"?((F=CO.find(re=>re.value===n))==null?void 0:F.label)||"Selected window":y?`${vs(y.start_ms)} to ${vs(y.end_ms)}`:"Custom window"},[y,n]),Pe=S.useMemo(()=>y||$O(n),[y,n]),J=S.useMemo(()=>{var re,me;const F=[{route:"/decide_gateway",count:0},{route:"/update_gateway",count:0},{route:"/rule_evaluate",count:0}];return(me=(re=R.data)==null?void 0:re.route_hits)!=null&&me.length?F.map(Le=>{var tt,Ke;return{...Le,count:((Ke=(tt=R.data)==null?void 0:tt.route_hits.find(it=>it.route===Le.route))==null?void 0:Ke.count)||0}}):F},[R.data]),ue=S.useMemo(()=>J.filter(F=>F.route!=="/rule_evaluate"),[J]),de=S.useMemo(()=>{var F;return((F=J.find(re=>re.route==="/rule_evaluate"))==null?void 0:F.count)||0},[J]),X=((Zd=I.data)==null?void 0:Zd.results)||[],we=((Jd=L.data)==null?void 0:Jd.results)||[],ye=S.useMemo(()=>{const F=new Map;for(const re of X){const me=re.latest_gateway||"No gateway selected";F.set(me,(F.get(me)||0)+1)}return Array.from(F.entries()).map(([re,me])=>({gateway:re,count:me})).sort((re,me)=>me.count-re.count).slice(0,6)},[X]),qe=S.useMemo(()=>{const F=new Map;for(const re of X){const me=re.latest_status||"unknown";F.set(me,(F.get(me)||0)+1)}return Array.from(F.entries()).map(([re,me])=>({status:re,count:me})).sort((re,me)=>me.count-re.count)},[X]),De=S.useMemo(()=>Tle(n,y),[y,n]),ke=S.useMemo(()=>F=>Cle(Number(F),Pe),[Pe]),Re=S.useMemo(()=>{const F=ye.map(me=>me.gateway).slice(0,6),re=new Map;for(const me of zy(Pe,De))re.set(me,F.reduce((Le,tt)=>(Le[tt]=0,Le),{bucket_ms:me}));for(const me of X){const Le=me.latest_gateway||"No gateway selected";if(!F.includes(Le))continue;const tt=eb(me.last_seen_ms,De),Ke=re.get(tt)||F.reduce((it,Ze)=>(it[Ze]=0,it),{bucket_ms:tt});Ke[Le]=(Ke[Le]||0)+1,re.set(tt,Ke)}return{gateways:F,rows:Array.from(re.values()).sort((me,Le)=>me.bucket_ms-Le.bucket_ms)}},[De,Pe,X,ye]),Ie=(Qd=X[0])==null?void 0:Qd.last_seen_ms,Oe=((fs=L.data)==null?void 0:fs.total_results)||0,Ge=Math.max(1,Math.ceil(Oe/Ly)),We=Oe?(d-1)*Ly+1:0,C=Oe?We+we.length-1:0,z=ye.filter(F=>F.gateway!=="No gateway selected").length,U=((fo=ye[0])==null?void 0:fo.count)||1,ae=S.useMemo(()=>{const F=ye.reduce((re,me)=>re+me.count,0);return ye.map((re,me)=>({name:re.gateway,value:re.count,percentage:F?re.count/F*100:0,color:re.gateway==="No gateway selected"?"#64748b":Cn[me%Cn.length]}))},[ye]),te=de>0&&!I.error&&!L.error&&X.length===0&&we.length===0;S.useEffect(()=>{if(!Oe&&d!==1){p(1);return}d>Ge&&p(Ge)},[d,Ge,Oe]);const Q=S.useMemo(()=>{var me,Le;const F=Array.from(new Set((((me=N.data)==null?void 0:me.gateway_share)||[]).map(tt=>tt.gateway))).slice(0,6);if(!F.length)return{gateways:F,rows:[]};const re=new Map;for(const tt of zy(Pe,De))re.set(tt,F.reduce((Ke,it)=>(Ke[it]=0,Ke),{bucket_ms:tt}));for(const tt of((Le=N.data)==null?void 0:Le.gateway_share)||[]){if(!F.includes(tt.gateway))continue;const Ke=re.get(tt.bucket_ms)||F.reduce((it,Ze)=>(it[Ze]=0,it),{bucket_ms:tt.bucket_ms});Ke[tt.gateway]=tt.count,re.set(tt.bucket_ms,Ke)}return{gateways:F,rows:Array.from(re.values()).sort((tt,Ke)=>tt.bucket_ms-Ke.bucket_ms)}},[De,Pe,N.data]),ne=S.useMemo(()=>{var Le,tt;const F=Array.from(new Set((((Le=$.data)==null?void 0:Le.sr_trend)||[]).map(Ke=>Ke.gateway))).slice(0,6);if(!F.length)return{gateways:F,rows:[]};const re=new Map;for(const Ke of zy(Pe,De))re.set(Ke,F.reduce((it,Ze)=>(it[Ze]=null,it),{bucket_ms:Ke}));for(const Ke of((tt=$.data)==null?void 0:tt.sr_trend)||[]){if(!F.includes(Ke.gateway))continue;const it=re.get(Ke.bucket_ms)||F.reduce((Ze,yi)=>(Ze[yi]=null,Ze),{bucket_ms:Ke.bucket_ms});it[Ke.gateway]=fR(Ke.score_value),re.set(Ke.bucket_ms,it)}const me=Array.from(re.values()).sort((Ke,it)=>Number(Ke.bucket_ms)-Number(it.bucket_ms));for(const Ke of F){let it=null,Ze=!1;for(const yi of me){if(typeof yi[Ke]=="number"){it=yi[Ke],Ze=!0;continue}Ze&&(yi[Ke]=it)}}return{gateways:F,rows:me}},[De,Pe,$.data]),_e=S.useMemo(()=>{if(!ne.rows.length)return[];const F=[...ne.rows].reverse().find(re=>ne.gateways.some(me=>typeof re[me]=="number"));return F?ne.gateways.map(re=>({gateway:re,value:typeof F[re]=="number"?F[re]:null})).filter(re=>re.value!==null):[]},[ne]),Ne=S.useMemo(()=>{const F=ne.rows.flatMap(tt=>ne.gateways.map(Ke=>tt[Ke]).filter(Ke=>typeof Ke=="number"));if(!F.length)return[0,100];const re=Math.min(...F),me=Math.max(...F),Le=re===me?5:Math.max(2,(me-re)*.35);return[Math.max(0,Math.floor(re-Le)),Math.min(100,Math.ceil(me+Le))]},[ne]),dt=S.useMemo(()=>{const F=le.dimensions.flatMap(re=>{const me=o.dimensions[re.key];return me?[`${re.label}: ${me}`]:[]});return o.gateways.length&&F.push(o.gateways.join(", ")),F.length?F.join(" / "):"All routing dimensions"},[le.dimensions,o]),mt=S.useMemo(()=>c||le.dimensions.length<=Ru?le.dimensions:le.dimensions.slice(0,Ru),[le.dimensions,c]),Lt=le.dimensions.length>Ru,zr=Lt?le.dimensions.length-Ru:0,Pr=S.useMemo(()=>{const F=le.dimensions.flatMap(me=>{const Le=o.dimensions[me.key];return Le?[{key:`dimension:${me.key}`,label:`${me.label}: ${Le}`}]:[]}),re=o.gateways.map(me=>({key:`gateway:${me}`,label:`Connector: ${me}`}));return[...F,...re]},[le.dimensions,o]);function Cr(F){if(a(F),F!=="custom"){const re=$O(F);x(Vf(re.start_ms)),g(Vf(re.end_ms))}}function Y(){R.mutate(),N.mutate(),$.mutate(),I.mutate(),L.mutate()}function Me(F){u(re=>{const me=re.gateways.includes(F);return{...re,gateways:me?re.gateways.filter(Le=>Le!==F):[...re.gateways,F]}})}function ft(){u(TO)}function Zt(F){if(F.startsWith("dimension:")){pt(F.replace("dimension:",""),"");return}F.startsWith("gateway:")&&Me(F.replace("gateway:",""))}function pt(F,re){u(me=>{const Le={...me.dimensions};return re?Le[F]=re:delete Le[F],{...me,dimensions:Le}})}return l.jsxs("div",{className:"space-y-8 px-5 sm:px-6 lg:px-8 xl:px-10",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900 dark:text-white",children:"Analytics"}),l.jsx(ze,{variant:"green",children:((ps=R.data)==null?void 0:ps.merchant_id)||r||"Signed-in merchant"})]}),l.jsx("p",{className:"text-sm text-slate-500 dark:text-[#8a8a93]",children:i==="transactions"?"One working surface for route volume, connector share, and historical connector success rate.":"Preview-only activity for rule-based routing, separate from transaction decisions and score updates."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2 md:justify-end",children:[l.jsx(Ae,{size:"sm",variant:"ghost",onClick:Y,children:"Refresh"}),l.jsx("div",{className:"flex flex-wrap items-center gap-2 rounded-full border border-slate-200 bg-white/70 p-1 dark:border-[#2a303a] dark:bg-[#11151d]",children:CO.map(F=>l.jsx(Ae,{size:"sm",variant:"secondary",className:By(n===F.value),onClick:()=>Cr(F.value),children:F.value==="custom"?"Custom":F.value},F.value))})]})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",className:By(i==="transactions"),onClick:()=>s("transactions"),children:"Transactions"}),l.jsx(Ae,{size:"sm",variant:"secondary",className:By(i==="rule_based"),onClick:()=>s("rule_based"),children:"Rule-Based"})]}),n==="custom"?l.jsxs(Se,{className:"overflow-visible p-4",children:[l.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[l.jsxs("label",{className:"space-y-2",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Start time"}),l.jsx(Xh,{className:"w-full",value:h,onChange:x})]}),l.jsxs("label",{className:"space-y-2",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"End time"}),l.jsx(Xh,{className:"w-full",value:v,onChange:g})]})]}),y?null:l.jsx("p",{className:"mt-3 text-xs text-red-500",children:"Choose an end time after the start time."})]}):null,l.jsx(Nr,{error:G}),W?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading analytics…"]}):null,q?l.jsx($le,{label:i==="transactions"?`Refreshing transaction analytics for ${$e.toLowerCase()}`:`Refreshing rule-based analytics for ${$e.toLowerCase()}`}):null,l.jsxs("div",{className:"relative",children:[q?l.jsx("div",{className:"pointer-events-none absolute inset-0 z-20 rounded-[28px] bg-white/45 backdrop-blur-[1px] dark:bg-[#050507]/45"}):null,i==="transactions"?l.jsxs("div",{className:q?"transition-opacity duration-200 opacity-60 space-y-6":"transition-opacity duration-200 opacity-100 space-y-6",children:[l.jsxs("section",{className:"space-y-5",children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-lg font-semibold text-slate-900 dark:text-white",children:"API calls"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#8a8a93]",children:"Counts for the decision and feedback surfaces tied to real transaction flow."})]}),l.jsx(wo,{content:bo.hits})]}),l.jsx("div",{className:"grid gap-5 lg:grid-cols-2",children:ue.map(F=>l.jsx(Uy,{label:Ile(F.route),value:F.count,subtitle:n==="custom"?"Custom window":$e},F.route))})]}),l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Gateway share over time"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"How decision volume moved across connectors inside the selected merchant window."})]}),l.jsx(wo,{content:bo.share})]})}),l.jsx(Be,{children:Q.rows.length?l.jsx("div",{className:"h-80",children:l.jsx(Ii,{width:"100%",height:"100%",children:l.jsxs(xoe,{data:Q.rows,children:[l.jsx(fp,{strokeDasharray:"3 3",stroke:"#e2e8f0"}),l.jsx(Pa,{dataKey:"bucket_ms",tickFormatter:ke,tick:{fontSize:11}}),l.jsx(Ca,{tick:{fontSize:11}}),l.jsx(Or,{labelFormatter:F=>vs(Number(F)),contentStyle:Lf,labelStyle:Ff,itemStyle:zf,wrapperStyle:Bf}),l.jsx(ia,{}),Q.gateways.map((F,re)=>l.jsx(ds,{type:"monotone",dataKey:F,stackId:"1",stroke:Cn[re%Cn.length],fill:Cn[re%Cn.length],fillOpacity:.24,name:F},F))]})})}):l.jsx(bi,{title:"No gateway share history yet",body:"Send real decide-gateway traffic in the selected window to populate connector share."})})]}),l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Connector success rate over time"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Historical connector score trend for the selected merchant window."}),l.jsxs("p",{className:"mt-2 text-xs font-medium text-slate-600 dark:text-[#b3b3bd]",children:["Active filters: ",dt]})]}),l.jsx(wo,{content:bo.sr})]})}),l.jsxs(Be,{className:"space-y-4",children:[l.jsxs("div",{className:"rounded-[24px] border border-slate-200 bg-white p-4 dark:border-[#1d1d23] dark:bg-[#0c0c0e]",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Connector filters"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Narrow the success-rate line chart by the routing dimensions present for this merchant."})]}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:ft,disabled:!Object.values(o.dimensions).some(Boolean)&&!o.gateways.length,children:"Clear filters"})]}),le.dimensions.length?l.jsxs("div",{className:"mt-4 space-y-3",children:[l.jsx("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-3",children:mt.map(F=>l.jsxs("label",{className:"space-y-2",children:[l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:F.label}),l.jsxs("select",{value:o.dimensions[F.key]||"",onChange:re=>pt(F.key,re.target.value),className:Rle(),disabled:!F.values.length,children:[l.jsxs("option",{value:"",children:["All ",F.label.toLowerCase()]}),F.values.map(re=>l.jsx("option",{value:re,children:re},re))]})]},F.key))}),Lt?l.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-2xl border border-slate-200 bg-white px-4 py-3 dark:border-[#1d1d23] dark:bg-[#09090b]",children:[l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:c?"Showing all routing dimensions available for this merchant.":`${zr} more routing dimension${zr===1?"":"s"} available for this merchant.`}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>f(F=>!F),children:c?"Show fewer filters":"More filters"})]}):null]}):le.missing_dimensions.length?l.jsx(bi,{title:"No populated routing dimensions in this window",body:"The merchant has score history, but none of the dynamic routing dimensions have values recorded in the selected time window yet."}):null,le.missing_dimensions.length?l.jsxs("div",{className:"mt-4 rounded-2xl border border-dashed border-slate-200 bg-white px-4 py-3 dark:border-[#1d1d23] dark:bg-[#09090b]",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"No values in this window yet"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:le.missing_dimensions.map(F=>F.label).join(", ")})]}):null,Pr.length?l.jsxs("div",{className:"mt-4 space-y-2",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Active filters"}),l.jsx("div",{className:"flex flex-wrap gap-2",children:Pr.map(F=>l.jsxs("button",{type:"button",onClick:()=>Zt(F.key),className:"inline-flex items-center gap-2 rounded-full border border-brand-500/30 bg-brand-500/10 px-3 py-1.5 text-xs font-semibold text-brand-700 transition hover:bg-brand-500/15 dark:text-brand-200",children:[l.jsx("span",{children:F.label}),l.jsx("span",{"aria-hidden":"true",children:"×"})]},F.key))})]}):null,l.jsxs("div",{className:"mt-4 space-y-2",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Connectors"}),l.jsx("div",{className:"flex flex-wrap gap-2",children:le.gateways.length?le.gateways.map(F=>{const re=o.gateways.includes(F);return l.jsx("button",{type:"button",onClick:()=>Me(F),className:`rounded-full border px-3 py-1.5 text-xs font-semibold transition ${re?"border-brand-500/50 bg-brand-500/10 text-brand-700 dark:text-brand-200":"border-slate-200 bg-white text-slate-600 hover:border-slate-300 hover:text-slate-900 dark:border-[#27272a] dark:bg-[#121214] dark:text-[#a1a1aa] dark:hover:text-white"}`,children:F},F)}):l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:"No connector history yet for the selected window."})})]})]}),_e.length?l.jsx("div",{className:"flex flex-wrap gap-2",children:_e.map(F=>l.jsxs(ze,{variant:"blue",children:[F.gateway,": ",Uf(F.value)]},F.gateway))}):null,ne.rows.length?l.jsx("div",{className:"h-80",children:l.jsx(Ii,{width:"100%",height:"100%",children:l.jsxs(voe,{data:ne.rows,children:[l.jsx(fp,{strokeDasharray:"3 3",stroke:"#e2e8f0"}),l.jsx(Pa,{dataKey:"bucket_ms",tickFormatter:ke,tick:{fontSize:11}}),l.jsx(Ca,{domain:Ne,tick:{fontSize:11},tickFormatter:F=>`${Zh(Number(F),0)}%`}),l.jsx(Or,{labelFormatter:F=>vs(Number(F)),formatter:(F,re)=>[Uf(F),String(re)],contentStyle:Lf,labelStyle:Ff,itemStyle:zf,wrapperStyle:Bf}),l.jsx(ia,{}),ne.gateways.map((F,re)=>l.jsx(Vd,{type:"monotone",dataKey:F,stroke:Cn[re%Cn.length],strokeWidth:3,dot:!1,activeDot:{r:5},connectNulls:!0,name:F},F))]})})}):l.jsx(bi,{title:"No connector score history yet",body:"Send decide-gateway and update-gateway-score traffic in the selected window to populate connector history."})]})]})]}):l.jsxs("div",{className:q?"transition-opacity duration-200 opacity-60 space-y-6":"transition-opacity duration-200 opacity-100 space-y-6",children:[l.jsxs("section",{className:"space-y-5",children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-lg font-semibold text-slate-900 dark:text-white",children:"Rule-based activity"}),l.jsxs("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#8a8a93]",children:["Preview-only routing activity from ",l.jsx("code",{children:"/routing/evaluate"}),", kept separate from transaction routing and gateway scoring."]})]}),l.jsx(wo,{content:bo.preview_hits})]}),l.jsxs("div",{className:"grid gap-5 lg:grid-cols-2",children:[l.jsx(Uy,{label:"Rule Evaluate",value:de,subtitle:n==="custom"?"Custom window":$e}),l.jsx(Uy,{label:"Gateways touched",value:z,subtitle:"Across recent preview selections",eyebrow:"Preview coverage"})]})]}),l.jsxs("div",{className:"grid gap-5 xl:grid-cols-2",children:[l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Connector selections over time"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Time-bucketed connector counts from the fetched rule-preview sample."})]}),l.jsx(wo,{content:bo.preview_activity})]})}),l.jsx(Be,{children:Re.gateways.length?l.jsx("div",{className:"h-80",children:l.jsx(Ii,{width:"100%",height:"100%",children:l.jsxs(Z0,{data:Re.rows,barGap:6,children:[l.jsx(fp,{strokeDasharray:"3 3",stroke:"#e2e8f0"}),l.jsx(Pa,{dataKey:"bucket_ms",tickFormatter:ke,tick:{fontSize:11}}),l.jsx(Ca,{tick:{fontSize:11}}),l.jsx(Or,{labelFormatter:F=>vs(Number(F)),contentStyle:Lf,labelStyle:Ff,itemStyle:zf,wrapperStyle:Bf}),l.jsx(ia,{}),Re.gateways.map((F,re)=>l.jsx(li,{dataKey:F,stackId:"preview-connectors",fill:F==="No gateway selected"?"#64748b":Cn[re%Cn.length],radius:[6,6,0,0],name:F},F))]})})}):te?l.jsx(Iu,{title:"Processing recent rule previews",body:"Rule evaluate calls have landed, but the preview sample has not been materialized yet. This panel is auto-refreshing and will fill in once analytics catches up."}):l.jsx(bi,{title:"No connector selections yet",body:"Send /routing/evaluate preview traffic in the selected window to populate connector time-series."})})]}),l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Gateway selection mix"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Connector share across the fetched rule-preview sample."})]}),l.jsx(wo,{content:bo.preview_share})]})}),l.jsx(Be,{children:ae.length?l.jsxs("div",{className:"grid gap-4 lg:grid-cols-[minmax(0,1fr)_240px]",children:[l.jsxs("div",{className:"relative h-80",children:[l.jsx(Ii,{width:"100%",height:"100%",children:l.jsxs(_1,{children:[l.jsx(Or,{formatter:(F,re,me)=>{var Le;return[`${Zh(F,0)} previews`,`${String(re)} (${Uf(((Le=me.payload)==null?void 0:Le.percentage)||0)})`]},contentStyle:Lf,labelStyle:Ff,itemStyle:zf,wrapperStyle:Bf}),l.jsx(ia,{}),l.jsx(ha,{data:ae,dataKey:"value",nameKey:"name",innerRadius:72,outerRadius:108,paddingAngle:3,children:ae.map(F=>l.jsx(qi,{fill:F.color},F.name))})]})}),l.jsxs("div",{className:"pointer-events-none absolute inset-0 flex flex-col items-center justify-center text-center",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:"Sample size"}),l.jsx("p",{className:"mt-2 text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:X.length}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"preview groups"})]})]}),l.jsx("div",{className:"space-y-3",children:ae.map(F=>l.jsxs("div",{className:"rounded-[20px] border border-slate-200 bg-white/80 px-4 py-3 dark:border-[#1d1d23] dark:bg-[#0c0c0e]",children:[l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:F.color}}),l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:F.name})]}),l.jsx("p",{className:"text-xs font-semibold text-slate-500 dark:text-[#8a8a93]",children:F.value})]}),l.jsxs("p",{className:"mt-2 text-xs text-slate-500 dark:text-[#8a8a93]",children:[Uf(F.percentage)," of fetched previews"]})]},F.name))})]}):te?l.jsx(Iu,{title:"Building preview connector mix",body:"Recent rule-preview activity is still being folded into the fetched sample. This card will update automatically once the preview rows appear."}):l.jsx(bi,{title:"No preview connector mix yet",body:"Rule previews need to return gateway selections before the mix chart can render."})})]})]}),l.jsxs("div",{className:"grid gap-5 xl:grid-cols-[minmax(0,1.2fr)_minmax(320px,0.8fr)]",children:[l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Recent rule previews"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:["Preview-only evaluations captured from ",l.jsx("code",{children:"/routing/evaluate"}),". This does not affect transaction scoring."]})]}),l.jsx(ze,{variant:"purple",children:Ie?`Latest ${vs(Ie)}`:"No activity"})]})}),l.jsx(Be,{children:!L.data&&L.isLoading?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading rule previews…"]}):L.error&&!L.data?l.jsx(Nr,{error:L.error.message}):we.length?l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:["Showing ",We,"-",C," of ",Oe]}),L.isLoading?l.jsxs("div",{className:"flex items-center gap-2 text-xs text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:14}),"Loading page…"]}):null]}),l.jsx("div",{className:"space-y-3",children:we.map(F=>l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-white/90 px-4 py-4 dark:border-[#1d1d23] dark:bg-[#0c0c0e]",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:F.payment_id||F.request_id||F.lookup_key}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:[F.merchant_id||"unknown merchant"," · ",vs(F.last_seen_ms)]})]}),l.jsx(ze,{variant:"purple",children:F.latest_status||"preview"})]}),l.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[l.jsx(ze,{variant:"blue",children:"Rule Evaluate"}),F.latest_gateway?l.jsx(ze,{variant:"green",children:F.latest_gateway}):null,l.jsxs(ze,{variant:"gray",children:[F.event_count," events"]})]})]},F.lookup_key))}),Ge>1?l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 border-t border-slate-200 pt-4 dark:border-[#1d1d23]",children:[l.jsxs("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:["Page ",d," of ",Ge]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>p(F=>Math.max(1,F-1)),disabled:d===1||L.isLoading,children:"Previous"}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>p(F=>Math.min(Ge,F+1)),disabled:d>=Ge||L.isLoading,children:"Next"})]})]}):null]}):te?l.jsx(Iu,{title:"Waiting for preview rows",body:"Recent /routing/evaluate calls were recorded, but the detailed rule-preview rows are still being flushed. This list is polling every few seconds."}):l.jsx(bi,{title:"No rule-based activity yet",body:"Send /routing/evaluate preview traffic in the selected window to populate rule-based activity."})})]}),l.jsxs("div",{className:"space-y-5",children:[l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Gateway activity"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Recent preview selections grouped by latest chosen gateway."})]})}),l.jsx(Be,{children:ye.length?l.jsx("div",{className:"space-y-3",children:ye.map((F,re)=>l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:F.gateway}),l.jsx("p",{className:"text-xs font-semibold text-slate-500 dark:text-[#8a8a93]",children:F.count})]}),l.jsx("div",{className:"h-2 overflow-hidden rounded-full bg-slate-100 dark:bg-[#141822]",children:l.jsx("div",{className:"h-full rounded-full",style:{width:`${F.count/U*100}%`,backgroundColor:Cn[re%Cn.length]}})})]},F.gateway))}):te?l.jsx(Iu,{title:"Waiting for gateway activity",body:"The preview sample is still being assembled from recent rule-evaluate calls. Gateway activity will appear here automatically once the rows are available."}):l.jsx(bi,{title:"No gateway activity yet",body:"Once rule previews are captured, this panel will show which connectors are being selected."})})]}),l.jsxs(Se,{className:"overflow-visible",children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800 dark:text-white",children:"Recent preview outcomes"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Status mix from the loaded preview sample."})]})}),l.jsx(Be,{children:qe.length?l.jsx("div",{className:"flex flex-wrap gap-2",children:qe.map(F=>l.jsxs(ze,{variant:F.status.toLowerCase().includes("fail")?"red":F.status==="default_selection"?"orange":"purple",children:[F.status," · ",F.count]},F.status))}):te?l.jsx(Iu,{title:"Waiting for preview outcomes",body:"Recent preview traffic is still being ingested. Outcome summaries will appear here automatically once the preview rows land."}):l.jsx(bi,{title:"No preview outcomes yet",body:"Recent rule preview results will appear here once preview traffic is recorded."})})]})]})]})]})]})]})}const Dle={SR_SELECTION_V3_ROUTING:"bg-blue-100 text-blue-800",PRIORITY_LOGIC:"bg-purple-100 text-purple-800",NTW_BASED_ROUTING:"bg-green-100 text-green-800",SR_SELECTION_V3_ROUTING_WITH_HEDGING:"bg-orange-100 text-orange-800",HEDGING:"bg-orange-100 text-orange-800"},Lle=["card","card_redirect","pay_later","wallet","bank_redirect","bank_transfer","crypto","bank_debit","reward","real_time_payment","upi","voucher","gift_card","open_banking","mobile_payment"],Fle={card:["credit","debit"],bank_debit:["ach","sepa","bacs","becs"],bank_transfer:["ach","sepa","sepa_bank_transfer","bacs","multibanco","pix","pse","permata_bank_transfer","bca_bank_transfer","bni_va","bri_va","cimb_va","danamon_va","mandiri_va","local_bank_transfer","instant_bank_transfer"],wallet:["amazon_pay","apple_pay","google_pay","paypal","ali_pay","ali_pay_hk","dana","mb_way","mobile_pay","samsung_pay","twint","vipps","touch_n_go","swish","we_chat_pay","go_pay","gcash","momo","kakao_pay","cashapp","mifinity","paze"],pay_later:["affirm","alma","afterpay_clearpay","klarna","pay_bright","atome","walley"],upi:["upi_collect","upi_intent"],voucher:["boleto","efecty","pago_efectivo","red_compra","red_pagos","indomaret","alfamart","oxxo","seven_eleven","lawson","mini_stop","family_mart","seicomart","pay_easy"],bank_redirect:["giropay","ideal","sofort","eft","eps","bancontact_card","blik","local_bank_redirect","online_banking_thailand","online_banking_czech_republic","online_banking_finland","online_banking_fpx","online_banking_poland","online_banking_slovakia","przelewy24","trustly","bizum","interac","open_banking_uk","open_banking_pis"],gift_card:["givex","pay_safe_card"],card_redirect:["knet","benefit","momo_atm","card_redirect"],real_time_payment:["fps","duit_now","prompt_pay","viet_qr"],crypto:["crypto_currency"],reward:["evoucher","classic_reward"],open_banking:["open_banking_pis"],mobile_payment:["direct_carrier_billing"]};function zle(e){var n;if(!e)return[];const t=a=>{if(!a||typeof a!="object")return{};const i=a.keys;return i&&typeof i=="object"?i:a},r={...t(e.keys),...t((n=e.routing_config)==null?void 0:n.keys)};return Object.keys(r).length===0?[]:Object.entries(r).map(([a,i])=>{const s=(i.type||i.data_type||"str_value").toString().toLowerCase(),o={key:a,type:s};return i.values&&(o.values=Array.isArray(i.values)?i.values.map(u=>u.trim()):i.values.split(",").map(u=>u.trim())),i.min_value!==void 0&&(o.min_value=i.min_value),i.max_value!==void 0&&(o.max_value=i.max_value),i.min_length!==void 0&&(o.min_length=i.min_length),i.max_length!==void 0&&(o.max_length=i.max_length),i.exact_length!==void 0&&(o.exact_length=i.exact_length),i.regex&&(o.regex=i.regex),o})}function pR(){const{data:e,error:t,isLoading:r}=Xt("/config/routing-keys",nn,{refreshInterval:0,revalidateOnFocus:!1}),n=S.useMemo(()=>zle(e||null),[e]),a=S.useMemo(()=>n.reduce((s,o)=>(s[o.key]=o,s),{}),[n]),i=S.useMemo(()=>{const s={};return n.forEach(o=>{s[o.key]={type:o.type,values:o.values||[]}}),s},[n]);return{config:e,keys:n,keysByName:a,routingKeysConfig:i,isLoading:r,error:t,getKeyValues:s=>{var o;return((o=a[s])==null?void 0:o.values)||[]},isIntegerKey:s=>{var o;return((o=a[s])==null?void 0:o.type)==="integer"},isEnumKey:s=>{var o;return((o=a[s])==null?void 0:o.type)==="enum"}}}function hR(e){const t=e?`/merchant-account/${e}/debit-routing`:null,{data:r,error:n,isLoading:a,mutate:i}=Xt(t,nn);async function s(o){if(!e||!t)throw new Error("Set a merchant ID first");const u=await zt(t,{enabled:o});return await i(u,!1),u}return{data:r,error:n,isLoading:a,isEnabled:!!(r!=null&&r.debit_routing_enabled),mutate:i,setDebitRoutingEnabled:s}}const mR=["SrBasedRouting","PlBasedRouting","NtwBasedRouting","NtwSrHybridRouting"],Ble={SrBasedRouting:"Success Rate Based",PlBasedRouting:"Priority List Based",NtwBasedRouting:"Network Based",NtwSrHybridRouting:"Network + SR Hybrid"};function Ule(e){for(const[t,r]of Object.entries(Dle))if(e.includes(t)||t.includes(e))return r;return"bg-white/5 text-slate-600 ring-1 ring-inset ring-white/8"}const Jr=["#0069ED","#10b981","#f59e0b","#ef4444","#8b5cf6","#ec4899","#06b6d4","#84cc16"],gR="decision-explorer-state-v2",yR={amount:"1000",currency:"",payment_method_type:"",payment_method:"",card_brand:"",auth_type:"",eligible_gateways:"stripe, adyen",ranking_algorithm:"SrBasedRouting",elimination_enabled:!1},Vle={amount:"1000",currency:"USD",auth_type:"THREE_DS",eligible_gateways:"stripe, adyen",merchant_category_code:"merchant_category_code_0001",acquirer_country:"US",co_badged_networks:"VISA, NYCE, PULSE, STAR",issuer_country:"US",is_regulated:!1,regulated_name:"",card_type:"Debit"},Wle={totalPayments:"10",successCount:"7",failureCount:"3"},Hle=[{key:"payment_method_type",type:"enum_variant",value:"",metadataKey:""},{key:"currency",type:"enum_variant",value:"",metadataKey:""}],Gle=[{gateway_name:"stripe",gateway_id:"gateway_001"},{gateway_name:"adyen",gateway_id:"gateway_002"}];function vR(e){return e.map(t=>({...t}))}function xR(e){return e.map(t=>({...t}))}function qle(e){return e==="SR_BASED_ROUTING"?"SrBasedRouting":e==="PL_BASED_ROUTING"?"PlBasedRouting":e==="NTW_BASED_ROUTING"?"NtwBasedRouting":e==="NTW_SR_HYBRID_ROUTING"?"NtwSrHybridRouting":mR.includes(e)?e:yR.ranking_algorithm}function Gu(){return{activeTab:"batch",form:{...yR},simulationConfig:{...Wle},debitForm:{...Vle},ruleParams:vR(Hle),fallbackConnectors:xR(Gle),volumePayments:"100",result:null,debitResult:null,debitPaymentId:null,singleRunPaymentId:null,singleRunOutcome:"CHARGED",ruleResult:null,volumeDistribution:[],volumeEvaluationLog:[],volumeProgress:0,simulationResults:[],responseOpen:!1,debitResponseOpen:!1,volumeResponseOpen:!1}}function Kle(){var e,t,r;if(typeof window>"u")return Gu();try{const n=window.localStorage.getItem(gR);if(!n)return Gu();const a=JSON.parse(n),i=Gu();return{...i,...a,activeTab:a.activeTab&&a.activeTab!=="single"?a.activeTab:i.activeTab,form:{...i.form,...a.form||{},ranking_algorithm:qle((e=a.form)==null?void 0:e.ranking_algorithm)},simulationConfig:{...i.simulationConfig,...a.simulationConfig||{}},debitForm:{...i.debitForm,...a.debitForm||{}},ruleParams:(t=a.ruleParams)!=null&&t.length?vR(a.ruleParams):i.ruleParams,fallbackConnectors:(r=a.fallbackConnectors)!=null&&r.length?xR(a.fallbackConnectors):i.fallbackConnectors,volumeDistribution:a.volumeDistribution||i.volumeDistribution,volumeEvaluationLog:a.volumeEvaluationLog||i.volumeEvaluationLog,simulationResults:a.simulationResults||i.simulationResults}}catch{return Gu()}}function pp(e=[]){return e.map(t=>t.trim()).filter(Boolean).map(t=>t.toUpperCase())}function Vy(e=[]){return Array.from(new Set(pp(e)))}function Yle(e){var t,r,n,a,i;return((r=(t=e.evaluated_output)==null?void 0:t[0])==null?void 0:r.gateway_name)||((n=e.output.connector)==null?void 0:n.gateway_name)||((i=(a=e.output.connectors)==null?void 0:a[0])==null?void 0:i.gateway_name)||null}function Wy(e){return e==="enum"?"enum_variant":e==="integer"?"number":e==="udf"||e==="global_ref"?"metadata_variant":"str_value"}function bR(e){const t=new URLSearchParams;return Object.entries(e).forEach(([r,n])=>{n!==void 0&&n!==""&&t.set(r,String(n))}),t.toString()}function qu(e){return new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(e))}function Tn(e){return e?e.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().toLowerCase().replace(/\b\w/g,r=>r.toUpperCase()):""}function Ku(e){return e?e==="decision_gateway"||e==="decide_gateway"?"Decide Gateway":e==="update_gateway_score"?"Update Gateway":e==="routing_evaluate"?"Rule Evaluate":Tn(e):"Unknown route"}function IO(e){return e?e==="decide_gateway_decision"?"Decide Gateway":e==="update_gateway_score_update"||e==="update_gateway_score_score_snapshot"||e==="update_score_legacy_score_snapshot"?"Update Gateway":e==="decide_gateway_rule_hit"?"Rule Evaluate":e.startsWith("routing_evaluate_")&&e!=="routing_evaluate_request_hit"?"Preview Result":e.endsWith("_error")?"Errors":Tn(e):"Unknown event"}function k1(e){return e.flow_type||""}function Yu(e){const t=k1(e);return e.event_stage==="gateway_decided"?"Decide Gateway":e.event_stage==="score_updated"?"Update Gateway":e.event_stage==="rule_applied"?"Rule Evaluate":e.event_stage==="preview_evaluated"||t.startsWith("routing_evaluate_")&&t!=="routing_evaluate_request_hit"?"Preview Result":t.endsWith("_error")?"Errors":Tn(e.event_stage||t)}function tb(e){const t=k1(e);return t.startsWith("decide_gateway_")&&t!=="decide_gateway_rule_hit"||e.event_stage==="gateway_decided"?"Decide Gateway":t==="decide_gateway_rule_hit"||e.event_stage==="rule_applied"?"Rule Evaluate":t.startsWith("update_gateway_score_")||t.startsWith("update_score_legacy_")||e.event_stage==="score_updated"?"Update Gateway":t.startsWith("routing_evaluate_")&&t!=="routing_evaluate_request_hit"||e.event_stage==="preview_evaluated"?"Preview":"Errors"}function Wf(e){const t=k1(e),r=(e.status||"").toUpperCase();return t.endsWith("_error")||r==="FAILURE"||r.includes("FAILED")||r.includes("DECLINED")?"red":t==="decide_gateway_rule_hit"?"purple":r==="CHARGED"||r==="AUTHORIZED"||r==="SUCCESS"?"green":t.startsWith("routing_evaluate_")&&t!=="routing_evaluate_request_hit"?"purple":t.startsWith("update_gateway_score_")||t.startsWith("update_score_legacy_")?"green":t.startsWith("decide_gateway_")?"blue":"orange"}function MO(e){const t=(e||"").toUpperCase();return t==="FAILURE"||t.includes("FAILED")||t.includes("DECLINED")?"red":t==="SUCCESS"||t==="CHARGED"||t==="AUTHORIZED"?"green":"gray"}function DO(e){return e==="Decide Gateway"?"blue":e==="Rule Evaluate"||e==="Preview"?"purple":e==="Update Gateway"?"green":e==="Errors"?"red":"gray"}function Mu(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Hy(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""))}function wR(e){return typeof e=="string"?e:JSON.stringify(e,null,2)}function Xle(e){return`/analytics/payment-audit?${bR({range:"1d",page:1,page_size:25,payment_id:e})}`}function Zle(e){return`/analytics/preview-trace?${bR({range:"1d",page:1,page_size:25,payment_id:e})}`}function LO(e){if(!e)return null;const t=Mu(e.details_json)?e.details_json:{},r=t.response??t.response_payload??t.result??t.output??null,n=t.request??t.request_payload??t.input??t.payload??Hy({payment_id:e.payment_id,request_id:e.request_id,payment_method_type:e.payment_method_type,payment_method:e.payment_method,gateway:e.gateway}),a=r??Hy({flow_type:e.flow_type,status:e.status,error_code:e.error_code,error_message:e.error_message,score_value:e.score_value,sigma_factor:e.sigma_factor,average_latency:e.average_latency,tp99_latency:e.tp99_latency,transaction_count:e.transaction_count,rule_name:e.rule_name,routing_approach:e.routing_approach}),i=Mu(r)?r:null,s=Mu(i==null?void 0:i.decided_gateway)?i.decided_gateway:null,o=t.score_context??(s?s.gateway_priority_map:null)??(i?i.gateway_priority_map:null)??null,u=t.selection_reason??null,c=[{label:"Phase",value:tb(e)},{label:"Stage",value:Yu(e)},{label:"Route",value:Ku(e.route)},{label:"Timestamp",value:qu(e.created_at_ms)},...e.merchant_id?[{label:"Merchant",value:e.merchant_id}]:[],...e.payment_id?[{label:"Payment ID",value:e.payment_id}]:[],...e.request_id?[{label:"Request ID",value:e.request_id}]:[],...e.gateway?[{label:"Gateway",value:e.gateway}]:[],...e.status?[{label:"Status",value:Tn(e.status)}]:[]],f=Hy(Object.fromEntries(Object.entries(t).filter(([d])=>!["request","request_payload","input","payload","response","response_payload","result","output","score_context","selection_reason"].includes(d))));return{summaryRows:c,requestPayload:Mu(n)&&!Object.keys(n).length?null:n,responsePayload:Mu(a)&&!Object.keys(a).length?null:a,scoreContext:o,selectionReason:u,signalRecord:Object.keys(f).length?f:null,rawEvent:{...e,details_json:e.details_json}}}function _o(e){return e?"!border-slate-200 !bg-white !text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.28)] dark:!border-[#2a303a] dark:!bg-[#161b24] dark:!text-white":"!border-transparent !bg-slate-100 !text-slate-600 hover:!bg-slate-200 hover:!text-slate-900 dark:!bg-[#161b24] dark:!text-[#a7b2c6] dark:hover:!bg-[#1c2330] dark:hover:!text-white"}function Xu({title:e,body:t}){return l.jsxs("div",{className:"rounded-[22px] border border-dashed border-slate-200 bg-slate-50/80 px-6 py-12 text-center dark:border-[#2a303a] dark:bg-[#161b24]/80",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:t})]})}function FO({title:e,body:t}){return l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-slate-50/80 px-6 py-10 text-center dark:border-[#2a303a] dark:bg-[#161b24]/80",children:[l.jsx("div",{className:"flex justify-center",children:l.jsx(Ft,{size:18})}),l.jsx("p",{className:"mt-4 text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:t}),l.jsx("div",{className:"mt-5 h-2 overflow-hidden rounded-full bg-slate-200 dark:bg-[#202734]",children:l.jsx("div",{className:"h-full w-1/3 animate-pulse rounded-full bg-brand-500"})}),l.jsx("p",{className:"mt-3 text-[11px] uppercase tracking-[0.16em] text-slate-400 dark:text-[#8390a7]",children:"Polling every second"})]})}function zO({rows:e}){return e.length?l.jsx("div",{className:"grid gap-3 md:grid-cols-2",children:e.map(t=>l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-white/80 px-4 py-3 shadow-[0_14px_30px_-28px_rgba(15,23,42,0.18)] dark:border-[#2a303a] dark:bg-[#161b24] dark:shadow-none",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8390a7]",children:t.label}),l.jsx("p",{className:"mt-2 break-words text-sm text-slate-900 dark:text-white",children:t.value})]},`${t.label}-${t.value}`))}):null}function Fa({title:e,value:t,emptyMessage:r}){return l.jsxs("div",{className:"space-y-3",children:[l.jsx("div",{children:l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e})}),t?l.jsx("pre",{className:"overflow-x-auto rounded-[22px] border border-slate-200 bg-slate-950/95 px-4 py-4 text-xs leading-6 text-slate-200 shadow-[0_16px_30px_-28px_rgba(15,23,42,0.4)] dark:border-[#2a303a] dark:bg-[#0b1017] dark:text-[#d8e1ef] dark:shadow-none",children:wR(t)}):l.jsx(Xu,{title:`No ${e.toLowerCase()} captured`,body:r})]})}function Jle(){var V1,W1,H1,G1,q1,K1,Y1,X1,Z1,J1,Q1;const{merchantId:e}=Nn(),t=ua(A=>{var D;return((D=A.user)==null?void 0:D.merchantId)||""}),r=e||t,n=hR(r),{routingKeysConfig:a,isLoading:i,error:s}=pR(),o=Object.keys(a).length>0,u=!i&&(!o||!!s),c=S.useMemo(()=>Kle(),[]),[f,d]=S.useState(c.activeTab),[p,h]=S.useState(c.form),[x,v]=S.useState(c.simulationConfig),[g,y]=S.useState(c.debitForm),[m,w]=S.useState(c.ruleParams),[j,b]=S.useState(c.fallbackConnectors),[_,k]=S.useState(c.volumePayments),[O,E]=S.useState(c.result),[T,R]=S.useState(c.debitResult),[N,$]=S.useState(c.debitPaymentId),[I,L]=S.useState(c.singleRunPaymentId),[V,H]=S.useState(c.singleRunOutcome),[M,B]=S.useState(c.ruleResult),[W,G]=S.useState(c.volumeDistribution),[K,ee]=S.useState(c.volumeEvaluationLog),[q,le]=S.useState(c.volumeProgress),[ge,$e]=S.useState(c.simulationResults),[Pe,J]=S.useState(!1),[ue,de]=S.useState(null),[X,we]=S.useState(!1),[ye,qe]=S.useState(!1),[De,ke]=S.useState(c.responseOpen),[Re,Ie]=S.useState(c.debitResponseOpen),[Oe,Ge]=S.useState(c.volumeResponseOpen),[We,C]=S.useState(null),[z,U]=S.useState(null),[ae,te]=S.useState("summary"),[Q,ne]=S.useState(null),[_e,Ne]=S.useState(null),[dt,mt]=S.useState("summary"),[Lt,zr]=S.useState("Rule Evaluation Preview"),Pr=S.useDeferredValue(ge),Cr=S.useMemo(()=>Object.keys(a).sort(),[a]),Y=S.useMemo(()=>{var A;return pp(((A=a.payment_method)==null?void 0:A.values)||[])},[a]),Me=S.useMemo(()=>{var D;const A=p.payment_method_type.toLowerCase();return pp(((D=a[A])==null?void 0:D.values)||[])},[p.payment_method_type,a]),ft=S.useMemo(()=>{var A;return Vy(((A=a.currency)==null?void 0:A.values)||[])},[a]),Zt=S.useMemo(()=>{var A;return Vy(((A=a.card_network)==null?void 0:A.values)||[])},[a]),pt=S.useMemo(()=>{var A;return Vy(((A=a.authentication_type)==null?void 0:A.values)||[])},[a]),Pt=We?Xle(We):null,Ye=Xt(Pt,nn,{refreshInterval:We?12e3:0,revalidateOnFocus:!0}),Br=Q?Zle(Q):null,st=Xt(Br,nn,{refreshInterval:A=>{var D;return Q?(((D=A==null?void 0:A.timeline)==null?void 0:D.length)||0)>0?12e3:1e3:0},revalidateOnFocus:!0});S.useEffect(()=>{u||i||(h(A=>{var ht;const D={...A};let ie=!1;ft.length>0&&!ft.includes(D.currency)&&(D.currency=ft[0],ie=!0),Y.length>0&&!Y.includes(D.payment_method_type)&&(D.payment_method_type=Y[0],ie=!0);const fe=pp(((ht=a[D.payment_method_type.toLowerCase()])==null?void 0:ht.values)||[]);return fe.length>0&&!fe.includes(D.payment_method)&&(D.payment_method=fe[0],ie=!0),pt.length>0&&!pt.includes(D.auth_type)&&(D.auth_type=pt[0],ie=!0),Zt.length>0&&!Zt.includes(D.card_brand)&&(D.card_brand=Zt[0],ie=!0),ie?D:A}),w(A=>{let D=!1;const ie=A.map(fe=>{if(!fe.key||!a[fe.key])return fe;const ht=a[fe.key],qt=Wy(ht.type),wt=ht.values||[],jr=qt==="enum_variant"?wt.includes(fe.value)?fe.value:wt[0]||"":fe.value;return fe.type!==qt||fe.value!==jr?(D=!0,{...fe,type:qt,value:jr}):fe});return D?ie:A}))},[u,i,a,ft,Y,pt,Zt]),S.useEffect(()=>{if(!We&&!Q)return;const A=document.body.style.overflow,D=ie=>{ie.key==="Escape"&&(C(null),U(null),te("summary"),ne(null),Ne(null),mt("summary"))};return document.body.style.overflow="hidden",window.addEventListener("keydown",D),()=>{document.body.style.overflow=A,window.removeEventListener("keydown",D)}},[We,Q]),S.useEffect(()=>{const A={activeTab:f,form:p,simulationConfig:x,debitForm:g,ruleParams:m,fallbackConnectors:j,volumePayments:_,result:O,debitResult:T,debitPaymentId:N,singleRunPaymentId:I,singleRunOutcome:V,ruleResult:M,volumeDistribution:W,volumeEvaluationLog:K,volumeProgress:q,simulationResults:ge,responseOpen:De,debitResponseOpen:Re,volumeResponseOpen:Oe};typeof window<"u"&&window.localStorage.setItem(gR,JSON.stringify(A))},[f,p,x,g,m,j,_,O,T,N,I,V,M,W,K,q,ge,De,Re,Oe]);function Ct(A,D){h(ie=>({...ie,[A]:D}))}function Tt(A,D){y(ie=>({...ie,[A]:D}))}function qn(){const A=g.co_badged_networks.split(",").map(D=>D.trim().toUpperCase()).filter(Boolean);return JSON.stringify({merchant_category_code:g.merchant_category_code.trim(),acquirer_country:g.acquirer_country.trim().toUpperCase(),co_badged_card_data:{co_badged_card_networks:A,issuer_country:g.issuer_country.trim().toUpperCase(),is_regulated:g.is_regulated,regulated_name:g.is_regulated&&g.regulated_name.trim()?g.regulated_name.trim():null,card_type:g.card_type}})}function Gt(){var ht;if(Cr.length===0)return;const A=Cr[0],D=a[A],ie=Wy(D==null?void 0:D.type),fe=ie==="enum_variant"&&((ht=D==null?void 0:D.values)==null?void 0:ht[0])||"";w([...m,{key:A,type:ie,value:fe,metadataKey:""}])}function fn(A){w(m.filter((D,ie)=>ie!==A))}function mr(A,D,ie){w(m.map((fe,ht)=>ht===A?{...fe,[D]:ie}:fe))}function Zr(A,D){w(m.map((ie,fe)=>fe===A?{...ie,metadataKey:D}:ie))}function ma(A,D){var qt;const ie=a[D],fe=Wy(ie==null?void 0:ie.type),ht=fe==="enum_variant"&&((qt=ie==null?void 0:ie.values)==null?void 0:qt[0])||"";w(m.map((wt,jr)=>jr===A?{...wt,key:D,type:fe,value:ht,metadataKey:""}:wt))}function ga(){b([...j,{gateway_name:"",gateway_id:""}])}function pn(A){b(j.filter((D,ie)=>ie!==A))}function Kn(A,D,ie){b(j.map((fe,ht)=>ht===A?{...fe,[D]:ie}:fe))}async function Da(){if(!r)return de("Sign in with a merchant-linked account to continue");if(u)return de("Routing key config unavailable. Fix /config/routing-keys and retry.");we(!0),de(null),L(null);const A=p.eligible_gateways.split(",").map(ie=>ie.trim()).filter(Boolean),D=`explorer_${Date.now()}`;try{const ie=await zt("/decide-gateway",{merchantId:r,paymentInfo:{paymentId:D,amount:parseFloat(p.amount)||1e3,currency:p.currency,paymentType:"ORDER_PAYMENT",paymentMethodType:p.payment_method_type,paymentMethod:p.payment_method,authType:p.auth_type,cardBrand:p.card_brand},eligibleGatewayList:A,rankingAlgorithm:p.ranking_algorithm,eliminationEnabled:p.elimination_enabled});await zt("/update-gateway-score",{merchantId:r,gateway:ie.decided_gateway,gatewayReferenceId:null,status:V,paymentId:D,enforceDynamicRoutingFailure:null}),E(ie),L(D)}catch(ie){de(ie instanceof Error?ie.message:"Request failed")}finally{we(!1)}}async function Yd(){if(!r)return de("Sign in with a merchant-linked account to continue");we(!0),de(null);try{await n.setDebitRoutingEnabled(!0)}catch(A){de(A instanceof Error?A.message:"Failed to enable debit routing")}finally{we(!1)}}async function Xd(){if(!r)return de("Sign in with a merchant-linked account to continue");if(!n.isEnabled)return de("Debit routing is disabled for this merchant. Enable it before running network routing.");const A=g.eligible_gateways.split(",").map(ie=>ie.trim()).filter(Boolean);if(A.length===0)return de("Add at least one eligible gateway");we(!0),de(null),R(null);const D=`debit_${Date.now()}`;try{const ie=await zt("/decide-gateway",{merchantId:r,paymentInfo:{paymentId:D,amount:parseFloat(g.amount)||1e3,currency:g.currency,paymentType:"ORDER_PAYMENT",paymentMethodType:"CARD",paymentMethod:"DEBIT",authType:g.auth_type,metadata:qn()},eligibleGatewayList:A,rankingAlgorithm:"NtwBasedRouting",eliminationEnabled:!1});R(ie),$(D)}catch(ie){const fe=ie instanceof Error?ie.message:"Request failed";de(fe.includes("debit_routing_not_enabled")?"Debit routing is disabled for this merchant. Enable it and retry.":fe)}finally{we(!1)}}async function Zd(){if(!r)return de("Sign in with a merchant-linked account to continue");if(u)return de("Routing key config unavailable. Fix /config/routing-keys and retry.");const A=parseInt(x.totalPayments)||0,D=parseInt(x.successCount)||0,ie=parseInt(x.failureCount)||0;if(A<=0)return de("Total Payments must be greater than 0");if(D+ie!==A)return de("Success + Failure count must equal Total Payments");J(!0),de(null),$e([]);const fe=p.eligible_gateways.split(",").map(wt=>wt.trim()).filter(Boolean),ht=[],qt=[...Array(D).fill("CHARGED"),...Array(ie).fill("FAILURE")];for(let wt=qt.length-1;wt>0;wt--){const jr=Math.floor(Math.random()*(wt+1));[qt[wt],qt[jr]]=[qt[jr],qt[wt]]}try{for(let wt=0;wt{fe.key&&(fe.type==="metadata_variant"?D[fe.key]={type:fe.type,value:{key:fe.metadataKey||fe.key,value:fe.value}}:fe.type==="number"?D[fe.key]={type:fe.type,value:parseFloat(fe.value)||0}:D[fe.key]={type:fe.type,value:fe.value})});const ie=await zt("/routing/evaluate",{created_by:r||"test_user",payment_id:A,fallback_output:j.filter(fe=>fe.gateway_name),parameters:D});if(B(ie),ie.output.type==="volume_split"&&ie.output.splits){const fe=parseInt(_)||100,ht=ie.output.splits.map(qt=>({name:qt.connector.gateway_name,count:Math.round(qt.split/100*fe),percentage:qt.split}));G(ht)}}catch(D){de(D instanceof Error?D.message:"Request failed")}finally{we(!1)}}async function Qd(){if(!r)return de("Sign in with a merchant-linked account to continue");we(!0),de(null),B(null),G([]),ee([]),le(0);const A=parseInt(_)||0;if(A<=0)return we(!1),de("Total Payments must be greater than 0");try{const ie=`volume_preview_${Date.now()}`,fe=[],ht=new Map;let qt=null;for(let wt=0;wt{const ho=wt+vi,e_=`${ie}_${ho}`,yI=await zt("/routing/evaluate",{created_by:r,payment_id:e_,fallback_output:[{gateway_name:"stripe",gateway_id:"gateway_001"},{gateway_name:"adyen",gateway_id:"gateway_002"}],parameters:{}});return{paymentId:e_,response:yI}}));for(const{paymentId:mu,response:vi}of hs){if(vi.output.type!=="volume_split")throw new Error("Active routing algorithm is not a volume split rule.");const ho=Yle(vi);if(!ho)throw new Error("Volume split evaluation did not return a connector.");ht.set(ho,(ht.get(ho)||0)+1),fe.push({paymentId:mu,connector:ho}),qt=vi}le(fe.length)}if(qt){const wt=Array.from(ht.entries()).map(([jr,hs])=>({name:jr,count:hs,percentage:Number((hs/A*100).toFixed(1))})).sort((jr,hs)=>hs.count-jr.count);B(qt),ee(fe),G(wt),ne(qt.payment_id)}}catch(D){de(D instanceof Error?D.message:"Request failed")}finally{we(!1)}}const fs=O!=null&&O.gateway_priority_map?Object.entries(O.gateway_priority_map).sort(([,A],[,D])=>D-A).map(([A,D])=>({name:A,score:Math.round(D*1e3)/10})):[],fo=parseInt(x.totalPayments)||0,ps=ge.length,F=fo>0?Math.round(ps/fo*100):0,re=Pe||ps>0,me=Pr.reduce((A,D)=>(A[D.decidedGateway]||(A[D.decidedGateway]={total:0,success:0,failure:0}),A[D.decidedGateway].total++,D.status==="CHARGED"?A[D.decidedGateway].success++:A[D.decidedGateway].failure++,A),{}),Le=W.map(A=>({name:A.name,value:A.count})),tt=((V1=T==null?void 0:T.debit_routing_output)==null?void 0:V1.co_badged_card_networks_info)||[],Ke=S.useMemo(()=>new Map(W.map((A,D)=>[A.name,D])),[W]),it=S.useMemo(()=>{var D;const A=((D=Ye.data)==null?void 0:D.results)||[];return A.find(ie=>ie.payment_id===We)||A[0]||null},[(W1=Ye.data)==null?void 0:W1.results,We]),Ze=S.useMemo(()=>{var D;const A=((D=Ye.data)==null?void 0:D.timeline)||[];return A.find(ie=>ie.id===z)||A[0]||null},[(H1=Ye.data)==null?void 0:H1.timeline,z]);S.useEffect(()=>{var D,ie;if(Ze!=null&&Ze.id){U(Ze.id);return}const A=(ie=(D=Ye.data)==null?void 0:D.timeline)==null?void 0:ie[0];A!=null&&A.id&&U(A.id)},[(G1=Ye.data)==null?void 0:G1.timeline,Ze==null?void 0:Ze.id]);const yi=S.useMemo(()=>{var D;const A=[];for(const ie of((D=Ye.data)==null?void 0:D.timeline)||[]){const fe=tb(ie),ht=A[A.length-1];!ht||ht.phase!==fe?A.push({phase:fe,events:[ie]}):ht.events.push(ie)}return A},[(q1=Ye.data)==null?void 0:q1.timeline]),ya=S.useMemo(()=>LO(Ze),[Ze]),_r=S.useMemo(()=>{var D;const A=((D=st.data)==null?void 0:D.results)||[];return A.find(ie=>ie.payment_id===Q)||A[0]||null},[(K1=st.data)==null?void 0:K1.results,Q]),kt=S.useMemo(()=>{var D;const A=((D=st.data)==null?void 0:D.timeline)||[];return A.find(ie=>ie.id===_e)||A[0]||null},[(Y1=st.data)==null?void 0:Y1.timeline,_e]);S.useEffect(()=>{var D,ie;if(kt!=null&&kt.id){Ne(kt.id);return}const A=(ie=(D=st.data)==null?void 0:D.timeline)==null?void 0:ie[0];A!=null&&A.id&&Ne(A.id)},[(X1=st.data)==null?void 0:X1.timeline,kt==null?void 0:kt.id]);const z1=S.useMemo(()=>{var D;const A=[];for(const ie of((D=st.data)==null?void 0:D.timeline)||[]){const fe=tb(ie),ht=A[A.length-1];!ht||ht.phase!==fe?A.push({phase:fe,events:[ie]}):ht.events.push(ie)}return A},[(Z1=st.data)==null?void 0:Z1.timeline]),po=S.useMemo(()=>LO(kt),[kt]);S.useEffect(()=>{Q&&st.mutate()},[Q]);function kg(A){ne(null),Ne(null),mt("summary"),C(A),U(null),te("summary")}function B1(){C(null),U(null),te("summary")}function ef(A,D){C(null),U(null),te("summary"),zr(D),ne(A),Ne(null),mt("summary")}function U1(){ne(null),Ne(null),mt("summary")}function mI(){const A=Gu();f==="single"?(h(A.form),E(A.result),L(A.singleRunPaymentId),H(A.singleRunOutcome),ke(A.responseOpen)):f==="batch"?(h(A.form),v(A.simulationConfig),$e(A.simulationResults),J(!1)):f==="rule"?(w(A.ruleParams),b(A.fallbackConnectors),B(A.ruleResult),ne(null),Ne(null),mt("summary"),zr("Rule Evaluation Preview")):f==="volume"?(k(A.volumePayments),B(A.ruleResult),G(A.volumeDistribution),ee(A.volumeEvaluationLog),le(A.volumeProgress),Ge(A.volumeResponseOpen),ne(null),Ne(null),mt("summary"),zr("Volume Split Preview")):f==="debit"&&(y(A.debitForm),R(A.debitResult),$(A.debitPaymentId),Ie(A.debitResponseOpen),C(null),U(null),te("summary")),de(null),we(!1),qe(!1),C(null),U(null),te("summary")}const gI=f==="batch"?"Reset Auth-Rate Based Routing":f==="rule"?"Reset Rule Based Routing":f==="volume"?"Reset Volume Based Routing":"Reset Debit Routing";return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900 dark:text-white",children:"Decision Explorer"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#b2bdd1]",children:"Run payment routing checks across auth-rate based, rule based, volume based, and debit network strategies."})]}),l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{className:"flex flex-wrap gap-2",children:[l.jsx("button",{onClick:()=>d("batch"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${_o(f==="batch")}`,children:"Auth-Rate Based Routing"}),l.jsx("button",{onClick:()=>d("rule"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${_o(f==="rule")}`,children:"Rule Based Routing"}),l.jsx("button",{onClick:()=>d("volume"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${_o(f==="volume")}`,children:"Volume Based Routing"}),l.jsx("button",{onClick:()=>d("debit"),className:`rounded-full border px-4 py-2 text-sm font-medium transition ${_o(f==="debit")}`,children:"Debit Routing"})]}),l.jsxs(Ae,{size:"sm",variant:"secondary",onClick:mI,children:[l.jsx(Df,{size:14}),gI]})]}),l.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx(an,{children:f==="rule"?"Rule Evaluation":f==="volume"?"Volume Split":f==="debit"?"Network Routing":"Simulation"}),l.jsx("h2",{className:"mt-3 font-medium text-slate-800 dark:text-white",children:f==="rule"?"Rule Evaluation Parameters":f==="volume"?"Volume Split Configuration":f==="debit"?"Debit Routing Parameters":"Auth-Rate Based Routing Parameters"})]})}),l.jsxs(Be,{className:"space-y-3",children:[!r&&l.jsx("p",{className:"text-xs text-amber-600 bg-amber-50 border border-amber-200 rounded px-3 py-2",children:"Set a merchant ID in the top bar first."}),f!=="volume"&&f!=="debit"&&i&&l.jsx("p",{className:"text-xs text-slate-600 bg-slate-50 border border-slate-200 rounded px-3 py-2",children:"Loading routing config from backend..."}),f!=="volume"&&f!=="debit"&&u&&l.jsx(Nr,{error:"Routing config unavailable from /config/routing-keys. Parameter forms are disabled."}),f==="rule"?l.jsxs(l.Fragment,{children:[i&&l.jsx("p",{className:"text-sm text-slate-500",children:"Loading routing keys from backend..."}),u&&l.jsx(Nr,{error:"Routing keys are unavailable from backend (/config/routing-keys). Rule Evaluation is disabled."}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Parameters"}),l.jsx("div",{className:"space-y-2",children:m.map((A,D)=>{var ie;return l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex gap-2 items-center",children:[l.jsx("select",{value:A.key,onChange:fe=>ma(D,fe.target.value),disabled:u||i,className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Cr.length===0?l.jsx("option",{value:"",children:"No keys available"}):Cr.map(fe=>l.jsx("option",{value:fe,children:fe},fe))}),l.jsx("input",{value:A.type,readOnly:!0,className:"w-36 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("button",{onClick:()=>fn(D),className:"p-1.5 text-slate-400 hover:text-red-500",children:l.jsx(di,{size:14})})]}),A.type==="metadata_variant"?l.jsxs("div",{className:"flex gap-2 items-center pl-1",children:[l.jsx("input",{placeholder:"Metadata Key",value:A.metadataKey||"",onChange:fe=>Zr(D,fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{placeholder:"Metadata Value",value:A.value,onChange:fe=>mr(D,"value",fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}):A.type==="enum_variant"?l.jsx("div",{className:"flex gap-2 items-center pl-1",children:l.jsx("select",{value:A.value,onChange:fe=>mr(D,"value",fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:(((ie=a[A.key])==null?void 0:ie.values)||[]).map(fe=>l.jsx("option",{value:fe,children:fe},fe))})}):A.type==="number"?l.jsx("div",{className:"flex gap-2 items-center pl-1",children:l.jsx("input",{type:"number",placeholder:"Value",value:A.value,onChange:fe=>mr(D,"value",fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})}):l.jsx("div",{className:"flex gap-2 items-center pl-1",children:l.jsx("input",{placeholder:"Value",value:A.value,onChange:fe=>mr(D,"value",fe.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})})]},D)})}),l.jsxs("button",{onClick:Gt,disabled:u||i||Cr.length===0,className:"mt-2 flex items-center gap-1 text-xs text-brand-500 hover:text-brand-600",children:[l.jsx(ci,{size:12})," Add Parameter"]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Fallback gateway_name/gateway_id"}),l.jsx("div",{className:"space-y-2",children:j.map((A,D)=>l.jsxs("div",{className:"flex gap-2 items-center",children:[l.jsx("input",{placeholder:"gateway_name",value:A.gateway_name,onChange:ie=>Kn(D,"gateway_name",ie.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{placeholder:"gateway_id",value:A.gateway_id||"",onChange:ie=>Kn(D,"gateway_id",ie.target.value),className:"flex-1 border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("button",{onClick:()=>pn(D),className:"p-1.5 text-slate-400 hover:text-red-500",children:l.jsx(di,{size:14})})]},D))}),l.jsxs("button",{onClick:ga,className:"mt-2 flex items-center gap-1 text-xs text-brand-500 hover:text-brand-600",children:[l.jsx(ci,{size:12})," Add Gateway"]})]})]}):f==="debit"?l.jsxs("div",{className:"space-y-4",children:[n.isLoading?l.jsxs("p",{className:"flex items-center gap-2 rounded-lg border border-slate-200 bg-slate-50 px-3 py-2 text-xs text-slate-600 dark:border-[#222226] dark:bg-[#10131a] dark:text-[#aab5c8]",children:[l.jsx(Ft,{size:14}),"Loading debit routing flag..."]}):n.isEnabled?l.jsx("p",{className:"rounded-lg border border-emerald-200 bg-emerald-50 px-3 py-2 text-xs text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/10 dark:text-emerald-300",children:"Debit routing is enabled for this merchant. This tab will call /decide-gateway with NtwBasedRouting."}):l.jsx("div",{className:"rounded-lg border border-amber-200 bg-amber-50 px-3 py-3 text-xs text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-300",children:l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsx("span",{children:"Debit routing is disabled for this merchant."}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:Yd,disabled:!r||X,children:"Enable Debit Routing"})]})}),l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Amount"}),l.jsx("input",{value:g.amount,onChange:A=>Tt("amount",A.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Currency"}),l.jsx("input",{value:g.currency,onChange:A=>Tt("currency",A.target.value.toUpperCase()),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Auth Type"}),l.jsxs("select",{value:g.auth_type,onChange:A=>Tt("auth_type",A.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:[l.jsx("option",{value:"THREE_DS",children:"THREE_DS"}),l.jsx("option",{value:"NO_THREE_DS",children:"NO_THREE_DS"})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Card Type"}),l.jsxs("select",{value:g.card_type,onChange:A=>Tt("card_type",A.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:[l.jsx("option",{value:"Debit",children:"Debit"}),l.jsx("option",{value:"Credit",children:"Credit"})]})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Eligible Gateways (comma-separated)"}),l.jsx("input",{value:g.eligible_gateways,onChange:A=>Tt("eligible_gateways",A.target.value),placeholder:"stripe, adyen",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Merchant Category Code"}),l.jsx("input",{value:g.merchant_category_code,onChange:A=>Tt("merchant_category_code",A.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Acquirer Country"}),l.jsx("input",{value:g.acquirer_country,onChange:A=>Tt("acquirer_country",A.target.value.toUpperCase()),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Co-badged Networks (comma-separated)"}),l.jsx("input",{value:g.co_badged_networks,onChange:A=>Tt("co_badged_networks",A.target.value),placeholder:"VISA, NYCE, PULSE, STAR",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Issuer Country"}),l.jsx("input",{value:g.issuer_country,onChange:A=>Tt("issuer_country",A.target.value.toUpperCase()),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{className:"flex items-center gap-2 pt-6",children:[l.jsx("input",{id:"debit-is-regulated",type:"checkbox",checked:g.is_regulated,onChange:A=>Tt("is_regulated",A.target.checked),className:"h-4 w-4 rounded border-slate-300"}),l.jsx("label",{htmlFor:"debit-is-regulated",className:"text-sm text-slate-600 dark:text-[#aab5c8]",children:"Regulated debit card"})]})]}),g.is_regulated&&l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Regulated Name"}),l.jsx("input",{value:g.regulated_name,onChange:A=>Tt("regulated_name",A.target.value),placeholder:"GOVERNMENT NON-EXEMPT INTERCHANGE FEE (WITH FRAUD)",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsx("p",{className:"text-xs text-slate-500",children:"The request sends debit details inside paymentInfo.metadata because the backend debit router parses co-badged card data from metadata."})]}):f==="volume"?l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Number of Payments"}),l.jsx("input",{type:"text",value:_,onChange:A=>k(A.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("p",{className:"text-xs text-slate-500 mt-1",children:"Enter how many preview evaluations to run against the active volume split rule."})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Amount"}),l.jsx("input",{value:p.amount,onChange:A=>Ct("amount",A.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Currency"}),l.jsx("select",{value:p.currency,onChange:A=>Ct("currency",A.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:ft.map(A=>l.jsx("option",{children:A},A))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Payment Method Type"}),l.jsx("select",{value:p.payment_method_type,onChange:A=>Ct("payment_method_type",A.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Y.map(A=>l.jsx("option",{children:A},A))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Payment Method"}),l.jsx("select",{value:p.payment_method,onChange:A=>Ct("payment_method",A.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Me.map(A=>l.jsx("option",{children:A},A))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Card Brand"}),l.jsx("select",{value:p.card_brand,onChange:A=>Ct("card_brand",A.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Zt.map(A=>l.jsx("option",{children:A},A))})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Auth Type"}),l.jsx("select",{value:p.auth_type,onChange:A=>Ct("auth_type",A.target.value),disabled:u||i,className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:pt.map(A=>l.jsx("option",{children:A},A))})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Eligible Gateways (comma-separated)"}),l.jsx("input",{value:p.eligible_gateways,onChange:A=>Ct("eligible_gateways",A.target.value),placeholder:"stripe, adyen",className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsx("div",{children:l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Algorithm"}),l.jsx("select",{value:p.ranking_algorithm,onChange:A=>Ct("ranking_algorithm",A.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:mR.map(A=>l.jsx("option",{value:A,children:Ble[A]},A))})]})}),f==="single"&&l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Transaction Outcome"}),l.jsxs("select",{value:V,onChange:A=>H(A.target.value),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:[l.jsx("option",{value:"CHARGED",children:"Success (CHARGED)"}),l.jsx("option",{value:"FAILURE",children:"Failure (FAILURE)"})]}),l.jsx("p",{className:"mt-1 text-xs text-slate-500",children:"After deciding the gateway, single test will post feedback with this outcome so the payment appears in Decision Audit."})]}),f==="batch"&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-4 mt-4 space-y-3",children:[l.jsxs("h3",{className:"text-sm font-medium text-slate-800 flex items-center gap-2",children:[l.jsx(sl,{size:14}),"Simulation Configuration"]}),l.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Total Payments"}),l.jsx("input",{type:"text",value:x.totalPayments,onChange:A=>v(D=>({...D,totalPayments:A.target.value})),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Success Count"}),l.jsx("input",{type:"text",value:x.successCount,onChange:A=>v(D=>({...D,successCount:A.target.value})),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs font-medium text-slate-600 mb-1",children:"Failure Count"}),l.jsx("input",{type:"text",value:x.failureCount,onChange:A=>v(D=>({...D,failureCount:A.target.value})),className:"w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]}),l.jsxs("p",{className:"text-xs text-slate-500",children:["Will run ",x.totalPayments||0," payments: ",x.successCount||0," SUCCESS, ",x.failureCount||0," FAILURE"]})]})]}),l.jsx(Nr,{error:ue}),f==="rule"?l.jsx(Ae,{onClick:Jd,disabled:X||u,className:"w-full justify-center",children:X?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Evaluating…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Mf,{size:14})," Evaluate Rules"]})}):f==="debit"?l.jsx(Ae,{onClick:Xd,disabled:X||!r||n.isLoading||!n.isEnabled,className:"w-full justify-center",children:X?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Running Debit Routing…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Kh,{size:14})," Run Debit Routing"]})}):f==="volume"?l.jsx(Ae,{onClick:Qd,disabled:X||!r,className:"w-full justify-center",children:X?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Running ",q,"/",_||0," previews…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Yh,{size:14})," Run Volume Evaluation"]})}):f==="batch"?l.jsx(Ae,{onClick:Zd,disabled:Pe||!r||u,className:"w-full justify-center",children:Pe?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14}),"Simulating ",ge.length,"/",x.totalPayments||0,"..."]}):l.jsxs(l.Fragment,{children:[l.jsx(sl,{size:14})," Run Auth-Rate Simulation"]})}):l.jsx(Ae,{onClick:Da,disabled:X||!r||u,className:"w-full justify-center",children:X?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Running…"]}):l.jsxs(l.Fragment,{children:[l.jsx(Mf,{size:14})," Run Single Transaction"]})})]})]}),l.jsx("div",{className:"space-y-4",children:f==="debit"?T?l.jsx(l.Fragment,{children:l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800 dark:text-white",children:"Debit Routing Result"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#9ca7ba]",children:["Real response from ",l.jsx("code",{children:"/decide-gateway"})," using ",l.jsx("code",{children:"NtwBasedRouting"}),"."]})]}),N?l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>kg(N),children:"View audit"}):null]})}),l.jsxs(Be,{className:"space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{className:"rounded-lg bg-slate-50 p-3 dark:bg-[#111114]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"routing_approach"}),l.jsx("p",{className:"mt-1 font-semibold text-slate-900 dark:text-white",children:T.routing_approach})]}),l.jsxs("div",{className:"rounded-lg bg-slate-50 p-3 dark:bg-[#111114]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"request payment_id"}),l.jsx("p",{className:"mt-1 font-mono text-xs text-slate-900 dark:text-white",children:N})]})]}),T.debit_routing_output?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[l.jsxs("div",{className:"rounded-lg border border-slate-200 p-3 dark:border-[#222226]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"Issuer country"}),l.jsx("p",{className:"mt-1 text-lg font-semibold text-slate-900 dark:text-white",children:T.debit_routing_output.issuer_country})]}),l.jsxs("div",{className:"rounded-lg border border-slate-200 p-3 dark:border-[#222226]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"Regulated"}),l.jsx("p",{className:"mt-1 text-lg font-semibold text-slate-900 dark:text-white",children:T.debit_routing_output.is_regulated?"Yes":"No"})]}),l.jsxs("div",{className:"rounded-lg border border-slate-200 p-3 dark:border-[#222226]",children:[l.jsx("p",{className:"text-xs text-slate-500",children:"Card type"}),l.jsx("p",{className:"mt-1 text-lg font-semibold text-slate-900 dark:text-white",children:T.debit_routing_output.card_type})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800 dark:text-white",children:"Ranked Debit Networks"})}),l.jsx(Be,{className:"p-0",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 text-xs text-slate-500 dark:bg-[#111114]",children:l.jsxs("tr",{children:[l.jsx("th",{className:"px-4 py-2 text-left",children:"Rank"}),l.jsx("th",{className:"px-4 py-2 text-left",children:"Network"}),l.jsx("th",{className:"px-4 py-2 text-right",children:"Saving %"})]})}),l.jsx("tbody",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:tt.map((A,D)=>l.jsxs("tr",{className:"hover:bg-slate-50 dark:hover:bg-[#111114]",children:[l.jsxs("td",{className:"px-4 py-2 font-mono text-xs text-slate-500",children:["#",D+1]}),l.jsx("td",{className:"px-4 py-2 font-medium text-slate-900 dark:text-white",children:A.network}),l.jsxs("td",{className:"px-4 py-2 text-right text-slate-700 dark:text-[#d8e1ef]",children:[A.saving_percentage.toFixed(2),"%"]})]},`${A.network}-${D}`))})]})})]})]}):l.jsx(Nr,{error:"Debit routing output was not returned. Check the raw response for backend details."}),l.jsxs("div",{className:"border-t border-slate-200 pt-3 dark:border-[#222226]",children:[l.jsxs("button",{type:"button",onClick:()=>Ie(!Re),className:"flex items-center gap-1 text-xs font-medium text-slate-500 hover:text-slate-700",children:[Re?l.jsx(No,{size:14}):l.jsx(ks,{size:14}),"Raw response"]}),Re&&l.jsx("pre",{className:"mt-3 max-h-96 overflow-auto rounded-lg bg-slate-950 p-4 text-xs text-slate-200",children:JSON.stringify(T,null,2)})]})]})]})}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-12 text-center",children:[l.jsx(Kh,{size:32,className:"mx-auto mb-3 text-slate-300"}),l.jsx("p",{className:"text-sm text-slate-500",children:'Enable debit routing, keep the default debit metadata, and click "Run Debit Routing" to inspect ranked networks.'})]})}):f==="volume"?W.length>0?l.jsxs(l.Fragment,{children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Volume Distribution Overview"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500",children:["Actual distribution from ",K.length," calls to ",l.jsx("code",{children:"/routing/evaluate"})," using the active volume split rule."]})]}),M!=null&&M.payment_id?l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>ef(M.payment_id,"Volume Split Preview"),children:"View latest preview trace"}):null]})}),l.jsxs(Be,{children:[l.jsxs("div",{className:"text-center mb-4",children:[l.jsx("p",{className:"text-3xl font-bold text-slate-900",children:K.length}),l.jsx("p",{className:"text-xs text-slate-500",children:"Evaluations completed"})]}),l.jsx("div",{className:"grid grid-cols-2 gap-4",children:W.map((A,D)=>l.jsxs("div",{className:"bg-slate-50 dark:bg-[#111114] rounded-lg p-3",children:[l.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[l.jsx("div",{className:"w-3 h-3 rounded",style:{backgroundColor:Jr[D%Jr.length]}}),l.jsx("span",{className:"font-medium text-sm",children:A.name})]}),l.jsxs("div",{className:"flex justify-between text-xs text-slate-500",children:[l.jsxs("span",{children:[A.percentage,"%"]}),l.jsxs("span",{className:"font-medium text-slate-700",children:[A.count," payments"]})]})]},D))})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Pie Chart"})}),l.jsx(Be,{children:l.jsx(Ii,{width:"100%",height:250,children:l.jsxs(_1,{children:[l.jsx(ha,{data:Le,cx:"50%",cy:"50%",innerRadius:60,outerRadius:100,paddingAngle:3,dataKey:"value",label:({name:A,percent:D})=>`${A} ${(D*100).toFixed(0)}%`,labelLine:!1,children:Le.map((A,D)=>l.jsx(qi,{fill:Jr[D%Jr.length]},`cell-${D}`))}),l.jsx(Or,{formatter:A=>[`${A} payments`,"Count"],contentStyle:document.documentElement.classList.contains("dark")?{backgroundColor:"#111114",border:"1px solid #222226",borderRadius:"8px",color:"#fff"}:{backgroundColor:"#fff",border:"1px solid #e5e7eb",borderRadius:"8px",color:"#1f2937"}})]})})})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Bar Chart"})}),l.jsx(Be,{children:l.jsx(Ii,{width:"100%",height:W.length*50+40,children:l.jsxs(Z0,{data:W,layout:"vertical",margin:{left:20,right:40},children:[l.jsx(Pa,{type:"number",tick:{fontSize:12,fill:"#666"},axisLine:{stroke:"#e5e7eb"},tickLine:!1}),l.jsx(Ca,{type:"category",dataKey:"name",tick:{fontSize:12,fill:"#666"},width:80,axisLine:!1,tickLine:!1}),l.jsx(Or,{formatter:A=>[`${A} payments`,"Count"],contentStyle:document.documentElement.classList.contains("dark")?{backgroundColor:"#111114",border:"1px solid #222226",borderRadius:"8px",color:"#fff"}:{backgroundColor:"#fff",border:"1px solid #e5e7eb",borderRadius:"8px",color:"#1f2937"}}),l.jsx(li,{dataKey:"count",radius:[0,6,6,0],children:W.map((A,D)=>l.jsx(qi,{fill:Jr[D%Jr.length]},`cell-${D}`))})]})})})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Percentage Distribution"})}),l.jsxs(Be,{children:[l.jsx("div",{className:"h-4 rounded-full overflow-hidden flex",children:W.map((A,D)=>l.jsx("div",{style:{width:`${A.percentage}%`,backgroundColor:Jr[D%Jr.length]},className:"h-full transition-all duration-300",title:`${A.name}: ${A.percentage}%`},D))}),l.jsx("div",{className:"flex flex-wrap gap-3 mt-3",children:W.map((A,D)=>l.jsxs("div",{className:"flex items-center gap-1.5 text-xs",children:[l.jsx("div",{className:"w-2.5 h-2.5 rounded-sm",style:{backgroundColor:Jr[D%Jr.length]}}),l.jsx("span",{className:"text-slate-600",children:A.name}),l.jsxs("span",{className:"font-medium",children:[A.percentage,"%"]})]},D))})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Gateway Summary"})}),l.jsx(Be,{className:"p-0",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#111114] text-xs text-slate-500",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-4 py-2",children:"gateway_name"}),l.jsx("th",{className:"text-right px-4 py-2",children:"Payments"}),l.jsx("th",{className:"text-right px-4 py-2",children:"Percentage"})]})}),l.jsxs("tbody",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:[W.map((A,D)=>l.jsxs("tr",{className:"hover:bg-slate-50 dark:bg-[#111114]",children:[l.jsx("td",{className:"px-4 py-2",children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"w-3 h-3 rounded",style:{backgroundColor:Jr[D%Jr.length]}}),l.jsx("span",{className:"font-medium",children:A.name})]})}),l.jsx("td",{className:"px-4 py-2 text-right font-medium",children:A.count}),l.jsxs("td",{className:"px-4 py-2 text-right text-slate-500",children:[A.percentage,"%"]})]},D)),l.jsxs("tr",{className:"bg-slate-50 dark:bg-[#111114] font-medium",children:[l.jsx("td",{className:"px-4 py-2",children:"Total"}),l.jsx("td",{className:"px-4 py-2 text-right",children:K.length}),l.jsx("td",{className:"px-4 py-2 text-right",children:"100%"})]})]})]})})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Evaluation Sequence"}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500",children:["Actual connector sequence returned by repeated ",l.jsx("code",{children:"/routing/evaluate"})," calls."]})]})}),l.jsx(Be,{className:"p-0 max-h-80 overflow-auto",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#111114] text-xs text-slate-500 sticky top-0",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-4 py-2 w-20",children:"#"}),l.jsx("th",{className:"text-left px-4 py-2",children:"payment_id"}),l.jsx("th",{className:"text-left px-4 py-2",children:"gateway_name"}),l.jsx("th",{className:"text-right px-4 py-2 w-28",children:"trace"})]})}),l.jsx("tbody",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:K.map((A,D)=>l.jsxs("tr",{className:"cursor-pointer hover:bg-slate-50 dark:bg-[#111114]",onClick:()=>ef(A.paymentId,"Volume Split Preview"),children:[l.jsx("td",{className:"px-4 py-1.5 text-slate-500 font-mono text-xs",children:D+1}),l.jsx("td",{className:"px-4 py-1.5 font-mono text-xs text-slate-500",children:A.paymentId}),l.jsx("td",{className:"px-4 py-1.5",children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"w-2 h-2 rounded",style:{backgroundColor:Jr[(Ke.get(A.connector)||0)%Jr.length]}}),l.jsx("span",{className:"font-medium",children:A.connector})]})}),l.jsx("td",{className:"px-4 py-1.5 text-right",children:l.jsx("button",{type:"button",className:"text-xs font-medium text-brand-600 hover:text-brand-700",onClick:ie=>{ie.stopPropagation(),ef(A.paymentId,"Volume Split Preview")},children:"View trace"})})]},A.paymentId))})]})})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("button",{onClick:()=>Ge(A=>!A),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(My,{size:14}),"API Response"]}),Oe?l.jsx(No,{size:14}):l.jsx(ks,{size:14})]})}),Oe&&M&&l.jsx(Be,{className:"p-0",children:l.jsx("pre",{className:"text-xs text-slate-600 bg-slate-50 dark:bg-[#0a0a0f] p-4 overflow-auto max-h-96 font-mono",children:JSON.stringify(M,null,2)})})]})]}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-16 text-center",children:[l.jsx(Yh,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsxs("p",{className:"text-slate-400 text-sm",children:['Enter the number of payments and click "Run Volume Evaluation" to execute repeated ',l.jsx("code",{children:"/routing/evaluate"})," calls against the active volume rule."]})]})}):f==="rule"?M?l.jsxs(l.Fragment,{children:[l.jsx(Se,{children:l.jsxs(Be,{children:[l.jsxs("div",{className:"flex items-start justify-between mb-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs text-slate-500 uppercase tracking-wide mb-1",children:"Status"}),l.jsx("p",{className:"text-2xl font-bold text-slate-900",children:M.status}),l.jsxs("p",{className:"text-xs text-slate-500 mt-1",children:["output_type: ",M.output.type]})]}),M.payment_id?l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>ef(M.payment_id,"Rule Evaluation Preview"),children:"View preview trace"}):null]}),M.output.type==="single"&&M.output.connector&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsx("p",{className:"text-xs text-slate-400 mb-1",children:"Selected gateway_name"}),l.jsx("p",{className:"text-lg font-semibold",children:M.output.connector.gateway_name}),M.output.connector.gateway_id&&l.jsxs("p",{className:"text-xs text-slate-500",children:["gateway_id: ",M.output.connector.gateway_id]})]}),M.output.type==="priority"&&M.output.connectors&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsx("p",{className:"text-xs text-slate-400 mb-2",children:"Priority gateway_name list"}),l.jsx("div",{className:"space-y-1",children:M.output.connectors.map((A,D)=>l.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[l.jsx("span",{className:"w-5 h-5 rounded-full bg-brand-500 text-white text-xs flex items-center justify-center",children:D+1}),l.jsx("span",{className:"font-medium",children:A.gateway_name}),A.gateway_id&&l.jsxs("span",{className:"text-xs text-slate-500",children:["(",A.gateway_id,")"]})]},D))})]}),M.output.type==="volume_split"&&l.jsxs("div",{className:"border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsx("p",{className:"text-xs text-slate-400 mb-2",children:"Volume Split Result"}),l.jsx("p",{className:"text-sm text-slate-600",children:"See Volume Split tab for detailed visualization."})]})]})}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("button",{onClick:()=>ke(A=>!A),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(My,{size:14}),"API Response"]}),De?l.jsx(No,{size:14}):l.jsx(ks,{size:14})]})}),De&&l.jsx(Be,{className:"p-0",children:l.jsx("pre",{className:"text-xs text-slate-600 bg-slate-50 dark:bg-[#0a0a0f] p-4 overflow-auto max-h-96 font-mono",children:JSON.stringify(M,null,2)})})]})]}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-16 text-center",children:[l.jsx(Mf,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsx("p",{className:"text-slate-400 text-sm",children:'Configure rule parameters and click "Evaluate Rules" to test routing.'})]})}):f==="batch"?re?l.jsxs(l.Fragment,{children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Simulation Progress"})}),l.jsxs(Be,{children:[l.jsxs("div",{className:"mb-4",children:[l.jsxs("div",{className:"flex justify-between text-xs text-slate-600 mb-1",children:[l.jsx("span",{children:"Progress"}),l.jsxs("span",{children:[F,"%"]})]}),l.jsx("div",{className:"w-full overflow-hidden rounded-full bg-gray-200 h-2",children:l.jsx("div",{className:`h-2 rounded-full bg-brand-500 transition-[width] duration-300 ease-out ${Pe&&ps===0?"animate-pulse":""}`,style:{width:`${F}%`}})}),l.jsxs("p",{className:"mt-2 text-xs text-slate-500",children:[ps," of ",fo||0," payments processed."]})]}),Object.keys(me).length>0&&l.jsxs("div",{className:"space-y-2",children:[l.jsx("h4",{className:"text-xs font-medium text-slate-700",children:"Gateway Selection Summary"}),Object.entries(me).map(([A,D])=>l.jsxs("div",{className:"flex items-center justify-between text-sm",children:[l.jsx("span",{className:"font-medium",children:A}),l.jsxs("div",{className:"flex gap-3 text-xs",children:[l.jsxs("span",{className:"text-emerald-600",children:[D.success," ✓"]}),l.jsxs("span",{className:"text-red-500",children:[D.failure," ✗"]}),l.jsxs("span",{className:"text-slate-500",children:["(",D.total," total)"]})]})]},A))]})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Transaction Log"})}),l.jsx(Be,{className:"p-0 max-h-96 overflow-auto",children:Pr.length>0?l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#0a0a0f] text-xs text-slate-500 sticky top-0",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-3 py-2",children:"#"}),l.jsx("th",{className:"text-left px-3 py-2",children:"Payment ID"}),l.jsx("th",{className:"text-left px-3 py-2",children:"Gateway"}),l.jsx("th",{className:"text-left px-3 py-2",children:"Outcome"})]})}),l.jsx("tbody",{className:"divide-y divide-[#1c1c24]",children:Pr.map((A,D)=>l.jsxs("tr",{className:"hover:bg-slate-100 dark:bg-[#0f0f16]",children:[l.jsx("td",{className:"px-3 py-2 text-slate-500",children:D+1}),l.jsx("td",{className:"px-3 py-2",children:l.jsxs("button",{type:"button",title:A.paymentId,onClick:()=>kg(A.paymentId),className:"group flex items-start gap-3 text-left",children:[l.jsx("span",{className:"inline-flex h-8 w-8 items-center justify-center rounded-full bg-brand-500/10 text-[11px] font-semibold uppercase tracking-[0.16em] text-brand-600 dark:text-brand-300",children:D+1}),l.jsxs("span",{className:"min-w-0",children:[l.jsx("span",{className:"block truncate font-mono text-xs font-semibold text-slate-900 transition group-hover:text-brand-600 dark:text-white",children:A.paymentId}),l.jsx("span",{className:"mt-1 block text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-400 transition group-hover:text-brand-500",children:"View audit"})]})]})}),l.jsx("td",{className:"px-3 py-2 font-medium",children:A.decidedGateway}),l.jsx("td",{className:"px-3 py-2",children:l.jsx(ze,{variant:A.status==="CHARGED"?"green":"red",children:A.status})})]},A.paymentId))})]}):l.jsxs("div",{className:"flex items-center gap-3 px-4 py-6 text-sm text-slate-500",children:[l.jsx(Ft,{size:16}),"Waiting for the first simulated payment result…"]})})]})]}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-16 text-center",children:[l.jsx(sl,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsx("p",{className:"text-slate-400 text-sm",children:'Configure simulation parameters and click "Run Auth-Rate Simulation" to test auth-rate based routing.'})]})}):O?l.jsxs(l.Fragment,{children:[l.jsx(Se,{children:l.jsxs(Be,{children:[l.jsxs("div",{className:"flex items-start justify-between mb-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs text-slate-500 uppercase tracking-wide mb-1",children:"Decided Gateway"}),l.jsx("p",{className:"text-3xl font-bold text-slate-900",children:O.decided_gateway})]}),l.jsxs("div",{className:"text-right space-y-2",children:[l.jsx("div",{children:l.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded text-xs font-medium ${Ule(O.routing_approach)}`,children:O.routing_approach})}),I?l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>kg(I),children:"View audit"}):null,O.is_scheduled_outage&&l.jsx(ze,{variant:"red",children:"Scheduled Outage"}),I?l.jsx(ze,{variant:V==="CHARGED"?"green":"red",children:V}):null,O.latency!=null&&l.jsxs("p",{className:"text-xs text-slate-400",children:[O.latency,"ms"]})]})]}),I?l.jsxs("div",{className:"mb-3 rounded-[18px] border border-slate-200 bg-slate-50/80 px-4 py-3 dark:border-[#1c1c23] dark:bg-[#0b0b10]",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Payment ID"}),l.jsx("p",{className:"mt-2 font-mono text-sm text-slate-900 dark:text-white",children:I}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:["Feedback recorded as ",V,". Open audit to inspect the full decide and update flow."]})]}):null,O.routing_dimension&&l.jsxs("div",{className:"flex gap-4 text-sm text-slate-600 border-t border-slate-200 dark:border-[#1c1c24] pt-3",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-xs text-slate-400",children:"Dimension"}),l.jsx("p",{className:"font-medium",children:O.routing_dimension})]}),O.routing_dimension_level&&l.jsxs("div",{children:[l.jsx("span",{className:"text-xs text-slate-400",children:"Level"}),l.jsx("p",{className:"font-medium",children:O.routing_dimension_level})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-xs text-slate-400",children:"Reset"}),l.jsx("p",{className:"font-medium",children:O.reset_approach})]})]})]})}),fs.length>0&&l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx("h3",{className:"text-sm font-medium text-slate-800",children:"Gateway Scores"}),l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:Da,className:"text-xs",children:[l.jsx(Df,{size:12})," Refresh"]})]})}),l.jsx(Be,{children:l.jsx(Ii,{width:"100%",height:fs.length*40+20,children:l.jsxs(Z0,{data:fs,layout:"vertical",margin:{left:10,right:30},children:[l.jsx(Pa,{type:"number",domain:[0,100],tickFormatter:A=>`${A}%`,tick:{fontSize:11,fill:"#66667a"},axisLine:{stroke:"#1c1c24"},tickLine:!1}),l.jsx(Ca,{type:"category",dataKey:"name",tick:{fontSize:12,fill:"#8e8ea0"},width:60,axisLine:!1,tickLine:!1}),l.jsx(Or,{formatter:A=>`${A}%`,contentStyle:{backgroundColor:"#0d0d12",border:"1px solid #1c1c24",borderRadius:"8px",color:"#e8e8f4"}}),l.jsx(li,{dataKey:"score",radius:[0,4,4,0],children:fs.map((A,D)=>l.jsx(qi,{fill:A.name===O.decided_gateway?"#0069ED":A.score<30?"#ef4444":A.score<60?"#f59e0b":"#10b981"},D))})]})})})]}),O.filter_wise_gateways&&l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("button",{onClick:()=>qe(A=>!A),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:["Filter Chain",ye?l.jsx(No,{size:14}):l.jsx(ks,{size:14})]})}),ye&&l.jsx(Be,{className:"space-y-2",children:Object.entries(O.filter_wise_gateways).map(([A,D])=>l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("span",{className:"text-xs font-mono bg-slate-100 dark:bg-[#111118] text-slate-600 rounded-md px-2 py-0.5 mt-0.5 shrink-0 border border-slate-200 dark:border-[#1c1c24]",children:A}),l.jsx("div",{className:"flex flex-wrap gap-1",children:Array.isArray(D)?D.map(ie=>l.jsx("span",{className:"text-xs bg-blue-500/10 text-blue-400 ring-1 ring-inset ring-blue-500/20 rounded-md px-2 py-0.5",children:ie},ie)):l.jsx("span",{className:"text-xs text-slate-400",children:"—"})})]},A))})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("button",{onClick:()=>ke(A=>!A),className:"flex items-center justify-between w-full text-sm font-medium text-slate-800",children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(My,{size:14}),"API Response"]}),De?l.jsx(No,{size:14}):l.jsx(ks,{size:14})]})}),De&&l.jsx(Be,{className:"p-0",children:l.jsx("pre",{className:"text-xs text-slate-600 bg-slate-50 dark:bg-[#0a0a0f] p-4 overflow-auto max-h-96 font-mono",children:JSON.stringify(O,null,2)})})]})]}):l.jsx(Se,{children:l.jsxs(Be,{className:"py-16 text-center",children:[l.jsx(Mf,{size:32,className:"text-gray-300 mx-auto mb-3"}),l.jsx("p",{className:"text-slate-400 text-sm",children:'Fill in the parameters and click "Run Single Transaction" to decide a gateway, post feedback, and inspect the audit trail.'})]})})})]}),We&&l.jsxs("div",{className:"fixed bottom-0 left-64 right-0 top-[76px] z-[130] p-8",children:[l.jsx("button",{type:"button","aria-label":"Close payment audit",className:"absolute inset-0 bg-slate-950/70 backdrop-blur-sm",onClick:B1}),l.jsxs("div",{role:"dialog","aria-modal":"true","aria-labelledby":"decision-explorer-audit-title",className:"relative mx-auto flex h-full w-full max-w-7xl flex-col overflow-hidden rounded-[30px] border border-slate-200 bg-white shadow-2xl dark:border-[#1c1c23] dark:bg-[#09090d]",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4 border-b border-slate-200 bg-slate-50/90 px-6 py-5 dark:border-[#1c1c23] dark:bg-[#0b0b10]",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.2em] text-slate-500 dark:text-[#8a8a93]",children:"Simulation Audit"}),l.jsx("h2",{id:"decision-explorer-audit-title",className:"mt-2 truncate text-2xl font-semibold text-slate-900 dark:text-white",children:We}),l.jsx("p",{className:"mt-2 max-w-3xl text-sm text-slate-500 dark:text-[#8a8a93]",children:"Inspect the exact decision trail for this simulated payment, including request payloads, API responses, score context, and the final transaction outcome."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[it!=null&&it.latest_gateway?l.jsx(ze,{variant:"green",children:it.latest_gateway}):null,it!=null&&it.latest_status?l.jsx(ze,{variant:MO(it.latest_status),children:Tn(it.latest_status)}):null,it!=null&&it.event_count?l.jsxs(ze,{variant:"gray",children:[it.event_count," events"]}):null,l.jsxs(Ae,{size:"sm",variant:"secondary",onClick:()=>Ye.mutate(),children:[l.jsx(Df,{size:12}),"Refresh"]}),l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:B1,children:[l.jsx(PO,{size:14}),"Close"]})]})]}),l.jsxs("div",{className:"grid min-h-0 flex-1 gap-0 xl:grid-cols-[340px_minmax(0,1fr)]",children:[l.jsxs("div",{className:"flex min-h-0 flex-col border-b border-slate-200 bg-slate-50/70 xl:border-b-0 xl:border-r dark:border-[#1c1c23] dark:bg-[#08080b]",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Audit Timeline"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Choose a step to inspect its request, response, and scoring context."})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:Ye.isLoading&&!Ye.data?l.jsxs("div",{className:"flex items-center gap-2 px-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading payment audit…"]}):Ye.error?l.jsx(Nr,{error:Ye.error.message}):yi.length?l.jsx("div",{className:"space-y-4",children:yi.map(A=>l.jsxs("section",{className:"space-y-2",children:[l.jsx("div",{className:"px-2",children:l.jsx(ze,{variant:DO(A.phase),children:A.phase})}),l.jsx("div",{className:"space-y-2",children:A.events.map(D=>l.jsxs("button",{type:"button",onClick:()=>{U(D.id),te("summary")},className:`w-full rounded-[22px] border px-4 py-3 text-left transition ${(Ze==null?void 0:Ze.id)===D.id?"border-brand-500/50 bg-brand-500/8":"border-slate-200 bg-white hover:border-slate-300 dark:border-[#1d1d23] dark:bg-[#0c0c10] dark:hover:border-[#2a2a31]"}`,children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:Yu(D)}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:qu(D.created_at_ms)})]}),l.jsx(ze,{variant:Wf(D),children:Tn(D.status)||IO(D.flow_type)})]}),l.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[l.jsx(ze,{variant:"gray",children:Ku(D.route)}),D.gateway?l.jsx(ze,{variant:"green",children:D.gateway}):null,D.request_id?l.jsx(ze,{variant:"blue",children:"Request"}):null]})]},D.id))})]},A.phase))}):l.jsx(Xu,{title:"No audit trail captured yet",body:"Run a simulated payment and gateway update first, then reopen the row once the audit payload is available."})})]}),l.jsxs("div",{className:"flex min-h-0 flex-col",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Ze?Yu(Ze):"Audit Inspector"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:Ze?`${Ku(Ze.route)} · ${qu(Ze.created_at_ms)}`:"Select an event from the left to inspect payloads."})]}),l.jsxs("div",{className:"flex flex-wrap gap-2",children:[Ze!=null&&Ze.gateway?l.jsx(ze,{variant:"green",children:Ze.gateway}):null,Ze!=null&&Ze.status?l.jsx(ze,{variant:Wf(Ze),children:Tn(Ze.status)}):null]})]}),l.jsx("div",{className:"mt-4 flex flex-wrap gap-2",children:["summary","input","response","raw"].map(A=>l.jsx("button",{type:"button",onClick:()=>te(A),className:`rounded-full px-4 py-2 text-xs font-semibold uppercase tracking-[0.16em] transition ${_o(ae===A)}`,children:A==="raw"?"Raw JSON":Tn(A)},A))})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-5",children:Ye.isLoading&&!Ye.data?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading inspector…"]}):ya?l.jsxs("div",{className:"space-y-5",children:[ae==="summary"?l.jsxs(l.Fragment,{children:[l.jsx(zO,{rows:ya.summaryRows}),ya.selectionReason?l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-slate-50/80 px-5 py-4 dark:border-[#1d1d23] dark:bg-[#0b0b10]",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8a8a93]",children:"Selection Reason"}),l.jsx("p",{className:"mt-3 text-sm leading-6 text-slate-700 dark:text-slate-200",children:wR(ya.selectionReason)})]}):null,l.jsx(Fa,{title:"Score Context",value:ya.scoreContext,emptyMessage:"No scoring context was captured for this event."}),ya.signalRecord?l.jsx(Fa,{title:"Additional Signals",value:ya.signalRecord,emptyMessage:"No additional signals were captured for this event."}):null]}):null,ae==="input"?l.jsx(Fa,{title:"Request Payload",value:ya.requestPayload,emptyMessage:"This step did not persist a request payload."}):null,ae==="response"?l.jsx(Fa,{title:"Response Payload",value:ya.responsePayload,emptyMessage:"This step did not persist a response payload."}):null,ae==="raw"?l.jsx(Fa,{title:"Raw Event JSON",value:ya.rawEvent,emptyMessage:"No raw event payload is available."}):null]}):l.jsx(Xu,{title:"Select a timeline step",body:"Choose one of the audit events on the left to inspect its request, response, and score context."})})]})]})]})]}),Q&&l.jsxs("div",{className:"fixed bottom-0 left-64 right-0 top-[76px] z-[130] p-8",children:[l.jsx("button",{type:"button","aria-label":"Close preview trace",className:"absolute inset-0 bg-slate-950/70 backdrop-blur-sm",onClick:U1}),l.jsxs("div",{role:"dialog","aria-modal":"true","aria-labelledby":"decision-explorer-preview-title",className:"relative mx-auto flex h-full w-full max-w-7xl flex-col overflow-hidden rounded-[30px] border border-slate-200 bg-white shadow-2xl dark:border-[#1c1c23] dark:bg-[#09090d]",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4 border-b border-slate-200 bg-slate-50/90 px-6 py-5 dark:border-[#1c1c23] dark:bg-[#0b0b10]",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.2em] text-slate-500 dark:text-[#8a8a93]",children:"Preview Trace"}),l.jsx("h2",{id:"decision-explorer-preview-title",className:"mt-2 truncate text-2xl font-semibold text-slate-900 dark:text-white",children:Q}),l.jsxs("p",{className:"mt-2 max-w-3xl text-sm text-slate-500 dark:text-[#8a8a93]",children:[Lt,". This is a preview-only trace captured from ",l.jsx("code",{className:"font-mono text-xs",children:"/routing/evaluate"}),", not a transaction outcome."]})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[_r!=null&&_r.latest_gateway?l.jsx(ze,{variant:"green",children:_r.latest_gateway}):null,_r!=null&&_r.latest_status?l.jsx(ze,{variant:MO(_r.latest_status),children:Tn(_r.latest_status)}):null,_r!=null&&_r.event_count?l.jsxs(ze,{variant:"gray",children:[_r.event_count," events"]}):null,l.jsxs(Ae,{size:"sm",variant:"secondary",onClick:()=>st.mutate(),children:[l.jsx(Df,{size:12}),"Refresh"]}),l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:U1,children:[l.jsx(PO,{size:14}),"Close"]})]})]}),l.jsxs("div",{className:"grid min-h-0 flex-1 gap-0 xl:grid-cols-[340px_minmax(0,1fr)]",children:[l.jsxs("div",{className:"flex min-h-0 flex-col border-b border-slate-200 bg-slate-50/70 xl:border-b-0 xl:border-r dark:border-[#1c1c23] dark:bg-[#08080b]",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Preview Timeline"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Choose a preview step to inspect its request, response, and routing output."})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:st.isLoading&&!st.data?l.jsxs("div",{className:"flex items-center gap-2 px-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading preview trace…"]}):st.error?l.jsx(Nr,{error:st.error.message}):z1.length?l.jsx("div",{className:"space-y-4",children:z1.map(A=>l.jsxs("section",{className:"space-y-2",children:[l.jsx("div",{className:"px-2",children:l.jsx(ze,{variant:DO(A.phase),children:A.phase})}),l.jsx("div",{className:"space-y-2",children:A.events.map(D=>l.jsxs("button",{type:"button",onClick:()=>{Ne(D.id),mt("summary")},className:`w-full rounded-[22px] border px-4 py-3 text-left transition ${(kt==null?void 0:kt.id)===D.id?"border-brand-500/50 bg-brand-500/8":"border-slate-200 bg-white hover:border-slate-300 dark:border-[#1d1d23] dark:bg-[#0c0c10] dark:hover:border-[#2a2a31]"}`,children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:Yu(D)}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:qu(D.created_at_ms)})]}),l.jsx(ze,{variant:Wf(D),children:Tn(D.status)||IO(D.flow_type)})]}),l.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[l.jsx(ze,{variant:"gray",children:Ku(D.route)}),D.gateway?l.jsx(ze,{variant:"green",children:D.gateway}):null]})]},D.id))})]},A.phase))}):Q?l.jsx(FO,{title:_r?"Preview summary available":"Preview trace still arriving",body:_r?"We already found the preview summary for this run, but the step-by-step timeline has not been flushed yet. The modal is still polling for detailed preview events.":"This preview was just logged. The modal is polling every second and will populate once the analytics writer flushes the trace."}):l.jsx(Xu,{title:"No preview trace captured yet",body:"Run Rule-Based or Volume Split evaluation first, then open the preview trace once the request has been logged."})})]}),l.jsxs("div",{className:"flex min-h-0 flex-col",children:[l.jsxs("div",{className:"border-b border-slate-200 px-6 py-4 dark:border-[#1c1c23]",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:kt?Yu(kt):"Preview Inspector"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:kt?`${Ku(kt.route)} · ${qu(kt.created_at_ms)}`:"Select an event from the left to inspect the preview payload."})]}),l.jsxs("div",{className:"flex flex-wrap gap-2",children:[kt!=null&&kt.gateway?l.jsx(ze,{variant:"green",children:kt.gateway}):null,kt!=null&&kt.status?l.jsx(ze,{variant:Wf(kt),children:Tn(kt.status)}):null]})]}),l.jsx("div",{className:"mt-4 flex flex-wrap gap-2",children:["summary","input","response","raw"].map(A=>l.jsx("button",{type:"button",onClick:()=>mt(A),className:`rounded-full px-4 py-2 text-xs font-semibold uppercase tracking-[0.16em] transition ${_o(dt===A)}`,children:A==="raw"?"Raw JSON":Tn(A)},A))})]}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-5",children:st.isLoading&&!st.data?l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading preview inspector…"]}):po?l.jsxs("div",{className:"space-y-5",children:[dt==="summary"?l.jsxs(l.Fragment,{children:[l.jsx(zO,{rows:po.summaryRows}),l.jsx(Fa,{title:"Preview Signals",value:po.signalRecord,emptyMessage:"No extra preview metadata was captured for this evaluation."})]}):null,dt==="input"?l.jsx(Fa,{title:"Request Payload",value:po.requestPayload,emptyMessage:"No request payload was captured for this preview."}):null,dt==="response"?l.jsx(Fa,{title:"Response Payload",value:po.responsePayload,emptyMessage:"No response payload was captured for this preview."}):null,dt==="raw"?l.jsx(Fa,{title:"Raw Event JSON",value:po.rawEvent,emptyMessage:"No raw event payload is available for this preview."}):null]}):Q&&!((Q1=(J1=st.data)==null?void 0:J1.timeline)!=null&&Q1.length)?l.jsx(FO,{title:_r?"Waiting for detailed preview step":"Waiting for preview step",body:_r?"The preview record exists, but no inspectable step payload has arrived yet. The inspector will unlock as soon as the first timeline event is available.":"Inspector will unlock as soon as the first preview event is available."}):l.jsx(Xu,{title:"Select a preview step",body:"Choose one of the preview events on the left to inspect its request and response payload."})})]})]})]})]})]})}function Qle(){const{merchantId:e}=Nn(),{data:t,error:r,isLoading:n,isEnabled:a,setDebitRoutingEnabled:i}=hR(e),[s,o]=S.useState(!1),[u,c]=S.useState(null),[f,d]=S.useState(null);async function p(h){if(!e){c("Set a merchant ID first");return}o(!0),c(null),d(null);try{const x=await i(h);d(x.debit_routing_enabled?"Debit routing enabled for this merchant.":"Debit routing disabled for this merchant.")}catch(x){c(x instanceof Error?x.message:"Failed to update debit routing")}finally{o(!1)}}return l.jsxs("div",{className:"max-w-3xl space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold text-slate-900 dark:text-white",children:"Network / Debit Routing"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#b2bdd1]",children:"Enable debit network routing for a merchant, then test real network-routing decisions from Decision Explorer."})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Kh,{size:16,className:"text-brand-500"}),l.jsxs("div",{children:[l.jsx(an,{children:"Merchant feature flag"}),l.jsx("h2",{className:"mt-2 font-medium text-slate-800 dark:text-white",children:"Debit Routing Runtime Access"})]})]})}),l.jsxs(Be,{className:"space-y-5",children:[!e&&l.jsx("p",{className:"rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-700",children:"Set a merchant ID in the top bar to load debit routing access."}),e&&n?l.jsxs("div",{className:"flex items-center gap-2 py-4 text-sm text-slate-500",children:[l.jsx(Ft,{size:16}),"Loading debit routing flag..."]}):l.jsx("div",{className:"rounded-[24px] border border-slate-200 bg-slate-50 p-5 dark:border-[#232833] dark:bg-[#0b1017]",children:l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-slate-400 dark:text-[#6d768a]",children:"Current state"}),l.jsx("p",{className:"mt-2 text-2xl font-semibold text-slate-900 dark:text-white",children:a?"Enabled":"Disabled"}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#9ca7ba]",children:(t==null?void 0:t.merchant_id)||e||"No merchant selected"})]}),l.jsx(Ae,{onClick:()=>p(!a),disabled:!e||s||n,variant:a?"secondary":"primary",children:s?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14}),"Updating..."]}):a?"Disable Debit Routing":"Enable Debit Routing"})]})}),l.jsx(Nr,{error:u||(r instanceof Error?r.message:r?"Failed to load debit routing flag":null)}),f&&l.jsx("p",{className:"text-sm text-emerald-500",children:f})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"font-medium text-slate-800 dark:text-white",children:"What This Controls"})}),l.jsxs(Be,{className:"space-y-3 text-sm text-slate-600 dark:text-[#aab5c8]",children:[l.jsxs("p",{children:["This toggle controls the backend runtime gate for ",l.jsx("code",{className:"rounded bg-slate-100 px-1.5 py-0.5 text-xs text-brand-600 dark:bg-[#111118]",children:"NtwBasedRouting"})," and hybrid debit routing."]}),l.jsx("p",{children:"Detailed debit fee tables and network cost configuration are still backend configuration, not dashboard-editable rule config. This page only enables or disables merchant access to the runtime debit-routing flow."}),l.jsxs("p",{children:["Use Decision Explorer's Debit Routing tab to send a real ",l.jsx("code",{className:"rounded bg-slate-100 px-1.5 py-0.5 text-xs text-brand-600 dark:bg-[#111118]",children:"/decide-gateway"})," request and inspect the ranked debit networks."]})]})]})]})}function eue(){for(var e=arguments.length,t=new Array(e),r=0;rn=>{t.forEach(a=>a(n))},t)}const vg=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function fu(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function O1(e){return"nodeType"in e}function dn(e){var t,r;return e?fu(e)?e:O1(e)&&(t=(r=e.ownerDocument)==null?void 0:r.defaultView)!=null?t:window:window}function N1(e){const{Document:t}=dn(e);return e instanceof t}function Hd(e){return fu(e)?!1:e instanceof dn(e).HTMLElement}function _R(e){return e instanceof dn(e).SVGElement}function pu(e){return e?fu(e)?e.document:O1(e)?N1(e)?e:Hd(e)||_R(e)?e.ownerDocument:document:document:document}const Ra=vg?S.useLayoutEffect:S.useEffect;function A1(e){const t=S.useRef(e);return Ra(()=>{t.current=e}),S.useCallback(function(){for(var r=arguments.length,n=new Array(r),a=0;a{e.current=setInterval(n,a)},[]),r=S.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,r]}function wd(e,t){t===void 0&&(t=[e]);const r=S.useRef(e);return Ra(()=>{r.current!==e&&(r.current=e)},t),r}function Gd(e,t){const r=S.useRef();return S.useMemo(()=>{const n=e(r.current);return r.current=n,n},[...t])}function Jh(e){const t=A1(e),r=S.useRef(null),n=S.useCallback(a=>{a!==r.current&&(t==null||t(a,r.current)),r.current=a},[]);return[r,n]}function rb(e){const t=S.useRef();return S.useEffect(()=>{t.current=e},[e]),t.current}let Gy={};function qd(e,t){return S.useMemo(()=>{if(t)return t;const r=Gy[e]==null?0:Gy[e]+1;return Gy[e]=r,e+"-"+r},[e,t])}function jR(e){return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),a=1;a{const o=Object.entries(s);for(const[u,c]of o){const f=i[u];f!=null&&(i[u]=f+e*c)}return i},{...t})}}const ol=jR(1),_d=jR(-1);function rue(e){return"clientX"in e&&"clientY"in e}function E1(e){if(!e)return!1;const{KeyboardEvent:t}=dn(e.target);return t&&e instanceof t}function nue(e){if(!e)return!1;const{TouchEvent:t}=dn(e.target);return t&&e instanceof t}function nb(e){if(nue(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:r}=e.touches[0];return{x:t,y:r}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:r}=e.changedTouches[0];return{x:t,y:r}}}return rue(e)?{x:e.clientX,y:e.clientY}:null}const jd=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:r}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(r?Math.round(r):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:r}=e;return"scaleX("+t+") scaleY("+r+")"}},Transform:{toString(e){if(e)return[jd.Translate.toString(e),jd.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:r,easing:n}=e;return t+" "+r+"ms "+n}}}),BO="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function aue(e){return e.matches(BO)?e:e.querySelector(BO)}const iue={display:"none"};function sue(e){let{id:t,value:r}=e;return P.createElement("div",{id:t,style:iue},r)}function oue(e){let{id:t,announcement:r,ariaLiveType:n="assertive"}=e;const a={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return P.createElement("div",{id:t,style:a,role:"status","aria-live":n,"aria-atomic":!0},r)}function lue(){const[e,t]=S.useState("");return{announce:S.useCallback(n=>{n!=null&&t(n)},[]),announcement:e}}const SR=S.createContext(null);function uue(e){const t=S.useContext(SR);S.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function cue(){const[e]=S.useState(()=>new Set),t=S.useCallback(n=>(e.add(n),()=>e.delete(n)),[e]);return[S.useCallback(n=>{let{type:a,event:i}=n;e.forEach(s=>{var o;return(o=s[a])==null?void 0:o.call(s,i)})},[e]),t]}const due={draggable:` To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel. - `},fue={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:r}=e;return r?"Draggable item "+t.id+" was moved over droppable area "+r.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:r}=e;return r?"Draggable item "+t.id+" was dropped over droppable area "+r.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function pue(e){let{announcements:t=fue,container:r,hiddenTextDescribedById:n,screenReaderInstructions:a=due}=e;const{announce:i,announcement:s}=lue(),o=qd("DndLiveRegion"),[u,c]=S.useState(!1);if(S.useEffect(()=>{c(!0)},[]),uue(S.useMemo(()=>({onDragStart(d){let{active:p}=d;i(t.onDragStart({active:p}))},onDragMove(d){let{active:p,over:h}=d;t.onDragMove&&i(t.onDragMove({active:p,over:h}))},onDragOver(d){let{active:p,over:h}=d;i(t.onDragOver({active:p,over:h}))},onDragEnd(d){let{active:p,over:h}=d;i(t.onDragEnd({active:p,over:h}))},onDragCancel(d){let{active:p,over:h}=d;i(t.onDragCancel({active:p,over:h}))}}),[i,t])),!u)return null;const f=P.createElement(P.Fragment,null,P.createElement(sue,{id:n,value:a.draggable}),P.createElement(oue,{id:o,announcement:s}));return r?Bo.createPortal(f,r):f}var cr;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(cr||(cr={}));function Qh(){}function UO(e,t){return S.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function hue(){for(var e=arguments.length,t=new Array(e),r=0;r[...t].filter(n=>n!=null),[...t])}const fa=Object.freeze({x:0,y:0});function kR(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function OR(e,t){let{data:{value:r}}=e,{data:{value:n}}=t;return r-n}function mue(e,t){let{data:{value:r}}=e,{data:{value:n}}=t;return n-r}function VO(e){let{left:t,top:r,height:n,width:a}=e;return[{x:t,y:r},{x:t+a,y:r},{x:t,y:r+n},{x:t+a,y:r+n}]}function NR(e,t){if(!e||e.length===0)return null;const[r]=e;return r[t]}function WO(e,t,r){return t===void 0&&(t=e.left),r===void 0&&(r=e.top),{x:t+e.width*.5,y:r+e.height*.5}}const gue=e=>{let{collisionRect:t,droppableRects:r,droppableContainers:n}=e;const a=WO(t,t.left,t.top),i=[];for(const s of n){const{id:o}=s,u=r.get(o);if(u){const c=kR(WO(u),a);i.push({id:o,data:{droppableContainer:s,value:c}})}}return i.sort(OR)},yue=e=>{let{collisionRect:t,droppableRects:r,droppableContainers:n}=e;const a=VO(t),i=[];for(const s of n){const{id:o}=s,u=r.get(o);if(u){const c=VO(u),f=a.reduce((p,h,x)=>p+kR(c[x],h),0),d=Number((f/4).toFixed(4));i.push({id:o,data:{droppableContainer:s,value:d}})}}return i.sort(OR)};function vue(e,t){const r=Math.max(t.top,e.top),n=Math.max(t.left,e.left),a=Math.min(t.left+t.width,e.left+e.width),i=Math.min(t.top+t.height,e.top+e.height),s=a-n,o=i-r;if(n{let{collisionRect:t,droppableRects:r,droppableContainers:n}=e;const a=[];for(const i of n){const{id:s}=i,o=r.get(s);if(o){const u=vue(o,t);u>0&&a.push({id:s,data:{droppableContainer:i,value:u}})}}return a.sort(mue)};function bue(e,t,r){return{...e,scaleX:t&&r?t.width/r.width:1,scaleY:t&&r?t.height/r.height:1}}function AR(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:fa}function wue(e){return function(r){for(var n=arguments.length,a=new Array(n>1?n-1:0),i=1;i({...s,top:s.top+e*o.y,bottom:s.bottom+e*o.y,left:s.left+e*o.x,right:s.right+e*o.x}),{...r})}}const _ue=wue(1);function jue(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Sue(e,t,r){const n=jue(t);if(!n)return e;const{scaleX:a,scaleY:i,x:s,y:o}=n,u=e.left-s-(1-a)*parseFloat(r),c=e.top-o-(1-i)*parseFloat(r.slice(r.indexOf(" ")+1)),f=a?e.width/a:e.width,d=i?e.height/i:e.height;return{width:f,height:d,top:c,right:u+f,bottom:c+d,left:u}}const kue={ignoreTransform:!1};function hu(e,t){t===void 0&&(t=kue);let r=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:c,transformOrigin:f}=dn(e).getComputedStyle(e);c&&(r=Sue(r,c,f))}const{top:n,left:a,width:i,height:s,bottom:o,right:u}=r;return{top:n,left:a,width:i,height:s,bottom:o,right:u}}function HO(e){return hu(e,{ignoreTransform:!0})}function Oue(e){const t=e.innerWidth,r=e.innerHeight;return{top:0,left:0,right:t,bottom:r,width:t,height:r}}function Nue(e,t){return t===void 0&&(t=dn(e).getComputedStyle(e)),t.position==="fixed"}function Aue(e,t){t===void 0&&(t=dn(e).getComputedStyle(e));const r=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(a=>{const i=t[a];return typeof i=="string"?r.test(i):!1})}function xg(e,t){const r=[];function n(a){if(t!=null&&r.length>=t||!a)return r;if(N1(a)&&a.scrollingElement!=null&&!r.includes(a.scrollingElement))return r.push(a.scrollingElement),r;if(!Hd(a)||_R(a)||r.includes(a))return r;const i=dn(e).getComputedStyle(a);return a!==e&&Aue(a,i)&&r.push(a),Nue(a,i)?r:n(a.parentNode)}return e?n(e):r}function ER(e){const[t]=xg(e,1);return t??null}function qy(e){return!vg||!e?null:fu(e)?e:O1(e)?N1(e)||e===pu(e).scrollingElement?window:Hd(e)?e:null:null}function PR(e){return fu(e)?e.scrollX:e.scrollLeft}function CR(e){return fu(e)?e.scrollY:e.scrollTop}function ab(e){return{x:PR(e),y:CR(e)}}var vr;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(vr||(vr={}));function TR(e){return!vg||!e?!1:e===document.scrollingElement}function $R(e){const t={x:0,y:0},r=TR(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},n={x:e.scrollWidth-r.width,y:e.scrollHeight-r.height},a=e.scrollTop<=t.y,i=e.scrollLeft<=t.x,s=e.scrollTop>=n.y,o=e.scrollLeft>=n.x;return{isTop:a,isLeft:i,isBottom:s,isRight:o,maxScroll:n,minScroll:t}}const Eue={x:.2,y:.2};function Pue(e,t,r,n,a){let{top:i,left:s,right:o,bottom:u}=r;n===void 0&&(n=10),a===void 0&&(a=Eue);const{isTop:c,isBottom:f,isLeft:d,isRight:p}=$R(e),h={x:0,y:0},x={x:0,y:0},v={height:t.height*a.y,width:t.width*a.x};return!c&&i<=t.top+v.height?(h.y=vr.Backward,x.y=n*Math.abs((t.top+v.height-i)/v.height)):!f&&u>=t.bottom-v.height&&(h.y=vr.Forward,x.y=n*Math.abs((t.bottom-v.height-u)/v.height)),!p&&o>=t.right-v.width?(h.x=vr.Forward,x.x=n*Math.abs((t.right-v.width-o)/v.width)):!d&&s<=t.left+v.width&&(h.x=vr.Backward,x.x=n*Math.abs((t.left+v.width-s)/v.width)),{direction:h,speed:x}}function Cue(e){if(e===document.scrollingElement){const{innerWidth:i,innerHeight:s}=window;return{top:0,left:0,right:i,bottom:s,width:i,height:s}}const{top:t,left:r,right:n,bottom:a}=e.getBoundingClientRect();return{top:t,left:r,right:n,bottom:a,width:e.clientWidth,height:e.clientHeight}}function RR(e){return e.reduce((t,r)=>ol(t,ab(r)),fa)}function Tue(e){return e.reduce((t,r)=>t+PR(r),0)}function $ue(e){return e.reduce((t,r)=>t+CR(r),0)}function Rue(e,t){if(t===void 0&&(t=hu),!e)return;const{top:r,left:n,bottom:a,right:i}=t(e);ER(e)&&(a<=0||i<=0||r>=window.innerHeight||n>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const Iue=[["x",["left","right"],Tue],["y",["top","bottom"],$ue]];class P1{constructor(t,r){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=xg(r),a=RR(n);this.rect={...t},this.width=t.width,this.height=t.height;for(const[i,s,o]of Iue)for(const u of s)Object.defineProperty(this,u,{get:()=>{const c=o(n),f=a[i]-c;return this.rect[u]+f},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class gc{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(r=>{var n;return(n=this.target)==null?void 0:n.removeEventListener(...r)})},this.target=t}add(t,r,n){var a;(a=this.target)==null||a.addEventListener(t,r,n),this.listeners.push([t,r,n])}}function Mue(e){const{EventTarget:t}=dn(e);return e instanceof t?e:pu(e)}function Ky(e,t){const r=Math.abs(e.x),n=Math.abs(e.y);return typeof t=="number"?Math.sqrt(r**2+n**2)>t:"x"in t&&"y"in t?r>t.x&&n>t.y:"x"in t?r>t.x:"y"in t?n>t.y:!1}var $n;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})($n||($n={}));function GO(e){e.preventDefault()}function Due(e){e.stopPropagation()}var at;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"})(at||(at={}));const IR={start:[at.Space,at.Enter],cancel:[at.Esc],end:[at.Space,at.Enter,at.Tab]},Lue=(e,t)=>{let{currentCoordinates:r}=t;switch(e.code){case at.Right:return{...r,x:r.x+25};case at.Left:return{...r,x:r.x-25};case at.Down:return{...r,y:r.y+25};case at.Up:return{...r,y:r.y-25}}};class C1{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:r}}=t;this.props=t,this.listeners=new gc(pu(r)),this.windowListeners=new gc(dn(r)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add($n.Resize,this.handleCancel),this.windowListeners.add($n.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add($n.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:r}=this.props,n=t.node.current;n&&Rue(n),r(fa)}handleKeyDown(t){if(E1(t)){const{active:r,context:n,options:a}=this.props,{keyboardCodes:i=IR,coordinateGetter:s=Lue,scrollBehavior:o="smooth"}=a,{code:u}=t;if(i.end.includes(u)){this.handleEnd(t);return}if(i.cancel.includes(u)){this.handleCancel(t);return}const{collisionRect:c}=n.current,f=c?{x:c.left,y:c.top}:fa;this.referenceCoordinates||(this.referenceCoordinates=f);const d=s(t,{active:r,context:n.current,currentCoordinates:f});if(d){const p=_d(d,f),h={x:0,y:0},{scrollableAncestors:x}=n.current;for(const v of x){const g=t.code,{isTop:y,isRight:m,isLeft:w,isBottom:j,maxScroll:b,minScroll:_}=$R(v),k=Cue(v),O={x:Math.min(g===at.Right?k.right-k.width/2:k.right,Math.max(g===at.Right?k.left:k.left+k.width/2,d.x)),y:Math.min(g===at.Down?k.bottom-k.height/2:k.bottom,Math.max(g===at.Down?k.top:k.top+k.height/2,d.y))},E=g===at.Right&&!m||g===at.Left&&!w,T=g===at.Down&&!j||g===at.Up&&!y;if(E&&O.x!==d.x){const $=v.scrollLeft+p.x,A=g===at.Right&&$<=b.x||g===at.Left&&$>=_.x;if(A&&!p.y){v.scrollTo({left:$,behavior:o});return}A?h.x=v.scrollLeft-$:h.x=g===at.Right?v.scrollLeft-b.x:v.scrollLeft-_.x,h.x&&v.scrollBy({left:-h.x,behavior:o});break}else if(T&&O.y!==d.y){const $=v.scrollTop+p.y,A=g===at.Down&&$<=b.y||g===at.Up&&$>=_.y;if(A&&!p.x){v.scrollTo({top:$,behavior:o});return}A?h.y=v.scrollTop-$:h.y=g===at.Down?v.scrollTop-b.y:v.scrollTop-_.y,h.y&&v.scrollBy({top:-h.y,behavior:o});break}}this.handleMove(t,ol(_d(d,this.referenceCoordinates),h))}}}handleMove(t,r){const{onMove:n}=this.props;t.preventDefault(),n(r)}handleEnd(t){const{onEnd:r}=this.props;t.preventDefault(),this.detach(),r()}handleCancel(t){const{onCancel:r}=this.props;t.preventDefault(),this.detach(),r()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}C1.activators=[{eventName:"onKeyDown",handler:(e,t,r)=>{let{keyboardCodes:n=IR,onActivation:a}=t,{active:i}=r;const{code:s}=e.nativeEvent;if(n.start.includes(s)){const o=i.activatorNode.current;return o&&e.target!==o?!1:(e.preventDefault(),a==null||a({event:e.nativeEvent}),!0)}return!1}}];function qO(e){return!!(e&&"distance"in e)}function KO(e){return!!(e&&"delay"in e)}class T1{constructor(t,r,n){var a;n===void 0&&(n=Mue(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=r;const{event:i}=t,{target:s}=i;this.props=t,this.events=r,this.document=pu(s),this.documentListeners=new gc(this.document),this.listeners=new gc(n),this.windowListeners=new gc(dn(s)),this.initialCoordinates=(a=nb(i))!=null?a:fa,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:r,bypassActivationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),t.cancel&&this.listeners.add(t.cancel.name,this.handleCancel),this.windowListeners.add($n.Resize,this.handleCancel),this.windowListeners.add($n.DragStart,GO),this.windowListeners.add($n.VisibilityChange,this.handleCancel),this.windowListeners.add($n.ContextMenu,GO),this.documentListeners.add($n.Keydown,this.handleKeydown),r){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(KO(r)){this.timeoutId=setTimeout(this.handleStart,r.delay),this.handlePending(r);return}if(qO(r)){this.handlePending(r);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(t,r){const{active:n,onPending:a}=this.props;a(n,t,this.initialCoordinates,r)}handleStart(){const{initialCoordinates:t}=this,{onStart:r}=this.props;t&&(this.activated=!0,this.documentListeners.add($n.Click,Due,{capture:!0}),this.removeTextSelection(),this.documentListeners.add($n.SelectionChange,this.removeTextSelection),r(t))}handleMove(t){var r;const{activated:n,initialCoordinates:a,props:i}=this,{onMove:s,options:{activationConstraint:o}}=i;if(!a)return;const u=(r=nb(t))!=null?r:fa,c=_d(a,u);if(!n&&o){if(qO(o)){if(o.tolerance!=null&&Ky(c,o.tolerance))return this.handleCancel();if(Ky(c,o.distance))return this.handleStart()}if(KO(o)&&Ky(c,o.tolerance))return this.handleCancel();this.handlePending(o,c);return}t.cancelable&&t.preventDefault(),s(u)}handleEnd(){const{onAbort:t,onEnd:r}=this.props;this.detach(),this.activated||t(this.props.active),r()}handleCancel(){const{onAbort:t,onCancel:r}=this.props;this.detach(),this.activated||t(this.props.active),r()}handleKeydown(t){t.code===at.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const Fue={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class $1 extends T1{constructor(t){const{event:r}=t,n=pu(r.target);super(t,Fue,n)}}$1.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:n}=t;return!r.isPrimary||r.button!==0?!1:(n==null||n({event:r}),!0)}}];const zue={move:{name:"mousemove"},end:{name:"mouseup"}};var ib;(function(e){e[e.RightClick=2]="RightClick"})(ib||(ib={}));class Bue extends T1{constructor(t){super(t,zue,pu(t.event.target))}}Bue.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:n}=t;return r.button===ib.RightClick?!1:(n==null||n({event:r}),!0)}}];const Yy={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class Uue extends T1{constructor(t){super(t,Yy)}static setup(){return window.addEventListener(Yy.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(Yy.move.name,t)};function t(){}}}Uue.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:n}=t;const{touches:a}=r;return a.length>1?!1:(n==null||n({event:r}),!0)}}];var yc;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(yc||(yc={}));var em;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(em||(em={}));function Vue(e){let{acceleration:t,activator:r=yc.Pointer,canScroll:n,draggingRect:a,enabled:i,interval:s=5,order:o=em.TreeOrder,pointerCoordinates:u,scrollableAncestors:c,scrollableAncestorRects:f,delta:d,threshold:p}=e;const h=Hue({delta:d,disabled:!i}),[x,v]=tue(),g=S.useRef({x:0,y:0}),y=S.useRef({x:0,y:0}),m=S.useMemo(()=>{switch(r){case yc.Pointer:return u?{top:u.y,bottom:u.y,left:u.x,right:u.x}:null;case yc.DraggableRect:return a}},[r,a,u]),w=S.useRef(null),j=S.useCallback(()=>{const _=w.current;if(!_)return;const k=g.current.x*y.current.x,O=g.current.y*y.current.y;_.scrollBy(k,O)},[]),b=S.useMemo(()=>o===em.TreeOrder?[...c].reverse():c,[o,c]);S.useEffect(()=>{if(!i||!c.length||!m){v();return}for(const _ of b){if((n==null?void 0:n(_))===!1)continue;const k=c.indexOf(_),O=f[k];if(!O)continue;const{direction:E,speed:T}=Pue(_,O,m,t,p);for(const $ of["x","y"])h[$][E[$]]||(T[$]=0,E[$]=0);if(T.x>0||T.y>0){v(),w.current=_,x(j,s),g.current=T,y.current=E;return}}g.current={x:0,y:0},y.current={x:0,y:0},v()},[t,j,n,v,i,s,JSON.stringify(m),JSON.stringify(h),x,c,b,f,JSON.stringify(p)])}const Wue={x:{[vr.Backward]:!1,[vr.Forward]:!1},y:{[vr.Backward]:!1,[vr.Forward]:!1}};function Hue(e){let{delta:t,disabled:r}=e;const n=rb(t);return Gd(a=>{if(r||!n||!a)return Wue;const i={x:Math.sign(t.x-n.x),y:Math.sign(t.y-n.y)};return{x:{[vr.Backward]:a.x[vr.Backward]||i.x===-1,[vr.Forward]:a.x[vr.Forward]||i.x===1},y:{[vr.Backward]:a.y[vr.Backward]||i.y===-1,[vr.Forward]:a.y[vr.Forward]||i.y===1}}},[r,t,n])}function Gue(e,t){const r=t!=null?e.get(t):void 0,n=r?r.node.current:null;return Gd(a=>{var i;return t==null?null:(i=n??a)!=null?i:null},[n,t])}function que(e,t){return S.useMemo(()=>e.reduce((r,n)=>{const{sensor:a}=n,i=a.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,n)}));return[...r,...i]},[]),[e,t])}var Sd;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Sd||(Sd={}));var sb;(function(e){e.Optimized="optimized"})(sb||(sb={}));const YO=new Map;function Kue(e,t){let{dragging:r,dependencies:n,config:a}=t;const[i,s]=S.useState(null),{frequency:o,measure:u,strategy:c}=a,f=S.useRef(e),d=g(),p=wd(d),h=S.useCallback(function(y){y===void 0&&(y=[]),!p.current&&s(m=>m===null?y:m.concat(y.filter(w=>!m.includes(w))))},[p]),x=S.useRef(null),v=Gd(y=>{if(d&&!r)return YO;if(!y||y===YO||f.current!==e||i!=null){const m=new Map;for(let w of e){if(!w)continue;if(i&&i.length>0&&!i.includes(w.id)&&w.rect.current){m.set(w.id,w.rect.current);continue}const j=w.node.current,b=j?new P1(u(j),j):null;w.rect.current=b,b&&m.set(w.id,b)}return m}return y},[e,i,r,d,u]);return S.useEffect(()=>{f.current=e},[e]),S.useEffect(()=>{d||h()},[r,d]),S.useEffect(()=>{i&&i.length>0&&s(null)},[JSON.stringify(i)]),S.useEffect(()=>{d||typeof o!="number"||x.current!==null||(x.current=setTimeout(()=>{h(),x.current=null},o))},[o,d,h,...n]),{droppableRects:v,measureDroppableContainers:h,measuringScheduled:i!=null};function g(){switch(c){case Sd.Always:return!1;case Sd.BeforeDragging:return r;default:return!r}}}function MR(e,t){return Gd(r=>e?r||(typeof t=="function"?t(e):e):null,[t,e])}function Yue(e,t){return MR(e,t)}function Xue(e){let{callback:t,disabled:r}=e;const n=A1(t),a=S.useMemo(()=>{if(r||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:i}=window;return new i(n)},[n,r]);return S.useEffect(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function bg(e){let{callback:t,disabled:r}=e;const n=A1(t),a=S.useMemo(()=>{if(r||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:i}=window;return new i(n)},[r]);return S.useEffect(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function Zue(e){return new P1(hu(e),e)}function XO(e,t,r){t===void 0&&(t=Zue);const[n,a]=S.useState(null);function i(){a(u=>{if(!e)return null;if(e.isConnected===!1){var c;return(c=u??r)!=null?c:null}const f=t(e);return JSON.stringify(u)===JSON.stringify(f)?u:f})}const s=Xue({callback(u){if(e)for(const c of u){const{type:f,target:d}=c;if(f==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),o=bg({callback:i});return Ra(()=>{i(),e?(o==null||o.observe(e),s==null||s.observe(document.body,{childList:!0,subtree:!0})):(o==null||o.disconnect(),s==null||s.disconnect())},[e]),n}function Jue(e){const t=MR(e);return AR(e,t)}const ZO=[];function Que(e){const t=S.useRef(e),r=Gd(n=>e?n&&n!==ZO&&e&&t.current&&e.parentNode===t.current.parentNode?n:xg(e):ZO,[e]);return S.useEffect(()=>{t.current=e},[e]),r}function ece(e){const[t,r]=S.useState(null),n=S.useRef(e),a=S.useCallback(i=>{const s=qy(i.target);s&&r(o=>o?(o.set(s,ab(s)),new Map(o)):null)},[]);return S.useEffect(()=>{const i=n.current;if(e!==i){s(i);const o=e.map(u=>{const c=qy(u);return c?(c.addEventListener("scroll",a,{passive:!0}),[c,ab(c)]):null}).filter(u=>u!=null);r(o.length?new Map(o):null),n.current=e}return()=>{s(e),s(i)};function s(o){o.forEach(u=>{const c=qy(u);c==null||c.removeEventListener("scroll",a)})}},[a,e]),S.useMemo(()=>e.length?t?Array.from(t.values()).reduce((i,s)=>ol(i,s),fa):RR(e):fa,[e,t])}function JO(e,t){t===void 0&&(t=[]);const r=S.useRef(null);return S.useEffect(()=>{r.current=null},t),S.useEffect(()=>{const n=e!==fa;n&&!r.current&&(r.current=e),!n&&r.current&&(r.current=null)},[e]),r.current?_d(e,r.current):fa}function tce(e){S.useEffect(()=>{if(!vg)return;const t=e.map(r=>{let{sensor:n}=r;return n.setup==null?void 0:n.setup()});return()=>{for(const r of t)r==null||r()}},e.map(t=>{let{sensor:r}=t;return r}))}function rce(e,t){return S.useMemo(()=>e.reduce((r,n)=>{let{eventName:a,handler:i}=n;return r[a]=s=>{i(s,t)},r},{}),[e,t])}function DR(e){return S.useMemo(()=>e?Oue(e):null,[e])}const QO=[];function nce(e,t){t===void 0&&(t=hu);const[r]=e,n=DR(r?dn(r):null),[a,i]=S.useState(QO);function s(){i(()=>e.length?e.map(u=>TR(u)?n:new P1(t(u),u)):QO)}const o=bg({callback:s});return Ra(()=>{o==null||o.disconnect(),s(),e.forEach(u=>o==null?void 0:o.observe(u))},[e]),a}function ace(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Hd(t)?t:e}function ice(e){let{measure:t}=e;const[r,n]=S.useState(null),a=S.useCallback(c=>{for(const{target:f}of c)if(Hd(f)){n(d=>{const p=t(f);return d?{...d,width:p.width,height:p.height}:p});break}},[t]),i=bg({callback:a}),s=S.useCallback(c=>{const f=ace(c);i==null||i.disconnect(),f&&(i==null||i.observe(f)),n(f?t(f):null)},[t,i]),[o,u]=Jh(s);return S.useMemo(()=>({nodeRef:o,rect:r,setRef:u}),[r,o,u])}const sce=[{sensor:$1,options:{}},{sensor:C1,options:{}}],oce={current:{}},hp={draggable:{measure:HO},droppable:{measure:HO,strategy:Sd.WhileDragging,frequency:sb.Optimized},dragOverlay:{measure:hu}};class vc extends Map{get(t){var r;return t!=null&&(r=super.get(t))!=null?r:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:r}=t;return!r})}getNodeFor(t){var r,n;return(r=(n=this.get(t))==null?void 0:n.node.current)!=null?r:void 0}}const lce={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new vc,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Qh},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:hp,measureDroppableContainers:Qh,windowRect:null,measuringScheduled:!1},uce={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Qh,draggableNodes:new Map,over:null,measureDroppableContainers:Qh},wg=S.createContext(uce),LR=S.createContext(lce);function cce(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new vc}}}function dce(e,t){switch(t.type){case cr.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case cr.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case cr.DragEnd:case cr.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case cr.RegisterDroppable:{const{element:r}=t,{id:n}=r,a=new vc(e.droppable.containers);return a.set(n,r),{...e,droppable:{...e.droppable,containers:a}}}case cr.SetDroppableDisabled:{const{id:r,key:n,disabled:a}=t,i=e.droppable.containers.get(r);if(!i||n!==i.key)return e;const s=new vc(e.droppable.containers);return s.set(r,{...i,disabled:a}),{...e,droppable:{...e.droppable,containers:s}}}case cr.UnregisterDroppable:{const{id:r,key:n}=t,a=e.droppable.containers.get(r);if(!a||n!==a.key)return e;const i=new vc(e.droppable.containers);return i.delete(r),{...e,droppable:{...e.droppable,containers:i}}}default:return e}}function fce(e){let{disabled:t}=e;const{active:r,activatorEvent:n,draggableNodes:a}=S.useContext(wg),i=rb(n),s=rb(r==null?void 0:r.id);return S.useEffect(()=>{if(!t&&!n&&i&&s!=null){if(!E1(i)||document.activeElement===i.target)return;const o=a.get(s);if(!o)return;const{activatorNode:u,node:c}=o;if(!u.current&&!c.current)return;requestAnimationFrame(()=>{for(const f of[u.current,c.current]){if(!f)continue;const d=aue(f);if(d){d.focus();break}}})}},[n,t,a,s,i]),null}function pce(e,t){let{transform:r,...n}=t;return e!=null&&e.length?e.reduce((a,i)=>i({transform:a,...n}),r):r}function hce(e){return S.useMemo(()=>({draggable:{...hp.draggable,...e==null?void 0:e.draggable},droppable:{...hp.droppable,...e==null?void 0:e.droppable},dragOverlay:{...hp.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function mce(e){let{activeNode:t,measure:r,initialRect:n,config:a=!0}=e;const i=S.useRef(!1),{x:s,y:o}=typeof a=="boolean"?{x:a,y:a}:a;Ra(()=>{if(!s&&!o||!t){i.current=!1;return}if(i.current||!n)return;const c=t==null?void 0:t.node.current;if(!c||c.isConnected===!1)return;const f=r(c),d=AR(f,n);if(s||(d.x=0),o||(d.y=0),i.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const p=ER(c);p&&p.scrollBy({top:d.y,left:d.x})}},[t,s,o,n,r])}const FR=S.createContext({...fa,scaleX:1,scaleY:1});var Oi;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(Oi||(Oi={}));const gce=S.memo(function(t){var r,n,a,i;let{id:s,accessibility:o,autoScroll:u=!0,children:c,sensors:f=sce,collisionDetection:d=xue,measuring:p,modifiers:h,...x}=t;const v=S.useReducer(dce,void 0,cce),[g,y]=v,[m,w]=cue(),[j,b]=S.useState(Oi.Uninitialized),_=j===Oi.Initialized,{draggable:{active:k,nodes:O,translate:E},droppable:{containers:T}}=g,$=k!=null?O.get(k):null,A=S.useRef({initial:null,translated:null}),R=S.useMemo(()=>{var pt;return k!=null?{id:k,data:(pt=$==null?void 0:$.data)!=null?pt:oce,rect:A}:null},[k,$]),M=S.useRef(null),[L,V]=S.useState(null),[H,I]=S.useState(null),B=wd(x,Object.values(x)),W=qd("DndDescribedBy",s),G=S.useMemo(()=>T.getEnabled(),[T]),K=hce(p),{droppableRects:ee,measureDroppableContainers:q,measuringScheduled:le}=Kue(G,{dragging:_,dependencies:[E.x,E.y],config:K.droppable}),ge=Gue(O,k),$e=S.useMemo(()=>H?nb(H):null,[H]),Pe=Zt(),J=Yue(ge,K.draggable.measure);mce({activeNode:k!=null?O.get(k):null,config:Pe.layoutShiftCompensation,initialRect:J,measure:K.draggable.measure});const ue=XO(ge,K.draggable.measure,J),de=XO(ge?ge.parentElement:null),X=S.useRef({activatorEvent:null,active:null,activeNode:ge,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:O,draggingNode:null,draggingNodeRect:null,droppableContainers:T,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),we=T.getNodeFor((r=X.current.over)==null?void 0:r.id),ye=ice({measure:K.dragOverlay.measure}),qe=(n=ye.nodeRef.current)!=null?n:ge,De=_?(a=ye.rect)!=null?a:ue:null,ke=!!(ye.nodeRef.current&&ye.rect),Re=Jue(ke?null:ue),Ie=DR(qe?dn(qe):null),Oe=Que(_?we??ge:null),Ge=nce(Oe),We=pce(h,{transform:{x:E.x-Re.x,y:E.y-Re.y,scaleX:1,scaleY:1},activatorEvent:H,active:R,activeNodeRect:ue,containerNodeRect:de,draggingNodeRect:De,over:X.current.over,overlayNodeRect:ye.rect,scrollableAncestors:Oe,scrollableAncestorRects:Ge,windowRect:Ie}),C=$e?ol($e,E):null,z=ece(Oe),U=JO(z),ae=JO(z,[ue]),te=ol(We,U),Q=De?_ue(De,We):null,ne=R&&Q?d({active:R,collisionRect:Q,droppableRects:ee,droppableContainers:G,pointerCoordinates:C}):null,_e=NR(ne,"id"),[Ne,dt]=S.useState(null),mt=ke?We:ol(We,ae),Lt=bue(mt,(i=Ne==null?void 0:Ne.rect)!=null?i:null,ue),zr=S.useRef(null),Pr=S.useCallback((pt,Pt)=>{let{sensor:Ye,options:Br}=Pt;if(M.current==null)return;const st=O.get(M.current);if(!st)return;const Ct=pt.nativeEvent,Tt=new Ye({active:M.current,activeNode:st,event:Ct,options:Br,context:X,onAbort(Gt){if(!O.get(Gt))return;const{onDragAbort:mr}=B.current,Zr={id:Gt};mr==null||mr(Zr),m({type:"onDragAbort",event:Zr})},onPending(Gt,fn,mr,Zr){if(!O.get(Gt))return;const{onDragPending:ga}=B.current,pn={id:Gt,constraint:fn,initialCoordinates:mr,offset:Zr};ga==null||ga(pn),m({type:"onDragPending",event:pn})},onStart(Gt){const fn=M.current;if(fn==null)return;const mr=O.get(fn);if(!mr)return;const{onDragStart:Zr}=B.current,ma={activatorEvent:Ct,active:{id:fn,data:mr.data,rect:A}};Bo.unstable_batchedUpdates(()=>{Zr==null||Zr(ma),b(Oi.Initializing),y({type:cr.DragStart,initialCoordinates:Gt,active:fn}),m({type:"onDragStart",event:ma}),V(zr.current),I(Ct)})},onMove(Gt){y({type:cr.DragMove,coordinates:Gt})},onEnd:qn(cr.DragEnd),onCancel:qn(cr.DragCancel)});zr.current=Tt;function qn(Gt){return async function(){const{active:mr,collisions:Zr,over:ma,scrollAdjustedTranslate:ga}=X.current;let pn=null;if(mr&&ga){const{cancelDrop:Kn}=B.current;pn={activatorEvent:Ct,active:mr,collisions:Zr,delta:ga,over:ma},Gt===cr.DragEnd&&typeof Kn=="function"&&await Promise.resolve(Kn(pn))&&(Gt=cr.DragCancel)}M.current=null,Bo.unstable_batchedUpdates(()=>{y({type:Gt}),b(Oi.Uninitialized),dt(null),V(null),I(null),zr.current=null;const Kn=Gt===cr.DragEnd?"onDragEnd":"onDragCancel";if(pn){const Da=B.current[Kn];Da==null||Da(pn),m({type:Kn,event:pn})}})}}},[O]),Cr=S.useCallback((pt,Pt)=>(Ye,Br)=>{const st=Ye.nativeEvent,Ct=O.get(Br);if(M.current!==null||!Ct||st.dndKit||st.defaultPrevented)return;const Tt={active:Ct};pt(Ye,Pt.options,Tt)===!0&&(st.dndKit={capturedBy:Pt.sensor},M.current=Br,Pr(Ye,Pt))},[O,Pr]),Y=que(f,Cr);tce(f),Ra(()=>{ue&&j===Oi.Initializing&&b(Oi.Initialized)},[ue,j]),S.useEffect(()=>{const{onDragMove:pt}=B.current,{active:Pt,activatorEvent:Ye,collisions:Br,over:st}=X.current;if(!Pt||!Ye)return;const Ct={active:Pt,activatorEvent:Ye,collisions:Br,delta:{x:te.x,y:te.y},over:st};Bo.unstable_batchedUpdates(()=>{pt==null||pt(Ct),m({type:"onDragMove",event:Ct})})},[te.x,te.y]),S.useEffect(()=>{const{active:pt,activatorEvent:Pt,collisions:Ye,droppableContainers:Br,scrollAdjustedTranslate:st}=X.current;if(!pt||M.current==null||!Pt||!st)return;const{onDragOver:Ct}=B.current,Tt=Br.get(_e),qn=Tt&&Tt.rect.current?{id:Tt.id,rect:Tt.rect.current,data:Tt.data,disabled:Tt.disabled}:null,Gt={active:pt,activatorEvent:Pt,collisions:Ye,delta:{x:st.x,y:st.y},over:qn};Bo.unstable_batchedUpdates(()=>{dt(qn),Ct==null||Ct(Gt),m({type:"onDragOver",event:Gt})})},[_e]),Ra(()=>{X.current={activatorEvent:H,active:R,activeNode:ge,collisionRect:Q,collisions:ne,droppableRects:ee,draggableNodes:O,draggingNode:qe,draggingNodeRect:De,droppableContainers:T,over:Ne,scrollableAncestors:Oe,scrollAdjustedTranslate:te},A.current={initial:De,translated:Q}},[R,ge,ne,Q,O,qe,De,ee,T,Ne,Oe,te]),Vue({...Pe,delta:E,draggingRect:Q,pointerCoordinates:C,scrollableAncestors:Oe,scrollableAncestorRects:Ge});const Me=S.useMemo(()=>({active:R,activeNode:ge,activeNodeRect:ue,activatorEvent:H,collisions:ne,containerNodeRect:de,dragOverlay:ye,draggableNodes:O,droppableContainers:T,droppableRects:ee,over:Ne,measureDroppableContainers:q,scrollableAncestors:Oe,scrollableAncestorRects:Ge,measuringConfiguration:K,measuringScheduled:le,windowRect:Ie}),[R,ge,ue,H,ne,de,ye,O,T,ee,Ne,q,Oe,Ge,K,le,Ie]),ft=S.useMemo(()=>({activatorEvent:H,activators:Y,active:R,activeNodeRect:ue,ariaDescribedById:{draggable:W},dispatch:y,draggableNodes:O,over:Ne,measureDroppableContainers:q}),[H,Y,R,ue,y,W,O,Ne,q]);return P.createElement(SR.Provider,{value:w},P.createElement(wg.Provider,{value:ft},P.createElement(LR.Provider,{value:Me},P.createElement(FR.Provider,{value:Lt},c)),P.createElement(fce,{disabled:(o==null?void 0:o.restoreFocus)===!1})),P.createElement(pue,{...o,hiddenTextDescribedById:W}));function Zt(){const pt=(L==null?void 0:L.autoScrollEnabled)===!1,Pt=typeof u=="object"?u.enabled===!1:u===!1,Ye=_&&!pt&&!Pt;return typeof u=="object"?{...u,enabled:Ye}:{enabled:Ye}}}),yce=S.createContext(null),eN="button",vce="Draggable";function xce(e){let{id:t,data:r,disabled:n=!1,attributes:a}=e;const i=qd(vce),{activators:s,activatorEvent:o,active:u,activeNodeRect:c,ariaDescribedById:f,draggableNodes:d,over:p}=S.useContext(wg),{role:h=eN,roleDescription:x="draggable",tabIndex:v=0}=a??{},g=(u==null?void 0:u.id)===t,y=S.useContext(g?FR:yce),[m,w]=Jh(),[j,b]=Jh(),_=rce(s,t),k=wd(r);Ra(()=>(d.set(t,{id:t,key:i,node:m,activatorNode:j,data:k}),()=>{const E=d.get(t);E&&E.key===i&&d.delete(t)}),[d,t]);const O=S.useMemo(()=>({role:h,tabIndex:v,"aria-disabled":n,"aria-pressed":g&&h===eN?!0:void 0,"aria-roledescription":x,"aria-describedby":f.draggable}),[n,h,v,g,x,f.draggable]);return{active:u,activatorEvent:o,activeNodeRect:c,attributes:O,isDragging:g,listeners:n?void 0:_,node:m,over:p,setNodeRef:w,setActivatorNodeRef:b,transform:y}}function bce(){return S.useContext(LR)}const wce="Droppable",_ce={timeout:25};function jce(e){let{data:t,disabled:r=!1,id:n,resizeObserverConfig:a}=e;const i=qd(wce),{active:s,dispatch:o,over:u,measureDroppableContainers:c}=S.useContext(wg),f=S.useRef({disabled:r}),d=S.useRef(!1),p=S.useRef(null),h=S.useRef(null),{disabled:x,updateMeasurementsFor:v,timeout:g}={..._ce,...a},y=wd(v??n),m=S.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{c(Array.isArray(y.current)?y.current:[y.current]),h.current=null},g)},[g]),w=bg({callback:m,disabled:x||!s}),j=S.useCallback((O,E)=>{w&&(E&&(w.unobserve(E),d.current=!1),O&&w.observe(O))},[w]),[b,_]=Jh(j),k=wd(t);return S.useEffect(()=>{!w||!b.current||(w.disconnect(),d.current=!1,w.observe(b.current))},[b,w]),S.useEffect(()=>(o({type:cr.RegisterDroppable,element:{id:n,key:i,disabled:r,node:b,rect:p,data:k}}),()=>o({type:cr.UnregisterDroppable,key:i,id:n})),[n]),S.useEffect(()=>{r!==f.current.disabled&&(o({type:cr.SetDroppableDisabled,id:n,key:i,disabled:r}),f.current.disabled=r)},[n,i,r,o]),{active:s,rect:p,isOver:(u==null?void 0:u.id)===n,node:b,over:u,setNodeRef:_}}function R1(e,t,r){const n=e.slice();return n.splice(r<0?n.length+r:r,0,n.splice(t,1)[0]),n}function Sce(e,t){return e.reduce((r,n,a)=>{const i=t.get(n);return i&&(r[a]=i),r},Array(e.length))}function Hf(e){return e!==null&&e>=0}function kce(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0;r{let{rects:t,activeIndex:r,overIndex:n,index:a}=e;const i=R1(t,n,r),s=t[a],o=i[a];return!o||!s?null:{x:o.left-s.left,y:o.top-s.top,scaleX:o.width/s.width,scaleY:o.height/s.height}},Gf={scaleX:1,scaleY:1},Nce=e=>{var t;let{activeIndex:r,activeNodeRect:n,index:a,rects:i,overIndex:s}=e;const o=(t=i[r])!=null?t:n;if(!o)return null;if(a===r){const c=i[s];return c?{x:0,y:rr&&a<=s?{x:0,y:-o.height-u,...Gf}:a=s?{x:0,y:o.height+u,...Gf}:{x:0,y:0,...Gf}};function Ace(e,t,r){const n=e[t],a=e[t-1],i=e[t+1];return n?rn.map(_=>typeof _=="object"&&"id"in _?_.id:_),[n]),x=s!=null,v=s?h.indexOf(s.id):-1,g=c?h.indexOf(c.id):-1,y=S.useRef(h),m=!kce(h,y.current),w=g!==-1&&v===-1||m,j=Oce(i);Ra(()=>{m&&x&&f(h)},[m,h,x,f]),S.useEffect(()=>{y.current=h},[h]);const b=S.useMemo(()=>({activeIndex:v,containerId:d,disabled:j,disableTransforms:w,items:h,overIndex:g,useDragOverlay:p,sortedRects:Sce(h,u),strategy:a}),[v,d,j.draggable,j.droppable,w,h,g,u,p,a]);return P.createElement(UR.Provider,{value:b},t)}const Pce=e=>{let{id:t,items:r,activeIndex:n,overIndex:a}=e;return R1(r,n,a).indexOf(t)},Cce=e=>{let{containerId:t,isSorting:r,wasDragging:n,index:a,items:i,newIndex:s,previousItems:o,previousContainerId:u,transition:c}=e;return!c||!n||o!==i&&a===s?!1:r?!0:s!==a&&t===u},Tce={duration:200,easing:"ease"},VR="transform",$ce=jd.Transition.toString({property:VR,duration:0,easing:"linear"}),Rce={roleDescription:"sortable"};function Ice(e){let{disabled:t,index:r,node:n,rect:a}=e;const[i,s]=S.useState(null),o=S.useRef(r);return Ra(()=>{if(!t&&r!==o.current&&n.current){const u=a.current;if(u){const c=hu(n.current,{ignoreTransform:!0}),f={x:u.left-c.left,y:u.top-c.top,scaleX:u.width/c.width,scaleY:u.height/c.height};(f.x||f.y)&&s(f)}}r!==o.current&&(o.current=r)},[t,r,n,a]),S.useEffect(()=>{i&&s(null)},[i]),i}function Mce(e){let{animateLayoutChanges:t=Cce,attributes:r,disabled:n,data:a,getNewIndex:i=Pce,id:s,strategy:o,resizeObserverConfig:u,transition:c=Tce}=e;const{items:f,containerId:d,activeIndex:p,disabled:h,disableTransforms:x,sortedRects:v,overIndex:g,useDragOverlay:y,strategy:m}=S.useContext(UR),w=Dce(n,h),j=f.indexOf(s),b=S.useMemo(()=>({sortable:{containerId:d,index:j,items:f},...a}),[d,a,j,f]),_=S.useMemo(()=>f.slice(f.indexOf(s)),[f,s]),{rect:k,node:O,isOver:E,setNodeRef:T}=jce({id:s,data:b,disabled:w.droppable,resizeObserverConfig:{updateMeasurementsFor:_,...u}}),{active:$,activatorEvent:A,activeNodeRect:R,attributes:M,setNodeRef:L,listeners:V,isDragging:H,over:I,setActivatorNodeRef:B,transform:W}=xce({id:s,data:b,attributes:{...Rce,...r},disabled:w.draggable}),G=eue(T,L),K=!!$,ee=K&&!x&&Hf(p)&&Hf(g),q=!y&&H,le=q&&ee?W:null,$e=ee?le??(o??m)({rects:v,activeNodeRect:R,activeIndex:p,overIndex:g,index:j}):null,Pe=Hf(p)&&Hf(g)?i({id:s,items:f,activeIndex:p,overIndex:g}):j,J=$==null?void 0:$.id,ue=S.useRef({activeId:J,items:f,newIndex:Pe,containerId:d}),de=f!==ue.current.items,X=t({active:$,containerId:d,isDragging:H,isSorting:K,id:s,index:j,items:f,newIndex:ue.current.newIndex,previousItems:ue.current.items,previousContainerId:ue.current.containerId,transition:c,wasDragging:ue.current.activeId!=null}),we=Ice({disabled:!X,index:j,node:O,rect:k});return S.useEffect(()=>{K&&ue.current.newIndex!==Pe&&(ue.current.newIndex=Pe),d!==ue.current.containerId&&(ue.current.containerId=d),f!==ue.current.items&&(ue.current.items=f)},[K,Pe,d,f]),S.useEffect(()=>{if(J===ue.current.activeId)return;if(J&&!ue.current.activeId){ue.current.activeId=J;return}const qe=setTimeout(()=>{ue.current.activeId=J},50);return()=>clearTimeout(qe)},[J]),{active:$,activeIndex:p,attributes:M,data:b,rect:k,index:j,newIndex:Pe,items:f,isOver:E,isSorting:K,isDragging:H,listeners:V,node:O,overIndex:g,over:I,setNodeRef:G,setActivatorNodeRef:B,setDroppableNodeRef:T,setDraggableNodeRef:L,transform:we??$e,transition:ye()};function ye(){if(we||de&&ue.current.newIndex===j)return $ce;if(!(q&&!E1(A)||!c)&&(K||X))return jd.Transition.toString({...c,property:VR})}}function Dce(e,t){var r,n;return typeof e=="boolean"?{draggable:e,droppable:!1}:{draggable:(r=e==null?void 0:e.draggable)!=null?r:t.draggable,droppable:(n=e==null?void 0:e.droppable)!=null?n:t.droppable}}function tm(e){if(!e)return!1;const t=e.data.current;return!!(t&&"sortable"in t&&typeof t.sortable=="object"&&"containerId"in t.sortable&&"items"in t.sortable&&"index"in t.sortable)}const Lce=[at.Down,at.Right,at.Up,at.Left],Fce=(e,t)=>{let{context:{active:r,collisionRect:n,droppableRects:a,droppableContainers:i,over:s,scrollableAncestors:o}}=t;if(Lce.includes(e.code)){if(e.preventDefault(),!r||!n)return;const u=[];i.getEnabled().forEach(d=>{if(!d||d!=null&&d.disabled)return;const p=a.get(d.id);if(p)switch(e.code){case at.Down:n.topp.top&&u.push(d);break;case at.Left:n.left>p.left&&u.push(d);break;case at.Right:n.left1&&(f=c[1].id),f!=null){const d=i.get(r.id),p=i.get(f),h=p?a.get(p.id):null,x=p==null?void 0:p.node.current;if(x&&h&&d&&p){const g=xg(x).some((_,k)=>o[k]!==_),y=WR(d,p),m=zce(d,p),w=g||!y?{x:0,y:0}:{x:m?n.width-h.width:0,y:m?n.height-h.height:0},j={x:h.left,y:h.top};return w.x&&w.y?j:_d(j,w)}}}};function WR(e,t){return!tm(e)||!tm(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function zce(e,t){return!tm(e)||!tm(t)||!WR(e,t)?!1:e.data.current.sortable.index":"greater_than","<":"less_than",">=":"greater_than_equal","<=":"less_than_equal"};function Uce({id:e,name:t,onRemove:r}){const{attributes:n,listeners:a,setNodeRef:i,transform:s,transition:o}=Mce({id:e}),u={transform:jd.Transform.toString(s),transition:o};return l.jsxs("div",{ref:i,style:u,className:"flex items-center gap-2 bg-slate-100 dark:bg-[#111118] border border-slate-200 dark:border-[#1c1c24] rounded-lg px-2 py-1.5",children:[l.jsx("span",{...n,...a,className:"cursor-grab text-slate-400",children:l.jsx(fle,{size:14})}),l.jsx("span",{className:"text-sm flex-1 font-mono",children:t}),l.jsx("button",{type:"button",onClick:r,className:"text-red-400 hover:text-red-600",children:l.jsx(di,{size:12})})]})}function HR({gateways:e,onChange:t}){const[r,n]=S.useState(""),[a,i]=S.useState(""),s=hue(UO($1),UO(C1,{coordinateGetter:Fce}));function o(c){const{active:f,over:d}=c;if(d&&f.id!==d.id){const p=e.findIndex(x=>x.id===f.id),h=e.findIndex(x=>x.id===d.id);t(R1(e,p,h))}}function u(){r.trim()&&(t([...e,{id:crypto.randomUUID(),gatewayName:r.trim(),gatewayId:a.trim()}]),n(""),i(""))}return l.jsxs("div",{className:"space-y-2",children:[l.jsx(gce,{sensors:s,collisionDetection:gue,onDragEnd:o,children:l.jsx(Ece,{items:e.map(c=>c.id),strategy:Nce,children:e.map((c,f)=>l.jsx(Uce,{id:c.id,name:`${f+1}. ${c.gatewayName}${c.gatewayId?` (${c.gatewayId})`:""}`,onRemove:()=>t(e.filter(d=>d.id!==c.id))},c.id))})}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx("input",{value:r,onChange:c=>n(c.target.value),onKeyDown:c=>c.key==="Enter"&&(c.preventDefault(),u()),placeholder:"gateway_name",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{value:a,onChange:c=>i(c.target.value),onKeyDown:c=>c.key==="Enter"&&(c.preventDefault(),u()),placeholder:"gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsxs(Ae,{type:"button",size:"sm",variant:"secondary",onClick:u,children:[l.jsx(ci,{size:13})," Add"]})]})]})}function GR({gateways:e,onChange:t}){const[r,n]=S.useState(""),[a,i]=S.useState(""),s=e.reduce((u,c)=>u+c.split,0);function o(){r.trim()&&(t([...e,{id:crypto.randomUUID(),gatewayName:r.trim(),gatewayId:a.trim(),split:0}]),n(""),i(""))}return l.jsxs("div",{className:"space-y-2",children:[e.map(u=>l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("input",{value:u.gatewayName,onChange:c=>t(e.map(f=>f.id===u.id?{...f,gatewayName:c.target.value}:f)),placeholder:"gateway_name",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs w-32 focus:outline-none"}),l.jsx("input",{value:u.gatewayId,onChange:c=>t(e.map(f=>f.id===u.id?{...f,gatewayId:c.target.value}:f)),placeholder:"gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs w-28 focus:outline-none"}),l.jsx("input",{type:"range",min:0,max:100,value:u.split,onChange:c=>t(e.map(f=>f.id===u.id?{...f,split:Number(c.target.value)}:f)),className:"flex-1 accent-brand-500"}),l.jsxs("span",{className:"text-sm w-10 text-right",children:[u.split,"%"]}),l.jsx("button",{type:"button",onClick:()=>t(e.filter(c=>c.id!==u.id)),className:"text-red-400 hover:text-red-600",children:l.jsx(di,{size:12})})]},u.id)),l.jsxs("div",{className:`text-xs font-medium ${s===100?"text-emerald-400":"text-red-400"}`,children:["Total: ",s,"% ",s!==100&&"(must equal 100)"]}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx("input",{value:r,onChange:u=>n(u.target.value),onKeyDown:u=>u.key==="Enter"&&(u.preventDefault(),o()),placeholder:"gateway_name",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{value:a,onChange:u=>i(u.target.value),onKeyDown:u=>u.key==="Enter"&&(u.preventDefault(),o()),placeholder:"gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsxs(Ae,{type:"button",size:"sm",variant:"secondary",onClick:o,children:[l.jsx(ci,{size:13})," Add"]})]})]})}function Vce({row:e,onChange:t,onRemove:r,routingKeys:n}){var u;const a=n[e.lhs],i=(a==null?void 0:a.type)==="enum",o=(a==null?void 0:a.type)==="integer"?[">","<",">=","<=","==","!="]:["==","!="];return l.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[l.jsx("select",{value:e.lhs,onChange:c=>t({...e,lhs:c.target.value,value:"",operator:"=="}),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs focus:outline-none",children:Object.keys(n).map(c=>l.jsx("option",{value:c,children:c},c))}),l.jsx("select",{value:e.operator,onChange:c=>t({...e,operator:c.target.value}),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs focus:outline-none",children:o.map(c=>l.jsx("option",{value:c,children:c},c))}),i?l.jsxs("select",{value:e.value,onChange:c=>t({...e,value:c.target.value}),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs focus:outline-none",children:[l.jsx("option",{value:"",children:"select..."}),(((u=n[e.lhs])==null?void 0:u.values)||[]).map(c=>l.jsx("option",{value:c,children:c},c))]}):l.jsx("input",{type:"number",value:e.value,onChange:c=>t({...e,value:c.target.value}),placeholder:"value",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs w-24 focus:outline-none"}),l.jsx("button",{type:"button",onClick:r,className:"text-red-400 hover:text-red-600",children:l.jsx(di,{size:12})})]})}function Wce({block:e,onChange:t,onRemove:r,routingKeys:n}){var f;const[a,i]=S.useState(!1),s=Object.keys(n)[0]||"payment_method",u=(((f=n[s])==null?void 0:f.values)||[])[0]||"";function c(){t({...e,conditions:[...e.conditions,{id:crypto.randomUUID(),lhs:s,operator:"==",value:u}]})}return l.jsxs("div",{className:"border border-slate-200 dark:border-[#1c1c24] rounded-xl",children:[l.jsxs("div",{className:"flex items-center justify-between px-4 py-2.5 bg-[#0d0d12] rounded-t-xl cursor-pointer",onClick:()=>i(!a),children:[l.jsx("input",{value:e.name,onChange:d=>{d.stopPropagation(),t({...e,name:d.target.value})},onClick:d=>d.stopPropagation(),placeholder:"Rule name",className:"bg-transparent text-sm font-medium focus:outline-none border-b border-transparent focus:border-[#28282f] text-slate-900"}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("button",{type:"button",onClick:d=>{d.stopPropagation(),r()},className:"text-red-400 hover:text-red-600",children:l.jsx(di,{size:14})}),a?l.jsx(ks,{size:14}):l.jsx(No,{size:14})]})]}),!a&&l.jsxs("div",{className:"px-4 py-3 space-y-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 mb-2",children:"CONDITIONS"}),l.jsxs("div",{className:"space-y-2",children:[e.conditions.map(d=>l.jsx(Vce,{row:d,routingKeys:n,onChange:p=>t({...e,conditions:e.conditions.map(h=>h.id===d.id?p:h)}),onRemove:()=>t({...e,conditions:e.conditions.filter(p=>p.id!==d.id)})},d.id)),l.jsxs(Ae,{type:"button",variant:"ghost",size:"sm",onClick:c,children:[l.jsx(ci,{size:12})," Add Condition"]})]})]}),l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 mb-2",children:"OUTPUT"}),l.jsx("div",{className:"flex gap-4 mb-3",children:["priority","volume_split"].map(d=>l.jsxs("label",{className:"flex items-center gap-1.5 text-xs cursor-pointer",children:[l.jsx("input",{type:"radio",checked:e.outputType===d,onChange:()=>t({...e,outputType:d}),className:"accent-brand-500"}),d==="priority"?"Priority":"Volume Split"]},d))}),e.outputType==="priority"?l.jsx(HR,{gateways:e.priorityGateways,onChange:d=>t({...e,priorityGateways:d})}):l.jsx(GR,{gateways:e.volumeGateways,onChange:d=>t({...e,volumeGateways:d})})]})]})]})}function Hce(e,t,r){function n(i,s,o){return i==="priority"?{priority:s.map(u=>({gateway_name:u.gatewayName,gateway_id:u.gatewayId||null}))}:{volume_split:o.map(u=>({split:u.split,output:{gateway_name:u.gatewayName,gateway_id:u.gatewayId||null}}))}}function a(i){return i==="priority"?"priority":"volume_split"}return{globals:{},default_selection:n(t.type,t.priorityGateways,t.volumeGateways),rules:e.map(i=>({name:i.name,routing_type:a(i.outputType),output:n(i.outputType,i.priorityGateways,i.volumeGateways),statements:[{condition:i.conditions.map(s=>{var o,u;return{lhs:s.lhs,comparison:Bce[s.operator]||s.operator,value:{type:((o=r[s.lhs])==null?void 0:o.type)==="integer"?"number":"enum_variant",value:((u=r[s.lhs])==null?void 0:u.type)==="integer"?Number(s.value):s.value},metadata:{}}})}]}))}}function Gce(){const{merchantId:e}=Nn(),{routingKeysConfig:t,isLoading:r,error:n}=pR(),a=t,i=Object.keys(a).length>0,s=!r&&(!i||!!n),[o,u]=S.useState(""),[c,f]=S.useState(""),[d,p]=S.useState([]),[h,x]=S.useState({type:"priority",priorityGateways:[],volumeGateways:[]}),[v,g]=S.useState(!1),[y,m]=S.useState(!1),[w,j]=S.useState(null),[b,_]=S.useState(null),[k,O]=S.useState(!1),[E,T]=S.useState(null),[$,A]=S.useState(!1),[R,M]=S.useState(new Set),{data:L,mutate:V}=Xt(e?`/routing/list/${e}`:null,()=>zt(`/routing/list/${e}`)),{data:H}=Xt(e?`/routing/list/active/${e}`:null,()=>zt(`/routing/list/active/${e}`)),I=new Set((H||[]).map(q=>q.id)),B=Hce(d,h,a);async function W(q){if(q.preventDefault(),!e){j("Set a Merchant ID first.");return}if(s){j("Routing key config is unavailable. Ensure backend /config/routing-keys is reachable and valid.");return}if(!o.trim()){j("Rule name is required.");return}m(!0),j(null),_(null);try{const le=await zt("/routing/create",{name:o.trim(),description:c,created_by:e,algorithm_for:"payment",algorithm:{type:"advanced",data:B}});_(le.id),V()}catch(le){j(String(le))}finally{m(!1)}}async function G(q){if(e){O(!0),T(null),A(!1);try{await zt("/routing/activate",{created_by:e,routing_algorithm_id:q}),A(!0),V()}catch(le){T(String(le))}finally{O(!1)}}}function K(q){M(le=>{const ge=new Set(le);return ge.has(q)?ge.delete(q):ge.add(q),ge})}function ee(){p(q=>[...q,{id:crypto.randomUUID(),name:`Rule ${q.length+1}`,conditions:[],outputType:"priority",priorityGateways:[],volumeGateways:[]}])}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900",children:"Rule-Based Routing"}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:"Create declarative routing rules"})]}),l.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[l.jsxs("div",{className:"lg:col-span-1 space-y-3",children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Existing Rules"})}),l.jsx(Be,{className:"p-0",children:e?L?L.length===0?l.jsx("p",{className:"px-4 py-3 text-sm text-slate-400",children:"No rules yet."}):l.jsx("div",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:L.map(q=>{const le=I.has(q.id),ge=R.has(q.id),$e=q.algorithm_data||q.algorithm;return l.jsxs("div",{children:[l.jsxs("div",{className:"flex flex-col gap-3 px-4 py-3 sm:flex-row sm:items-start sm:justify-between",children:[l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsx("p",{className:"truncate font-medium",children:q.name}),l.jsx("p",{className:"text-xs text-slate-400 capitalize",children:$e==null?void 0:$e.type})]}),l.jsxs("div",{className:"flex shrink-0 flex-wrap items-center gap-2 sm:justify-end",children:[l.jsx(ze,{variant:le?"green":"gray",children:le?"Active":"Inactive"}),l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:()=>K(q.id),children:[l.jsx(Wd,{size:14,className:"mr-1"}),ge?"Hide":"View"]}),!le&&l.jsx(Ae,{size:"sm",variant:"ghost",onClick:()=>G(q.id),disabled:k,children:"Activate"})]})]}),ge&&l.jsx("div",{className:"bg-slate-50 px-4 py-3 dark:bg-[#151518]",children:l.jsxs("div",{className:"space-y-2 text-xs text-slate-600",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"ID:"})," ",q.id]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Description:"})," ",q.description||"N/A"]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Algorithm For:"})," ",q.algorithm_for]}),q.created_at&&l.jsxs("p",{children:[l.jsx("strong",{children:"Created:"})," ",new Date(q.created_at).toLocaleString()]}),l.jsxs("div",{children:[l.jsx("strong",{children:"Configuration:"}),l.jsx("pre",{className:"mt-1 max-h-48 overflow-auto rounded border border-transparent bg-slate-100 p-2 text-xs dark:border-[#222226] dark:bg-[#0f0f11]",children:JSON.stringify($e,null,2)})]})]})})]},q.id)})}):l.jsx("p",{className:"px-4 py-3 text-sm text-slate-400",children:"Loading..."}):l.jsx("p",{className:"px-4 py-3 text-sm text-slate-400",children:"Set merchant ID to load rules."})})]}),E&&l.jsx(Nr,{error:E}),$&&l.jsx("div",{className:"rounded-lg border border-emerald-500/20 bg-emerald-500/8 px-3 py-2 text-sm text-emerald-400",children:"Rule activated successfully."})]}),l.jsxs("div",{className:"lg:col-span-2 space-y-4",children:[l.jsx("form",{onSubmit:W,className:"space-y-4",children:l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Rule Builder"})}),l.jsxs(Be,{className:"space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs text-slate-500 mb-1",children:"Rule Name *"}),l.jsx("input",{value:o,onChange:q=>u(q.target.value),placeholder:"my-rule",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs text-slate-500 mb-1",children:"Description"}),l.jsx("input",{value:c,onChange:q=>f(q.target.value),placeholder:"Optional description",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 uppercase tracking-wide",children:"Rules"}),r&&l.jsx("p",{className:"text-sm text-slate-500",children:"Loading routing keys from backend..."}),s&&l.jsx(Nr,{error:"Routing keys are unavailable from backend (/config/routing-keys). Rule Builder is disabled until this is fixed."}),d.map(q=>l.jsx(Wce,{block:q,routingKeys:a,onChange:le=>p(ge=>ge.map($e=>$e.id===q.id?le:$e)),onRemove:()=>p(le=>le.filter(ge=>ge.id!==q.id))},q.id)),l.jsxs(Ae,{type:"button",variant:"secondary",size:"sm",onClick:ee,disabled:s,children:[l.jsx(ci,{size:14})," Add Rule Block"]})]}),l.jsxs("div",{className:"border border-slate-200 dark:border-[#1c1c24] rounded-xl px-4 py-3",children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 mb-2",children:"DEFAULT SELECTION (Fallback)"}),l.jsx("div",{className:"flex gap-4 mb-3",children:["priority","volume_split"].map(q=>l.jsxs("label",{className:"flex items-center gap-1.5 text-xs cursor-pointer",children:[l.jsx("input",{type:"radio",checked:h.type===q,onChange:()=>x({...h,type:q}),className:"accent-brand-500"}),q==="priority"?"Priority":"Volume Split"]},q))}),h.type==="priority"?l.jsx(HR,{gateways:h.priorityGateways,onChange:q=>x({...h,priorityGateways:q})}):l.jsx(GR,{gateways:h.volumeGateways,onChange:q=>x({...h,volumeGateways:q})})]}),l.jsx(Nr,{error:w}),b&&l.jsxs("div",{className:"rounded-lg border border-emerald-500/20 bg-emerald-500/8 px-3 py-2 text-sm text-emerald-400 flex items-center justify-between",children:[l.jsxs("span",{children:["Rule created (ID: ",b,")"]}),l.jsx(Ae,{type:"button",size:"sm",onClick:()=>G(b),disabled:k,children:"Activate Now"})]}),l.jsxs("div",{className:"flex gap-3",children:[l.jsx(Ae,{type:"submit",disabled:y||s,children:y?"Creating...":"Create Rule"}),l.jsx(Ae,{type:"button",variant:"secondary",size:"sm",onClick:()=>g(!v),children:v?"Hide JSON":"Preview JSON"})]})]})]})}),v&&l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"JSON Preview"})}),l.jsx(Be,{children:l.jsx("pre",{className:"text-xs text-slate-600 overflow-auto max-h-64 bg-[#07070b] rounded-lg p-4 font-mono border border-slate-200 dark:border-[#1c1c24]",children:JSON.stringify({name:o,description:c,created_by:e,algorithm_for:"payment",algorithm:{type:"advanced",data:B}},null,2)})})]})]})]})]})}const Xy=[{value:"15m",label:"15m",detail:"Last 15 mins",badge:"Live 15m",summaryLabel:"Errors last 15 mins"},{value:"1h",label:"1h",detail:"Last hour",badge:"Live 1h",summaryLabel:"Errors last hour"},{value:"12h",label:"12h",detail:"Last 12 hours",badge:"Live 12h",summaryLabel:"Errors last 12 hours"},{value:"1d",label:"1 day",detail:"Last 1 day",badge:"Live 1d",summaryLabel:"Errors last 1 day"},{value:"1w",label:"1 week",detail:"Last 1 week",badge:"Live 1w",summaryLabel:"Errors last 1 week"}];function qce(){const[e,t]=S.useState("loading");return S.useEffect(()=>{ui("/health").then(()=>t("up")).catch(()=>t("down"))},[]),e}function qf(e){return new Intl.NumberFormat(void 0,{notation:"compact",maximumFractionDigits:e&&e<100?1:0}).format(e||0)}function Zy(e){return e==null||Number.isNaN(e)?"0%":`${e.toFixed(e>=100?0:1)}%`}function Kce(e){return e==="up"?"Healthy":e==="down"?"Needs attention":"Checking"}function Jy({label:e,value:t,detail:r}){return l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-white px-4 py-4 dark:border-[#2a303a] dark:bg-[#161b24]",children:[l.jsx(an,{children:e}),l.jsx("p",{className:"mt-3 text-2xl font-semibold tracking-tight text-slate-950 dark:text-white",children:t}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#b2bdd1]",children:r})]})}function Kf({icon:e,label:t,value:r,detail:n}){return l.jsx(Se,{className:"p-5",children:l.jsxs("div",{className:"flex items-start justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx(an,{children:t}),l.jsx("p",{className:"mt-4 text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:r}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:n})]}),l.jsx("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(e,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})})]})})}function Yce(){return l.jsxs("div",{className:"grid gap-5 pt-8 lg:grid-cols-[1.1fr_0.9fr]",children:[l.jsxs(Se,{className:"p-7",children:[l.jsx(an,{children:"Merchant session required"}),l.jsx("h2",{className:"mt-4 max-w-xl text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:"Sign in with a merchant account to turn this into a live overview."}),l.jsx("p",{className:"mt-4 max-w-xl text-sm leading-7 text-slate-600 dark:text-[#b2bdd1]",children:"Analytics now derive merchant scope from your authenticated session. Once you are signed in, this page shows service health, active routing, request count, and gateway activity without needing analytics query params for merchant selection."})]}),l.jsx(Se,{className:"p-7",children:l.jsx("div",{className:"space-y-5",children:[{icon:sl,title:"System status",text:"Check whether the service is reachable."},{icon:mc,title:"Routing setup",text:"See whether a strategy is configured."},{icon:Gh,title:"Gateway activity",text:"View recent request distribution by gateway."}].map(e=>l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(e.icon,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:e.title}),l.jsx("p",{className:"mt-1 text-sm leading-6 text-slate-600 dark:text-[#b2bdd1]",children:e.text})]})]},e.title))})})]})}function tN({label:e}){return l.jsxs("div",{className:"overflow-hidden rounded-[22px] border border-brand-500/20 bg-white shadow-[0_10px_30px_-24px_rgba(0,105,237,0.9)] dark:bg-[#0c0c0e]",children:[l.jsx("div",{className:"h-2 w-full bg-brand-500/15",children:l.jsx("div",{className:"h-full origin-left animate-[analytics-progress_1.8s_ease-in-out_infinite] rounded-r-full bg-brand-500"})}),l.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-3",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Ft,{size:14}),l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:e})]}),l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-brand-600 dark:text-brand-300",children:"Loading"})]})]})}function Xce(){var T,$,A,R,M,L,V,H,I,B,W;const e=is(),{merchantId:t}=Nn(),r=ua(G=>{var K;return((K=G.user)==null?void 0:K.merchantId)||""}),n=t||r,a=qce(),[i,s]=S.useState("1d"),{data:o}=Xt(n?`/routing/list/active/${n}`:null,()=>zt(`/routing/list/active/${n}`),{shouldRetryOnError:!1}),{data:u}=Xt(n?["/rule/get","successRate",n]:null,()=>zt("/rule/get",{merchant_id:n,algorithm:"successRate"}),{shouldRetryOnError:!1}),c=`/analytics/overview?range=${i}`,f=`/analytics/routing-stats?range=${i}`,d=Xt(c,nn,{refreshInterval:15e3,revalidateOnFocus:!0,shouldRetryOnError:!1,keepPreviousData:!0}),p=Xt(f,nn,{refreshInterval:15e3,revalidateOnFocus:!0,shouldRetryOnError:!1,keepPreviousData:!0}),h=(o==null?void 0:o[0])||null,x=(o||[]).some(G=>{var K;return((K=G.algorithm_data||G.algorithm)==null?void 0:K.type)==="advanced"}),g=(($=(((T=d.data)==null?void 0:T.route_hits)||[]).find(G=>G.route==="/decide_gateway"))==null?void 0:$.count)||0,y=((R=(A=d.data)==null?void 0:A.top_errors)==null?void 0:R.reduce((G,K)=>G+K.count,0))||0,m=S.useMemo(()=>{var ee;const G=new Map;for(const q of((ee=p.data)==null?void 0:ee.gateway_share)||[])G.set(q.gateway,(G.get(q.gateway)||0)+q.count);const K=Array.from(G.values()).reduce((q,le)=>q+le,0);return Array.from(G.entries()).map(([q,le])=>({gateway:q,count:le,share:K?le/K*100:0})).sort((q,le)=>le.count-q.count)},[p.data]),w=((M=m[0])==null?void 0:M.gateway)||((H=(V=(L=d.data)==null?void 0:L.top_scores)==null?void 0:V[0])==null?void 0:H.gateway),j=Xy.find(G=>G.value===i)||Xy[1],b=[a==="up",!!h,!!(u!=null&&u.data),x].filter(Boolean).length,_=[{label:"Service health",description:a==="up"?"Service is reachable.":"Please verify service health.",state:a==="up"?"Healthy":a==="down"?"Issue":"Checking",icon:a==="up"?lle:a==="down"?ule:ole,route:void 0},{label:"Routing strategy",description:h?h.name:"No active routing configured.",state:h?"Configured":"Not set",icon:mc,route:"/routing"},{label:"Auth-rate config",description:u!=null&&u.data?"Configured and available.":"Not configured yet.",state:u!=null&&u.data?"Configured":"Not set",icon:ble,route:"/routing/sr"},{label:"Rule-based routing",description:x?"Enabled for this merchant.":"Not enabled.",state:x?"Enabled":"Optional",icon:wle,route:"/routing/rules"}],k=n?a==="up"?{label:"System live",variant:"green"}:a==="down"?{label:"Attention needed",variant:"red"}:{label:"Checking status",variant:"gray"}:{label:"Merchant not selected",variant:"orange"},O=!d.data&&d.isLoading||!p.data&&p.isLoading,E=!O&&(d.isValidating||p.isValidating);return l.jsxs("div",{className:"relative mx-auto max-w-[1380px]",children:[l.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10 overflow-hidden",children:[l.jsx("div",{className:"absolute -left-16 top-0 h-72 w-72 rounded-full bg-sky-500/10 blur-3xl dark:bg-sky-500/8"}),l.jsx("div",{className:"absolute right-0 top-12 h-80 w-80 rounded-full bg-brand-500/10 blur-3xl dark:bg-brand-500/10"})]}),l.jsxs("section",{className:"relative overflow-hidden rounded-[40px] border border-slate-200 bg-white px-5 py-5 shadow-[0_28px_90px_-56px_rgba(15,23,42,0.16)] md:px-6 md:py-6 dark:border-[#232933] dark:bg-[#090c12] dark:shadow-[0_28px_90px_-56px_rgba(0,0,0,0.72)]",children:[l.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-[#3b82f6]/25 to-transparent dark:via-[#3b82f6]/35"}),l.jsxs("header",{className:"relative flex flex-col gap-4 border-b border-slate-200 pb-5 dark:border-[#232933]",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(ze,{variant:k.variant,children:k.label}),(I=d.data)!=null&&I.merchant_id||n?l.jsx(ze,{variant:"blue",children:((B=d.data)==null?void 0:B.merchant_id)||n}):null]}),l.jsxs("div",{children:[l.jsx("h1",{className:"text-4xl font-semibold tracking-tight text-slate-950 md:text-[4rem] dark:text-white",children:"Overview"}),l.jsx("p",{className:"mt-2 max-w-2xl text-sm leading-7 text-slate-600 dark:text-[#a6b0c3]",children:"Basic business-facing view of system status, setup, request volume, and gateway activity."}),l.jsx("div",{className:"mt-4 inline-flex rounded-2xl border border-slate-200 bg-slate-50 p-1 dark:border-[#2a303a] dark:bg-[#121720]",children:Xy.map(G=>{const K=G.value===i;return l.jsx("button",{type:"button",onClick:()=>s(G.value),className:`rounded-[14px] px-3 py-2 text-xs font-semibold transition ${K?"bg-white text-slate-950 shadow-sm dark:bg-[#1a2332] dark:text-white":"text-slate-500 hover:text-slate-900 dark:text-[#8ea0bb] dark:hover:text-white"}`,children:G.label},G.value)})})]})]}),n?l.jsxs(l.Fragment,{children:[O?l.jsx("div",{className:"pt-8",children:l.jsx(tN,{label:`Loading overview analytics for ${j.detail.toLowerCase()}`})}):null,E?l.jsx("div",{className:"pt-8",children:l.jsx(tN,{label:`Refreshing overview analytics for ${j.detail.toLowerCase()}`})}):null,l.jsxs("div",{className:`grid gap-5 pt-8 xl:grid-cols-[1.15fr_0.85fr] transition-opacity duration-200 ${E?"opacity-60":"opacity-100"}`,children:[l.jsx(Se,{className:"p-6 md:p-7",children:l.jsxs("div",{className:"flex h-full flex-col justify-between",children:[l.jsxs("div",{children:[l.jsx(an,{children:"Traffic leader"}),l.jsxs("div",{className:"mt-5 flex flex-wrap items-end gap-4",children:[l.jsx("h2",{className:"text-[2.5rem] font-semibold tracking-[-0.05em] text-slate-950 md:text-[3rem] dark:text-white",children:(w==null?void 0:w.toUpperCase())||"--"}),l.jsxs("div",{className:"pb-2",children:[l.jsx("p",{className:"text-lg font-medium text-slate-700 dark:text-[#d5dded]",children:m[0]?Zy(m[0].share):"0%"}),l.jsx("p",{className:"mt-1 text-xs uppercase tracking-[0.16em] text-slate-500 dark:text-[#8390a7]",children:"Share in selected window"})]})]}),l.jsx("p",{className:"mt-4 max-w-xl text-sm leading-7 text-slate-600 dark:text-[#a6b0c3]",children:h?`${h.name} is the current routing strategy for this merchant.`:"No active routing strategy is configured for this merchant yet."})]}),l.jsxs("div",{className:"mt-8 grid gap-3 sm:grid-cols-3",children:[l.jsx(Jy,{label:"Requests",value:qf(g),detail:j.detail}),l.jsx(Jy,{label:"Setup ready",value:`${b}/4`,detail:"Core basics configured"}),l.jsx(Jy,{label:"Window",value:j.label,detail:j.detail})]})]})}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 xl:grid-cols-1",children:[l.jsx(Kf,{icon:sl,label:"System status",value:Kce(a),detail:a==="up"?"Service is reachable":"Please verify service health"}),l.jsx(Kf,{icon:mc,label:"Active routing",value:(h==null?void 0:h.name)||"Not set",detail:h?"Currently selected strategy":"No routing configured yet"}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 xl:grid-cols-2",children:[l.jsx(Kf,{icon:J0,label:"Requests",value:qf(g),detail:j.detail}),l.jsx(Kf,{icon:Gh,label:"Top gateway",value:(w==null?void 0:w.toUpperCase())||"--",detail:m[0]?`${Zy(m[0].share)} of traffic`:"No activity yet"})]})]})]}),l.jsxs("div",{className:`mt-6 grid gap-6 xl:grid-cols-[1.02fr_0.98fr] transition-opacity duration-200 ${E?"opacity-60":"opacity-100"}`,children:[l.jsxs(Se,{className:"p-6",children:[l.jsxs("div",{className:"flex items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx(an,{children:"Current setup"}),l.jsx("p",{className:"mt-2 text-sm text-slate-600 dark:text-[#a6b0c3]",children:"The status cards you can explain in a demo without technical jargon."})]}),l.jsxs(ze,{variant:b>=3?"green":"orange",children:[b,"/4 ready"]})]}),l.jsx("div",{className:"mt-5 grid gap-4 md:grid-cols-2",children:_.map(G=>l.jsx(Se,{className:"min-h-[158px] p-5",onClick:G.route?()=>e(G.route):void 0,children:l.jsxs("div",{className:"flex h-full flex-col justify-between",children:[l.jsxs("div",{className:"flex items-start justify-between gap-4",children:[l.jsx("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(G.icon,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})}),l.jsx(ze,{variant:G.state==="Healthy"||G.state==="Configured"||G.state==="Enabled"?"green":G.state==="Issue"?"red":G.state==="Checking"||G.state==="Optional"?"gray":"orange",children:G.state})]}),l.jsxs("div",{className:"mt-6",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:G.label}),l.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-600 dark:text-[#a6b0c3]",children:G.description})]})]})},G.label))})]}),l.jsxs(Se,{className:"p-6",children:[l.jsxs("div",{className:"flex items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx(an,{children:"Gateway activity"}),l.jsx("p",{className:"mt-2 text-sm text-slate-600 dark:text-[#a6b0c3]",children:"Request distribution by gateway for the selected window."})]}),l.jsx(ze,{variant:"blue",children:j.badge})]}),l.jsx("div",{className:"mt-6 space-y-4",children:m.length?m.slice(0,4).map((G,K)=>l.jsxs("div",{className:"rounded-[24px] border border-slate-200 bg-slate-50/80 p-4 dark:border-[#2a303a] dark:bg-[#121720]",children:[l.jsxs("div",{className:"flex items-center justify-between gap-4",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:["#38bdf8","#60a5fa","#22c55e","#f59e0b"][K]||"#38bdf8"}}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:G.gateway.toUpperCase()}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#98a3b8]",children:[qf(G.count)," requests"]})]})]}),l.jsx("p",{className:"text-sm font-medium text-slate-950 dark:text-white",children:Zy(G.share)})]}),l.jsx("div",{className:"mt-4 h-2 rounded-full bg-slate-200 dark:bg-[#232933]",children:l.jsx("div",{className:"h-full rounded-full bg-gradient-to-r from-sky-400 via-blue-500 to-cyan-300",style:{width:`${Math.max(10,G.share)}%`}})})]},G.gateway)):l.jsxs("div",{className:"rounded-[24px] border border-dashed border-white/10 px-5 py-10 text-center",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:"No gateway activity yet"}),l.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-600 dark:text-[#a6b0c3]",children:"Once requests start flowing, this section will show traffic by gateway."})]})})]})]}),l.jsxs("div",{className:`mt-6 grid gap-6 xl:grid-cols-[0.86fr_1.14fr] transition-opacity duration-200 ${E?"opacity-60":"opacity-100"}`,children:[l.jsxs(Se,{className:"p-6",children:[l.jsx(an,{children:"Quick summary"}),l.jsx("div",{className:"mt-5 space-y-4",children:[{label:"Signed-in merchant",value:((W=d.data)==null?void 0:W.merchant_id)||n||"--"},{label:"Time window",value:j.detail},{label:j.summaryLabel,value:qf(y)},{label:"Top gateway",value:(w==null?void 0:w.toUpperCase())||"No activity"}].map(G=>l.jsxs("div",{className:"flex items-center justify-between gap-4 rounded-[20px] border border-slate-200 bg-slate-50/80 px-4 py-3 dark:border-[#2a303a] dark:bg-[#121720]",children:[l.jsx("span",{className:"text-sm text-slate-600 dark:text-[#a6b0c3]",children:G.label}),l.jsx("span",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:G.value})]},G.label))})]}),l.jsx("div",{className:"grid gap-4 md:grid-cols-3",children:[{label:"Routing Hub",text:"Configure routing strategies.",icon:mc,route:"/routing"},{label:"Analytics",text:"Inspect request and gateway trends.",icon:Gh,route:"/analytics"},{label:"Audit Trail",text:"Review individual decision records.",icon:J0,route:"/audit"}].map(G=>l.jsx(Se,{className:"p-5",onClick:()=>e(G.route),children:l.jsxs("div",{className:"flex h-full flex-col justify-between",children:[l.jsx("div",{className:"inline-flex w-fit rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(G.icon,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})}),l.jsxs("div",{className:"mt-10",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:G.label}),l.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-600 dark:text-[#a6b0c3]",children:G.text}),l.jsxs("div",{className:"mt-4 inline-flex items-center gap-2 text-sm font-medium text-brand-600 dark:text-sky-300",children:[l.jsx("span",{children:"Open"}),l.jsx(j1,{className:"h-4 w-4"})]})]})]})},G.label))})]})]}):l.jsx(Yce,{})]})]})}const Zce=["15m","1h","12h","1d","1w","custom"],Jce=[{value:"",label:"Any status"},{value:"success",label:"Success"},{value:"failure",label:"Failure"}],Qce=[{value:"",label:"Any route"},{value:"decide_gateway",label:"Decide Gateway"},{value:"update_gateway_score",label:"Update Gateway"},{value:"routing_evaluate",label:"Rule Evaluate"}],ede=["summary","input","response","raw"],rN={paymentId:"",requestId:"",gateway:"",route:"",status:"",flowType:"",errorCode:""};function Ko(e){const t=e.paymentId.trim(),r=t?"":e.requestId.trim();return{paymentId:t,requestId:r,gateway:e.gateway.trim(),route:e.route,status:e.status,flowType:e.flowType.trim(),errorCode:e.errorCode.trim()}}function qR(e){return e.flow_type||""}function tde(e){return e.endsWith("_error")}function KR(e){return e.startsWith("routing_evaluate_")&&e!=="routing_evaluate_request_hit"}function YR(e){return e==="decide_gateway_rule_hit"}function rde(e){return e.startsWith("update_gateway_score_")||e.startsWith("update_score_legacy_")}function nde(e){return e.startsWith("decide_gateway_")&&!YR(e)}function XR(e){const t=new URLSearchParams;return Object.entries(e).forEach(([r,n])=>{n!==void 0&&n!==""&&t.set(r,String(n))}),t.toString()}function nN(e,t,r,n,a,i){const s=Ko(a),o={range:t==="custom"?"1h":t,page:r,page_size:n,start_ms:i==null?void 0:i.start_ms,end_ms:i==null?void 0:i.end_ms,payment_id:s.paymentId||void 0,request_id:s.requestId||void 0,gateway:s.gateway||void 0,route:s.route||void 0,status:s.status||void 0,flow_type:s.flowType||void 0,error_code:s.errorCode||void 0},u=XR(o);return u?`${e}?${u}`:e}function ade(e){return e==="custom"||e==="15m"||e==="1h"||e==="12h"||e==="1d"||e==="1w"?e:"1d"}function ide(e){return e==="rule_based"?"rule_based":"transactions"}function sde(e){return Ko({paymentId:e.get("payment_id")||"",requestId:e.get("request_id")||"",gateway:e.get("gateway")||"",route:e.get("route")||"",status:e.get("status")||"",flowType:e.get("flow_type")||e.get("event_type")||"",errorCode:e.get("error_code")||""})}function aN(e){const t=Date.now(),r=e==="15m"?15*60*1e3:e==="1h"?60*60*1e3:e==="12h"?12*60*60*1e3:e==="1d"?24*60*60*1e3:7*24*60*60*1e3;return{start_ms:t-r,end_ms:t}}function Yf(e){const t=new Date(e),r=n=>n.toString().padStart(2,"0");return`${t.getFullYear()}-${r(t.getMonth()+1)}-${r(t.getDate())}T${r(t.getHours())}:${r(t.getMinutes())}`}function Xf(e){const t=new Date(e).getTime();return Number.isFinite(t)?t:null}function mp(e){return new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(e))}function ode(e){const t=Math.max(0,Math.round((Date.now()-e)/6e4));if(t<1)return"just now";if(t<60)return`${t}m ago`;const r=Math.round(t/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`}function Os(e){return e?e.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().toLowerCase().replace(/\b\w/g,r=>r.toUpperCase()):""}function iN(e){return e.filter(Boolean).join(" · ")}function lde(e){return e?e==="decision_gateway"||e==="decide_gateway"?"Decide Gateway":e==="update_gateway_score"?"Update Gateway":e==="routing_evaluate"?"Rule Evaluate":Os(e):"Unknown route"}function ob(e){const t=qR(e);return e.event_stage==="gateway_decided"?"Decide Gateway":e.event_stage==="score_updated"?"Update Gateway":e.event_stage==="rule_applied"?"Rule Evaluate":e.event_stage==="preview_evaluated"||KR(t)?"Preview Result":tde(t)?"Errors":Os(e.event_stage||t)}function ude(e){const t=qR(e);return nde(t)||e.event_stage==="gateway_decided"?"Decide Gateway":YR(t)||e.event_stage==="rule_applied"?"Rule Evaluate":KR(t)||e.event_stage==="preview_evaluated"?"Rule Preview":rde(t)||e.event_stage==="score_updated"?"Update Gateway":"Errors"}function Du(e){const t=(e||"").toUpperCase();return t==="FAILURE"||t.includes("FAILED")||t.includes("DECLINED")?"red":t==="SUCCESS"||t==="CHARGED"||t==="AUTHORIZED"?"green":t==="HIT"?"purple":"gray"}function Lu(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Qy(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""))}function cde(e){return typeof e=="string"?e:JSON.stringify(e,null,2)}function Zf(e){return e?"!border-slate-200 !bg-white !text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.28)] dark:!border-[#2a303a] dark:!bg-[#161b24] dark:!text-white":"!border-transparent !bg-slate-100 !text-slate-600 hover:!bg-slate-200 hover:!text-slate-900 dark:!bg-[#161b24] dark:!text-[#a7b2c6] dark:hover:!bg-[#1c2330] dark:hover:!text-white"}function jo(){return"h-11 rounded-2xl border border-slate-200 bg-white/90 px-4 text-sm text-slate-700 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.2)] outline-none transition focus:border-brand-500 focus:ring-2 focus:ring-brand-500/20 dark:border-[#2a303a] dark:bg-[#161b24] dark:text-[#e5ecf7] dark:shadow-none"}function Jf({label:e,children:t}){return l.jsxs("label",{className:"space-y-2",children:[l.jsx("span",{className:"block text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:e}),t]})}function ev({label:e,value:t,helper:r}){return l.jsxs(Se,{className:"p-5",children:[l.jsx(an,{children:e}),l.jsx("p",{className:"mt-4 text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:t}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:r})]})}function gp({title:e,body:t}){return l.jsxs(Hh,{className:"border-dashed border-slate-200 bg-slate-50/70 px-6 py-12 text-center dark:border-[#2a303a] dark:bg-[#161b24]/80",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:t})]})}function dde({rows:e}){return e.length?l.jsx("div",{className:"grid gap-3 md:grid-cols-2",children:e.map(t=>l.jsxs(Hh,{className:"px-4 py-3",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8390a7]",children:t.label}),l.jsx("p",{className:"mt-2 text-sm text-slate-900 dark:text-white break-words",children:t.value})]},`${t.label}-${t.value}`))}):null}function So({title:e,value:t,emptyMessage:r}){return l.jsxs("div",{className:"space-y-3",children:[l.jsx("div",{children:l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e})}),t?l.jsx("pre",{className:"overflow-x-auto rounded-[22px] border border-slate-200 bg-slate-950/95 px-4 py-4 text-xs leading-6 text-slate-200 shadow-[0_16px_30px_-28px_rgba(15,23,42,0.4)] dark:border-[#2a303a] dark:bg-[#0b1017] dark:text-[#d8e1ef] dark:shadow-none",children:cde(t)}):l.jsx(gp,{title:`No ${e.toLowerCase()} captured`,body:r})]})}function fde(e){if(!e)return null;const t=Lu(e.details_json)?e.details_json:{},r=t.response??t.response_payload??t.result??t.output??null,n=t.request??t.request_payload??t.input??t.payload??Qy({payment_id:e.payment_id,request_id:e.request_id,payment_method_type:e.payment_method_type,payment_method:e.payment_method,gateway:e.gateway}),a=r??Qy({flow_type:e.flow_type,status:e.status,error_code:e.error_code,error_message:e.error_message,score_value:e.score_value,sigma_factor:e.sigma_factor,average_latency:e.average_latency,tp99_latency:e.tp99_latency,transaction_count:e.transaction_count,rule_name:e.rule_name,routing_approach:e.routing_approach}),i=Lu(r)?r:null,s=Lu(i==null?void 0:i.decided_gateway)?i.decided_gateway:null,o=t.score_context??(s?s.gateway_priority_map:null)??(i?i.gateway_priority_map:null)??null,u=t.selection_reason??null,c=[{label:"Phase",value:ude(e)},{label:"Stage",value:ob(e)},{label:"Route",value:lde(e.route)},{label:"Timestamp",value:mp(e.created_at_ms)},{label:"Merchant",value:e.merchant_id||"unknown merchant"},...e.payment_id?[{label:"Payment ID",value:e.payment_id}]:[],...e.request_id?[{label:"Request ID",value:e.request_id}]:[],...e.gateway?[{label:"Gateway",value:e.gateway}]:[],...e.status?[{label:"Status",value:e.status}]:[]],f=Qy(Object.fromEntries(Object.entries(t).filter(([d])=>!["request","request_payload","input","payload","response","response_payload","result","output","score_context","selection_reason"].includes(d))));return{summaryRows:c,requestPayload:Lu(n)&&!Object.keys(n).length?null:n,responsePayload:Lu(a)&&!Object.keys(a).length?null:a,scoreContext:o,selectionReason:u,signalRecord:Object.keys(f).length?f:null,rawEvent:{...e,details_json:e.details_json}}}function pde(){var _e,Ne,dt,mt,Lt,zr,Pr,Cr;const{merchantId:e}=Nn(),t=ua(Y=>{var Me;return((Me=Y.user)==null?void 0:Me.merchantId)||""}),r=e||t,[n,a]=W3(),i=ide(n.get("mode")),s=n.get("start_ms")&&n.get("end_ms")?"custom":ade(n.get("range")),o=sde(n),u=Math.max(1,Number(n.get("page")||"1")),c=n.get("selected")||"",f=Number(n.get("start_ms")||"0"),d=Number(n.get("end_ms")||"0"),p=f>0&&d>f?{start_ms:f,end_ms:d}:aN("1h"),[h,x]=S.useState(i),[v,g]=S.useState(s),[y,m]=S.useState(o),[w,j]=S.useState(o),[b,_]=S.useState(u),[k,O]=S.useState(c),[E,T]=S.useState(null),[$,A]=S.useState("summary"),[R,M]=S.useState(!1),[L,V]=S.useState(()=>Yf(p.start_ms)),[H,I]=S.useState(()=>Yf(p.end_ms)),B=12,W=S.useMemo(()=>{if(v!=="custom")return;const Y=Xf(L),Me=Xf(H);if(!(Y===null||Me===null||Me<=Y))return{start_ms:Y,end_ms:Me}},[H,L,v]),G=h==="rule_based"?"/analytics/preview-trace":"/analytics/payment-audit",K=v!=="custom"||W?nN(G,v,b,B,w,W):null,ee=Xt(K,nn,{refreshInterval:12e3,revalidateOnFocus:!0}),q=S.useMemo(()=>{var Me;const Y=((Me=ee.data)==null?void 0:Me.results)||[];return Y.find(ft=>ft.lookup_key===k)||Y[0]||null},[(_e=ee.data)==null?void 0:_e.results,k]);S.useEffect(()=>{var Me,ft;if(q!=null&&q.lookup_key){O(q.lookup_key);return}const Y=(ft=(Me=ee.data)==null?void 0:Me.results)==null?void 0:ft[0];Y!=null&&Y.lookup_key&&O(Y.lookup_key)},[(Ne=ee.data)==null?void 0:Ne.results,q==null?void 0:q.lookup_key]);const le=S.useMemo(()=>{if(!q)return null;const Y=q.payment_id||"";return{paymentId:Y,requestId:Y?"":q.request_id||"",gateway:"",route:"",status:"",flowType:"",errorCode:""}},[q]),ge=le?nN(G,v,1,50,le,W):null,$e=Xt(ge,nn,{refreshInterval:12e3,revalidateOnFocus:!0}),Pe=((dt=$e.data)==null?void 0:dt.timeline)||[],J=S.useMemo(()=>Pe.find(Y=>Y.id===E)||Pe[0]||null,[E,Pe]);S.useEffect(()=>{if(J!=null&&J.id){T(J.id);return}const Y=Pe[0];Y!=null&&Y.id&&T(Y.id)},[J==null?void 0:J.id,Pe]);const ue=S.useMemo(()=>fde(J),[J]),de=((mt=ee.error)==null?void 0:mt.message)||((Lt=$e.error)==null?void 0:Lt.message)||null,X=ee.isLoading||$e.isLoading,we=((zr=ee.data)==null?void 0:zr.results)||[],ye=((Pr=ee.data)==null?void 0:Pr.total_results)||0,qe=Pe.length,De=we.filter(Y=>Du(Y.latest_status)==="red").length,ke=Array.from(new Set(we.flatMap(Y=>{var Me;return(Me=Y.gateways)!=null&&Me.length?Y.gateways.filter(Boolean):Y.latest_gateway?[Y.latest_gateway]:[]}))),Re=ke.length,Ie=h==="rule_based"?{title:"Decision Audit",matchingLabel:"Matching previews",summaryEmpty:"Pick a preview from the left column to see the full rule evaluation trace.",noMatchesTitle:"No matching previews found",noMatchesBody:"Try widening the time range or searching by a preview payment ID, request ID, or gateway."}:{title:"Decision Audit",matchingLabel:"Matching payments",summaryEmpty:"Pick a payment from the left column to see the full transaction trail.",noMatchesTitle:"No matching payments found",noMatchesBody:"Try widening the time range or searching by a single payment ID, request ID, or error code."};function Oe(Y,Me,ft,Zt,pt,Pt){const Ye=Ko(Zt),Br=XR({mode:Y==="rule_based"?Y:void 0,range:Me,page:ft>1?ft:void 0,start_ms:Me==="custom"?Pt==null?void 0:Pt.start_ms:void 0,end_ms:Me==="custom"?Pt==null?void 0:Pt.end_ms:void 0,payment_id:Ye.paymentId||void 0,request_id:Ye.requestId||void 0,gateway:Ye.gateway||void 0,route:Ye.route||void 0,status:Ye.status||void 0,flow_type:Ye.flowType||void 0,error_code:Ye.errorCode||void 0,selected:pt||void 0});a(Br)}function Ge(Y,Me){m(ft=>Ko({...ft,[Y]:Me}))}function We(){const Me=Ko({...y,route:h==="rule_based"?"":y.route});_(1),m(Me),j(Me),Oe(h,v,1,Me,void 0,W)}function C(){const Me={...rN,route:h==="rule_based"?"":rN.route};_(1),m(Me),j(Me),Oe(h,v,1,Me,void 0,W)}function z(){ee.mutate(),$e.mutate()}function U(Y){const ft=Y==="custom"?(()=>{const Zt=Xf(L),pt=Xf(H);return Zt!==null&&pt!==null&&pt>Zt?{start_ms:Zt,end_ms:pt}:void 0})():void 0;if(g(Y),_(1),Y!=="custom"){const Zt=aN(Y);V(Yf(Zt.start_ms)),I(Yf(Zt.end_ms))}Oe(h,Y,1,w,k,ft)}function ae(Y){O(Y),Oe(h,v,b,w,Y,W)}function te(Y){const ft=Ko({...y,route:Y==="rule_based"?"":y.route});x(Y),_(1),O(""),T(null),m(ft),j(ft),Oe(Y,v,1,ft,void 0,W)}async function Q(Y){if(Y)try{await navigator.clipboard.writeText(Y)}catch{}}function ne(){if(!J)return;const Y=J.payment_id||"",Me={paymentId:Y,requestId:Y?"":J.request_id||"",gateway:J.gateway||"",route:"",status:"",flowType:"",errorCode:""};m(Me),j(Me),_(1),Oe(h,v,1,Me,k)}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900 dark:text-white",children:Ie.title}),l.jsx(ze,{variant:"green",children:((Cr=ee.data)==null?void 0:Cr.merchant_id)||r||"Signed-in merchant"})]}),l.jsx("p",{className:"max-w-3xl text-sm text-slate-500 dark:text-[#8a8a93]",children:h==="rule_based"?"Inspect preview traces, routing logic, and simulated rule outcomes for any request.":"Inspect gateway decisions, routing logic, and connector scores for any payment."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"ghost",onClick:z,children:"Refresh"}),l.jsx("div",{className:"flex items-center gap-1 rounded-[18px] border border-slate-200 bg-white/70 p-1 dark:border-[#2a303a] dark:bg-[#161b24]",children:Zce.map(Y=>l.jsx(Ae,{size:"sm",variant:"secondary",className:Zf(v===Y),onClick:()=>U(Y),children:Y},Y))})]})]}),v==="custom"?l.jsxs(Se,{className:"overflow-visible p-4",children:[l.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[l.jsx(Jf,{label:"Start time",children:l.jsx(Xh,{className:"w-full",value:L,onChange:V})}),l.jsx(Jf,{label:"End time",children:l.jsx(Xh,{className:"w-full",value:H,onChange:I})})]}),W?null:l.jsx("p",{className:"mt-3 text-xs text-red-500",children:"Choose an end time after the start time."})]}):null,l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",className:Zf(h==="transactions"),onClick:()=>te("transactions"),children:"Transactions"}),l.jsx(Ae,{size:"sm",variant:"secondary",className:Zf(h==="rule_based"),onClick:()=>te("rule_based"),children:"Rule-Based"})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[l.jsx("input",{className:`${jo()} min-w-[280px] flex-1`,value:y.paymentId,onChange:Y=>Ge("paymentId",Y.target.value),placeholder:h==="rule_based"?"Preview payment ID":"Payment ID or request ID"}),l.jsx("input",{className:`${jo()} min-w-[240px] flex-1`,value:y.requestId,onChange:Y=>Ge("requestId",Y.target.value),placeholder:"Request ID"}),l.jsx("input",{className:`${jo()} min-w-[180px] flex-1`,value:y.gateway,onChange:Y=>Ge("gateway",Y.target.value),placeholder:"Any gateway"}),l.jsx("select",{className:`${jo()} min-w-[160px]`,value:y.status,onChange:Y=>Ge("status",Y.target.value),children:Jce.map(Y=>l.jsx("option",{value:Y.value,children:Y.label},Y.value||"all"))}),l.jsx(Ae,{size:"md",onClick:We,className:"min-w-[116px]",children:"Search"}),l.jsx(Ae,{size:"md",variant:"secondary",onClick:C,className:"min-w-[98px]",children:"Clear"}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>M(Y=>!Y),className:"min-w-[116px]",children:R?"Less filters":"More filters"})]}),R?l.jsx(Se,{className:"p-4",children:l.jsxs("div",{className:`grid gap-3 md:grid-cols-2 ${h==="rule_based"?"xl:grid-cols-2":"xl:grid-cols-3"}`,children:[h==="transactions"?l.jsx(Jf,{label:"Route",children:l.jsx("select",{className:jo(),value:y.route,onChange:Y=>Ge("route",Y.target.value),children:Qce.map(Y=>l.jsx("option",{value:Y.value,children:Y.label},Y.value||"all"))})}):null,l.jsx(Jf,{label:"Error Code",children:l.jsx("input",{className:jo(),value:y.errorCode,onChange:Y=>Ge("errorCode",Y.target.value),placeholder:"Error code"})})]})}):null]}),l.jsx(Nr,{error:de}),X&&l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading decision audit data…"]}),l.jsxs("section",{className:"grid gap-4 xl:grid-cols-3",children:[l.jsx(ev,{label:Ie.matchingLabel,value:String(ye),helper:"In this time window"}),l.jsx(ev,{label:"Failures",value:String(De),helper:"In current results"}),l.jsx(ev,{label:"Active gateways",value:String(Re),helper:ke.length?ke.slice(0,3).join(", "):"No gateway activity yet"})]}),l.jsxs("div",{className:"grid gap-4 xl:grid-cols-[280px_minmax(0,1fr)_340px]",children:[l.jsxs(Se,{className:"overflow-hidden",children:[l.jsx("div",{className:"border-b border-slate-200 px-4 py-4 dark:border-[#2a303a]",children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-slate-200 text-[11px] font-semibold text-slate-600 dark:border-[#2a303a] dark:text-[#8a8a93]",children:"1"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Results"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Click a payment to open its decision trail"})]})]}),l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:ye})]})}),l.jsx("div",{className:"border-b border-slate-200 px-4 py-4 dark:border-[#2a303a]",children:l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsx(an,{children:Ie.matchingLabel}),l.jsxs("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:[we.length," results"]})]})}),l.jsxs("div",{className:"space-y-3 p-4",children:[we.length?we.map(Y=>l.jsxs("button",{type:"button",onClick:()=>ae(Y.lookup_key),className:`w-full rounded-[20px] border p-4 text-left transition-all ${(q==null?void 0:q.lookup_key)===Y.lookup_key?"border-brand-500/70 bg-slate-50 shadow-[0_14px_30px_-28px_rgba(59,130,246,0.35)] dark:border-brand-500 dark:bg-[#161b24]":"border-slate-200/80 bg-white/40 hover:border-slate-300 hover:bg-slate-50/80 dark:border-[#23232a] dark:bg-[#131318] dark:hover:border-[#2a303a] dark:hover:bg-[#17171d]"}`,children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:Y.payment_id||Y.request_id||Y.lookup_key}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:[Y.merchant_id||"unknown merchant"," · ",mp(Y.last_seen_ms)]})]}),l.jsx(ze,{variant:Du(Y.latest_status),children:Os(Y.latest_status)||"Unknown"})]}),l.jsx("p",{className:"mt-3 text-xs text-slate-500 dark:text-[#8a8a93]",children:iN([Y.latest_gateway||null,`${Y.event_count} events`,ode(Y.last_seen_ms)])})]},Y.lookup_key)):l.jsx(gp,{title:Ie.noMatchesTitle,body:Ie.noMatchesBody}),l.jsxs("div",{className:"flex items-center gap-2 pt-1",children:[l.jsx(Ae,{size:"sm",variant:"secondary",disabled:b<=1,onClick:()=>{const Y=Math.max(1,b-1);_(Y),Oe(h,v,Y,w,k)},children:"Prev"}),l.jsx(Ae,{size:"sm",variant:"secondary",disabled:we.length{const Y=b+1;_(Y),Oe(h,v,Y,w,k)},children:"Next"})]})]})]}),l.jsxs(Se,{className:"overflow-hidden",children:[l.jsx("div",{className:"border-b border-slate-200 px-5 py-4 dark:border-[#2a303a]",children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-slate-200 text-[11px] font-semibold text-slate-600 dark:border-[#2a303a] dark:text-[#8a8a93]",children:"2"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Decision trail"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Click an event to inspect its scores and payload"})]})]}),q!=null&&q.payment_id||q!=null&&q.request_id?l.jsx("p",{className:"truncate text-xs text-slate-500 dark:text-[#8a8a93]",children:(q==null?void 0:q.payment_id)||(q==null?void 0:q.request_id)}):null]})}),l.jsxs("div",{className:"space-y-4 p-5",children:[q?l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:q.payment_id||q.request_id||q.lookup_key}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:[qe," event",qe===1?"":"s"," in this decision trail"]})]}),q.latest_status?l.jsx(ze,{variant:Du(q.latest_status),children:Os(q.latest_status)}):null]}):null,Pe.length?l.jsx("div",{className:"space-y-3",children:Pe.map((Y,Me)=>{const ft=(J==null?void 0:J.id)===Y.id;return l.jsx("button",{type:"button",onClick:()=>{T(Y.id),A("summary")},className:`w-full rounded-[20px] border px-4 py-4 text-left transition ${ft?"border-brand-500/70 bg-slate-50 shadow-[0_14px_30px_-28px_rgba(59,130,246,0.35)] dark:border-brand-500 dark:bg-[#161b24]":"border-slate-200/70 bg-white/40 hover:border-slate-300 hover:bg-slate-50/80 dark:border-[#23232a] dark:bg-[#131318] dark:hover:border-[#2a303a] dark:hover:bg-[#17171d]"}`,children:l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx("div",{className:`mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-full border text-sm font-semibold ${ft?"border-brand-500/50 bg-brand-500/10 text-brand-300":"border-slate-200 text-slate-600 dark:border-[#3a284f] dark:text-[#b38cff]"}`,children:Me+1}),l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("p",{className:"text-lg font-semibold text-slate-900 dark:text-[#7da6ff]",children:ob(Y)}),Y.status?l.jsx(ze,{variant:Du(Y.status),children:Os(Y.status)}):null]}),l.jsx("p",{className:"mt-2 text-xs text-slate-500 dark:text-[#8a8a93]",children:iN([Y.gateway?`gateway ${Y.gateway}`:null,mp(Y.created_at_ms),Y.routing_approach||null,Y.payment_method_type||null])}),l.jsx("p",{className:"mt-2 text-[11px] text-slate-500 dark:text-[#667085]",children:Y.request_id||Y.id})]}),ft?l.jsx("p",{className:"text-[11px] font-medium uppercase tracking-[0.14em] text-slate-500 dark:text-[#8a8a93]",children:"Inspecting →"}):null]}),Y.error_message?l.jsx("p",{className:"mt-4 rounded-2xl border border-red-500/20 bg-red-500/[0.08] px-4 py-3 text-sm text-red-600 dark:text-red-300",children:Y.error_message}):null]})]})},Y.id)})}):l.jsx(gp,{title:"No timeline selected yet",body:Ie.summaryEmpty})]})]}),l.jsxs(Se,{className:"overflow-hidden xl:sticky xl:top-6 xl:self-start",children:[l.jsx("div",{className:"border-b border-slate-200 px-5 py-4 dark:border-[#2a303a]",children:l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-slate-200 text-[11px] font-semibold text-slate-600 dark:border-[#2a303a] dark:text-[#8a8a93]",children:"3"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Event inspector"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Click a timeline event to inspect its data"})]})]})}),l.jsx("div",{className:"space-y-4 p-5",children:J&&ue?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"space-y-3",children:[l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:"Connector scores, routing logic, and full payload"}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("p",{className:"text-xl font-semibold text-slate-900 dark:text-[#7da6ff]",children:ob(J)}),J.status?l.jsx(ze,{variant:Du(J.status),children:Os(J.status)}):null]}),l.jsx("p",{className:"text-sm text-slate-500 dark:text-[#8a8a93]",children:mp(J.created_at_ms)})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs(Hh,{className:"px-4 py-3",children:[l.jsx(an,{children:"Gateway"}),l.jsx("p",{className:"mt-2 text-base font-semibold text-slate-900 dark:text-[#7da6ff]",children:J.gateway||"Unknown"})]}),l.jsxs(Hh,{className:"px-4 py-3",children:[l.jsx(an,{children:"Outcome"}),l.jsx("p",{className:"mt-2 text-base font-semibold text-slate-900 dark:text-[#34d399]",children:Os(J.status)||"Unknown"})]})]}),l.jsx("div",{className:"flex flex-wrap gap-2",children:ede.map(Y=>l.jsx(Ae,{size:"sm",variant:"secondary",className:Zf($===Y),onClick:()=>A(Y),children:Y==="summary"?"Summary":Y==="input"?"Input":Y==="response"?"Response":"Raw JSON"},Y))}),$==="summary"?l.jsxs("div",{className:"space-y-4",children:[l.jsx(So,{title:"Connector scores",value:ue.scoreContext,emptyMessage:"No connector score map was captured for this event."}),l.jsx(dde,{rows:ue.summaryRows}),l.jsx(So,{title:"Selection reason",value:ue.selectionReason,emptyMessage:"No explicit selection reason was captured for this event."}),l.jsx(So,{title:"Details",value:ue.signalRecord,emptyMessage:"This event did not capture additional scoring or rule metadata."})]}):null,$==="input"?l.jsx(So,{title:"Input",value:ue.requestPayload,emptyMessage:"No dedicated request payload was captured for this event."}):null,$==="response"?l.jsx(So,{title:"Response",value:ue.responsePayload,emptyMessage:"No dedicated response payload was captured for this event."}):null,$==="raw"?l.jsx(So,{title:"Raw JSON",value:ue.rawEvent,emptyMessage:"No raw payload is available for this event."}):null,l.jsxs("div",{className:"flex flex-wrap gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",disabled:!J.request_id,onClick:()=>Q(J.request_id),children:"Copy request ID"}),l.jsx(Ae,{size:"sm",variant:"secondary",disabled:!J.payment_id,onClick:()=>Q(J.payment_id),children:"Copy payment ID"}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:ne,children:"Open related events"})]})]}):l.jsx(gp,{title:"No event selected",body:"Select a timeline event to inspect connector scores, routing logic, and full payloads."})})]})]})]})}function hde(){const e=is(),{merchantId:t}=Nn(),{data:r}=Xt(t?`/routing/list/active/${t}`:null,()=>zt(`/routing/list/active/${t}`)),{data:n}=Xt(t?["/rule/get","successRate",t]:null,()=>zt("/rule/get",{merchant_id:t,algorithm:"successRate"})),a=[{id:"sr",title:"Auth-Rate Based Routing",description:"Dynamically route to the best-performing gateway based on real-time authorization rates.",icon:cR,route:"/routing/sr",algorithmType:"successRate",checkConfigured:()=>{var i;return!!((i=n==null?void 0:n.config)!=null&&i.data)}},{id:"rules",title:"Rule-Based Routing",description:"Declarative routing rules to route payments based on conditions and attributes.",icon:ple,route:"/routing/rules",algorithmType:"advanced",checkConfigured:()=>(r||[]).some(i=>{var s;return((s=i.algorithm_data||i.algorithm)==null?void 0:s.type)==="advanced"})},{id:"volume",title:"Volume Split",description:"Distribute payment traffic across gateways by configurable percentage splits.",icon:Yh,route:"/routing/volume",algorithmType:"volume_split",checkConfigured:()=>(r||[]).some(i=>{var s;return((s=i.algorithm_data||i.algorithm)==null?void 0:s.type)==="volume_split"})},{id:"debit",title:"Network Routing",description:"Optimise debit network fees with acquirer-aware network-based routing.",icon:cle,route:"/routing/debit",algorithmType:"debitRouting",checkConfigured:()=>!1}];return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900",children:"Routing Hub"}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:"Click on any routing strategy to configure"})]}),l.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:a.map(i=>{const s=i.icon,o=i.checkConfigured();return l.jsx(Se,{className:"flex flex-col hover:border-brand-300 cursor-pointer transition-all hover:shadow-md",onClick:()=>e(i.route),children:l.jsxs(Be,{className:"flex-1 flex flex-col gap-3",children:[l.jsxs("div",{className:"flex items-start justify-between",children:[l.jsx("div",{className:"p-2 bg-brand-50 rounded-lg border border-[#1c2d50]",children:l.jsx(s,{size:20,className:"text-brand-500"})}),l.jsx(ze,{variant:o?"green":"gray",children:o?"Configured":"Not Configured"})]}),l.jsxs("div",{children:[l.jsx("h3",{className:"font-semibold text-slate-900",children:i.title}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:i.description})]}),l.jsx("div",{className:"mt-auto pt-2",children:l.jsx("span",{className:"text-sm text-brand-600 font-medium",children:o?"Manage →":"Setup →"})})]})},i.id)})})]})}var Kd=e=>e.type==="checkbox",Is=e=>e instanceof Date,Qr=e=>e==null;const ZR=e=>typeof e=="object";var tr=e=>!Qr(e)&&!Array.isArray(e)&&ZR(e)&&!Is(e),mde=e=>tr(e)&&e.target?Kd(e.target)?e.target.checked:e.target.value:e,gde=(e,t)=>t.split(".").some((r,n,a)=>!isNaN(Number(r))&&e.has(a.slice(0,n).join("."))),yde=e=>{const t=e.constructor&&e.constructor.prototype;return tr(t)&&t.hasOwnProperty("isPrototypeOf")},I1=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Rt(e){if(e instanceof Date)return new Date(e);const t=typeof FileList<"u"&&e instanceof FileList;if(I1&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!r&&!(tr(e)&&yde(e)))return e;const n=r?[]:Object.create(Object.getPrototypeOf(e));for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(n[a]=Rt(e[a]));return n}var _g=e=>/^\w*$/.test(e),jt=e=>e===void 0,jg=e=>Array.isArray(e)?e.filter(Boolean):[],M1=e=>jg(e.replace(/["|']|\]/g,"").split(/\.|\[/)),pe=(e,t,r)=>{if(!t||!tr(e))return r;const n=(_g(t)?[t]:M1(t)).reduce((a,i)=>Qr(a)?a:a[i],e);return jt(n)||n===e?jt(e[t])?r:e[t]:n},ba=e=>typeof e=="boolean",aa=e=>typeof e=="function",yt=(e,t,r)=>{let n=-1;const a=_g(t)?[t]:M1(t),i=a.length,s=i-1;for(;++nP.useContext(QR);var xde=(e,t,r,n=!0)=>{const a={defaultValues:t._defaultValues};for(const i in e)Object.defineProperty(a,i,{get:()=>{const s=i;return t._proxyFormState[s]!==Dn.all&&(t._proxyFormState[s]=!n||Dn.all),e[s]}});return a};const eI=typeof window<"u"?P.useLayoutEffect:P.useEffect;var Wr=e=>typeof e=="string",bde=(e,t,r,n,a)=>Wr(e)?(n&&t.watch.add(e),pe(r,e,a)):Array.isArray(e)?e.map(i=>(n&&t.watch.add(i),pe(r,i))):(n&&(t.watchAll=!0),r),lb=e=>Qr(e)||!ZR(e);function Ci(e,t,r=new WeakSet){if(lb(e)||lb(t))return Object.is(e,t);if(Is(e)&&Is(t))return Object.is(e.getTime(),t.getTime());const n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;if(r.has(e)||r.has(t))return!0;r.add(e),r.add(t);for(const i of n){const s=e[i];if(!a.includes(i))return!1;if(i!=="ref"){const o=t[i];if(Is(s)&&Is(o)||(tr(s)||Array.isArray(s))&&(tr(o)||Array.isArray(o))?!Ci(s,o,r):!Object.is(s,o))return!1}}return!0}const wde=P.createContext(null);wde.displayName="HookFormContext";var tI=(e,t,r,n,a)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:a||!0}}:{},sn=e=>Array.isArray(e)?e:[e],sN=()=>{let e=[];return{get observers(){return e},next:a=>{for(const i of e)i.next&&i.next(a)},subscribe:a=>(e.push(a),{unsubscribe:()=>{e=e.filter(i=>i!==a)}}),unsubscribe:()=>{e=[]}}};function rI(e,t){const r={};for(const n in e)if(e.hasOwnProperty(n)){const a=e[n],i=t[n];if(a&&tr(a)&&i){const s=rI(a,i);tr(s)&&(r[n]=s)}else e[n]&&(r[n]=i)}return r}var Rr=e=>tr(e)&&!Object.keys(e).length,D1=e=>e.type==="file",rm=e=>{if(!I1)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},nI=e=>e.type==="select-multiple",L1=e=>e.type==="radio",_de=e=>L1(e)||Kd(e),rv=e=>rm(e)&&e.isConnected;function jde(e,t){const r=t.slice(0,-1).length;let n=0;for(;n{for(const t in e)if(aa(e[t]))return!0;return!1};function aI(e){return Array.isArray(e)||tr(e)&&!kde(e)}function ub(e,t={}){for(const r in e){const n=e[r];aI(n)?(t[r]=Array.isArray(n)?[]:{},ub(n,t[r])):jt(n)||(t[r]=!0)}return t}function Zu(e,t,r){r||(r=ub(t));for(const n in e){const a=e[n];if(aI(a))jt(t)||lb(r[n])?r[n]=ub(a,Array.isArray(a)?[]:{}):Zu(a,Qr(t)?{}:t[n],r[n]);else{const i=t[n];r[n]=!Ci(a,i)}}return r}const oN={value:!1,isValid:!1},lN={value:!0,isValid:!0};var iI=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!jt(e[0].attributes.value)?jt(e[0].value)||e[0].value===""?lN:{value:e[0].value,isValid:!0}:lN:oN}return oN},sI=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>jt(e)?e:t?e===""?NaN:e&&+e:r&&Wr(e)?new Date(e):n?n(e):e;const uN={isValid:!1,value:null};var oI=e=>Array.isArray(e)?e.reduce((t,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:t,uN):uN;function cN(e){const t=e.ref;return D1(t)?t.files:L1(t)?oI(e.refs).value:nI(t)?[...t.selectedOptions].map(({value:r})=>r):Kd(t)?iI(e.refs).value:sI(jt(t.value)?e.ref.value:t.value,e)}var Ode=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,Nde=(e,t,r,n)=>{const a={};for(const i of e){const s=pe(t,i);s&&yt(a,i,s._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:n}},nm=e=>e instanceof RegExp,Fu=e=>jt(e)?e:nm(e)?e.source:tr(e)?nm(e.value)?e.value.source:e.value:e,Yo=e=>({isOnSubmit:!e||e===Dn.onSubmit,isOnBlur:e===Dn.onBlur,isOnChange:e===Dn.onChange,isOnAll:e===Dn.all,isOnTouch:e===Dn.onTouched});const dN="AsyncFunction";var Ade=e=>!!e&&!!e.validate&&!!(aa(e.validate)&&e.validate.constructor.name===dN||tr(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===dN)),Ede=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),cb=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(n=>e.startsWith(n)&&/^\.\w+/.test(e.slice(n.length))));const ll=(e,t,r,n)=>{for(const a of r||Object.keys(e)){const i=pe(e,a);if(i){const{_f:s,...o}=i;if(s){if(s.refs&&s.refs[0]&&t(s.refs[0],a)&&!n)return!0;if(s.ref&&t(s.ref,s.name)&&!n)return!0;if(ll(o,t))break}else if(tr(o)&&ll(o,t))break}}};function fN(e,t,r){const n=pe(e,r);if(n||_g(r))return{error:n,name:r};const a=r.split(".");for(;a.length;){const i=a.join("."),s=pe(t,i),o=pe(e,i);if(s&&!Array.isArray(s)&&r!==i)return{name:r};if(o&&o.type)return{name:i,error:o};if(o&&o.root&&o.root.type)return{name:`${i}.root`,error:o.root};a.pop()}return{name:r}}var Pde=(e,t,r,n)=>{r(e);const{name:a,...i}=e;return Rr(i)||Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(s=>t[s]===(!n||Dn.all))},Cde=(e,t,r)=>!e||!t||e===t||sn(e).some(n=>n&&(r?n===t:n.startsWith(t)||t.startsWith(n))),Tde=(e,t,r,n,a)=>a.isOnAll?!1:!r&&a.isOnTouch?!(t||e):(r?n.isOnBlur:a.isOnBlur)?!e:(r?n.isOnChange:a.isOnChange)?e:!0,$de=(e,t)=>!jg(pe(e,t)).length&&Jt(e,t),lI=(e,t,r)=>{const n=sn(pe(e,r));return yt(n,JR,t[r]),yt(e,r,n),e};function pN(e,t,r="validate"){if(Wr(e)||Array.isArray(e)&&e.every(Wr)||ba(e)&&!e)return{type:r,message:Wr(e)?e:"",ref:t}}var Oo=e=>tr(e)&&!nm(e)?e:{value:e,message:""},db=async(e,t,r,n,a,i)=>{const{ref:s,refs:o,required:u,maxLength:c,minLength:f,min:d,max:p,pattern:h,validate:x,name:v,valueAsNumber:g,mount:y}=e._f,m=pe(r,v);if(!y||t.has(v))return{};const w=o?o[0]:s,j=A=>{a&&w.reportValidity&&(w.setCustomValidity(ba(A)?"":A||""),w.reportValidity())},b={},_=L1(s),k=Kd(s),O=_||k,E=(g||D1(s))&&jt(s.value)&&jt(m)||rm(s)&&s.value===""||m===""||Array.isArray(m)&&!m.length,T=tI.bind(null,v,n,b),$=(A,R,M,L=Zn.maxLength,V=Zn.minLength)=>{const H=A?R:M;b[v]={type:A?L:V,message:H,ref:s,...T(A?L:V,H)}};if(i?!Array.isArray(m)||!m.length:u&&(!O&&(E||Qr(m))||ba(m)&&!m||k&&!iI(o).isValid||_&&!oI(o).isValid)){const{value:A,message:R}=Wr(u)?{value:!!u,message:u}:Oo(u);if(A&&(b[v]={type:Zn.required,message:R,ref:w,...T(Zn.required,R)},!n))return j(R),b}if(!E&&(!Qr(d)||!Qr(p))){let A,R;const M=Oo(p),L=Oo(d);if(!Qr(m)&&!isNaN(m)){const V=s.valueAsNumber||m&&+m;Qr(M.value)||(A=V>M.value),Qr(L.value)||(R=Vnew Date(new Date().toDateString()+" "+W),I=s.type=="time",B=s.type=="week";Wr(M.value)&&m&&(A=I?H(m)>H(M.value):B?m>M.value:V>new Date(M.value)),Wr(L.value)&&m&&(R=I?H(m)+A.value,L=!Qr(R.value)&&m.length<+R.value;if((M||L)&&($(M,A.message,R.message),!n))return j(b[v].message),b}if(h&&!E&&Wr(m)){const{value:A,message:R}=Oo(h);if(nm(A)&&!m.match(A)&&(b[v]={type:Zn.pattern,message:R,ref:s,...T(Zn.pattern,R)},!n))return j(R),b}if(x){if(aa(x)){const A=await x(m,r),R=pN(A,w);if(R&&(b[v]={...R,...T(Zn.validate,R.message)},!n))return j(R.message),b}else if(tr(x)){let A={};for(const R in x){if(!Rr(A)&&!n)break;const M=pN(await x[R](m,r),w,R);M&&(A={...M,...T(R,M.message)},j(M.message),n&&(b[v]=A))}if(!Rr(A)&&(b[v]={ref:w,...A},!n))return b}}return j(!0),b};const Rde={mode:Dn.onSubmit,reValidateMode:Dn.onChange,shouldFocusError:!0};function Ide(e={}){let t={...Rde,...e},r={submitCount:0,isDirty:!1,isReady:!1,isLoading:aa(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},n={},a=tr(t.defaultValues)||tr(t.values)?Rt(t.defaultValues||t.values)||{}:{},i=t.shouldUnregister?{}:Rt(a),s={action:!1,mount:!1,watch:!1,keepIsValid:!1},o={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},u,c=0;const f={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},d={...f};let p={...d};const h={array:sN(),state:sN()},x=t.criteriaMode===Dn.all,v=C=>z=>{clearTimeout(c),c=setTimeout(C,z)},g=async C=>{if(!s.keepIsValid&&!t.disabled&&(d.isValid||p.isValid||C)){let z;t.resolver?(z=Rr((await E()).errors),y()):z=await A({fields:n,onlyCheckValid:!0,eventType:ko.VALID}),z!==r.isValid&&h.state.next({isValid:z})}},y=(C,z)=>{!t.disabled&&(d.isValidating||d.validatingFields||p.isValidating||p.validatingFields)&&((C||Array.from(o.mount)).forEach(U=>{U&&(z?yt(r.validatingFields,U,z):Jt(r.validatingFields,U))}),h.state.next({validatingFields:r.validatingFields,isValidating:!Rr(r.validatingFields)}))},m=C=>{const z=Zu(a,i),U=Ode(C);yt(r.dirtyFields,U,pe(z,U))},w=(C,z=[],U,ae,te=!0,Q=!0)=>{if(ae&&U&&!t.disabled){if(s.action=!0,Q&&Array.isArray(pe(n,C))){const ne=U(pe(n,C),ae.argA,ae.argB);te&&yt(n,C,ne)}if(Q&&Array.isArray(pe(r.errors,C))){const ne=U(pe(r.errors,C),ae.argA,ae.argB);te&&yt(r.errors,C,ne),$de(r.errors,C)}if((d.touchedFields||p.touchedFields)&&Q&&Array.isArray(pe(r.touchedFields,C))){const ne=U(pe(r.touchedFields,C),ae.argA,ae.argB);te&&yt(r.touchedFields,C,ne)}(d.dirtyFields||p.dirtyFields)&&m(C),h.state.next({name:C,isDirty:M(C,z),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else yt(i,C,z)},j=(C,z)=>{yt(r.errors,C,z),h.state.next({errors:r.errors})},b=C=>{r.errors=C,h.state.next({errors:r.errors,isValid:!1})},_=(C,z,U,ae)=>{const te=pe(n,C);if(te){const Q=pe(i,C,jt(U)?pe(a,C):U);jt(Q)||ae&&ae.defaultChecked||z?yt(i,C,z?Q:cN(te._f)):H(C,Q),s.mount&&!s.action&&g()}},k=(C,z,U,ae,te)=>{let Q=!1,ne=!1;const _e={name:C};if(!t.disabled){if(!U||ae){(d.isDirty||p.isDirty)&&(ne=r.isDirty,r.isDirty=_e.isDirty=M(),Q=ne!==_e.isDirty);const Ne=Ci(pe(a,C),z);ne=!!pe(r.dirtyFields,C),Ne?Jt(r.dirtyFields,C):yt(r.dirtyFields,C,!0),_e.dirtyFields=r.dirtyFields,Q=Q||(d.dirtyFields||p.dirtyFields)&&ne!==!Ne}if(U){const Ne=pe(r.touchedFields,C);Ne||(yt(r.touchedFields,C,U),_e.touchedFields=r.touchedFields,Q=Q||(d.touchedFields||p.touchedFields)&&Ne!==U)}Q&&te&&h.state.next(_e)}return Q?_e:{}},O=(C,z,U,ae)=>{const te=pe(r.errors,C),Q=(d.isValid||p.isValid)&&ba(z)&&r.isValid!==z;if(t.delayError&&U?(u=v(()=>j(C,U)),u(t.delayError)):(clearTimeout(c),u=null,U?yt(r.errors,C,U):Jt(r.errors,C)),(U?!Ci(te,U):te)||!Rr(ae)||Q){const ne={...ae,...Q&&ba(z)?{isValid:z}:{},errors:r.errors,name:C};r={...r,...ne},h.state.next(ne)}},E=async C=>(y(C,!0),await t.resolver(i,t.context,Nde(C||o.mount,n,t.criteriaMode,t.shouldUseNativeValidation))),T=async C=>{const{errors:z}=await E(C);if(y(C),C)for(const U of C){const ae=pe(z,U);ae?yt(r.errors,U,ae):Jt(r.errors,U)}else r.errors=z;return z},$=async({name:C,eventType:z})=>{if(e.validate){const U=await e.validate({formValues:i,formState:r,name:C,eventType:z});if(tr(U))for(const ae in U)U[ae]&&ge(`${tv}.${ae}`,{message:Wr(U.message)?U.message:"",type:Zn.validate});else Wr(U)||!U?ge(tv,{message:U||"",type:Zn.validate}):le(tv);return U}return!0},A=async({fields:C,onlyCheckValid:z,name:U,eventType:ae,context:te={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(te.runRootValidation=!0,!await $({name:U,eventType:ae})&&(te.valid=!1,z)))return te.valid;for(const Q in C){const ne=C[Q];if(ne){const{_f:_e,...Ne}=ne;if(_e){const dt=o.array.has(_e.name),mt=ne._f&&Ade(ne._f);mt&&d.validatingFields&&y([_e.name],!0);const Lt=await db(ne,o.disabled,i,x,t.shouldUseNativeValidation&&!z,dt);if(mt&&d.validatingFields&&y([_e.name]),Lt[_e.name]&&(te.valid=!1,z)||(!z&&(pe(Lt,_e.name)?dt?lI(r.errors,Lt,_e.name):yt(r.errors,_e.name,Lt[_e.name]):Jt(r.errors,_e.name)),e.shouldUseNativeValidation&&Lt[_e.name]))break}!Rr(Ne)&&await A({context:te,onlyCheckValid:z,fields:Ne,name:Q,eventType:ae})}}return te.valid},R=()=>{for(const C of o.unMount){const z=pe(n,C);z&&(z._f.refs?z._f.refs.every(U=>!rv(U)):!rv(z._f.ref))&&ue(C)}o.unMount=new Set},M=(C,z)=>!t.disabled&&(C&&z&&yt(i,C,z),!Ci(ee(),a)),L=(C,z,U)=>bde(C,o,{...s.mount?i:jt(z)?a:Wr(C)?{[C]:z}:z},U,z),V=C=>jg(pe(s.mount?i:a,C,t.shouldUnregister?pe(a,C,[]):[])),H=(C,z,U={})=>{const ae=pe(n,C);let te=z;if(ae){const Q=ae._f;Q&&(!Q.disabled&&yt(i,C,sI(z,Q)),te=rm(Q.ref)&&Qr(z)?"":z,nI(Q.ref)?[...Q.ref.options].forEach(ne=>ne.selected=te.includes(ne.value)):Q.refs?Kd(Q.ref)?Q.refs.forEach(ne=>{(!ne.defaultChecked||!ne.disabled)&&(Array.isArray(te)?ne.checked=!!te.find(_e=>_e===ne.value):ne.checked=te===ne.value||!!te)}):Q.refs.forEach(ne=>ne.checked=ne.value===te):D1(Q.ref)?Q.ref.value="":(Q.ref.value=te,Q.ref.type||h.state.next({name:C,values:Rt(i)})))}(U.shouldDirty||U.shouldTouch)&&k(C,te,U.shouldTouch,U.shouldDirty,!0),U.shouldValidate&&K(C)},I=(C,z,U)=>{for(const ae in z){if(!z.hasOwnProperty(ae))return;const te=z[ae],Q=C+"."+ae,ne=pe(n,Q);(o.array.has(C)||tr(te)||ne&&!ne._f)&&!Is(te)?I(Q,te,U):H(Q,te,U)}},B=(C,z,U={})=>{const ae=pe(n,C),te=o.array.has(C),Q=Rt(z);yt(i,C,Q),te?(h.array.next({name:C,values:Rt(i)}),(d.isDirty||d.dirtyFields||p.isDirty||p.dirtyFields)&&U.shouldDirty&&(m(C),h.state.next({name:C,dirtyFields:r.dirtyFields,isDirty:M(C,Q)}))):ae&&!ae._f&&!Qr(Q)?I(C,Q,U):H(C,Q,U),cb(C,o)?h.state.next({...r,name:C,values:Rt(i)}):h.state.next({name:s.mount?C:void 0,values:Rt(i)})},W=async C=>{s.mount=!0;const z=C.target;let U=z.name,ae=!0;const te=pe(n,U),Q=Ne=>{ae=Number.isNaN(Ne)||Is(Ne)&&isNaN(Ne.getTime())||Ci(Ne,pe(i,U,Ne))},ne=Yo(t.mode),_e=Yo(t.reValidateMode);if(te){let Ne,dt;const mt=z.type?cN(te._f):mde(C),Lt=C.type===ko.BLUR||C.type===ko.FOCUS_OUT,zr=!Ede(te._f)&&!e.validate&&!t.resolver&&!pe(r.errors,U)&&!te._f.deps||Tde(Lt,pe(r.touchedFields,U),r.isSubmitted,_e,ne),Pr=cb(U,o,Lt);yt(i,U,mt),Lt?(!z||!z.readOnly)&&(te._f.onBlur&&te._f.onBlur(C),u&&u(0)):te._f.onChange&&te._f.onChange(C);const Cr=k(U,mt,Lt),Y=!Rr(Cr)||Pr;if(!Lt&&h.state.next({name:U,type:C.type,values:Rt(i)}),zr)return(d.isValid||p.isValid)&&(t.mode==="onBlur"?Lt&&g():Lt||g()),Y&&h.state.next({name:U,...Pr?{}:Cr});if(!t.resolver&&e.validate&&await $({name:U,eventType:C.type}),!Lt&&Pr&&h.state.next({...r}),t.resolver){const{errors:Me}=await E([U]);if(y([U]),Q(mt),ae){const ft=fN(r.errors,n,U),Zt=fN(Me,n,ft.name||U);Ne=Zt.error,U=Zt.name,dt=Rr(Me)}}else y([U],!0),Ne=(await db(te,o.disabled,i,x,t.shouldUseNativeValidation))[U],y([U]),Q(mt),ae&&(Ne?dt=!1:(d.isValid||p.isValid)&&(dt=await A({fields:n,onlyCheckValid:!0,name:U,eventType:C.type})));ae&&(te._f.deps&&(!Array.isArray(te._f.deps)||te._f.deps.length>0)&&K(te._f.deps),O(U,dt,Ne,Cr))}},G=(C,z)=>{if(pe(r.errors,z)&&C.focus)return C.focus(),1},K=async(C,z={})=>{let U,ae;const te=sn(C);if(t.resolver){const Q=await T(jt(C)?C:te);U=Rr(Q),ae=C?!te.some(ne=>pe(Q,ne)):U}else C?(ae=(await Promise.all(te.map(async Q=>{const ne=pe(n,Q);return await A({fields:ne&&ne._f?{[Q]:ne}:ne,eventType:ko.TRIGGER})}))).every(Boolean),!(!ae&&!r.isValid)&&g()):ae=U=await A({fields:n,name:C,eventType:ko.TRIGGER});return h.state.next({...!Wr(C)||(d.isValid||p.isValid)&&U!==r.isValid?{}:{name:C},...t.resolver||!C?{isValid:U}:{},errors:r.errors}),z.shouldFocus&&!ae&&ll(n,G,C?te:o.mount),ae},ee=(C,z)=>{let U={...s.mount?i:a};return z&&(U=rI(z.dirtyFields?r.dirtyFields:r.touchedFields,U)),jt(C)?U:Wr(C)?pe(U,C):C.map(ae=>pe(U,ae))},q=(C,z)=>({invalid:!!pe((z||r).errors,C),isDirty:!!pe((z||r).dirtyFields,C),error:pe((z||r).errors,C),isValidating:!!pe(r.validatingFields,C),isTouched:!!pe((z||r).touchedFields,C)}),le=C=>{const z=C?sn(C):void 0;z==null||z.forEach(U=>Jt(r.errors,U)),z?z.forEach(U=>{h.state.next({name:U,errors:r.errors})}):h.state.next({errors:{}})},ge=(C,z,U)=>{const ae=(pe(n,C,{_f:{}})._f||{}).ref,te=pe(r.errors,C)||{},{ref:Q,message:ne,type:_e,...Ne}=te;yt(r.errors,C,{...Ne,...z,ref:ae}),h.state.next({name:C,errors:r.errors,isValid:!1}),U&&U.shouldFocus&&ae&&ae.focus&&ae.focus()},$e=(C,z)=>aa(C)?h.state.subscribe({next:U=>"values"in U&&C(L(void 0,z),U)}):L(C,z,!0),Pe=C=>h.state.subscribe({next:z=>{Cde(C.name,z.name,C.exact)&&Pde(z,C.formState||d,Oe,C.reRenderRoot)&&C.callback({values:{...i},...r,...z,defaultValues:a})}}).unsubscribe,J=C=>(s.mount=!0,p={...p,...C.formState},Pe({...C,formState:{...f,...C.formState}})),ue=(C,z={})=>{for(const U of C?sn(C):o.mount)o.mount.delete(U),o.array.delete(U),z.keepValue||(Jt(n,U),Jt(i,U)),!z.keepError&&Jt(r.errors,U),!z.keepDirty&&Jt(r.dirtyFields,U),!z.keepTouched&&Jt(r.touchedFields,U),!z.keepIsValidating&&Jt(r.validatingFields,U),!t.shouldUnregister&&!z.keepDefaultValue&&Jt(a,U);h.state.next({values:Rt(i)}),h.state.next({...r,...z.keepDirty?{isDirty:M()}:{}}),!z.keepIsValid&&g()},de=({disabled:C,name:z})=>{if(ba(C)&&s.mount||C||o.disabled.has(z)){const te=o.disabled.has(z)!==!!C;C?o.disabled.add(z):o.disabled.delete(z),te&&s.mount&&!s.action&&g()}},X=(C,z={})=>{let U=pe(n,C);const ae=ba(z.disabled)||ba(t.disabled),te=!o.registerName.has(C)&&U&&!U._f.mount;return yt(n,C,{...U||{},_f:{...U&&U._f?U._f:{ref:{name:C}},name:C,mount:!0,...z}}),o.mount.add(C),U&&!te?de({disabled:ba(z.disabled)?z.disabled:t.disabled,name:C}):_(C,!0,z.value),{...ae?{disabled:z.disabled||t.disabled}:{},...t.progressive?{required:!!z.required,min:Fu(z.min),max:Fu(z.max),minLength:Fu(z.minLength),maxLength:Fu(z.maxLength),pattern:Fu(z.pattern)}:{},name:C,onChange:W,onBlur:W,ref:Q=>{if(Q){o.registerName.add(C),X(C,z),o.registerName.delete(C),U=pe(n,C);const ne=jt(Q.value)&&Q.querySelectorAll&&Q.querySelectorAll("input,select,textarea")[0]||Q,_e=_de(ne),Ne=U._f.refs||[];if(_e?Ne.find(dt=>dt===ne):ne===U._f.ref)return;yt(n,C,{_f:{...U._f,..._e?{refs:[...Ne.filter(rv),ne,...Array.isArray(pe(a,C))?[{}]:[]],ref:{type:ne.type,name:C}}:{ref:ne}}}),_(C,!1,void 0,ne)}else U=pe(n,C,{}),U._f&&(U._f.mount=!1),(t.shouldUnregister||z.shouldUnregister)&&!(gde(o.array,C)&&s.action)&&o.unMount.add(C)}}},we=()=>t.shouldFocusError&&ll(n,G,o.mount),ye=C=>{ba(C)&&(h.state.next({disabled:C}),ll(n,(z,U)=>{const ae=pe(n,U);ae&&(z.disabled=ae._f.disabled||C,Array.isArray(ae._f.refs)&&ae._f.refs.forEach(te=>{te.disabled=ae._f.disabled||C}))},0,!1))},qe=(C,z)=>async U=>{let ae;U&&(U.preventDefault&&U.preventDefault(),U.persist&&U.persist());let te=Rt(i);if(h.state.next({isSubmitting:!0}),t.resolver){const{errors:Q,values:ne}=await E();y(),r.errors=Q,te=Rt(ne)}else await A({fields:n,eventType:ko.SUBMIT});if(o.disabled.size)for(const Q of o.disabled)Jt(te,Q);if(Jt(r.errors,JR),Rr(r.errors)){h.state.next({errors:{}});try{await C(te,U)}catch(Q){ae=Q}}else z&&await z({...r.errors},U),we(),setTimeout(we);if(h.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Rr(r.errors)&&!ae,submitCount:r.submitCount+1,errors:r.errors}),ae)throw ae},De=(C,z={})=>{pe(n,C)&&(jt(z.defaultValue)?B(C,Rt(pe(a,C))):(B(C,z.defaultValue),yt(a,C,Rt(z.defaultValue))),z.keepTouched||Jt(r.touchedFields,C),z.keepDirty||(Jt(r.dirtyFields,C),r.isDirty=z.defaultValue?M(C,Rt(pe(a,C))):M()),z.keepError||(Jt(r.errors,C),d.isValid&&g()),h.state.next({...r}))},ke=(C,z={})=>{const U=C?Rt(C):a,ae=Rt(U),te=Rr(C),Q=te?a:ae;if(z.keepDefaultValues||(a=U),!z.keepValues){if(z.keepDirtyValues){const ne=new Set([...o.mount,...Object.keys(Zu(a,i))]);for(const _e of Array.from(ne)){const Ne=pe(r.dirtyFields,_e),dt=pe(i,_e),mt=pe(Q,_e);Ne&&!jt(dt)?yt(Q,_e,dt):!Ne&&!jt(mt)&&B(_e,mt)}}else{if(I1&&jt(C))for(const ne of o.mount){const _e=pe(n,ne);if(_e&&_e._f){const Ne=Array.isArray(_e._f.refs)?_e._f.refs[0]:_e._f.ref;if(rm(Ne)){const dt=Ne.closest("form");if(dt){dt.reset();break}}}}if(z.keepFieldsRef)for(const ne of o.mount)B(ne,pe(Q,ne));else n={}}i=t.shouldUnregister?z.keepDefaultValues?Rt(a):{}:Rt(Q),h.array.next({values:{...Q}}),h.state.next({values:{...Q}})}o={mount:z.keepDirtyValues?o.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},s.mount=!d.isValid||!!z.keepIsValid||!!z.keepDirtyValues||!t.shouldUnregister&&!Rr(Q),s.watch=!!t.shouldUnregister,s.keepIsValid=!!z.keepIsValid,s.action=!1,z.keepErrors||(r.errors={}),h.state.next({submitCount:z.keepSubmitCount?r.submitCount:0,isDirty:te?!1:z.keepDirty?r.isDirty:!!(z.keepDefaultValues&&!Ci(C,a)),isSubmitted:z.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:te?{}:z.keepDirtyValues?z.keepDefaultValues&&i?Zu(a,i):r.dirtyFields:z.keepDefaultValues&&C?Zu(a,C):z.keepDirty?r.dirtyFields:{},touchedFields:z.keepTouched?r.touchedFields:{},errors:z.keepErrors?r.errors:{},isSubmitSuccessful:z.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:a})},Re=(C,z)=>ke(aa(C)?C(i):C,{...t.resetOptions,...z}),Ie=(C,z={})=>{const U=pe(n,C),ae=U&&U._f;if(ae){const te=ae.refs?ae.refs[0]:ae.ref;te.focus&&setTimeout(()=>{te.focus(),z.shouldSelect&&aa(te.select)&&te.select()})}},Oe=C=>{r={...r,...C}},We={control:{register:X,unregister:ue,getFieldState:q,handleSubmit:qe,setError:ge,_subscribe:Pe,_runSchema:E,_updateIsValidating:y,_focusError:we,_getWatch:L,_getDirty:M,_setValid:g,_setFieldArray:w,_setDisabledField:de,_setErrors:b,_getFieldArray:V,_reset:ke,_resetDefaultValues:()=>aa(t.defaultValues)&&t.defaultValues().then(C=>{Re(C,t.resetOptions),h.state.next({isLoading:!1})}),_removeUnmounted:R,_disableForm:ye,_subjects:h,_proxyFormState:d,get _fields(){return n},get _formValues(){return i},get _state(){return s},set _state(C){s=C},get _defaultValues(){return a},get _names(){return o},set _names(C){o=C},get _formState(){return r},get _options(){return t},set _options(C){t={...t,...C}}},subscribe:J,trigger:K,register:X,handleSubmit:qe,watch:$e,setValue:B,getValues:ee,reset:Re,resetField:De,clearErrors:le,unregister:ue,setError:ge,setFocus:Ie,getFieldState:q};return{...We,formControl:We}}var wi=()=>{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();const e=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const r=(Math.random()*16+e)%16|0;return(t=="x"?r:r&3|8).toString(16)})},nv=(e,t,r={})=>r.shouldFocus||jt(r.shouldFocus)?r.focusName||`${e}.${jt(r.focusIndex)?t:r.focusIndex}.`:"",av=(e,t)=>[...e,...sn(t)],iv=e=>Array.isArray(e)?e.map(()=>{}):void 0;function sv(e,t,r){return[...e.slice(0,t),...sn(r),...e.slice(t)]}var ov=(e,t,r)=>Array.isArray(e)?(jt(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[],lv=(e,t)=>[...sn(t),...sn(e)];function Mde(e,t){let r=0;const n=[...e];for(const a of t)n.splice(a-r,1),r++;return jg(n).length?n:[]}var uv=(e,t)=>jt(t)?[]:Mde(e,sn(t).sort((r,n)=>r-n)),cv=(e,t,r)=>{[e[t],e[r]]=[e[r],e[t]]},hN=(e,t,r)=>(e[t]=r,e);function Dde(e){const t=vde(),{control:r=t,name:n,keyName:a="id",shouldUnregister:i,rules:s}=e,[o,u]=P.useState(r._getFieldArray(n)),c=P.useRef(r._getFieldArray(n).map(wi)),f=P.useRef(!1);r._names.array.add(n),P.useMemo(()=>s&&o.length>=0&&r.register(n,s),[r,n,o.length,s]),eI(()=>r._subjects.array.subscribe({next:({values:j,name:b})=>{if(b===n||!b){const _=pe(j,n);Array.isArray(_)&&(u(_),c.current=_.map(wi))}}}).unsubscribe,[r,n]);const d=P.useCallback(j=>{f.current=!0,r._setFieldArray(n,j)},[r,n]),p=(j,b)=>{const _=sn(Rt(j)),k=av(r._getFieldArray(n),_);r._names.focus=nv(n,k.length-1,b),c.current=av(c.current,_.map(wi)),d(k),u(k),r._setFieldArray(n,k,av,{argA:iv(j)})},h=(j,b)=>{const _=sn(Rt(j)),k=lv(r._getFieldArray(n),_);r._names.focus=nv(n,0,b),c.current=lv(c.current,_.map(wi)),d(k),u(k),r._setFieldArray(n,k,lv,{argA:iv(j)})},x=j=>{const b=uv(r._getFieldArray(n),j);c.current=uv(c.current,j),d(b),u(b),!Array.isArray(pe(r._fields,n))&&yt(r._fields,n,void 0),r._setFieldArray(n,b,uv,{argA:j})},v=(j,b,_)=>{const k=sn(Rt(b)),O=sv(r._getFieldArray(n),j,k);r._names.focus=nv(n,j,_),c.current=sv(c.current,j,k.map(wi)),d(O),u(O),r._setFieldArray(n,O,sv,{argA:j,argB:iv(b)})},g=(j,b)=>{const _=r._getFieldArray(n);cv(_,j,b),cv(c.current,j,b),d(_),u(_),r._setFieldArray(n,_,cv,{argA:j,argB:b},!1)},y=(j,b)=>{const _=r._getFieldArray(n);ov(_,j,b),ov(c.current,j,b),d(_),u(_),r._setFieldArray(n,_,ov,{argA:j,argB:b},!1)},m=(j,b)=>{const _=Rt(b),k=hN(r._getFieldArray(n),j,_);c.current=[...k].map((O,E)=>!O||E===j?wi():c.current[E]),d(k),u([...k]),r._setFieldArray(n,k,hN,{argA:j,argB:_},!0,!1)},w=j=>{const b=sn(Rt(j));c.current=b.map(wi),d([...b]),u([...b]),r._setFieldArray(n,[...b],_=>_,{},!0,!1)};return P.useEffect(()=>{if(r._state.action=!1,cb(n,r._names)&&r._subjects.state.next({...r._formState}),f.current&&(!Yo(r._options.mode).isOnSubmit||r._formState.isSubmitted)&&!Yo(r._options.reValidateMode).isOnSubmit)if(r._options.resolver)r._runSchema([n]).then(j=>{r._updateIsValidating([n]);const b=pe(j.errors,n),_=pe(r._formState.errors,n);(_?!b&&_.type||b&&(_.type!==b.type||_.message!==b.message):b&&b.type)&&(b?yt(r._formState.errors,n,b):Jt(r._formState.errors,n),r._subjects.state.next({errors:r._formState.errors}))});else{const j=pe(r._fields,n);j&&j._f&&!(Yo(r._options.reValidateMode).isOnSubmit&&Yo(r._options.mode).isOnSubmit)&&db(j,r._names.disabled,r._formValues,r._options.criteriaMode===Dn.all,r._options.shouldUseNativeValidation,!0).then(b=>!Rr(b)&&r._subjects.state.next({errors:lI(r._formState.errors,b,n)}))}r._subjects.state.next({name:n,values:Rt(r._formValues)}),r._names.focus&&ll(r._fields,(j,b)=>{if(r._names.focus&&b.startsWith(r._names.focus)&&j.focus)return j.focus(),1}),r._names.focus="",r._setValid(),f.current=!1},[o,n,r]),P.useEffect(()=>(!pe(r._formValues,n)&&r._setFieldArray(n),()=>{const j=(b,_)=>{const k=pe(r._fields,b);k&&k._f&&(k._f.mount=_)};r._options.shouldUnregister||i?r.unregister(n):j(n,!1)}),[n,r,a,i]),{swap:P.useCallback(g,[d,n,r]),move:P.useCallback(y,[d,n,r]),prepend:P.useCallback(h,[d,n,r]),append:P.useCallback(p,[d,n,r]),remove:P.useCallback(x,[d,n,r]),insert:P.useCallback(v,[d,n,r]),update:P.useCallback(m,[d,n,r]),replace:P.useCallback(w,[d,n,r]),fields:P.useMemo(()=>o.map((j,b)=>({...j,[a]:c.current[b]||wi()})),[o,a])}}function Lde(e={}){const t=P.useRef(void 0),r=P.useRef(void 0),[n,a]=P.useState({isDirty:!1,isValidating:!1,isLoading:aa(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:aa(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:n},e.defaultValues&&!aa(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:s,...o}=Ide(e);t.current={...o,formState:n}}const i=t.current.control;return i._options=e,eI(()=>{const s=i._subscribe({formState:i._proxyFormState,callback:()=>a({...i._formState}),reRenderRoot:!0});return a(o=>({...o,isReady:!0})),i._formState.isReady=!0,s},[i]),P.useEffect(()=>i._disableForm(e.disabled),[i,e.disabled]),P.useEffect(()=>{e.mode&&(i._options.mode=e.mode),e.reValidateMode&&(i._options.reValidateMode=e.reValidateMode)},[i,e.mode,e.reValidateMode]),P.useEffect(()=>{e.errors&&(i._setErrors(e.errors),i._focusError())},[i,e.errors]),P.useEffect(()=>{e.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[i,e.shouldUnregister]),P.useEffect(()=>{if(i._proxyFormState.isDirty){const s=i._getDirty();s!==n.isDirty&&i._subjects.state.next({isDirty:s})}},[i,n.isDirty]),P.useEffect(()=>{var s;e.values&&!Ci(e.values,r.current)?(i._reset(e.values,{keepFieldsRef:!0,...i._options.resetOptions}),!((s=i._options.resetOptions)===null||s===void 0)&&s.keepIsValid||i._setValid(),r.current=e.values,a(o=>({...o}))):i._resetDefaultValues()},[i,e.values]),P.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),t.current.formState=P.useMemo(()=>xde(n,i),[i,n]),t.current}const mN=(e,t,r)=>{if(e&&"reportValidity"in e){const n=pe(r,t);e.setCustomValidity(n&&n.message||""),e.reportValidity()}},uI=(e,t)=>{for(const r in t.fields){const n=t.fields[r];n&&n.ref&&"reportValidity"in n.ref?mN(n.ref,r,e):n.refs&&n.refs.forEach(a=>mN(a,r,e))}},Fde=(e,t)=>{t.shouldUseNativeValidation&&uI(e,t);const r={};for(const n in e){const a=pe(t.fields,n),i=Object.assign(e[n]||{},{ref:a&&a.ref});if(zde(t.names||Object.keys(e),n)){const s=Object.assign({},pe(r,n));yt(s,"root",i),yt(r,n,s)}else yt(r,n,i)}return r},zde=(e,t)=>e.some(r=>r.startsWith(t+"."));var Bde=function(e,t){for(var r={};e.length;){var n=e[0],a=n.code,i=n.message,s=n.path.join(".");if(!r[s])if("unionErrors"in n){var o=n.unionErrors[0].errors[0];r[s]={message:o.message,type:o.code}}else r[s]={message:i,type:a};if("unionErrors"in n&&n.unionErrors.forEach(function(f){return f.errors.forEach(function(d){return e.push(d)})}),t){var u=r[s].types,c=u&&u[n.code];r[s]=tI(s,t,r,a,c?[].concat(c,n.message):n.message)}e.shift()}return r},Ude=function(e,t,r){return r===void 0&&(r={}),function(n,a,i){try{return Promise.resolve(function(s,o){try{var u=Promise.resolve(e[r.mode==="sync"?"parse":"parseAsync"](n,t)).then(function(c){return i.shouldUseNativeValidation&&uI({},i),{errors:{},values:r.raw?n:c}})}catch(c){return o(c)}return u&&u.then?u.then(void 0,o):u}(0,function(s){if(function(o){return Array.isArray(o==null?void 0:o.errors)}(s))return{values:{},errors:Fde(Bde(s.errors,!i.shouldUseNativeValidation&&i.criteriaMode==="all"),i)};throw s}))}catch(s){return Promise.reject(s)}}},ut;(function(e){e.assertEqual=a=>{};function t(a){}e.assertIs=t;function r(a){throw new Error}e.assertNever=r,e.arrayToEnum=a=>{const i={};for(const s of a)i[s]=s;return i},e.getValidEnumValues=a=>{const i=e.objectKeys(a).filter(o=>typeof a[a[o]]!="number"),s={};for(const o of i)s[o]=a[o];return e.objectValues(s)},e.objectValues=a=>e.objectKeys(a).map(function(i){return a[i]}),e.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{const i=[];for(const s in a)Object.prototype.hasOwnProperty.call(a,s)&&i.push(s);return i},e.find=(a,i)=>{for(const s of a)if(i(s))return s},e.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&Number.isFinite(a)&&Math.floor(a)===a;function n(a,i=" | "){return a.map(s=>typeof s=="string"?`'${s}'`:s).join(i)}e.joinValues=n,e.jsonStringifyReplacer=(a,i)=>typeof i=="bigint"?i.toString():i})(ut||(ut={}));var gN;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(gN||(gN={}));const be=ut.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ni=e=>{switch(typeof e){case"undefined":return be.undefined;case"string":return be.string;case"number":return Number.isNaN(e)?be.nan:be.number;case"boolean":return be.boolean;case"function":return be.function;case"bigint":return be.bigint;case"symbol":return be.symbol;case"object":return Array.isArray(e)?be.array:e===null?be.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?be.promise:typeof Map<"u"&&e instanceof Map?be.map:typeof Set<"u"&&e instanceof Set?be.set:typeof Date<"u"&&e instanceof Date?be.date:be.object;default:return be.unknown}},ce=ut.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class fi extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){const r=t||function(i){return i.message},n={_errors:[]},a=i=>{for(const s of i.issues)if(s.code==="invalid_union")s.unionErrors.map(a);else if(s.code==="invalid_return_type")a(s.returnTypeError);else if(s.code==="invalid_arguments")a(s.argumentsError);else if(s.path.length===0)n._errors.push(r(s));else{let o=n,u=0;for(;ur.message){const r={},n=[];for(const a of this.issues)if(a.path.length>0){const i=a.path[0];r[i]=r[i]||[],r[i].push(t(a))}else n.push(t(a));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}}fi.create=e=>new fi(e);const fb=(e,t)=>{let r;switch(e.code){case ce.invalid_type:e.received===be.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case ce.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,ut.jsonStringifyReplacer)}`;break;case ce.unrecognized_keys:r=`Unrecognized key(s) in object: ${ut.joinValues(e.keys,", ")}`;break;case ce.invalid_union:r="Invalid input";break;case ce.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${ut.joinValues(e.options)}`;break;case ce.invalid_enum_value:r=`Invalid enum value. Expected ${ut.joinValues(e.options)}, received '${e.received}'`;break;case ce.invalid_arguments:r="Invalid function arguments";break;case ce.invalid_return_type:r="Invalid function return type";break;case ce.invalid_date:r="Invalid date";break;case ce.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:ut.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case ce.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case ce.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case ce.custom:r="Invalid input";break;case ce.invalid_intersection_types:r="Intersection results could not be merged";break;case ce.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case ce.not_finite:r="Number must be finite";break;default:r=t.defaultError,ut.assertNever(e)}return{message:r}};let Vde=fb;function Wde(){return Vde}const Hde=e=>{const{data:t,path:r,errorMaps:n,issueData:a}=e,i=[...r,...a.path||[]],s={...a,path:i};if(a.message!==void 0)return{...a,path:i,message:a.message};let o="";const u=n.filter(c=>!!c).slice().reverse();for(const c of u)o=c(s,{data:t,defaultError:o}).message;return{...a,path:i,message:o}};function he(e,t){const r=Wde(),n=Hde({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===fb?void 0:fb].filter(a=>!!a)});e.common.issues.push(n)}class Sn{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){const n=[];for(const a of r){if(a.status==="aborted")return Ue;a.status==="dirty"&&t.dirty(),n.push(a.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){const n=[];for(const a of r){const i=await a.key,s=await a.value;n.push({key:i,value:s})}return Sn.mergeObjectSync(t,n)}static mergeObjectSync(t,r){const n={};for(const a of r){const{key:i,value:s}=a;if(i.status==="aborted"||s.status==="aborted")return Ue;i.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),i.value!=="__proto__"&&(typeof s.value<"u"||a.alwaysSet)&&(n[i.value]=s.value)}return{status:t.value,value:n}}}const Ue=Object.freeze({status:"aborted"}),Ju=e=>({status:"dirty",value:e}),Gn=e=>({status:"valid",value:e}),yN=e=>e.status==="aborted",vN=e=>e.status==="dirty",Hl=e=>e.status==="valid",am=e=>typeof Promise<"u"&&e instanceof Promise;var je;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(je||(je={}));class Qi{constructor(t,r,n,a){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=a}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const xN=(e,t)=>{if(Hl(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const r=new fi(e.common.issues);return this._error=r,this._error}}};function Je(e){if(!e)return{};const{errorMap:t,invalid_type_error:r,required_error:n,description:a}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:a}:{errorMap:(s,o)=>{const{message:u}=e;return s.code==="invalid_enum_value"?{message:u??o.defaultError}:typeof o.data>"u"?{message:u??n??o.defaultError}:s.code!=="invalid_type"?{message:o.defaultError}:{message:u??r??o.defaultError}},description:a}}class lt{get description(){return this._def.description}_getType(t){return Ni(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:Ni(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Sn,ctx:{common:t.parent.common,data:t.data,parsedType:Ni(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const r=this._parse(t);if(am(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){const r=this._parse(t);return Promise.resolve(r)}parse(t,r){const n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){const n={common:{issues:[],async:(r==null?void 0:r.async)??!1,contextualErrorMap:r==null?void 0:r.errorMap},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ni(t)},a=this._parseSync({data:t,path:n.path,parent:n});return xN(n,a)}"~validate"(t){var n,a;const r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ni(t)};if(!this["~standard"].async)try{const i=this._parseSync({data:t,path:[],parent:r});return Hl(i)?{value:i.value}:{issues:r.common.issues}}catch(i){(a=(n=i==null?void 0:i.message)==null?void 0:n.toLowerCase())!=null&&a.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(i=>Hl(i)?{value:i.value}:{issues:r.common.issues})}async parseAsync(t,r){const n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){const n={common:{issues:[],contextualErrorMap:r==null?void 0:r.errorMap,async:!0},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ni(t)},a=this._parse({data:t,path:n.path,parent:n}),i=await(am(a)?a:Promise.resolve(a));return xN(n,i)}refine(t,r){const n=a=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(a):r;return this._refinement((a,i)=>{const s=t(a),o=()=>i.addIssue({code:ce.custom,...n(a)});return typeof Promise<"u"&&s instanceof Promise?s.then(u=>u?!0:(o(),!1)):s?!0:(o(),!1)})}refinement(t,r){return this._refinement((n,a)=>t(n)?!0:(a.addIssue(typeof r=="function"?r(n,a):r),!1))}_refinement(t){return new no({schema:this,typeName:Ve.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Yi.create(this,this._def)}nullable(){return Kl.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ta.create(this)}promise(){return lm.create(this,this._def)}or(t){return sm.create([this,t],this._def)}and(t){return om.create(this,t,this._def)}transform(t){return new no({...Je(this._def),schema:this,typeName:Ve.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const r=typeof t=="function"?t:()=>t;return new hb({...Je(this._def),innerType:this,defaultValue:r,typeName:Ve.ZodDefault})}brand(){return new hfe({typeName:Ve.ZodBranded,type:this,...Je(this._def)})}catch(t){const r=typeof t=="function"?t:()=>t;return new mb({...Je(this._def),innerType:this,catchValue:r,typeName:Ve.ZodCatch})}describe(t){const r=this.constructor;return new r({...this._def,description:t})}pipe(t){return F1.create(this,t)}readonly(){return gb.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Gde=/^c[^\s-]{8,}$/i,qde=/^[0-9a-z]+$/,Kde=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Yde=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Xde=/^[a-z0-9_-]{21}$/i,Zde=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Jde=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Qde=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,efe="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let dv;const tfe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,rfe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,nfe=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,afe=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ife=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,sfe=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,cI="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",ofe=new RegExp(`^${cI}$`);function dI(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);const r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function lfe(e){return new RegExp(`^${dI(e)}$`)}function ufe(e){let t=`${cI}T${dI(e)}`;const r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function cfe(e,t){return!!((t==="v4"||!t)&&tfe.test(e)||(t==="v6"||!t)&&nfe.test(e))}function dfe(e,t){if(!Zde.test(e))return!1;try{const[r]=e.split(".");if(!r)return!1;const n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),a=JSON.parse(atob(n));return!(typeof a!="object"||a===null||"typ"in a&&(a==null?void 0:a.typ)!=="JWT"||!a.alg||t&&a.alg!==t)}catch{return!1}}function ffe(e,t){return!!((t==="v4"||!t)&&rfe.test(e)||(t==="v6"||!t)&&afe.test(e))}class Za extends lt{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==be.string){const i=this._getOrReturnCtx(t);return he(i,{code:ce.invalid_type,expected:be.string,received:i.parsedType}),Ue}const n=new Sn;let a;for(const i of this._def.checks)if(i.kind==="min")t.data.lengthi.value&&(a=this._getOrReturnCtx(t,a),he(a,{code:ce.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){const s=t.data.length>i.value,o=t.data.lengtht.test(a),{validation:r,code:ce.invalid_string,...je.errToObj(n)})}_addCheck(t){return new Za({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...je.errToObj(t)})}url(t){return this._addCheck({kind:"url",...je.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...je.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...je.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...je.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...je.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...je.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...je.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...je.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...je.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...je.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...je.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...je.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,offset:(t==null?void 0:t.offset)??!1,local:(t==null?void 0:t.local)??!1,...je.errToObj(t==null?void 0:t.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,...je.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...je.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...je.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r==null?void 0:r.position,...je.errToObj(r==null?void 0:r.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...je.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...je.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...je.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...je.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...je.errToObj(r)})}nonempty(t){return this.min(1,je.errToObj(t))}trim(){return new Za({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Za({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Za({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew Za({checks:[],typeName:Ve.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...Je(e)});function pfe(e,t){const r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,a=r>n?r:n,i=Number.parseInt(e.toFixed(a).replace(".","")),s=Number.parseInt(t.toFixed(a).replace(".",""));return i%s/10**a}class eo extends lt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==be.number){const i=this._getOrReturnCtx(t);return he(i,{code:ce.invalid_type,expected:be.number,received:i.parsedType}),Ue}let n;const a=new Sn;for(const i of this._def.checks)i.kind==="int"?ut.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),he(n,{code:ce.invalid_type,expected:"integer",received:"float",message:i.message}),a.dirty()):i.kind==="min"?(i.inclusive?t.datai.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),he(n,{code:ce.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),a.dirty()):i.kind==="multipleOf"?pfe(t.data,i.value)!==0&&(n=this._getOrReturnCtx(t,n),he(n,{code:ce.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):i.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),he(n,{code:ce.not_finite,message:i.message}),a.dirty()):ut.assertNever(i);return{status:a.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,je.toString(r))}gt(t,r){return this.setLimit("min",t,!1,je.toString(r))}lte(t,r){return this.setLimit("max",t,!0,je.toString(r))}lt(t,r){return this.setLimit("max",t,!1,je.toString(r))}setLimit(t,r,n,a){return new eo({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:je.toString(a)}]})}_addCheck(t){return new eo({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:je.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:je.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:je.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:je.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:je.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:je.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:je.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:je.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:je.toString(t)})}get minValue(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuet.kind==="int"||t.kind==="multipleOf"&&ut.isInteger(t.value))}get isFinite(){let t=null,r=null;for(const n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.valuenew eo({checks:[],typeName:Ve.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Je(e)});class to extends lt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==be.bigint)return this._getInvalidInput(t);let n;const a=new Sn;for(const i of this._def.checks)i.kind==="min"?(i.inclusive?t.datai.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),he(n,{code:ce.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),a.dirty()):i.kind==="multipleOf"?t.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),he(n,{code:ce.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):ut.assertNever(i);return{status:a.value,value:t.data}}_getInvalidInput(t){const r=this._getOrReturnCtx(t);return he(r,{code:ce.invalid_type,expected:be.bigint,received:r.parsedType}),Ue}gte(t,r){return this.setLimit("min",t,!0,je.toString(r))}gt(t,r){return this.setLimit("min",t,!1,je.toString(r))}lte(t,r){return this.setLimit("max",t,!0,je.toString(r))}lt(t,r){return this.setLimit("max",t,!1,je.toString(r))}setLimit(t,r,n,a){return new to({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:je.toString(a)}]})}_addCheck(t){return new to({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:je.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:je.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:je.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:je.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:je.toString(r)})}get minValue(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew to({checks:[],typeName:Ve.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...Je(e)});class im extends lt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==be.boolean){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.boolean,received:n.parsedType}),Ue}return Gn(t.data)}}im.create=e=>new im({typeName:Ve.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Je(e)});class Gl extends lt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==be.date){const i=this._getOrReturnCtx(t);return he(i,{code:ce.invalid_type,expected:be.date,received:i.parsedType}),Ue}if(Number.isNaN(t.data.getTime())){const i=this._getOrReturnCtx(t);return he(i,{code:ce.invalid_date}),Ue}const n=new Sn;let a;for(const i of this._def.checks)i.kind==="min"?t.data.getTime()i.value&&(a=this._getOrReturnCtx(t,a),he(a,{code:ce.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):ut.assertNever(i);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Gl({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:je.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:je.toString(r)})}get minDate(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew Gl({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ve.ZodDate,...Je(e)});class bN extends lt{_parse(t){if(this._getType(t)!==be.symbol){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.symbol,received:n.parsedType}),Ue}return Gn(t.data)}}bN.create=e=>new bN({typeName:Ve.ZodSymbol,...Je(e)});class wN extends lt{_parse(t){if(this._getType(t)!==be.undefined){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.undefined,received:n.parsedType}),Ue}return Gn(t.data)}}wN.create=e=>new wN({typeName:Ve.ZodUndefined,...Je(e)});class _N extends lt{_parse(t){if(this._getType(t)!==be.null){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.null,received:n.parsedType}),Ue}return Gn(t.data)}}_N.create=e=>new _N({typeName:Ve.ZodNull,...Je(e)});class jN extends lt{constructor(){super(...arguments),this._any=!0}_parse(t){return Gn(t.data)}}jN.create=e=>new jN({typeName:Ve.ZodAny,...Je(e)});class SN extends lt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Gn(t.data)}}SN.create=e=>new SN({typeName:Ve.ZodUnknown,...Je(e)});class es extends lt{_parse(t){const r=this._getOrReturnCtx(t);return he(r,{code:ce.invalid_type,expected:be.never,received:r.parsedType}),Ue}}es.create=e=>new es({typeName:Ve.ZodNever,...Je(e)});class kN extends lt{_parse(t){if(this._getType(t)!==be.undefined){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.void,received:n.parsedType}),Ue}return Gn(t.data)}}kN.create=e=>new kN({typeName:Ve.ZodVoid,...Je(e)});class Ta extends lt{_parse(t){const{ctx:r,status:n}=this._processInputParams(t),a=this._def;if(r.parsedType!==be.array)return he(r,{code:ce.invalid_type,expected:be.array,received:r.parsedType}),Ue;if(a.exactLength!==null){const s=r.data.length>a.exactLength.value,o=r.data.lengtha.maxLength.value&&(he(r,{code:ce.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((s,o)=>a.type._parseAsync(new Qi(r,s,r.path,o)))).then(s=>Sn.mergeArray(n,s));const i=[...r.data].map((s,o)=>a.type._parseSync(new Qi(r,s,r.path,o)));return Sn.mergeArray(n,i)}get element(){return this._def.type}min(t,r){return new Ta({...this._def,minLength:{value:t,message:je.toString(r)}})}max(t,r){return new Ta({...this._def,maxLength:{value:t,message:je.toString(r)}})}length(t,r){return new Ta({...this._def,exactLength:{value:t,message:je.toString(r)}})}nonempty(t){return this.min(1,t)}}Ta.create=(e,t)=>new Ta({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ve.ZodArray,...Je(t)});function Ao(e){if(e instanceof nr){const t={};for(const r in e.shape){const n=e.shape[r];t[r]=Yi.create(Ao(n))}return new nr({...e._def,shape:()=>t})}else return e instanceof Ta?new Ta({...e._def,type:Ao(e.element)}):e instanceof Yi?Yi.create(Ao(e.unwrap())):e instanceof Kl?Kl.create(Ao(e.unwrap())):e instanceof ro?ro.create(e.items.map(t=>Ao(t))):e}class nr extends lt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),r=ut.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==be.object){const c=this._getOrReturnCtx(t);return he(c,{code:ce.invalid_type,expected:be.object,received:c.parsedType}),Ue}const{status:n,ctx:a}=this._processInputParams(t),{shape:i,keys:s}=this._getCached(),o=[];if(!(this._def.catchall instanceof es&&this._def.unknownKeys==="strip"))for(const c in a.data)s.includes(c)||o.push(c);const u=[];for(const c of s){const f=i[c],d=a.data[c];u.push({key:{status:"valid",value:c},value:f._parse(new Qi(a,d,a.path,c)),alwaysSet:c in a.data})}if(this._def.catchall instanceof es){const c=this._def.unknownKeys;if(c==="passthrough")for(const f of o)u.push({key:{status:"valid",value:f},value:{status:"valid",value:a.data[f]}});else if(c==="strict")o.length>0&&(he(a,{code:ce.unrecognized_keys,keys:o}),n.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const c=this._def.catchall;for(const f of o){const d=a.data[f];u.push({key:{status:"valid",value:f},value:c._parse(new Qi(a,d,a.path,f)),alwaysSet:f in a.data})}}return a.common.async?Promise.resolve().then(async()=>{const c=[];for(const f of u){const d=await f.key,p=await f.value;c.push({key:d,value:p,alwaysSet:f.alwaysSet})}return c}).then(c=>Sn.mergeObjectSync(n,c)):Sn.mergeObjectSync(n,u)}get shape(){return this._def.shape()}strict(t){return je.errToObj,new nr({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{var i,s;const a=((s=(i=this._def).errorMap)==null?void 0:s.call(i,r,n).message)??n.defaultError;return r.code==="unrecognized_keys"?{message:je.errToObj(t).message??a}:{message:a}}}:{}})}strip(){return new nr({...this._def,unknownKeys:"strip"})}passthrough(){return new nr({...this._def,unknownKeys:"passthrough"})}extend(t){return new nr({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new nr({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Ve.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new nr({...this._def,catchall:t})}pick(t){const r={};for(const n of ut.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new nr({...this._def,shape:()=>r})}omit(t){const r={};for(const n of ut.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new nr({...this._def,shape:()=>r})}deepPartial(){return Ao(this)}partial(t){const r={};for(const n of ut.objectKeys(this.shape)){const a=this.shape[n];t&&!t[n]?r[n]=a:r[n]=a.optional()}return new nr({...this._def,shape:()=>r})}required(t){const r={};for(const n of ut.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof Yi;)i=i._def.innerType;r[n]=i}return new nr({...this._def,shape:()=>r})}keyof(){return fI(ut.objectKeys(this.shape))}}nr.create=(e,t)=>new nr({shape:()=>e,unknownKeys:"strip",catchall:es.create(),typeName:Ve.ZodObject,...Je(t)});nr.strictCreate=(e,t)=>new nr({shape:()=>e,unknownKeys:"strict",catchall:es.create(),typeName:Ve.ZodObject,...Je(t)});nr.lazycreate=(e,t)=>new nr({shape:e,unknownKeys:"strip",catchall:es.create(),typeName:Ve.ZodObject,...Je(t)});class sm extends lt{_parse(t){const{ctx:r}=this._processInputParams(t),n=this._def.options;function a(i){for(const o of i)if(o.result.status==="valid")return o.result;for(const o of i)if(o.result.status==="dirty")return r.common.issues.push(...o.ctx.common.issues),o.result;const s=i.map(o=>new fi(o.ctx.common.issues));return he(r,{code:ce.invalid_union,unionErrors:s}),Ue}if(r.common.async)return Promise.all(n.map(async i=>{const s={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:s}),ctx:s}})).then(a);{let i;const s=[];for(const u of n){const c={...r,common:{...r.common,issues:[]},parent:null},f=u._parseSync({data:r.data,path:r.path,parent:c});if(f.status==="valid")return f;f.status==="dirty"&&!i&&(i={result:f,ctx:c}),c.common.issues.length&&s.push(c.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;const o=s.map(u=>new fi(u));return he(r,{code:ce.invalid_union,unionErrors:o}),Ue}}get options(){return this._def.options}}sm.create=(e,t)=>new sm({options:e,typeName:Ve.ZodUnion,...Je(t)});function pb(e,t){const r=Ni(e),n=Ni(t);if(e===t)return{valid:!0,data:e};if(r===be.object&&n===be.object){const a=ut.objectKeys(t),i=ut.objectKeys(e).filter(o=>a.indexOf(o)!==-1),s={...e,...t};for(const o of i){const u=pb(e[o],t[o]);if(!u.valid)return{valid:!1};s[o]=u.data}return{valid:!0,data:s}}else if(r===be.array&&n===be.array){if(e.length!==t.length)return{valid:!1};const a=[];for(let i=0;i{if(yN(i)||yN(s))return Ue;const o=pb(i.value,s.value);return o.valid?((vN(i)||vN(s))&&r.dirty(),{status:r.value,value:o.data}):(he(n,{code:ce.invalid_intersection_types}),Ue)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,s])=>a(i,s)):a(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}om.create=(e,t,r)=>new om({left:e,right:t,typeName:Ve.ZodIntersection,...Je(r)});class ro extends lt{_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==be.array)return he(n,{code:ce.invalid_type,expected:be.array,received:n.parsedType}),Ue;if(n.data.lengththis._def.items.length&&(he(n,{code:ce.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());const i=[...n.data].map((s,o)=>{const u=this._def.items[o]||this._def.rest;return u?u._parse(new Qi(n,s,n.path,o)):null}).filter(s=>!!s);return n.common.async?Promise.all(i).then(s=>Sn.mergeArray(r,s)):Sn.mergeArray(r,i)}get items(){return this._def.items}rest(t){return new ro({...this._def,rest:t})}}ro.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ro({items:e,typeName:Ve.ZodTuple,rest:null,...Je(t)})};class ON extends lt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==be.map)return he(n,{code:ce.invalid_type,expected:be.map,received:n.parsedType}),Ue;const a=this._def.keyType,i=this._def.valueType,s=[...n.data.entries()].map(([o,u],c)=>({key:a._parse(new Qi(n,o,n.path,[c,"key"])),value:i._parse(new Qi(n,u,n.path,[c,"value"]))}));if(n.common.async){const o=new Map;return Promise.resolve().then(async()=>{for(const u of s){const c=await u.key,f=await u.value;if(c.status==="aborted"||f.status==="aborted")return Ue;(c.status==="dirty"||f.status==="dirty")&&r.dirty(),o.set(c.value,f.value)}return{status:r.value,value:o}})}else{const o=new Map;for(const u of s){const c=u.key,f=u.value;if(c.status==="aborted"||f.status==="aborted")return Ue;(c.status==="dirty"||f.status==="dirty")&&r.dirty(),o.set(c.value,f.value)}return{status:r.value,value:o}}}}ON.create=(e,t,r)=>new ON({valueType:t,keyType:e,typeName:Ve.ZodMap,...Je(r)});class kd extends lt{_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==be.set)return he(n,{code:ce.invalid_type,expected:be.set,received:n.parsedType}),Ue;const a=this._def;a.minSize!==null&&n.data.sizea.maxSize.value&&(he(n,{code:ce.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),r.dirty());const i=this._def.valueType;function s(u){const c=new Set;for(const f of u){if(f.status==="aborted")return Ue;f.status==="dirty"&&r.dirty(),c.add(f.value)}return{status:r.value,value:c}}const o=[...n.data.values()].map((u,c)=>i._parse(new Qi(n,u,n.path,c)));return n.common.async?Promise.all(o).then(u=>s(u)):s(o)}min(t,r){return new kd({...this._def,minSize:{value:t,message:je.toString(r)}})}max(t,r){return new kd({...this._def,maxSize:{value:t,message:je.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}}kd.create=(e,t)=>new kd({valueType:e,minSize:null,maxSize:null,typeName:Ve.ZodSet,...Je(t)});class NN extends lt{get schema(){return this._def.getter()}_parse(t){const{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}}NN.create=(e,t)=>new NN({getter:e,typeName:Ve.ZodLazy,...Je(t)});class AN extends lt{_parse(t){if(t.data!==this._def.value){const r=this._getOrReturnCtx(t);return he(r,{received:r.data,code:ce.invalid_literal,expected:this._def.value}),Ue}return{status:"valid",value:t.data}}get value(){return this._def.value}}AN.create=(e,t)=>new AN({value:e,typeName:Ve.ZodLiteral,...Je(t)});function fI(e,t){return new ql({values:e,typeName:Ve.ZodEnum,...Je(t)})}class ql extends lt{_parse(t){if(typeof t.data!="string"){const r=this._getOrReturnCtx(t),n=this._def.values;return he(r,{expected:ut.joinValues(n),received:r.parsedType,code:ce.invalid_type}),Ue}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){const r=this._getOrReturnCtx(t),n=this._def.values;return he(r,{received:r.data,code:ce.invalid_enum_value,options:n}),Ue}return Gn(t.data)}get options(){return this._def.values}get enum(){const t={};for(const r of this._def.values)t[r]=r;return t}get Values(){const t={};for(const r of this._def.values)t[r]=r;return t}get Enum(){const t={};for(const r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return ql.create(t,{...this._def,...r})}exclude(t,r=this._def){return ql.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}}ql.create=fI;class EN extends lt{_parse(t){const r=ut.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==be.string&&n.parsedType!==be.number){const a=ut.objectValues(r);return he(n,{expected:ut.joinValues(a),received:n.parsedType,code:ce.invalid_type}),Ue}if(this._cache||(this._cache=new Set(ut.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const a=ut.objectValues(r);return he(n,{received:n.data,code:ce.invalid_enum_value,options:a}),Ue}return Gn(t.data)}get enum(){return this._def.values}}EN.create=(e,t)=>new EN({values:e,typeName:Ve.ZodNativeEnum,...Je(t)});class lm extends lt{unwrap(){return this._def.type}_parse(t){const{ctx:r}=this._processInputParams(t);if(r.parsedType!==be.promise&&r.common.async===!1)return he(r,{code:ce.invalid_type,expected:be.promise,received:r.parsedType}),Ue;const n=r.parsedType===be.promise?r.data:Promise.resolve(r.data);return Gn(n.then(a=>this._def.type.parseAsync(a,{path:r.path,errorMap:r.common.contextualErrorMap})))}}lm.create=(e,t)=>new lm({type:e,typeName:Ve.ZodPromise,...Je(t)});class no extends lt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ve.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:r,ctx:n}=this._processInputParams(t),a=this._def.effect||null,i={addIssue:s=>{he(n,s),s.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),a.type==="preprocess"){const s=a.transform(n.data,i);if(n.common.async)return Promise.resolve(s).then(async o=>{if(r.value==="aborted")return Ue;const u=await this._def.schema._parseAsync({data:o,path:n.path,parent:n});return u.status==="aborted"?Ue:u.status==="dirty"||r.value==="dirty"?Ju(u.value):u});{if(r.value==="aborted")return Ue;const o=this._def.schema._parseSync({data:s,path:n.path,parent:n});return o.status==="aborted"?Ue:o.status==="dirty"||r.value==="dirty"?Ju(o.value):o}}if(a.type==="refinement"){const s=o=>{const u=a.refinement(o,i);if(n.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(n.common.async===!1){const o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?Ue:(o.status==="dirty"&&r.dirty(),s(o.value),{status:r.value,value:o.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>o.status==="aborted"?Ue:(o.status==="dirty"&&r.dirty(),s(o.value).then(()=>({status:r.value,value:o.value}))))}if(a.type==="transform")if(n.common.async===!1){const s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Hl(s))return Ue;const o=a.transform(s.value,i);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:o}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>Hl(s)?Promise.resolve(a.transform(s.value,i)).then(o=>({status:r.value,value:o})):Ue);ut.assertNever(a)}}no.create=(e,t,r)=>new no({schema:e,typeName:Ve.ZodEffects,effect:t,...Je(r)});no.createWithPreprocess=(e,t,r)=>new no({schema:t,effect:{type:"preprocess",transform:e},typeName:Ve.ZodEffects,...Je(r)});class Yi extends lt{_parse(t){return this._getType(t)===be.undefined?Gn(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Yi.create=(e,t)=>new Yi({innerType:e,typeName:Ve.ZodOptional,...Je(t)});class Kl extends lt{_parse(t){return this._getType(t)===be.null?Gn(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Kl.create=(e,t)=>new Kl({innerType:e,typeName:Ve.ZodNullable,...Je(t)});class hb extends lt{_parse(t){const{ctx:r}=this._processInputParams(t);let n=r.data;return r.parsedType===be.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}}hb.create=(e,t)=>new hb({innerType:e,typeName:Ve.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Je(t)});class mb extends lt{_parse(t){const{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},a=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return am(a)?a.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new fi(n.common.issues)},input:n.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new fi(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}mb.create=(e,t)=>new mb({innerType:e,typeName:Ve.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Je(t)});class PN extends lt{_parse(t){if(this._getType(t)!==be.nan){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.nan,received:n.parsedType}),Ue}return{status:"valid",value:t.data}}}PN.create=e=>new PN({typeName:Ve.ZodNaN,...Je(e)});class hfe extends lt{_parse(t){const{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}}class F1 extends lt{_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{const i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Ue:i.status==="dirty"?(r.dirty(),Ju(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{const a=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?Ue:a.status==="dirty"?(r.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:n.path,parent:n})}}static create(t,r){return new F1({in:t,out:r,typeName:Ve.ZodPipeline})}}class gb extends lt{_parse(t){const r=this._def.innerType._parse(t),n=a=>(Hl(a)&&(a.value=Object.freeze(a.value)),a);return am(r)?r.then(a=>n(a)):n(r)}unwrap(){return this._def.innerType}}gb.create=(e,t)=>new gb({innerType:e,typeName:Ve.ZodReadonly,...Je(t)});var Ve;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(Ve||(Ve={}));const ul=Za.create,cl=eo.create;to.create;im.create;Gl.create;es.create;const pI=Ta.create,Sg=nr.create;sm.create;om.create;ro.create;ql.create;lm.create;Yi.create;Kl.create;const xc=no.createWithPreprocess,hI={string:e=>Za.create({...e,coerce:!0}),number:e=>eo.create({...e,coerce:!0}),boolean:e=>im.create({...e,coerce:!0}),bigint:e=>to.create({...e,coerce:!0}),date:e=>Gl.create({...e,coerce:!0})},mfe=Sg({paymentMethodType:ul().min(1),paymentMethod:ul().min(1),bucketSize:hI.number().int().positive(),hedgingPercent:xc(e=>e===""||e===null?null:Number(e),cl().nullable()),latencyThreshold:xc(e=>e===""||e===null?null:Number(e),cl().nullable())}),gfe=Sg({defaultBucketSize:hI.number().int().positive(),defaultSuccessRate:xc(e=>e===""||e===null?null:Number(e),cl().min(0).max(1).nullable()),defaultLatencyThreshold:xc(e=>e===""||e===null?null:Number(e),cl().nullable()),defaultHedgingPercent:xc(e=>e===""||e===null?null:Number(e),cl().nullable()),subLevelInputConfig:pI(mfe)});function yfe(){var R,M,L,V,H;const{merchantId:e}=Nn(),[t,r]=S.useState(!1),[n,a]=S.useState(null),[i,s]=S.useState(!1),[o,u]=S.useState(!1),[c,f]=S.useState(!1),[d,p]=S.useState(null),{data:h,isLoading:x,mutate:v}=Xt(e?["rule-sr",e]:null,()=>zt("/rule/get",{merchant_id:e,algorithm:"successRate"}),{shouldRetryOnError:!1}),{register:g,control:y,handleSubmit:m,reset:w,watch:j,formState:{errors:b}}=Lde({resolver:Ude(gfe),defaultValues:{defaultBucketSize:200,defaultSuccessRate:.5,defaultLatencyThreshold:null,defaultHedgingPercent:null,subLevelInputConfig:[]}});S.useEffect(()=>{var I;if((I=h==null?void 0:h.config)!=null&&I.data){const B=h.config.data;w({defaultBucketSize:B.defaultBucketSize??200,defaultSuccessRate:B.defaultSuccessRate??.5,defaultLatencyThreshold:B.defaultLatencyThreshold??null,defaultHedgingPercent:B.defaultHedgingPercent??null,subLevelInputConfig:B.subLevelInputConfig??[]})}},[h,w]);const{fields:_,append:k,remove:O}=Dde({control:y,name:"subLevelInputConfig"}),E=j("subLevelInputConfig");async function T(){try{await zt("/merchant-account/create",{merchant_id:e,gateway_success_rate_based_decider_input:null})}catch{}}async function $(I){if(!e){a("Set a Merchant ID first.");return}r(!0),a(null),s(!1);try{await T(),await zt(h?"/rule/update":"/rule/create",{merchant_id:e,config:{type:"successRate",data:{defaultBucketSize:I.defaultBucketSize,defaultSuccessRate:I.defaultSuccessRate,defaultLatencyThreshold:I.defaultLatencyThreshold,defaultHedgingPercent:I.defaultHedgingPercent,subLevelInputConfig:I.subLevelInputConfig.length>0?I.subLevelInputConfig:null}}}),s(!0),v()}catch(B){a(B instanceof Error?B.message:String(B))}finally{r(!1)}}async function A(){if(e){f(!0),p(null);try{await zt("/rule/delete",{merchant_id:e,algorithm:"successRate"}),v(void 0,{revalidate:!1})}catch(I){p(I instanceof Error?I.message:String(I))}finally{f(!1)}}}return l.jsxs("div",{className:"space-y-6 max-w-5xl",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900",children:"Auth-Rate Based Routing"}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:"Configure success-rate based gateway routing"})]}),!e&&l.jsx("div",{className:"rounded-lg border border-yellow-200 bg-yellow-50 px-4 py-3 text-sm text-yellow-800",children:"Set a Merchant ID in the top bar to load and save configuration."}),e&&!x&&l.jsxs(Se,{children:[l.jsxs(nt,{className:"flex flex-row items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Configuration Status"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:(R=h==null?void 0:h.config)!=null&&R.data?"Success Rate routing is configured and active":"No Success Rate configuration found"})]}),l.jsx(ze,{variant:(M=h==null?void 0:h.config)!=null&&M.data?"green":"gray",children:(L=h==null?void 0:h.config)!=null&&L.data?"Active":"Not Configured"})]}),((V=h==null?void 0:h.config)==null?void 0:V.data)&&l.jsxs(Be,{className:"border-t border-slate-100 dark:border-[#222226]",children:[l.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-600",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Last Modified:"}),l.jsx("span",{className:"ml-1 font-medium",children:h.modified_at?new Date(h.modified_at).toLocaleString():"Unknown"})]}),l.jsxs(Ae,{type:"button",variant:"secondary",size:"sm",onClick:()=>{confirm("Are you sure you want to clear the Success Rate configuration? This will disable SR-based routing.")&&A()},disabled:c,children:[l.jsx(di,{size:14,className:"mr-1"}),c?"Clearing...":"Clear Configuration"]})]}),d&&l.jsx("p",{className:"text-xs text-red-500 mt-2",children:d})]})]}),x?l.jsx("div",{className:"flex justify-center py-12",children:l.jsx(Ft,{})}):l.jsxs("form",{onSubmit:m($),className:"space-y-6",children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Default Success Rate Config"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:"Base settings used when there is no payment-method-specific override."})]})}),l.jsxs(Be,{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-4",children:[l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Bucket Size"}),l.jsx("input",{type:"number",...g("defaultBucketSize"),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"}),b.defaultBucketSize&&l.jsx("p",{className:"text-xs text-red-500",children:b.defaultBucketSize.message})]}),l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Success Rate"}),l.jsx("input",{type:"number",step:"0.1",min:"0",max:"1",...g("defaultSuccessRate"),placeholder:"0.5",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Hedging %"}),l.jsx("input",{type:"number",step:"0.1",...g("defaultHedgingPercent"),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Latency Threshold (ms)"}),l.jsx("input",{type:"number",...g("defaultLatencyThreshold"),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]})]}),l.jsxs(Se,{children:[l.jsxs(nt,{className:"flex flex-row items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Sub-Level Overrides"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:"Optional overrides for specific payment method type and method combinations."})]}),l.jsxs(Ae,{type:"button",variant:"secondary",size:"sm",onClick:()=>k({paymentMethodType:"card",paymentMethod:"credit",bucketSize:20,hedgingPercent:null,latencyThreshold:null}),children:[l.jsx(ci,{size:14})," Add Level"]})]}),l.jsx(Be,{className:"overflow-x-auto p-0",children:_.length?l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-left text-xs text-slate-500 border-b border-slate-200 dark:border-[#1c1c24] bg-slate-50 dark:bg-[#0a0a0f]",children:[l.jsx("th",{className:"px-4 py-2",children:"Payment Method Type"}),l.jsx("th",{className:"px-4 py-2",children:"Payment Method"}),l.jsx("th",{className:"px-4 py-2",children:"Bucket Size"}),l.jsx("th",{className:"px-4 py-2",children:"Hedging %"}),l.jsx("th",{className:"px-4 py-2",children:"Latency Threshold (ms)"}),l.jsx("th",{className:"px-4 py-2"})]})}),l.jsx("tbody",{children:_.map((I,B)=>{var K;const W=((K=E==null?void 0:E[B])==null?void 0:K.paymentMethodType)||"",G=Fle[W]||[];return l.jsxs("tr",{className:"border-b border-slate-200 dark:border-[#1c1c24] hover:bg-slate-100 dark:bg-[#0f0f16] transition-colors",children:[l.jsx("td",{className:"px-4 py-2",children:l.jsx("select",{...g(`subLevelInputConfig.${B}.paymentMethodType`),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Lle.map(ee=>l.jsx("option",{value:ee,children:ee},ee))})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("select",{...g(`subLevelInputConfig.${B}.paymentMethod`),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:(G.length?G:["credit","debit"]).map(ee=>l.jsx("option",{value:ee,children:ee},ee))})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("input",{type:"number",...g(`subLevelInputConfig.${B}.bucketSize`),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 w-20 focus:outline-none focus:ring-1 focus:ring-brand-500"})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("input",{type:"number",step:"0.1",...g(`subLevelInputConfig.${B}.hedgingPercent`),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 w-20 focus:outline-none focus:ring-1 focus:ring-brand-500"})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("input",{type:"number",...g(`subLevelInputConfig.${B}.latencyThreshold`),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 w-24 focus:outline-none focus:ring-1 focus:ring-brand-500"})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("button",{type:"button",onClick:()=>O(B),className:"text-slate-400 hover:text-red-500",children:l.jsx(di,{size:14})})})]},I.id)})})]}):l.jsx("div",{className:"px-4 py-8 text-sm text-slate-500",children:"No sub-level overrides configured. The default row above is the only active configuration."})})]}),l.jsx(Nr,{error:n}),i&&l.jsx("div",{className:"rounded-lg border border-emerald-500/20 bg-emerald-500/8 px-4 py-3 text-sm text-emerald-400",children:"Configuration saved successfully."}),((H=h==null?void 0:h.config)==null?void 0:H.data)&&l.jsxs(Se,{children:[l.jsxs(nt,{className:"flex flex-row items-center justify-between",children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Current Active Configuration"}),l.jsxs(Ae,{type:"button",variant:"ghost",size:"sm",onClick:()=>u(!o),children:[l.jsx(Wd,{size:14,className:"mr-1"}),o?"Hide":"View"]})]}),o&&l.jsx(Be,{children:l.jsxs("div",{className:"text-xs text-slate-600 space-y-4",children:[l.jsxs("div",{className:"border-b border-slate-200 dark:border-[#222226] pb-3",children:[l.jsx("h3",{className:"font-medium text-slate-700 mb-2",children:"Default Settings"}),l.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-3",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Bucket Size:"}),l.jsx("p",{className:"font-medium",children:h.config.data.defaultBucketSize})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Success Rate:"}),l.jsx("p",{className:"font-medium",children:h.config.data.defaultSuccessRate??"Not set"})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Hedging %:"}),l.jsx("p",{className:"font-medium",children:h.config.data.defaultHedgingPercent??"Not set"})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Latency Threshold:"}),l.jsxs("p",{className:"font-medium",children:[h.config.data.defaultLatencyThreshold??"Not set"," ms"]})]})]})]}),h.config.data.subLevelInputConfig&&h.config.data.subLevelInputConfig.length>0&&l.jsxs("div",{children:[l.jsx("h3",{className:"font-medium text-slate-700 mb-2",children:"Sub-Level Configurations"}),l.jsx("div",{className:"space-y-2",children:h.config.data.subLevelInputConfig.map((I,B)=>l.jsx("div",{className:"bg-slate-50 dark:bg-[#151518] rounded-lg p-3",children:l.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-2 text-xs",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Payment Type:"}),l.jsx("p",{className:"font-medium capitalize",children:I.paymentMethodType})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Payment Method:"}),l.jsx("p",{className:"font-medium",children:I.paymentMethod})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Bucket Size:"}),l.jsx("p",{className:"font-medium",children:I.bucketSize})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Hedging %:"}),l.jsx("p",{className:"font-medium",children:I.hedgingPercent??"Default"})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Latency Threshold:"}),l.jsxs("p",{className:"font-medium",children:[I.latencyThreshold??"Default"," ms"]})]})]})},B))})]}),l.jsxs("div",{className:"border-t border-gray-200 pt-3",children:[l.jsx("h3",{className:"font-medium text-slate-700 mb-2",children:"Raw Configuration (JSON)"}),l.jsx("pre",{className:"bg-slate-900 dark:bg-[#0f0f11] text-slate-100 border border-transparent dark:border-[#222226] rounded-lg p-3 text-xs overflow-auto max-h-64",children:JSON.stringify(h.config,null,2)})]})]})})]}),l.jsx(Ae,{type:"submit",disabled:t||!e,children:t?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Saving…"]}):"Save Configuration"})]})]})}const vfe=Sg({id:ul().min(1),gatewayName:ul().trim().min(1,"Gateway name is required"),gatewayId:ul().trim(),split:cl().min(0).max(100)}),xfe=Sg({ruleName:ul().trim().min(1,"Enter a rule name"),gateways:pI(vfe).min(1,"Add at least one gateway")});function bfe(e){var n;const t=xfe.safeParse(e);if(!t.success)return((n=t.error.issues[0])==null?void 0:n.message)||"Invalid volume split rule configuration";const r=t.data.gateways.reduce((a,i)=>a+i.split,0);return r!==100?`Splits must sum to 100 (currently ${r})`:null}function wfe(e,t){return{rule_id:null,name:e.ruleName.trim(),description:"",created_by:t,algorithm_for:"payment",metadata:null,algorithm:{type:"volume_split",data:e.gateways.map(r=>({split:r.split,output:{gateway_name:r.gatewayName.trim(),gateway_id:r.gatewayId.trim()||null}}))}}}function _fe(e){return e.map((t,r)=>{var n,a,i;return{id:`${((n=t.output)==null?void 0:n.gateway_name)||"gateway"}-${r}`,gatewayName:((a=t.output)==null?void 0:a.gateway_name)||"",gatewayId:((i=t.output)==null?void 0:i.gateway_id)||"",split:t.split}})}function jfe(e){const t=e.algorithm_data||e.algorithm;if(!t||t.type!=="volume_split")return null;const r=t.data||[];return{id:e.id,name:e.name,description:e.description,createdAt:e.created_at,gateways:_fe(r)}}const CN=["#0069ED","#10b981","#f59e0b","#ef4444","#8b5cf6","#ec4899"];function zu(){return Math.random().toString(36).slice(2)}function Sfe(){const{merchantId:e}=Nn(),{mutate:t}=hP(),{data:r,mutate:n}=Xt(e?["active-routing",e]:null,()=>zt(`/routing/list/active/${e}`)),a=r==null?void 0:r.find(A=>{var R;return((R=A.algorithm_data||A.algorithm)==null?void 0:R.type)==="volume_split"}),[i,s]=S.useState([{id:zu(),gatewayName:"",gatewayId:"",split:50},{id:zu(),gatewayName:"",gatewayId:"",split:50}]),[o,u]=S.useState(""),[c,f]=S.useState(!1),[d,p]=S.useState(null),[h,x]=S.useState(null),[v,g]=S.useState(!1),[y,m]=S.useState(new Set),w=i.reduce((A,R)=>A+R.split,0);function j(A,R,M){s(L=>L.map(V=>V.id===A?{...V,[R]:M}:V))}function b(){s(A=>[...A,{id:zu(),gatewayName:"",gatewayId:"",split:0}])}function _(A){s(R=>R.filter(M=>M.id!==A))}async function k(){if(!e)return p("Set a merchant ID first");const A=bfe({ruleName:o,gateways:i});if(A)return p(A);f(!0),p(null),x(null);try{const R=wfe({ruleName:o,gateways:i},e);await zt("/routing/create",R),await Promise.all([n(),t(["routing-list",e])]),x(`Rule "${o}" created successfully. Find it in the list below to activate.`),u(""),s([{id:zu(),gatewayName:"",gatewayId:"",split:50},{id:zu(),gatewayName:"",gatewayId:"",split:50}])}catch(R){p(R instanceof Error?R.message:"Failed to create rule")}finally{f(!1)}}async function O(A){if(e)try{await zt("/routing/activate",{created_by:e,routing_algorithm_id:A}),await Promise.all([n(),t(["routing-list",e])]),x("Rule activated.")}catch(R){p(R instanceof Error?R.message:"Failed to activate")}}function E(A){m(R=>{const M=new Set(R);return M.has(A)?M.delete(A):M.add(A),M})}const T=a?a.algorithm_data||a.algorithm:null,$=T&&"data"in T?T.data.map(A=>{var R,M;return{name:`${((R=A.output)==null?void 0:R.gateway_name)??"?"}${(M=A.output)!=null&&M.gateway_id?` (${A.output.gateway_id})`:""}`,value:A.split}}):[];return l.jsxs("div",{className:"space-y-6 max-w-4xl",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold text-slate-900",children:"Volume Split Routing"}),l.jsx("p",{className:"text-slate-500 mt-1 text-sm",children:"Distribute payment traffic across gateways by percentage."})]}),a&&l.jsxs(Se,{children:[l.jsxs(nt,{className:"flex flex-row items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Active Volume Split"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:a.name})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(ze,{variant:"green",children:"Active"}),l.jsxs(Ae,{type:"button",variant:"ghost",size:"sm",onClick:()=>g(!v),children:[l.jsx(Wd,{size:14,className:"mr-1"}),v?"Hide":"View"]})]})]}),v&&l.jsxs(Be,{children:[l.jsx(Ii,{width:"100%",height:220,children:l.jsxs(_1,{children:[l.jsx(ha,{data:$,dataKey:"value",nameKey:"name",cx:"50%",cy:"50%",outerRadius:80,label:({name:A,value:R})=>`${A}: ${R}%`,labelLine:{stroke:"#45454f"},children:$.map((A,R)=>l.jsx(qi,{fill:CN[R%CN.length]},R))}),l.jsx(Or,{formatter:A=>`${A}%`,contentStyle:{backgroundColor:"#0d0d12",border:"1px solid #1c1c24",borderRadius:"8px",color:"#e8e8f4"}}),l.jsx(ia,{wrapperStyle:{color:"#8e8ea0"}})]})}),l.jsxs("div",{className:"mt-4 text-xs text-slate-600",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"Rule ID:"})," ",a.id]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Created:"})," ",a.created_at?new Date(a.created_at).toLocaleString():"Unknown"]})]})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"font-medium text-slate-800",children:"Create Volume Split Rule"})}),l.jsxs(Be,{className:"space-y-4",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Rule Name"}),l.jsx("input",{value:o,onChange:A=>u(A.target.value),placeholder:"e.g. ab-test-split",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm w-64 focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"grid grid-cols-[1fr_1fr_100px_32px] gap-2 text-xs font-medium text-slate-500 px-1",children:[l.jsx("span",{children:"Gateway Name"}),l.jsx("span",{children:"Gateway ID"}),l.jsx("span",{children:"Split %"}),l.jsx("span",{})]}),i.map(A=>l.jsxs("div",{className:"grid grid-cols-[1fr_1fr_100px_32px] gap-2 items-center",children:[l.jsx("input",{value:A.gatewayName,onChange:R=>j(A.id,"gatewayName",R.target.value),placeholder:"e.g. stripe",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{value:A.gatewayId,onChange:R=>j(A.id,"gatewayId",R.target.value),placeholder:"optional gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{type:"number",min:0,max:100,value:A.split,onChange:R=>j(A.id,"split",Number(R.target.value)),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("button",{onClick:()=>_(A.id),className:"text-slate-400 hover:text-red-500",children:l.jsx(di,{size:15})})]},A.id)),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("button",{onClick:b,className:"flex items-center gap-1 text-sm text-brand-500 hover:text-brand-600",children:[l.jsx(ci,{size:14})," Add Gateway"]}),l.jsxs("span",{className:`text-xs font-medium ${w===100?"text-emerald-400":"text-red-400"}`,children:["Total: ",w,"%",w!==100&&" (must be 100)"]})]})]}),l.jsx(Nr,{error:d}),h&&l.jsx("p",{className:"text-sm text-emerald-400",children:h}),l.jsx(Ae,{onClick:k,disabled:c||!e,children:c?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Creating…"]}):"Create Rule"})]})]}),l.jsx(kfe,{merchantId:e,onActivate:O,expandedRuleIds:y,onToggleExpand:E})]})}function kfe({merchantId:e,onActivate:t,expandedRuleIds:r,onToggleExpand:n}){const{data:a,isLoading:i}=Xt(e?["routing-list",e]:null,()=>zt(`/routing/list/${e}`)),s=(a==null?void 0:a.filter(o=>{var u;return((u=o.algorithm_data||o.algorithm)==null?void 0:u.type)==="volume_split"}))??[];return e?i?l.jsx("div",{className:"flex justify-center py-4",children:l.jsx(Ft,{})}):s.length?l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"font-medium text-slate-800",children:"Saved Volume Split Rules"})}),l.jsx(Be,{className:"p-0",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#0a0a0f] text-xs text-slate-500 uppercase tracking-wider",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-4 py-2",children:"Name"}),l.jsx("th",{className:"text-left px-4 py-2",children:"Split"}),l.jsx("th",{className:"px-4 py-2"})]})}),l.jsx("tbody",{className:"divide-y divide-[#1c1c24]",children:s.map(o=>{const u=jfe(o),c=(u==null?void 0:u.gateways.map(p=>`${p.gatewayName}${p.gatewayId?`(${p.gatewayId})`:""}:${p.split}%`).join(" | "))||"",f=o.algorithm_data||o.algorithm,d=r.has(o.id);return l.jsxs(l.Fragment,{children:[l.jsxs("tr",{className:"hover:bg-slate-100 dark:bg-[#0f0f16] transition-colors",children:[l.jsx("td",{className:"px-4 py-2 font-medium text-slate-800",children:o.name}),l.jsx("td",{className:"px-4 py-2 text-slate-600 text-xs",children:c}),l.jsx("td",{className:"px-4 py-2 text-right",children:l.jsxs("div",{className:"flex items-center justify-end gap-2",children:[l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:()=>n(o.id),children:[l.jsx(Wd,{size:14,className:"mr-1"}),d?"Hide":"View"]}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>t(o.id),children:"Activate"})]})})]},o.id),d&&l.jsx("tr",{children:l.jsx("td",{colSpan:3,className:"px-4 py-3 bg-slate-50 dark:bg-[#151518]",children:l.jsxs("div",{className:"text-xs text-slate-600 space-y-2",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"ID:"})," ",o.id]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Description:"})," ",o.description||"N/A"]}),o.created_at&&l.jsxs("p",{children:[l.jsx("strong",{children:"Created:"})," ",new Date(o.created_at).toLocaleString()]}),l.jsxs("div",{children:[l.jsx("strong",{children:"Configuration:"}),l.jsx("pre",{className:"mt-1 p-2 bg-slate-100 dark:bg-[#0f0f11] border border-transparent dark:border-[#222226] rounded text-xs overflow-auto max-h-48",children:JSON.stringify(f,null,2)})]})]})})})]})})})]})})]}):null:null}function Ofe(){const e=$d(),[t,r]=S.useState(null),n=t??e.pathname,a="/decision-engine/";return S.useLayoutEffect(()=>{if(!t)return;(e.pathname===t||e.pathname.startsWith(`${t}/`))&&r(null)},[e.pathname,t]),l.jsxs("aside",{className:"relative z-20 flex h-screen w-64 shrink-0 flex-col border-r border-slate-200 bg-white transition-colors duration-300 dark:border-[#22262f] dark:bg-[#06080d]",children:[l.jsx("div",{className:"flex h-[78px] shrink-0 items-center border-b border-slate-200 px-6 transition-colors duration-300 dark:border-[#22262f]",children:l.jsxs("div",{className:"flex items-center",children:[l.jsx("img",{src:`${a}logo/decision-engine-light.svg`,alt:"Juspay Decision Engine",className:"h-11 w-auto dark:hidden"}),l.jsx("img",{src:`${a}logo/decision-engine-dark.svg`,alt:"Juspay Decision Engine",className:"hidden h-11 w-auto dark:block"})]})}),l.jsxs("nav",{className:"flex-1 space-y-1 overflow-y-auto px-4 py-8",children:[l.jsx(za,{to:"/",icon:hle,end:!0,selectedPath:n,onNavigate:r,children:"Overview"}),l.jsx(za,{to:"/analytics",icon:Gh,selectedPath:n,onNavigate:r,children:"Analytics"}),l.jsx(za,{to:"/audit",icon:sl,selectedPath:n,onNavigate:r,children:"Decision Audit"}),l.jsx("div",{className:"flex items-center gap-2 px-3 pb-3 pt-8",children:l.jsx("span",{className:"text-[11px] font-bold uppercase tracking-widest text-slate-400 dark:text-[#6d768a]",children:"Routing"})}),l.jsx(za,{to:"/routing",icon:mc,end:!0,selectedPath:n,onNavigate:r,children:"Routing Hub"}),l.jsx(za,{to:"/routing/sr",icon:cR,indent:!0,selectedPath:n,onNavigate:r,children:"Auth-Rate Based"}),l.jsx(za,{to:"/routing/rules",icon:rle,indent:!0,selectedPath:n,onNavigate:r,children:"Rule-Based"}),l.jsx(za,{to:"/routing/volume",icon:Yh,indent:!0,selectedPath:n,onNavigate:r,children:"Volume Split"}),l.jsx(za,{to:"/routing/debit",icon:Kh,indent:!0,selectedPath:n,onNavigate:r,children:"Debit Routing"}),l.jsx("div",{className:"flex items-center gap-2 px-3 pb-3 pt-8",children:l.jsx("span",{className:"text-[11px] font-bold uppercase tracking-widest text-slate-400 dark:text-[#6d768a]",children:"Simulation"})}),l.jsx(za,{to:"/decisions",icon:xle,selectedPath:n,onNavigate:r,children:"Decision Explorer"})]}),l.jsx("div",{className:"border-t border-slate-200 bg-white px-6 py-5 transition-colors duration-300 dark:border-[#22262f] dark:bg-[#0a0d12]",children:l.jsx("span",{className:"text-[11px] font-medium tracking-wide text-slate-500 dark:text-[#7d879b]",children:"v1.4"})})]})}function za({to:e,icon:t,children:r,end:n,indent:a,selectedPath:i,onNavigate:s}){const o=is(),u=n?i===e:i===e||i.startsWith(`${e}/`);return l.jsxs("button",{type:"button","aria-current":u?"page":void 0,onMouseDown:c=>{c.detail>0&&c.preventDefault()},onClick:c=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s==null||s(e),c.currentTarget.blur(),o(e)},className:`group relative flex w-full appearance-none items-center gap-3 rounded-[16px] border-0 px-4 py-3 text-[14px] font-medium transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-[#3b82f6]/40 focus-visible:ring-offset-0 ${a?"pl-8":""} ${u?"bg-transparent text-slate-950 dark:text-white":"bg-transparent text-slate-500 hover:bg-slate-900/[0.025] hover:text-slate-900 dark:text-[#8d96aa] dark:hover:bg-white/[0.035] dark:hover:text-white"}`,children:[l.jsx("span",{"aria-hidden":"true",className:`absolute left-1 top-1/2 h-7 w-[3px] -translate-y-1/2 rounded-full transition-all duration-150 ${u?"bg-brand-600 opacity-100 dark:bg-sky-300":"opacity-0"}`}),l.jsx(t,{size:18,className:`transition-colors duration-200 ${u?"text-brand-600 dark:text-sky-300":"text-slate-400 group-hover:text-slate-700 dark:text-[#697387] dark:group-hover:text-white"}`,strokeWidth:u?2.5:2}),l.jsx("span",{className:"flex-1 text-left",children:r})]})}function Nfe(){const e=is(),{user:t,merchants:r,clearAuth:n,updateMerchant:a}=ua(),{setMerchantId:i}=Nn(),[s,o]=S.useState(()=>localStorage.getItem("theme")!=="light"),[u,c]=S.useState(!1),[f,d]=S.useState(null),p=S.useRef(null);S.useEffect(()=>{const y=window.document.documentElement;s?(y.classList.add("dark"),localStorage.setItem("theme","dark")):(y.classList.remove("dark"),localStorage.setItem("theme","light"))},[s]),S.useEffect(()=>{function y(m){p.current&&!p.current.contains(m.target)&&c(!1)}return document.addEventListener("mousedown",y),()=>document.removeEventListener("mousedown",y)},[]);async function h(){try{await ui("/auth/logout",{method:"POST"})}catch{}n(),e("/login",{replace:!0})}async function x(y){if(!(y===(t==null?void 0:t.merchantId)||f)){d(y);try{const m=await ui("/auth/switch-merchant",{method:"POST",body:JSON.stringify({merchant_id:y})});a(m.token,m.merchant_id,m.merchants),i(m.merchant_id),c(!1),window.location.reload()}catch{}finally{d(null)}}}const v=r.find(y=>y.merchant_id===(t==null?void 0:t.merchantId)),g=t!=null&&t.email?t.email.slice(0,2).toUpperCase():"ME";return l.jsxs("header",{className:"h-14 bg-white dark:bg-[#0c0c10] border-b border-[#e6e6ee] dark:border-[#1a1a24] flex items-center justify-between px-6 shrink-0 relative z-10",children:[l.jsx("div",{}),l.jsxs("div",{className:"flex items-center gap-2",children:[r.length>0&&l.jsxs("div",{className:"relative",ref:p,children:[l.jsxs("button",{onClick:()=>c(y=>!y),className:"flex items-center gap-2 h-8 px-3 rounded-lg border border-[#e6e6ee] dark:border-[#1a1a24] bg-white dark:bg-[#121218] hover:bg-slate-50 dark:hover:bg-[#18181f] transition-colors text-slate-700 dark:text-slate-300",children:[l.jsx(qh,{size:13,className:"text-slate-400 shrink-0"}),l.jsx("span",{className:"text-[12px] font-medium max-w-[140px] truncate",children:(v==null?void 0:v.merchant_name)??(t==null?void 0:t.merchantId)??"Select merchant"}),l.jsx(ks,{size:12,className:"text-slate-400 shrink-0"})]}),u&&l.jsxs("div",{className:"absolute right-0 top-10 w-60 bg-white dark:bg-[#0c0c10] border border-[#e6e6ee] dark:border-[#1a1a24] rounded-lg shadow-lg py-1 z-50",children:[l.jsx("p",{className:"px-3 py-1.5 text-[10px] font-semibold uppercase tracking-widest text-slate-400 dark:text-slate-500",children:"Merchants"}),r.map(y=>l.jsxs("button",{onClick:()=>x(y.merchant_id),disabled:f===y.merchant_id,className:"w-full flex items-center gap-2.5 px-3 py-2 hover:bg-slate-50 dark:hover:bg-[#13131a] transition-colors text-left",children:[l.jsx("div",{className:"w-6 h-6 rounded-md bg-brand-50 flex items-center justify-center shrink-0",children:l.jsx(qh,{size:12,className:"text-brand-600"})}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("p",{className:"text-[13px] font-medium text-slate-700 dark:text-slate-300 truncate",children:y.merchant_name}),l.jsx("p",{className:"text-[11px] text-slate-400 truncate",children:y.merchant_id})]}),y.merchant_id===(t==null?void 0:t.merchantId)&&l.jsx(ale,{size:13,className:"text-brand-600 shrink-0"})]},y.merchant_id)),l.jsx("div",{className:"border-t border-[#e6e6ee] dark:border-[#1a1a24] mt-1 pt-1",children:l.jsxs("button",{onClick:()=>{c(!1),e("/onboarding")},className:"w-full flex items-center gap-2.5 px-3 py-2 hover:bg-slate-50 dark:hover:bg-[#13131a] transition-colors text-left text-brand-600",children:[l.jsx(ci,{size:13}),l.jsx("span",{className:"text-[13px] font-medium",children:"Add merchant"})]})})]})]}),l.jsx("button",{onClick:()=>o(!s),className:"w-8 h-8 flex items-center justify-center rounded-lg text-slate-500 hover:bg-slate-100 dark:text-slate-400 dark:hover:bg-[#1a1a24] transition-colors","aria-label":"Toggle theme",children:s?l.jsx(_le,{size:16}):l.jsx(vle,{size:16})}),l.jsx("div",{className:"w-px h-5 bg-[#e6e6ee] dark:bg-[#1a1a24] mx-1"}),t&&l.jsxs("div",{className:"flex items-center gap-2 pl-1",children:[l.jsx("div",{className:"w-7 h-7 rounded-full bg-brand-600 flex items-center justify-center",children:l.jsx("span",{className:"text-[10px] font-semibold text-white",children:g})}),l.jsx("div",{className:"hidden sm:block",children:l.jsx("p",{className:"text-[13px] font-medium text-slate-700 dark:text-slate-300 leading-tight",children:t.email})})]}),l.jsx("button",{onClick:h,className:"w-8 h-8 flex items-center justify-center rounded-lg text-slate-500 hover:bg-red-50 hover:text-red-500 dark:text-slate-400 dark:hover:bg-red-950/30 dark:hover:text-red-400 transition-colors ml-1","aria-label":"Sign out",title:"Sign out",children:l.jsx(gle,{size:16})})]})]})}function Afe(){return l.jsxs("div",{className:"relative flex h-screen overflow-hidden bg-[#ffffff] text-slate-900 transition-colors duration-300 dark:bg-[#030507] dark:text-white",children:[l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(59,130,246,0.05),_transparent_22%),radial-gradient(circle_at_top_right,_rgba(14,165,233,0.04),_transparent_20%),linear-gradient(180deg,_rgba(255,255,255,1),_rgba(255,255,255,1))] dark:bg-[radial-gradient(circle_at_top_left,_rgba(56,189,248,0.06),_transparent_22%),linear-gradient(180deg,_rgba(3,5,7,1),_rgba(5,8,12,1))]"}),l.jsx("div",{className:"aurora-top"}),l.jsx(Ofe,{}),l.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden relative z-10",children:[l.jsx(Nfe,{}),l.jsx("main",{className:"relative flex-1 overflow-y-auto px-4 py-5 sm:px-5 sm:py-6 lg:px-6 lg:py-7 xl:px-8",children:l.jsx("div",{className:"mx-auto w-full max-w-[1760px] px-1 sm:px-2 lg:px-3",children:l.jsx(nP,{})})})]})]})}function Efe(){const e=ua(s=>s.token),t=ua(s=>s.setAuth),r=ua(s=>s.clearAuth),n=Nn(s=>s.setMerchantId),[a,i]=S.useState(e?"checking":"invalid");return S.useEffect(()=>{let s=!1;if(!e){i("invalid");return}return i("checking"),ui("/auth/me").then(o=>{var c;if(s)return;const u=o.merchant_id||((c=o.merchants[0])==null?void 0:c.merchant_id)||"";t(e,{userId:o.user_id,email:o.email,merchantId:u,role:o.role},o.merchants),n(u),i("ready")}).catch(()=>{s||(r(),n(""),i("invalid"))}),()=>{s=!0}},[e,t,r,n]),e?a==="checking"?l.jsx("div",{className:"dark flex min-h-screen items-center justify-center bg-[#030507] text-white",children:l.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-[#1d1d23] bg-[#111318] px-5 py-4 text-sm text-[#c7cfdb]",children:[l.jsx(S1,{size:16,className:"animate-spin text-[#7ea4ff]"}),"Validating session"]})}):a==="invalid"?l.jsx(cx,{to:"/login",replace:!0}):l.jsx(nP,{}):l.jsx(cx,{to:"/login",replace:!0})}function Pfe(e){return e.length<10?"Use at least 10 characters.":/[A-Z]/.test(e)?/[a-z]/.test(e)?/[0-9]/.test(e)?/[^A-Za-z0-9]/.test(e)?null:"Add at least one special character.":"Add at least one number.":"Add at least one lowercase letter.":"Add at least one uppercase letter."}function Cfe(){const e=is(),{setAuth:t,updateMerchant:r}=ua(),{setMerchantId:n}=Nn(),a="/decision-engine/",[i,s]=S.useState("login"),[o,u]=S.useState(""),[c,f]=S.useState(""),[d,p]=S.useState(""),[h,x]=S.useState(!1),[v,g]=S.useState(!1),[y,m]=S.useState(null);function w(b){s(b),m(null)}async function j(b){if(b.preventDefault(),m(null),i==="signup"){const _=Pfe(c);if(_){m(_);return}}g(!0);try{const _=i==="login"?"/auth/login":"/auth/signup",k=d.trim(),O=await ui(_,{method:"POST",body:JSON.stringify({email:o,password:c})});if(t(O.token,{userId:O.user_id,email:O.email,merchantId:O.merchant_id,role:O.role},O.merchants),O.merchant_id&&n(O.merchant_id),i==="signup"&&k&&!O.merchant_id){const E=await ui("/onboarding/merchant",{method:"POST",body:JSON.stringify({merchant_name:k})});r(E.token,E.merchant_id,E.merchants),n(E.merchant_id),e("/",{replace:!0});return}!O.merchant_id||O.merchants.length===0?e("/onboarding",{replace:!0}):e("/",{replace:!0})}catch(_){const k=_ instanceof Error?_.message:"Something went wrong",O=k.match(/API error \d+: (.+)/);if(O)try{const E=JSON.parse(O[1]);m(E.message??k)}catch{m(O[1])}else m(k)}finally{g(!1)}}return l.jsxs("div",{className:"dark relative min-h-screen overflow-hidden bg-white text-slate-900 dark:bg-[#030507] dark:text-white",children:[l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[linear-gradient(180deg,_rgba(255,255,255,1),_rgba(255,255,255,1))] dark:bg-[linear-gradient(180deg,_rgba(3,5,7,1),_rgba(5,8,12,1))]"}),l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_18%_18%,_rgba(59,130,246,0.06),_transparent_24%),radial-gradient(circle_at_78%_20%,_rgba(14,165,233,0.04),_transparent_18%),radial-gradient(circle_at_50%_100%,_rgba(14,165,233,0.03),_transparent_24%)] dark:bg-[radial-gradient(circle_at_18%_18%,_rgba(56,189,248,0.05),_transparent_24%),radial-gradient(circle_at_78%_20%,_rgba(59,130,246,0.04),_transparent_18%),radial-gradient(circle_at_50%_100%,_rgba(14,165,233,0.035),_transparent_24%)]"}),l.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.05] dark:opacity-[0.08] [background-image:linear-gradient(rgba(148,163,184,0.08)_1px,transparent_1px),linear-gradient(90deg,rgba(148,163,184,0.08)_1px,transparent_1px)] [background-size:56px_56px]"}),l.jsxs("div",{className:"relative z-10 grid min-h-screen lg:grid-cols-[1.06fr_0.94fr]",children:[l.jsxs("section",{className:"flex min-h-[44vh] flex-col border-b border-slate-200 px-6 py-8 dark:border-white/6 sm:px-10 lg:min-h-screen lg:border-b-0 lg:border-r lg:border-[#1d1d23] lg:px-14 lg:py-12 xl:px-16",children:[l.jsx("div",{className:"pt-2",children:l.jsx("img",{src:`${a}logo/decision-engine-dark.svg`,alt:"Juspay Decision Engine",className:"h-11 w-auto sm:h-12"})}),l.jsx("div",{className:"flex flex-1 items-center py-12 lg:py-0",children:l.jsxs("div",{className:"max-w-[620px] space-y-9",children:[l.jsxs("div",{className:"space-y-6",children:[l.jsx("h2",{className:"max-w-[10ch] text-[clamp(4rem,7vw,6.2rem)] font-semibold leading-[0.92] tracking-[-0.065em] text-slate-950 dark:text-white",children:"Route, inspect, and iterate from one control surface."}),l.jsx("p",{className:"max-w-[38rem] text-lg leading-9 text-slate-600 dark:text-[#9aa4b6] sm:text-[1.35rem]",children:"Sign in to the internal workspace used for gateway routing setup, merchant-scoped analytics, and payment audit review."})]}),l.jsxs("div",{className:"flex flex-wrap gap-3",children:[l.jsx(hv,{children:"Gateway routing"}),l.jsx(hv,{children:"Merchant analytics"}),l.jsx(hv,{children:"ClickHouse audit"})]})]})})]}),l.jsx("section",{className:"flex min-h-[56vh] items-center justify-center px-6 py-10 sm:px-10 lg:min-h-screen lg:px-14 lg:py-12 xl:px-16",children:l.jsxs("div",{className:"w-full max-w-[520px]",children:[l.jsxs("div",{className:"text-center",children:[l.jsx("h3",{className:"text-[clamp(2.25rem,3.6vw,3.15rem)] font-semibold tracking-[-0.05em] text-slate-950 dark:text-white",children:i==="login"?"Welcome back":"Create account"}),l.jsx("p",{className:"mt-3 text-base text-slate-500 dark:text-[#8a94a7]",children:i==="login"?"Sign in to access your dashboard":"Create operator access for your Decision Engine workspace"})]}),l.jsxs("div",{className:"mt-10",children:[l.jsxs("div",{className:"inline-flex rounded-full border border-slate-200 bg-white p-1 dark:border-[#27272a] dark:bg-[#121214]",children:[l.jsx(TN,{active:i==="login",onClick:()=>w("login"),children:"Sign in"}),l.jsx(TN,{active:i==="signup",onClick:()=>w("signup"),children:"Sign up"})]}),l.jsxs("div",{className:"mt-10 border-t border-slate-200 pt-10 dark:border-[#1d1d23]",children:[l.jsxs("form",{onSubmit:j,className:"space-y-5",children:[l.jsx(fv,{label:"Email",children:l.jsx(pv,{type:"email",value:o,onChange:b=>u(b.target.value),placeholder:"name@company.com",required:!0,icon:l.jsx(yle,{size:16})})}),i==="signup"?l.jsx(fv,{label:"Merchant name",footer:"This uses the same merchant onboarding step already present in the authenticated flow.",children:l.jsx(pv,{type:"text",value:d,onChange:b=>p(b.target.value),placeholder:"e.g. Acme Corp",required:!0,icon:l.jsx(qh,{size:16})})}):null,l.jsx(fv,{label:"Password",footer:i==="login"?"Password reset is managed by your internal operator admin.":"Use at least 10 characters with uppercase, lowercase, number, and special character.",children:l.jsxs("div",{className:"relative",children:[l.jsx(pv,{type:h?"text":"password",value:c,onChange:b=>f(b.target.value),placeholder:"Enter your password",required:!0,icon:l.jsx(mle,{size:16}),className:"pr-12"}),l.jsx("button",{type:"button",onClick:()=>x(b=>!b),className:"absolute right-4 top-1/2 -translate-y-1/2 text-slate-500 transition-colors hover:text-slate-200","aria-label":h?"Hide password":"Show password",children:h?l.jsx(Wd,{size:18}):l.jsx(dle,{size:18})})]})}),i==="signup"?l.jsx("p",{className:"text-xs leading-5 text-slate-500 dark:text-[#7b8496]",children:"Password policy: minimum 10 characters, including 1 uppercase letter, 1 lowercase letter, 1 number, and 1 special character."}):null,l.jsx(Nr,{error:y}),l.jsx("button",{type:"submit",disabled:v,className:"group inline-flex h-14 w-full items-center justify-center gap-2 rounded-2xl bg-[linear-gradient(90deg,#4371ff_0%,#3a63f4_100%)] px-5 text-sm font-semibold text-white transition-all duration-200 hover:brightness-110 disabled:cursor-not-allowed disabled:opacity-60",children:v?l.jsxs(l.Fragment,{children:[l.jsx(S1,{size:16,className:"animate-spin"}),"Authenticating"]}):l.jsxs(l.Fragment,{children:[i==="login"?"Enter workspace":"Create account",l.jsx(j1,{size:16,className:"transition-transform duration-200 group-hover:translate-x-0.5"})]})})]}),l.jsxs("div",{className:"mt-10 border-t border-slate-200 pt-6 text-center text-xs text-slate-500 dark:border-[#1d1d23] dark:text-[#667085]",children:[l.jsx("p",{children:"By continuing you agree to internal access policy and audit logging for operator actions."}),l.jsx("p",{className:"mt-4 text-slate-400 dark:text-[#525866]",children:"Juspay Decision Engine"})]})]})]})]})})]})]})}function TN({active:e,children:t,onClick:r}){return l.jsx("button",{type:"button",onClick:r,className:`rounded-full px-4 py-2 text-sm font-semibold transition-all duration-200 ${e?"bg-slate-950 text-white shadow-[0_8px_24px_-18px_rgba(15,23,42,0.45)] dark:bg-white dark:text-slate-950":"text-slate-500 hover:text-slate-950 dark:text-[#8a94a7] dark:hover:text-white"}`,children:t})}function fv({label:e,children:t,footer:r}){return l.jsxs("label",{className:"block",children:[l.jsx(an,{className:"mb-2 block text-slate-500 dark:text-[#8a94a7]",children:e}),t,r?l.jsx("p",{className:"mt-2 text-xs leading-5 text-slate-500 dark:text-[#7b8496]",children:r}):null]})}function pv({icon:e,className:t="",...r}){return l.jsxs("div",{className:"relative",children:[e?l.jsx("span",{className:"pointer-events-none absolute left-4 top-1/2 -translate-y-1/2 text-slate-400 dark:text-[#667085]",children:e}):null,l.jsx("input",{...r,className:`h-14 w-full rounded-2xl border border-slate-200 bg-white px-4 text-sm text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.12)] outline-none transition placeholder:text-slate-400 focus:border-brand-500 focus:ring-2 focus:ring-brand-500/20 dark:border-[#2a303a] dark:bg-[#161b24] dark:text-white dark:shadow-none ${e?"pl-12":""} ${t}`})]})}function hv({children:e}){return l.jsx("div",{className:"inline-flex items-center rounded-full border border-slate-200 bg-white px-4 py-2 text-sm text-slate-700 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.1)] dark:border-[#27272a] dark:bg-[#121214] dark:text-[#c6d0e1] dark:shadow-none",children:e})}function mv({children:e}){return l.jsx("span",{className:"inline-flex items-center rounded-full border border-slate-200 bg-white px-4 py-2 text-sm font-medium text-slate-700 dark:border-[#2a2d35] dark:bg-[#111318] dark:text-[#d0d7e2]",children:e})}function Tfe({label:e,children:t,footer:r}){return l.jsxs("div",{className:"space-y-3",children:[l.jsx("label",{className:"block text-xs font-semibold uppercase tracking-[0.24em] text-slate-500 dark:text-[#8d95a3]",children:e}),t,r?l.jsx("p",{className:"text-sm leading-6 text-slate-500 dark:text-[#707786]",children:r}):null]})}function $fe(){const e=is(),{updateMerchant:t}=ua(),{setMerchantId:r}=Nn(),n="/decision-engine/",[a,i]=S.useState(""),[s,o]=S.useState(!1),[u,c]=S.useState(null);async function f(d){d.preventDefault(),c(null),o(!0);try{const p=await ui("/onboarding/merchant",{method:"POST",body:JSON.stringify({merchant_name:a})});t(p.token,p.merchant_id,p.merchants),r(p.merchant_id),e("/",{replace:!0})}catch(p){const h=p instanceof Error?p.message:"Something went wrong",x=h.match(/API error \d+: (.+)/);if(x)try{const v=JSON.parse(x[1]);c(v.message??h)}catch{c(x[1])}else c(h)}finally{o(!1)}}return l.jsxs("div",{className:"dark relative min-h-screen overflow-hidden bg-white text-slate-900 dark:bg-[#030507] dark:text-white",children:[l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[linear-gradient(180deg,_rgba(255,255,255,1),_rgba(248,250,252,1))] dark:bg-[linear-gradient(180deg,_rgba(3,5,7,1),_rgba(5,8,12,1))]"}),l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_18%_18%,_rgba(59,130,246,0.06),_transparent_24%),radial-gradient(circle_at_78%_20%,_rgba(14,165,233,0.04),_transparent_18%),radial-gradient(circle_at_50%_100%,_rgba(14,165,233,0.03),_transparent_24%)] dark:bg-[radial-gradient(circle_at_20%_22%,_rgba(56,189,248,0.05),_transparent_24%),radial-gradient(circle_at_74%_18%,_rgba(59,130,246,0.04),_transparent_18%),radial-gradient(circle_at_50%_100%,_rgba(14,165,233,0.03),_transparent_24%)]"}),l.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.05] dark:opacity-[0.08] [background-image:linear-gradient(rgba(148,163,184,0.08)_1px,transparent_1px),linear-gradient(90deg,rgba(148,163,184,0.08)_1px,transparent_1px)] [background-size:56px_56px]"}),l.jsxs("div",{className:"relative z-10 grid min-h-screen lg:grid-cols-[1.08fr_0.92fr]",children:[l.jsxs("section",{className:"flex min-h-[42vh] flex-col border-b border-slate-200 dark:border-white/6 lg:min-h-screen lg:border-b-0 lg:border-r lg:border-[#1d1d23] px-6 py-8 sm:px-10 lg:px-14 lg:py-12 xl:px-16",children:[l.jsx("div",{className:"pt-2",children:l.jsx("img",{src:`${n}logo/decision-engine-dark.svg`,alt:"Juspay Decision Engine",className:"h-10 w-auto sm:h-11"})}),l.jsx("div",{className:"flex flex-1 items-center py-12 lg:py-0",children:l.jsxs("div",{className:"max-w-[620px] space-y-9",children:[l.jsxs("div",{className:"space-y-6",children:[l.jsx("h1",{className:"max-w-[10ch] text-[clamp(3.8rem,6.8vw,6rem)] font-semibold leading-[0.92] tracking-[-0.065em] text-slate-950 dark:text-white",children:"Configure the merchant workspace before first traffic."}),l.jsx("p",{className:"max-w-[38rem] text-lg leading-9 text-slate-600 dark:text-[#9aa4b6] sm:text-[1.3rem]",children:"Create the merchant shell once, then move straight into routing rules, analytics, and payment audit from the same control plane."})]}),l.jsxs("div",{className:"flex flex-wrap gap-3",children:[l.jsx(mv,{children:"Merchant workspace"}),l.jsx(mv,{children:"Routing controls"}),l.jsx(mv,{children:"Analytics ready"})]})]})})]}),l.jsx("section",{className:"flex min-h-[58vh] items-center justify-center px-6 py-10 sm:px-10 lg:min-h-screen lg:px-14 lg:py-12 xl:px-16",children:l.jsxs("div",{className:"w-full max-w-[540px]",children:[l.jsxs("div",{className:"text-center",children:[l.jsx("h2",{className:"text-[clamp(2.15rem,3.6vw,3.05rem)] font-semibold tracking-[-0.05em] text-slate-950 dark:text-white",children:"Create your merchant"}),l.jsx("p",{className:"mt-3 text-base text-slate-500 dark:text-[#8a94a7]",children:"Set up the merchant account that will own your Decision Engine workspace."})]}),l.jsxs("div",{className:"mt-10 border-t border-slate-200 pt-10 dark:border-[#1d1d23]",children:[l.jsxs("form",{onSubmit:f,className:"space-y-6",children:[l.jsx(Tfe,{label:"Merchant name",footer:"You can adjust downstream rules, connectors, and analytics after the workspace is created.",children:l.jsxs("div",{className:"relative",children:[l.jsx(qh,{size:16,className:"pointer-events-none absolute left-4 top-1/2 -translate-y-1/2 text-slate-500 dark:text-[#798191]"}),l.jsx("input",{type:"text",required:!0,autoFocus:!0,value:a,onChange:d=>i(d.target.value),placeholder:"e.g. Acme Corp",className:"h-16 w-full rounded-2xl border border-slate-200 bg-white pl-12 pr-5 text-[15px] text-slate-900 outline-none transition-all placeholder:text-slate-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 dark:border-[#2a2d35] dark:bg-[#1a1d25] dark:text-white dark:placeholder:text-[#6e7684] dark:focus:border-blue-500"})]})}),l.jsx(Nr,{error:u}),l.jsx("button",{type:"submit",disabled:s,className:"group inline-flex h-14 w-full items-center justify-center gap-2 rounded-2xl bg-[linear-gradient(90deg,#4371ff_0%,#3a63f4_100%)] px-5 text-sm font-semibold text-white transition-all duration-200 hover:brightness-110 disabled:cursor-not-allowed disabled:opacity-60",children:s?l.jsxs(l.Fragment,{children:[l.jsx(S1,{size:16,className:"animate-spin"}),"Creating workspace"]}):l.jsxs(l.Fragment,{children:["Create merchant",l.jsx(j1,{size:16,className:"transition-transform duration-200 group-hover:translate-x-0.5"})]})})]}),l.jsxs("div",{className:"mt-10 border-t border-slate-200 pt-6 text-center text-xs text-slate-500 dark:border-[#1d1d23] dark:text-[#667085]",children:[l.jsx("p",{children:"Workspace ownership and merchant-scoped access will be linked to your current operator session."}),l.jsx("p",{className:"mt-4 text-slate-400 dark:text-[#525866]",children:"Juspay Decision Engine"})]})]})]})})]})]})}function Rfe(){return l.jsxs(F3,{children:[l.jsx(Ur,{path:"login",element:l.jsx(Cfe,{})}),l.jsxs(Ur,{element:l.jsx(Efe,{}),children:[l.jsx(Ur,{path:"onboarding",element:l.jsx($fe,{})}),l.jsxs(Ur,{element:l.jsx(Afe,{}),children:[l.jsx(Ur,{index:!0,element:l.jsx(Xce,{})}),l.jsx(Ur,{path:"routing",element:l.jsx(hde,{})}),l.jsx(Ur,{path:"routing/sr",element:l.jsx(yfe,{})}),l.jsx(Ur,{path:"routing/rules",element:l.jsx(Gce,{})}),l.jsx(Ur,{path:"routing/volume",element:l.jsx(Sfe,{})}),l.jsx(Ur,{path:"routing/debit",element:l.jsx(Qle,{})}),l.jsx(Ur,{path:"decisions",element:l.jsx(Jle,{})}),l.jsx(Ur,{path:"analytics",element:l.jsx(Mle,{})}),l.jsx(Ur,{path:"audit",element:l.jsx(pde,{})}),l.jsx(Ur,{path:"*",element:l.jsx(cx,{to:".",replace:!0})})]})]})]})}class Ife extends S.Component{constructor(){super(...arguments);t_(this,"state",{error:null,errorInfo:null})}static getDerivedStateFromError(r){return{error:r,errorInfo:null}}componentDidCatch(r,n){console.log(` + `},fue={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:r}=e;return r?"Draggable item "+t.id+" was moved over droppable area "+r.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:r}=e;return r?"Draggable item "+t.id+" was dropped over droppable area "+r.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function pue(e){let{announcements:t=fue,container:r,hiddenTextDescribedById:n,screenReaderInstructions:a=due}=e;const{announce:i,announcement:s}=lue(),o=qd("DndLiveRegion"),[u,c]=S.useState(!1);if(S.useEffect(()=>{c(!0)},[]),uue(S.useMemo(()=>({onDragStart(d){let{active:p}=d;i(t.onDragStart({active:p}))},onDragMove(d){let{active:p,over:h}=d;t.onDragMove&&i(t.onDragMove({active:p,over:h}))},onDragOver(d){let{active:p,over:h}=d;i(t.onDragOver({active:p,over:h}))},onDragEnd(d){let{active:p,over:h}=d;i(t.onDragEnd({active:p,over:h}))},onDragCancel(d){let{active:p,over:h}=d;i(t.onDragCancel({active:p,over:h}))}}),[i,t])),!u)return null;const f=P.createElement(P.Fragment,null,P.createElement(sue,{id:n,value:a.draggable}),P.createElement(oue,{id:o,announcement:s}));return r?Bo.createPortal(f,r):f}var cr;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(cr||(cr={}));function Qh(){}function UO(e,t){return S.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function hue(){for(var e=arguments.length,t=new Array(e),r=0;r[...t].filter(n=>n!=null),[...t])}const fa=Object.freeze({x:0,y:0});function kR(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function OR(e,t){let{data:{value:r}}=e,{data:{value:n}}=t;return r-n}function mue(e,t){let{data:{value:r}}=e,{data:{value:n}}=t;return n-r}function VO(e){let{left:t,top:r,height:n,width:a}=e;return[{x:t,y:r},{x:t+a,y:r},{x:t,y:r+n},{x:t+a,y:r+n}]}function NR(e,t){if(!e||e.length===0)return null;const[r]=e;return r[t]}function WO(e,t,r){return t===void 0&&(t=e.left),r===void 0&&(r=e.top),{x:t+e.width*.5,y:r+e.height*.5}}const gue=e=>{let{collisionRect:t,droppableRects:r,droppableContainers:n}=e;const a=WO(t,t.left,t.top),i=[];for(const s of n){const{id:o}=s,u=r.get(o);if(u){const c=kR(WO(u),a);i.push({id:o,data:{droppableContainer:s,value:c}})}}return i.sort(OR)},yue=e=>{let{collisionRect:t,droppableRects:r,droppableContainers:n}=e;const a=VO(t),i=[];for(const s of n){const{id:o}=s,u=r.get(o);if(u){const c=VO(u),f=a.reduce((p,h,x)=>p+kR(c[x],h),0),d=Number((f/4).toFixed(4));i.push({id:o,data:{droppableContainer:s,value:d}})}}return i.sort(OR)};function vue(e,t){const r=Math.max(t.top,e.top),n=Math.max(t.left,e.left),a=Math.min(t.left+t.width,e.left+e.width),i=Math.min(t.top+t.height,e.top+e.height),s=a-n,o=i-r;if(n{let{collisionRect:t,droppableRects:r,droppableContainers:n}=e;const a=[];for(const i of n){const{id:s}=i,o=r.get(s);if(o){const u=vue(o,t);u>0&&a.push({id:s,data:{droppableContainer:i,value:u}})}}return a.sort(mue)};function bue(e,t,r){return{...e,scaleX:t&&r?t.width/r.width:1,scaleY:t&&r?t.height/r.height:1}}function AR(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:fa}function wue(e){return function(r){for(var n=arguments.length,a=new Array(n>1?n-1:0),i=1;i({...s,top:s.top+e*o.y,bottom:s.bottom+e*o.y,left:s.left+e*o.x,right:s.right+e*o.x}),{...r})}}const _ue=wue(1);function jue(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Sue(e,t,r){const n=jue(t);if(!n)return e;const{scaleX:a,scaleY:i,x:s,y:o}=n,u=e.left-s-(1-a)*parseFloat(r),c=e.top-o-(1-i)*parseFloat(r.slice(r.indexOf(" ")+1)),f=a?e.width/a:e.width,d=i?e.height/i:e.height;return{width:f,height:d,top:c,right:u+f,bottom:c+d,left:u}}const kue={ignoreTransform:!1};function hu(e,t){t===void 0&&(t=kue);let r=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:c,transformOrigin:f}=dn(e).getComputedStyle(e);c&&(r=Sue(r,c,f))}const{top:n,left:a,width:i,height:s,bottom:o,right:u}=r;return{top:n,left:a,width:i,height:s,bottom:o,right:u}}function HO(e){return hu(e,{ignoreTransform:!0})}function Oue(e){const t=e.innerWidth,r=e.innerHeight;return{top:0,left:0,right:t,bottom:r,width:t,height:r}}function Nue(e,t){return t===void 0&&(t=dn(e).getComputedStyle(e)),t.position==="fixed"}function Aue(e,t){t===void 0&&(t=dn(e).getComputedStyle(e));const r=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(a=>{const i=t[a];return typeof i=="string"?r.test(i):!1})}function xg(e,t){const r=[];function n(a){if(t!=null&&r.length>=t||!a)return r;if(N1(a)&&a.scrollingElement!=null&&!r.includes(a.scrollingElement))return r.push(a.scrollingElement),r;if(!Hd(a)||_R(a)||r.includes(a))return r;const i=dn(e).getComputedStyle(a);return a!==e&&Aue(a,i)&&r.push(a),Nue(a,i)?r:n(a.parentNode)}return e?n(e):r}function ER(e){const[t]=xg(e,1);return t??null}function qy(e){return!vg||!e?null:fu(e)?e:O1(e)?N1(e)||e===pu(e).scrollingElement?window:Hd(e)?e:null:null}function PR(e){return fu(e)?e.scrollX:e.scrollLeft}function CR(e){return fu(e)?e.scrollY:e.scrollTop}function ab(e){return{x:PR(e),y:CR(e)}}var vr;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(vr||(vr={}));function TR(e){return!vg||!e?!1:e===document.scrollingElement}function $R(e){const t={x:0,y:0},r=TR(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},n={x:e.scrollWidth-r.width,y:e.scrollHeight-r.height},a=e.scrollTop<=t.y,i=e.scrollLeft<=t.x,s=e.scrollTop>=n.y,o=e.scrollLeft>=n.x;return{isTop:a,isLeft:i,isBottom:s,isRight:o,maxScroll:n,minScroll:t}}const Eue={x:.2,y:.2};function Pue(e,t,r,n,a){let{top:i,left:s,right:o,bottom:u}=r;n===void 0&&(n=10),a===void 0&&(a=Eue);const{isTop:c,isBottom:f,isLeft:d,isRight:p}=$R(e),h={x:0,y:0},x={x:0,y:0},v={height:t.height*a.y,width:t.width*a.x};return!c&&i<=t.top+v.height?(h.y=vr.Backward,x.y=n*Math.abs((t.top+v.height-i)/v.height)):!f&&u>=t.bottom-v.height&&(h.y=vr.Forward,x.y=n*Math.abs((t.bottom-v.height-u)/v.height)),!p&&o>=t.right-v.width?(h.x=vr.Forward,x.x=n*Math.abs((t.right-v.width-o)/v.width)):!d&&s<=t.left+v.width&&(h.x=vr.Backward,x.x=n*Math.abs((t.left+v.width-s)/v.width)),{direction:h,speed:x}}function Cue(e){if(e===document.scrollingElement){const{innerWidth:i,innerHeight:s}=window;return{top:0,left:0,right:i,bottom:s,width:i,height:s}}const{top:t,left:r,right:n,bottom:a}=e.getBoundingClientRect();return{top:t,left:r,right:n,bottom:a,width:e.clientWidth,height:e.clientHeight}}function RR(e){return e.reduce((t,r)=>ol(t,ab(r)),fa)}function Tue(e){return e.reduce((t,r)=>t+PR(r),0)}function $ue(e){return e.reduce((t,r)=>t+CR(r),0)}function Rue(e,t){if(t===void 0&&(t=hu),!e)return;const{top:r,left:n,bottom:a,right:i}=t(e);ER(e)&&(a<=0||i<=0||r>=window.innerHeight||n>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const Iue=[["x",["left","right"],Tue],["y",["top","bottom"],$ue]];class P1{constructor(t,r){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=xg(r),a=RR(n);this.rect={...t},this.width=t.width,this.height=t.height;for(const[i,s,o]of Iue)for(const u of s)Object.defineProperty(this,u,{get:()=>{const c=o(n),f=a[i]-c;return this.rect[u]+f},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class gc{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(r=>{var n;return(n=this.target)==null?void 0:n.removeEventListener(...r)})},this.target=t}add(t,r,n){var a;(a=this.target)==null||a.addEventListener(t,r,n),this.listeners.push([t,r,n])}}function Mue(e){const{EventTarget:t}=dn(e);return e instanceof t?e:pu(e)}function Ky(e,t){const r=Math.abs(e.x),n=Math.abs(e.y);return typeof t=="number"?Math.sqrt(r**2+n**2)>t:"x"in t&&"y"in t?r>t.x&&n>t.y:"x"in t?r>t.x:"y"in t?n>t.y:!1}var $n;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})($n||($n={}));function GO(e){e.preventDefault()}function Due(e){e.stopPropagation()}var at;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"})(at||(at={}));const IR={start:[at.Space,at.Enter],cancel:[at.Esc],end:[at.Space,at.Enter,at.Tab]},Lue=(e,t)=>{let{currentCoordinates:r}=t;switch(e.code){case at.Right:return{...r,x:r.x+25};case at.Left:return{...r,x:r.x-25};case at.Down:return{...r,y:r.y+25};case at.Up:return{...r,y:r.y-25}}};class C1{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:r}}=t;this.props=t,this.listeners=new gc(pu(r)),this.windowListeners=new gc(dn(r)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add($n.Resize,this.handleCancel),this.windowListeners.add($n.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add($n.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:r}=this.props,n=t.node.current;n&&Rue(n),r(fa)}handleKeyDown(t){if(E1(t)){const{active:r,context:n,options:a}=this.props,{keyboardCodes:i=IR,coordinateGetter:s=Lue,scrollBehavior:o="smooth"}=a,{code:u}=t;if(i.end.includes(u)){this.handleEnd(t);return}if(i.cancel.includes(u)){this.handleCancel(t);return}const{collisionRect:c}=n.current,f=c?{x:c.left,y:c.top}:fa;this.referenceCoordinates||(this.referenceCoordinates=f);const d=s(t,{active:r,context:n.current,currentCoordinates:f});if(d){const p=_d(d,f),h={x:0,y:0},{scrollableAncestors:x}=n.current;for(const v of x){const g=t.code,{isTop:y,isRight:m,isLeft:w,isBottom:j,maxScroll:b,minScroll:_}=$R(v),k=Cue(v),O={x:Math.min(g===at.Right?k.right-k.width/2:k.right,Math.max(g===at.Right?k.left:k.left+k.width/2,d.x)),y:Math.min(g===at.Down?k.bottom-k.height/2:k.bottom,Math.max(g===at.Down?k.top:k.top+k.height/2,d.y))},E=g===at.Right&&!m||g===at.Left&&!w,T=g===at.Down&&!j||g===at.Up&&!y;if(E&&O.x!==d.x){const R=v.scrollLeft+p.x,N=g===at.Right&&R<=b.x||g===at.Left&&R>=_.x;if(N&&!p.y){v.scrollTo({left:R,behavior:o});return}N?h.x=v.scrollLeft-R:h.x=g===at.Right?v.scrollLeft-b.x:v.scrollLeft-_.x,h.x&&v.scrollBy({left:-h.x,behavior:o});break}else if(T&&O.y!==d.y){const R=v.scrollTop+p.y,N=g===at.Down&&R<=b.y||g===at.Up&&R>=_.y;if(N&&!p.x){v.scrollTo({top:R,behavior:o});return}N?h.y=v.scrollTop-R:h.y=g===at.Down?v.scrollTop-b.y:v.scrollTop-_.y,h.y&&v.scrollBy({top:-h.y,behavior:o});break}}this.handleMove(t,ol(_d(d,this.referenceCoordinates),h))}}}handleMove(t,r){const{onMove:n}=this.props;t.preventDefault(),n(r)}handleEnd(t){const{onEnd:r}=this.props;t.preventDefault(),this.detach(),r()}handleCancel(t){const{onCancel:r}=this.props;t.preventDefault(),this.detach(),r()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}C1.activators=[{eventName:"onKeyDown",handler:(e,t,r)=>{let{keyboardCodes:n=IR,onActivation:a}=t,{active:i}=r;const{code:s}=e.nativeEvent;if(n.start.includes(s)){const o=i.activatorNode.current;return o&&e.target!==o?!1:(e.preventDefault(),a==null||a({event:e.nativeEvent}),!0)}return!1}}];function qO(e){return!!(e&&"distance"in e)}function KO(e){return!!(e&&"delay"in e)}class T1{constructor(t,r,n){var a;n===void 0&&(n=Mue(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=r;const{event:i}=t,{target:s}=i;this.props=t,this.events=r,this.document=pu(s),this.documentListeners=new gc(this.document),this.listeners=new gc(n),this.windowListeners=new gc(dn(s)),this.initialCoordinates=(a=nb(i))!=null?a:fa,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:r,bypassActivationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),t.cancel&&this.listeners.add(t.cancel.name,this.handleCancel),this.windowListeners.add($n.Resize,this.handleCancel),this.windowListeners.add($n.DragStart,GO),this.windowListeners.add($n.VisibilityChange,this.handleCancel),this.windowListeners.add($n.ContextMenu,GO),this.documentListeners.add($n.Keydown,this.handleKeydown),r){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(KO(r)){this.timeoutId=setTimeout(this.handleStart,r.delay),this.handlePending(r);return}if(qO(r)){this.handlePending(r);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(t,r){const{active:n,onPending:a}=this.props;a(n,t,this.initialCoordinates,r)}handleStart(){const{initialCoordinates:t}=this,{onStart:r}=this.props;t&&(this.activated=!0,this.documentListeners.add($n.Click,Due,{capture:!0}),this.removeTextSelection(),this.documentListeners.add($n.SelectionChange,this.removeTextSelection),r(t))}handleMove(t){var r;const{activated:n,initialCoordinates:a,props:i}=this,{onMove:s,options:{activationConstraint:o}}=i;if(!a)return;const u=(r=nb(t))!=null?r:fa,c=_d(a,u);if(!n&&o){if(qO(o)){if(o.tolerance!=null&&Ky(c,o.tolerance))return this.handleCancel();if(Ky(c,o.distance))return this.handleStart()}if(KO(o)&&Ky(c,o.tolerance))return this.handleCancel();this.handlePending(o,c);return}t.cancelable&&t.preventDefault(),s(u)}handleEnd(){const{onAbort:t,onEnd:r}=this.props;this.detach(),this.activated||t(this.props.active),r()}handleCancel(){const{onAbort:t,onCancel:r}=this.props;this.detach(),this.activated||t(this.props.active),r()}handleKeydown(t){t.code===at.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const Fue={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class $1 extends T1{constructor(t){const{event:r}=t,n=pu(r.target);super(t,Fue,n)}}$1.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:n}=t;return!r.isPrimary||r.button!==0?!1:(n==null||n({event:r}),!0)}}];const zue={move:{name:"mousemove"},end:{name:"mouseup"}};var ib;(function(e){e[e.RightClick=2]="RightClick"})(ib||(ib={}));class Bue extends T1{constructor(t){super(t,zue,pu(t.event.target))}}Bue.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:n}=t;return r.button===ib.RightClick?!1:(n==null||n({event:r}),!0)}}];const Yy={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class Uue extends T1{constructor(t){super(t,Yy)}static setup(){return window.addEventListener(Yy.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(Yy.move.name,t)};function t(){}}}Uue.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:n}=t;const{touches:a}=r;return a.length>1?!1:(n==null||n({event:r}),!0)}}];var yc;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(yc||(yc={}));var em;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(em||(em={}));function Vue(e){let{acceleration:t,activator:r=yc.Pointer,canScroll:n,draggingRect:a,enabled:i,interval:s=5,order:o=em.TreeOrder,pointerCoordinates:u,scrollableAncestors:c,scrollableAncestorRects:f,delta:d,threshold:p}=e;const h=Hue({delta:d,disabled:!i}),[x,v]=tue(),g=S.useRef({x:0,y:0}),y=S.useRef({x:0,y:0}),m=S.useMemo(()=>{switch(r){case yc.Pointer:return u?{top:u.y,bottom:u.y,left:u.x,right:u.x}:null;case yc.DraggableRect:return a}},[r,a,u]),w=S.useRef(null),j=S.useCallback(()=>{const _=w.current;if(!_)return;const k=g.current.x*y.current.x,O=g.current.y*y.current.y;_.scrollBy(k,O)},[]),b=S.useMemo(()=>o===em.TreeOrder?[...c].reverse():c,[o,c]);S.useEffect(()=>{if(!i||!c.length||!m){v();return}for(const _ of b){if((n==null?void 0:n(_))===!1)continue;const k=c.indexOf(_),O=f[k];if(!O)continue;const{direction:E,speed:T}=Pue(_,O,m,t,p);for(const R of["x","y"])h[R][E[R]]||(T[R]=0,E[R]=0);if(T.x>0||T.y>0){v(),w.current=_,x(j,s),g.current=T,y.current=E;return}}g.current={x:0,y:0},y.current={x:0,y:0},v()},[t,j,n,v,i,s,JSON.stringify(m),JSON.stringify(h),x,c,b,f,JSON.stringify(p)])}const Wue={x:{[vr.Backward]:!1,[vr.Forward]:!1},y:{[vr.Backward]:!1,[vr.Forward]:!1}};function Hue(e){let{delta:t,disabled:r}=e;const n=rb(t);return Gd(a=>{if(r||!n||!a)return Wue;const i={x:Math.sign(t.x-n.x),y:Math.sign(t.y-n.y)};return{x:{[vr.Backward]:a.x[vr.Backward]||i.x===-1,[vr.Forward]:a.x[vr.Forward]||i.x===1},y:{[vr.Backward]:a.y[vr.Backward]||i.y===-1,[vr.Forward]:a.y[vr.Forward]||i.y===1}}},[r,t,n])}function Gue(e,t){const r=t!=null?e.get(t):void 0,n=r?r.node.current:null;return Gd(a=>{var i;return t==null?null:(i=n??a)!=null?i:null},[n,t])}function que(e,t){return S.useMemo(()=>e.reduce((r,n)=>{const{sensor:a}=n,i=a.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,n)}));return[...r,...i]},[]),[e,t])}var Sd;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Sd||(Sd={}));var sb;(function(e){e.Optimized="optimized"})(sb||(sb={}));const YO=new Map;function Kue(e,t){let{dragging:r,dependencies:n,config:a}=t;const[i,s]=S.useState(null),{frequency:o,measure:u,strategy:c}=a,f=S.useRef(e),d=g(),p=wd(d),h=S.useCallback(function(y){y===void 0&&(y=[]),!p.current&&s(m=>m===null?y:m.concat(y.filter(w=>!m.includes(w))))},[p]),x=S.useRef(null),v=Gd(y=>{if(d&&!r)return YO;if(!y||y===YO||f.current!==e||i!=null){const m=new Map;for(let w of e){if(!w)continue;if(i&&i.length>0&&!i.includes(w.id)&&w.rect.current){m.set(w.id,w.rect.current);continue}const j=w.node.current,b=j?new P1(u(j),j):null;w.rect.current=b,b&&m.set(w.id,b)}return m}return y},[e,i,r,d,u]);return S.useEffect(()=>{f.current=e},[e]),S.useEffect(()=>{d||h()},[r,d]),S.useEffect(()=>{i&&i.length>0&&s(null)},[JSON.stringify(i)]),S.useEffect(()=>{d||typeof o!="number"||x.current!==null||(x.current=setTimeout(()=>{h(),x.current=null},o))},[o,d,h,...n]),{droppableRects:v,measureDroppableContainers:h,measuringScheduled:i!=null};function g(){switch(c){case Sd.Always:return!1;case Sd.BeforeDragging:return r;default:return!r}}}function MR(e,t){return Gd(r=>e?r||(typeof t=="function"?t(e):e):null,[t,e])}function Yue(e,t){return MR(e,t)}function Xue(e){let{callback:t,disabled:r}=e;const n=A1(t),a=S.useMemo(()=>{if(r||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:i}=window;return new i(n)},[n,r]);return S.useEffect(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function bg(e){let{callback:t,disabled:r}=e;const n=A1(t),a=S.useMemo(()=>{if(r||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:i}=window;return new i(n)},[r]);return S.useEffect(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function Zue(e){return new P1(hu(e),e)}function XO(e,t,r){t===void 0&&(t=Zue);const[n,a]=S.useState(null);function i(){a(u=>{if(!e)return null;if(e.isConnected===!1){var c;return(c=u??r)!=null?c:null}const f=t(e);return JSON.stringify(u)===JSON.stringify(f)?u:f})}const s=Xue({callback(u){if(e)for(const c of u){const{type:f,target:d}=c;if(f==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),o=bg({callback:i});return Ra(()=>{i(),e?(o==null||o.observe(e),s==null||s.observe(document.body,{childList:!0,subtree:!0})):(o==null||o.disconnect(),s==null||s.disconnect())},[e]),n}function Jue(e){const t=MR(e);return AR(e,t)}const ZO=[];function Que(e){const t=S.useRef(e),r=Gd(n=>e?n&&n!==ZO&&e&&t.current&&e.parentNode===t.current.parentNode?n:xg(e):ZO,[e]);return S.useEffect(()=>{t.current=e},[e]),r}function ece(e){const[t,r]=S.useState(null),n=S.useRef(e),a=S.useCallback(i=>{const s=qy(i.target);s&&r(o=>o?(o.set(s,ab(s)),new Map(o)):null)},[]);return S.useEffect(()=>{const i=n.current;if(e!==i){s(i);const o=e.map(u=>{const c=qy(u);return c?(c.addEventListener("scroll",a,{passive:!0}),[c,ab(c)]):null}).filter(u=>u!=null);r(o.length?new Map(o):null),n.current=e}return()=>{s(e),s(i)};function s(o){o.forEach(u=>{const c=qy(u);c==null||c.removeEventListener("scroll",a)})}},[a,e]),S.useMemo(()=>e.length?t?Array.from(t.values()).reduce((i,s)=>ol(i,s),fa):RR(e):fa,[e,t])}function JO(e,t){t===void 0&&(t=[]);const r=S.useRef(null);return S.useEffect(()=>{r.current=null},t),S.useEffect(()=>{const n=e!==fa;n&&!r.current&&(r.current=e),!n&&r.current&&(r.current=null)},[e]),r.current?_d(e,r.current):fa}function tce(e){S.useEffect(()=>{if(!vg)return;const t=e.map(r=>{let{sensor:n}=r;return n.setup==null?void 0:n.setup()});return()=>{for(const r of t)r==null||r()}},e.map(t=>{let{sensor:r}=t;return r}))}function rce(e,t){return S.useMemo(()=>e.reduce((r,n)=>{let{eventName:a,handler:i}=n;return r[a]=s=>{i(s,t)},r},{}),[e,t])}function DR(e){return S.useMemo(()=>e?Oue(e):null,[e])}const QO=[];function nce(e,t){t===void 0&&(t=hu);const[r]=e,n=DR(r?dn(r):null),[a,i]=S.useState(QO);function s(){i(()=>e.length?e.map(u=>TR(u)?n:new P1(t(u),u)):QO)}const o=bg({callback:s});return Ra(()=>{o==null||o.disconnect(),s(),e.forEach(u=>o==null?void 0:o.observe(u))},[e]),a}function ace(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Hd(t)?t:e}function ice(e){let{measure:t}=e;const[r,n]=S.useState(null),a=S.useCallback(c=>{for(const{target:f}of c)if(Hd(f)){n(d=>{const p=t(f);return d?{...d,width:p.width,height:p.height}:p});break}},[t]),i=bg({callback:a}),s=S.useCallback(c=>{const f=ace(c);i==null||i.disconnect(),f&&(i==null||i.observe(f)),n(f?t(f):null)},[t,i]),[o,u]=Jh(s);return S.useMemo(()=>({nodeRef:o,rect:r,setRef:u}),[r,o,u])}const sce=[{sensor:$1,options:{}},{sensor:C1,options:{}}],oce={current:{}},hp={draggable:{measure:HO},droppable:{measure:HO,strategy:Sd.WhileDragging,frequency:sb.Optimized},dragOverlay:{measure:hu}};class vc extends Map{get(t){var r;return t!=null&&(r=super.get(t))!=null?r:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:r}=t;return!r})}getNodeFor(t){var r,n;return(r=(n=this.get(t))==null?void 0:n.node.current)!=null?r:void 0}}const lce={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new vc,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Qh},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:hp,measureDroppableContainers:Qh,windowRect:null,measuringScheduled:!1},uce={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Qh,draggableNodes:new Map,over:null,measureDroppableContainers:Qh},wg=S.createContext(uce),LR=S.createContext(lce);function cce(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new vc}}}function dce(e,t){switch(t.type){case cr.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case cr.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case cr.DragEnd:case cr.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case cr.RegisterDroppable:{const{element:r}=t,{id:n}=r,a=new vc(e.droppable.containers);return a.set(n,r),{...e,droppable:{...e.droppable,containers:a}}}case cr.SetDroppableDisabled:{const{id:r,key:n,disabled:a}=t,i=e.droppable.containers.get(r);if(!i||n!==i.key)return e;const s=new vc(e.droppable.containers);return s.set(r,{...i,disabled:a}),{...e,droppable:{...e.droppable,containers:s}}}case cr.UnregisterDroppable:{const{id:r,key:n}=t,a=e.droppable.containers.get(r);if(!a||n!==a.key)return e;const i=new vc(e.droppable.containers);return i.delete(r),{...e,droppable:{...e.droppable,containers:i}}}default:return e}}function fce(e){let{disabled:t}=e;const{active:r,activatorEvent:n,draggableNodes:a}=S.useContext(wg),i=rb(n),s=rb(r==null?void 0:r.id);return S.useEffect(()=>{if(!t&&!n&&i&&s!=null){if(!E1(i)||document.activeElement===i.target)return;const o=a.get(s);if(!o)return;const{activatorNode:u,node:c}=o;if(!u.current&&!c.current)return;requestAnimationFrame(()=>{for(const f of[u.current,c.current]){if(!f)continue;const d=aue(f);if(d){d.focus();break}}})}},[n,t,a,s,i]),null}function pce(e,t){let{transform:r,...n}=t;return e!=null&&e.length?e.reduce((a,i)=>i({transform:a,...n}),r):r}function hce(e){return S.useMemo(()=>({draggable:{...hp.draggable,...e==null?void 0:e.draggable},droppable:{...hp.droppable,...e==null?void 0:e.droppable},dragOverlay:{...hp.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function mce(e){let{activeNode:t,measure:r,initialRect:n,config:a=!0}=e;const i=S.useRef(!1),{x:s,y:o}=typeof a=="boolean"?{x:a,y:a}:a;Ra(()=>{if(!s&&!o||!t){i.current=!1;return}if(i.current||!n)return;const c=t==null?void 0:t.node.current;if(!c||c.isConnected===!1)return;const f=r(c),d=AR(f,n);if(s||(d.x=0),o||(d.y=0),i.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const p=ER(c);p&&p.scrollBy({top:d.y,left:d.x})}},[t,s,o,n,r])}const FR=S.createContext({...fa,scaleX:1,scaleY:1});var Oi;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(Oi||(Oi={}));const gce=S.memo(function(t){var r,n,a,i;let{id:s,accessibility:o,autoScroll:u=!0,children:c,sensors:f=sce,collisionDetection:d=xue,measuring:p,modifiers:h,...x}=t;const v=S.useReducer(dce,void 0,cce),[g,y]=v,[m,w]=cue(),[j,b]=S.useState(Oi.Uninitialized),_=j===Oi.Initialized,{draggable:{active:k,nodes:O,translate:E},droppable:{containers:T}}=g,R=k!=null?O.get(k):null,N=S.useRef({initial:null,translated:null}),$=S.useMemo(()=>{var pt;return k!=null?{id:k,data:(pt=R==null?void 0:R.data)!=null?pt:oce,rect:N}:null},[k,R]),I=S.useRef(null),[L,V]=S.useState(null),[H,M]=S.useState(null),B=wd(x,Object.values(x)),W=qd("DndDescribedBy",s),G=S.useMemo(()=>T.getEnabled(),[T]),K=hce(p),{droppableRects:ee,measureDroppableContainers:q,measuringScheduled:le}=Kue(G,{dragging:_,dependencies:[E.x,E.y],config:K.droppable}),ge=Gue(O,k),$e=S.useMemo(()=>H?nb(H):null,[H]),Pe=Zt(),J=Yue(ge,K.draggable.measure);mce({activeNode:k!=null?O.get(k):null,config:Pe.layoutShiftCompensation,initialRect:J,measure:K.draggable.measure});const ue=XO(ge,K.draggable.measure,J),de=XO(ge?ge.parentElement:null),X=S.useRef({activatorEvent:null,active:null,activeNode:ge,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:O,draggingNode:null,draggingNodeRect:null,droppableContainers:T,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),we=T.getNodeFor((r=X.current.over)==null?void 0:r.id),ye=ice({measure:K.dragOverlay.measure}),qe=(n=ye.nodeRef.current)!=null?n:ge,De=_?(a=ye.rect)!=null?a:ue:null,ke=!!(ye.nodeRef.current&&ye.rect),Re=Jue(ke?null:ue),Ie=DR(qe?dn(qe):null),Oe=Que(_?we??ge:null),Ge=nce(Oe),We=pce(h,{transform:{x:E.x-Re.x,y:E.y-Re.y,scaleX:1,scaleY:1},activatorEvent:H,active:$,activeNodeRect:ue,containerNodeRect:de,draggingNodeRect:De,over:X.current.over,overlayNodeRect:ye.rect,scrollableAncestors:Oe,scrollableAncestorRects:Ge,windowRect:Ie}),C=$e?ol($e,E):null,z=ece(Oe),U=JO(z),ae=JO(z,[ue]),te=ol(We,U),Q=De?_ue(De,We):null,ne=$&&Q?d({active:$,collisionRect:Q,droppableRects:ee,droppableContainers:G,pointerCoordinates:C}):null,_e=NR(ne,"id"),[Ne,dt]=S.useState(null),mt=ke?We:ol(We,ae),Lt=bue(mt,(i=Ne==null?void 0:Ne.rect)!=null?i:null,ue),zr=S.useRef(null),Pr=S.useCallback((pt,Pt)=>{let{sensor:Ye,options:Br}=Pt;if(I.current==null)return;const st=O.get(I.current);if(!st)return;const Ct=pt.nativeEvent,Tt=new Ye({active:I.current,activeNode:st,event:Ct,options:Br,context:X,onAbort(Gt){if(!O.get(Gt))return;const{onDragAbort:mr}=B.current,Zr={id:Gt};mr==null||mr(Zr),m({type:"onDragAbort",event:Zr})},onPending(Gt,fn,mr,Zr){if(!O.get(Gt))return;const{onDragPending:ga}=B.current,pn={id:Gt,constraint:fn,initialCoordinates:mr,offset:Zr};ga==null||ga(pn),m({type:"onDragPending",event:pn})},onStart(Gt){const fn=I.current;if(fn==null)return;const mr=O.get(fn);if(!mr)return;const{onDragStart:Zr}=B.current,ma={activatorEvent:Ct,active:{id:fn,data:mr.data,rect:N}};Bo.unstable_batchedUpdates(()=>{Zr==null||Zr(ma),b(Oi.Initializing),y({type:cr.DragStart,initialCoordinates:Gt,active:fn}),m({type:"onDragStart",event:ma}),V(zr.current),M(Ct)})},onMove(Gt){y({type:cr.DragMove,coordinates:Gt})},onEnd:qn(cr.DragEnd),onCancel:qn(cr.DragCancel)});zr.current=Tt;function qn(Gt){return async function(){const{active:mr,collisions:Zr,over:ma,scrollAdjustedTranslate:ga}=X.current;let pn=null;if(mr&&ga){const{cancelDrop:Kn}=B.current;pn={activatorEvent:Ct,active:mr,collisions:Zr,delta:ga,over:ma},Gt===cr.DragEnd&&typeof Kn=="function"&&await Promise.resolve(Kn(pn))&&(Gt=cr.DragCancel)}I.current=null,Bo.unstable_batchedUpdates(()=>{y({type:Gt}),b(Oi.Uninitialized),dt(null),V(null),M(null),zr.current=null;const Kn=Gt===cr.DragEnd?"onDragEnd":"onDragCancel";if(pn){const Da=B.current[Kn];Da==null||Da(pn),m({type:Kn,event:pn})}})}}},[O]),Cr=S.useCallback((pt,Pt)=>(Ye,Br)=>{const st=Ye.nativeEvent,Ct=O.get(Br);if(I.current!==null||!Ct||st.dndKit||st.defaultPrevented)return;const Tt={active:Ct};pt(Ye,Pt.options,Tt)===!0&&(st.dndKit={capturedBy:Pt.sensor},I.current=Br,Pr(Ye,Pt))},[O,Pr]),Y=que(f,Cr);tce(f),Ra(()=>{ue&&j===Oi.Initializing&&b(Oi.Initialized)},[ue,j]),S.useEffect(()=>{const{onDragMove:pt}=B.current,{active:Pt,activatorEvent:Ye,collisions:Br,over:st}=X.current;if(!Pt||!Ye)return;const Ct={active:Pt,activatorEvent:Ye,collisions:Br,delta:{x:te.x,y:te.y},over:st};Bo.unstable_batchedUpdates(()=>{pt==null||pt(Ct),m({type:"onDragMove",event:Ct})})},[te.x,te.y]),S.useEffect(()=>{const{active:pt,activatorEvent:Pt,collisions:Ye,droppableContainers:Br,scrollAdjustedTranslate:st}=X.current;if(!pt||I.current==null||!Pt||!st)return;const{onDragOver:Ct}=B.current,Tt=Br.get(_e),qn=Tt&&Tt.rect.current?{id:Tt.id,rect:Tt.rect.current,data:Tt.data,disabled:Tt.disabled}:null,Gt={active:pt,activatorEvent:Pt,collisions:Ye,delta:{x:st.x,y:st.y},over:qn};Bo.unstable_batchedUpdates(()=>{dt(qn),Ct==null||Ct(Gt),m({type:"onDragOver",event:Gt})})},[_e]),Ra(()=>{X.current={activatorEvent:H,active:$,activeNode:ge,collisionRect:Q,collisions:ne,droppableRects:ee,draggableNodes:O,draggingNode:qe,draggingNodeRect:De,droppableContainers:T,over:Ne,scrollableAncestors:Oe,scrollAdjustedTranslate:te},N.current={initial:De,translated:Q}},[$,ge,ne,Q,O,qe,De,ee,T,Ne,Oe,te]),Vue({...Pe,delta:E,draggingRect:Q,pointerCoordinates:C,scrollableAncestors:Oe,scrollableAncestorRects:Ge});const Me=S.useMemo(()=>({active:$,activeNode:ge,activeNodeRect:ue,activatorEvent:H,collisions:ne,containerNodeRect:de,dragOverlay:ye,draggableNodes:O,droppableContainers:T,droppableRects:ee,over:Ne,measureDroppableContainers:q,scrollableAncestors:Oe,scrollableAncestorRects:Ge,measuringConfiguration:K,measuringScheduled:le,windowRect:Ie}),[$,ge,ue,H,ne,de,ye,O,T,ee,Ne,q,Oe,Ge,K,le,Ie]),ft=S.useMemo(()=>({activatorEvent:H,activators:Y,active:$,activeNodeRect:ue,ariaDescribedById:{draggable:W},dispatch:y,draggableNodes:O,over:Ne,measureDroppableContainers:q}),[H,Y,$,ue,y,W,O,Ne,q]);return P.createElement(SR.Provider,{value:w},P.createElement(wg.Provider,{value:ft},P.createElement(LR.Provider,{value:Me},P.createElement(FR.Provider,{value:Lt},c)),P.createElement(fce,{disabled:(o==null?void 0:o.restoreFocus)===!1})),P.createElement(pue,{...o,hiddenTextDescribedById:W}));function Zt(){const pt=(L==null?void 0:L.autoScrollEnabled)===!1,Pt=typeof u=="object"?u.enabled===!1:u===!1,Ye=_&&!pt&&!Pt;return typeof u=="object"?{...u,enabled:Ye}:{enabled:Ye}}}),yce=S.createContext(null),eN="button",vce="Draggable";function xce(e){let{id:t,data:r,disabled:n=!1,attributes:a}=e;const i=qd(vce),{activators:s,activatorEvent:o,active:u,activeNodeRect:c,ariaDescribedById:f,draggableNodes:d,over:p}=S.useContext(wg),{role:h=eN,roleDescription:x="draggable",tabIndex:v=0}=a??{},g=(u==null?void 0:u.id)===t,y=S.useContext(g?FR:yce),[m,w]=Jh(),[j,b]=Jh(),_=rce(s,t),k=wd(r);Ra(()=>(d.set(t,{id:t,key:i,node:m,activatorNode:j,data:k}),()=>{const E=d.get(t);E&&E.key===i&&d.delete(t)}),[d,t]);const O=S.useMemo(()=>({role:h,tabIndex:v,"aria-disabled":n,"aria-pressed":g&&h===eN?!0:void 0,"aria-roledescription":x,"aria-describedby":f.draggable}),[n,h,v,g,x,f.draggable]);return{active:u,activatorEvent:o,activeNodeRect:c,attributes:O,isDragging:g,listeners:n?void 0:_,node:m,over:p,setNodeRef:w,setActivatorNodeRef:b,transform:y}}function bce(){return S.useContext(LR)}const wce="Droppable",_ce={timeout:25};function jce(e){let{data:t,disabled:r=!1,id:n,resizeObserverConfig:a}=e;const i=qd(wce),{active:s,dispatch:o,over:u,measureDroppableContainers:c}=S.useContext(wg),f=S.useRef({disabled:r}),d=S.useRef(!1),p=S.useRef(null),h=S.useRef(null),{disabled:x,updateMeasurementsFor:v,timeout:g}={..._ce,...a},y=wd(v??n),m=S.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{c(Array.isArray(y.current)?y.current:[y.current]),h.current=null},g)},[g]),w=bg({callback:m,disabled:x||!s}),j=S.useCallback((O,E)=>{w&&(E&&(w.unobserve(E),d.current=!1),O&&w.observe(O))},[w]),[b,_]=Jh(j),k=wd(t);return S.useEffect(()=>{!w||!b.current||(w.disconnect(),d.current=!1,w.observe(b.current))},[b,w]),S.useEffect(()=>(o({type:cr.RegisterDroppable,element:{id:n,key:i,disabled:r,node:b,rect:p,data:k}}),()=>o({type:cr.UnregisterDroppable,key:i,id:n})),[n]),S.useEffect(()=>{r!==f.current.disabled&&(o({type:cr.SetDroppableDisabled,id:n,key:i,disabled:r}),f.current.disabled=r)},[n,i,r,o]),{active:s,rect:p,isOver:(u==null?void 0:u.id)===n,node:b,over:u,setNodeRef:_}}function R1(e,t,r){const n=e.slice();return n.splice(r<0?n.length+r:r,0,n.splice(t,1)[0]),n}function Sce(e,t){return e.reduce((r,n,a)=>{const i=t.get(n);return i&&(r[a]=i),r},Array(e.length))}function Hf(e){return e!==null&&e>=0}function kce(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0;r{let{rects:t,activeIndex:r,overIndex:n,index:a}=e;const i=R1(t,n,r),s=t[a],o=i[a];return!o||!s?null:{x:o.left-s.left,y:o.top-s.top,scaleX:o.width/s.width,scaleY:o.height/s.height}},Gf={scaleX:1,scaleY:1},Nce=e=>{var t;let{activeIndex:r,activeNodeRect:n,index:a,rects:i,overIndex:s}=e;const o=(t=i[r])!=null?t:n;if(!o)return null;if(a===r){const c=i[s];return c?{x:0,y:rr&&a<=s?{x:0,y:-o.height-u,...Gf}:a=s?{x:0,y:o.height+u,...Gf}:{x:0,y:0,...Gf}};function Ace(e,t,r){const n=e[t],a=e[t-1],i=e[t+1];return n?rn.map(_=>typeof _=="object"&&"id"in _?_.id:_),[n]),x=s!=null,v=s?h.indexOf(s.id):-1,g=c?h.indexOf(c.id):-1,y=S.useRef(h),m=!kce(h,y.current),w=g!==-1&&v===-1||m,j=Oce(i);Ra(()=>{m&&x&&f(h)},[m,h,x,f]),S.useEffect(()=>{y.current=h},[h]);const b=S.useMemo(()=>({activeIndex:v,containerId:d,disabled:j,disableTransforms:w,items:h,overIndex:g,useDragOverlay:p,sortedRects:Sce(h,u),strategy:a}),[v,d,j.draggable,j.droppable,w,h,g,u,p,a]);return P.createElement(UR.Provider,{value:b},t)}const Pce=e=>{let{id:t,items:r,activeIndex:n,overIndex:a}=e;return R1(r,n,a).indexOf(t)},Cce=e=>{let{containerId:t,isSorting:r,wasDragging:n,index:a,items:i,newIndex:s,previousItems:o,previousContainerId:u,transition:c}=e;return!c||!n||o!==i&&a===s?!1:r?!0:s!==a&&t===u},Tce={duration:200,easing:"ease"},VR="transform",$ce=jd.Transition.toString({property:VR,duration:0,easing:"linear"}),Rce={roleDescription:"sortable"};function Ice(e){let{disabled:t,index:r,node:n,rect:a}=e;const[i,s]=S.useState(null),o=S.useRef(r);return Ra(()=>{if(!t&&r!==o.current&&n.current){const u=a.current;if(u){const c=hu(n.current,{ignoreTransform:!0}),f={x:u.left-c.left,y:u.top-c.top,scaleX:u.width/c.width,scaleY:u.height/c.height};(f.x||f.y)&&s(f)}}r!==o.current&&(o.current=r)},[t,r,n,a]),S.useEffect(()=>{i&&s(null)},[i]),i}function Mce(e){let{animateLayoutChanges:t=Cce,attributes:r,disabled:n,data:a,getNewIndex:i=Pce,id:s,strategy:o,resizeObserverConfig:u,transition:c=Tce}=e;const{items:f,containerId:d,activeIndex:p,disabled:h,disableTransforms:x,sortedRects:v,overIndex:g,useDragOverlay:y,strategy:m}=S.useContext(UR),w=Dce(n,h),j=f.indexOf(s),b=S.useMemo(()=>({sortable:{containerId:d,index:j,items:f},...a}),[d,a,j,f]),_=S.useMemo(()=>f.slice(f.indexOf(s)),[f,s]),{rect:k,node:O,isOver:E,setNodeRef:T}=jce({id:s,data:b,disabled:w.droppable,resizeObserverConfig:{updateMeasurementsFor:_,...u}}),{active:R,activatorEvent:N,activeNodeRect:$,attributes:I,setNodeRef:L,listeners:V,isDragging:H,over:M,setActivatorNodeRef:B,transform:W}=xce({id:s,data:b,attributes:{...Rce,...r},disabled:w.draggable}),G=eue(T,L),K=!!R,ee=K&&!x&&Hf(p)&&Hf(g),q=!y&&H,le=q&&ee?W:null,$e=ee?le??(o??m)({rects:v,activeNodeRect:$,activeIndex:p,overIndex:g,index:j}):null,Pe=Hf(p)&&Hf(g)?i({id:s,items:f,activeIndex:p,overIndex:g}):j,J=R==null?void 0:R.id,ue=S.useRef({activeId:J,items:f,newIndex:Pe,containerId:d}),de=f!==ue.current.items,X=t({active:R,containerId:d,isDragging:H,isSorting:K,id:s,index:j,items:f,newIndex:ue.current.newIndex,previousItems:ue.current.items,previousContainerId:ue.current.containerId,transition:c,wasDragging:ue.current.activeId!=null}),we=Ice({disabled:!X,index:j,node:O,rect:k});return S.useEffect(()=>{K&&ue.current.newIndex!==Pe&&(ue.current.newIndex=Pe),d!==ue.current.containerId&&(ue.current.containerId=d),f!==ue.current.items&&(ue.current.items=f)},[K,Pe,d,f]),S.useEffect(()=>{if(J===ue.current.activeId)return;if(J&&!ue.current.activeId){ue.current.activeId=J;return}const qe=setTimeout(()=>{ue.current.activeId=J},50);return()=>clearTimeout(qe)},[J]),{active:R,activeIndex:p,attributes:I,data:b,rect:k,index:j,newIndex:Pe,items:f,isOver:E,isSorting:K,isDragging:H,listeners:V,node:O,overIndex:g,over:M,setNodeRef:G,setActivatorNodeRef:B,setDroppableNodeRef:T,setDraggableNodeRef:L,transform:we??$e,transition:ye()};function ye(){if(we||de&&ue.current.newIndex===j)return $ce;if(!(q&&!E1(N)||!c)&&(K||X))return jd.Transition.toString({...c,property:VR})}}function Dce(e,t){var r,n;return typeof e=="boolean"?{draggable:e,droppable:!1}:{draggable:(r=e==null?void 0:e.draggable)!=null?r:t.draggable,droppable:(n=e==null?void 0:e.droppable)!=null?n:t.droppable}}function tm(e){if(!e)return!1;const t=e.data.current;return!!(t&&"sortable"in t&&typeof t.sortable=="object"&&"containerId"in t.sortable&&"items"in t.sortable&&"index"in t.sortable)}const Lce=[at.Down,at.Right,at.Up,at.Left],Fce=(e,t)=>{let{context:{active:r,collisionRect:n,droppableRects:a,droppableContainers:i,over:s,scrollableAncestors:o}}=t;if(Lce.includes(e.code)){if(e.preventDefault(),!r||!n)return;const u=[];i.getEnabled().forEach(d=>{if(!d||d!=null&&d.disabled)return;const p=a.get(d.id);if(p)switch(e.code){case at.Down:n.topp.top&&u.push(d);break;case at.Left:n.left>p.left&&u.push(d);break;case at.Right:n.left1&&(f=c[1].id),f!=null){const d=i.get(r.id),p=i.get(f),h=p?a.get(p.id):null,x=p==null?void 0:p.node.current;if(x&&h&&d&&p){const g=xg(x).some((_,k)=>o[k]!==_),y=WR(d,p),m=zce(d,p),w=g||!y?{x:0,y:0}:{x:m?n.width-h.width:0,y:m?n.height-h.height:0},j={x:h.left,y:h.top};return w.x&&w.y?j:_d(j,w)}}}};function WR(e,t){return!tm(e)||!tm(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function zce(e,t){return!tm(e)||!tm(t)||!WR(e,t)?!1:e.data.current.sortable.index":"greater_than","<":"less_than",">=":"greater_than_equal","<=":"less_than_equal"};function Uce({id:e,name:t,onRemove:r}){const{attributes:n,listeners:a,setNodeRef:i,transform:s,transition:o}=Mce({id:e}),u={transform:jd.Transform.toString(s),transition:o};return l.jsxs("div",{ref:i,style:u,className:"flex items-center gap-2 bg-slate-100 dark:bg-[#111118] border border-slate-200 dark:border-[#1c1c24] rounded-lg px-2 py-1.5",children:[l.jsx("span",{...n,...a,className:"cursor-grab text-slate-400",children:l.jsx(fle,{size:14})}),l.jsx("span",{className:"text-sm flex-1 font-mono",children:t}),l.jsx("button",{type:"button",onClick:r,className:"text-red-400 hover:text-red-600",children:l.jsx(di,{size:12})})]})}function HR({gateways:e,onChange:t}){const[r,n]=S.useState(""),[a,i]=S.useState(""),s=hue(UO($1),UO(C1,{coordinateGetter:Fce}));function o(c){const{active:f,over:d}=c;if(d&&f.id!==d.id){const p=e.findIndex(x=>x.id===f.id),h=e.findIndex(x=>x.id===d.id);t(R1(e,p,h))}}function u(){r.trim()&&(t([...e,{id:crypto.randomUUID(),gatewayName:r.trim(),gatewayId:a.trim()}]),n(""),i(""))}return l.jsxs("div",{className:"space-y-2",children:[l.jsx(gce,{sensors:s,collisionDetection:gue,onDragEnd:o,children:l.jsx(Ece,{items:e.map(c=>c.id),strategy:Nce,children:e.map((c,f)=>l.jsx(Uce,{id:c.id,name:`${f+1}. ${c.gatewayName}${c.gatewayId?` (${c.gatewayId})`:""}`,onRemove:()=>t(e.filter(d=>d.id!==c.id))},c.id))})}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx("input",{value:r,onChange:c=>n(c.target.value),onKeyDown:c=>c.key==="Enter"&&(c.preventDefault(),u()),placeholder:"gateway_name",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{value:a,onChange:c=>i(c.target.value),onKeyDown:c=>c.key==="Enter"&&(c.preventDefault(),u()),placeholder:"gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsxs(Ae,{type:"button",size:"sm",variant:"secondary",onClick:u,children:[l.jsx(ci,{size:13})," Add"]})]})]})}function GR({gateways:e,onChange:t}){const[r,n]=S.useState(""),[a,i]=S.useState(""),s=e.reduce((u,c)=>u+c.split,0);function o(){r.trim()&&(t([...e,{id:crypto.randomUUID(),gatewayName:r.trim(),gatewayId:a.trim(),split:0}]),n(""),i(""))}return l.jsxs("div",{className:"space-y-2",children:[e.map(u=>l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("input",{value:u.gatewayName,onChange:c=>t(e.map(f=>f.id===u.id?{...f,gatewayName:c.target.value}:f)),placeholder:"gateway_name",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs w-32 focus:outline-none"}),l.jsx("input",{value:u.gatewayId,onChange:c=>t(e.map(f=>f.id===u.id?{...f,gatewayId:c.target.value}:f)),placeholder:"gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs w-28 focus:outline-none"}),l.jsx("input",{type:"range",min:0,max:100,value:u.split,onChange:c=>t(e.map(f=>f.id===u.id?{...f,split:Number(c.target.value)}:f)),className:"flex-1 accent-brand-500"}),l.jsxs("span",{className:"text-sm w-10 text-right",children:[u.split,"%"]}),l.jsx("button",{type:"button",onClick:()=>t(e.filter(c=>c.id!==u.id)),className:"text-red-400 hover:text-red-600",children:l.jsx(di,{size:12})})]},u.id)),l.jsxs("div",{className:`text-xs font-medium ${s===100?"text-emerald-400":"text-red-400"}`,children:["Total: ",s,"% ",s!==100&&"(must equal 100)"]}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx("input",{value:r,onChange:u=>n(u.target.value),onKeyDown:u=>u.key==="Enter"&&(u.preventDefault(),o()),placeholder:"gateway_name",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{value:a,onChange:u=>i(u.target.value),onKeyDown:u=>u.key==="Enter"&&(u.preventDefault(),o()),placeholder:"gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm flex-1 focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsxs(Ae,{type:"button",size:"sm",variant:"secondary",onClick:o,children:[l.jsx(ci,{size:13})," Add"]})]})]})}function Vce({row:e,onChange:t,onRemove:r,routingKeys:n}){var u;const a=n[e.lhs],i=(a==null?void 0:a.type)==="enum",o=(a==null?void 0:a.type)==="integer"?[">","<",">=","<=","==","!="]:["==","!="];return l.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[l.jsx("select",{value:e.lhs,onChange:c=>t({...e,lhs:c.target.value,value:"",operator:"=="}),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs focus:outline-none",children:Object.keys(n).map(c=>l.jsx("option",{value:c,children:c},c))}),l.jsx("select",{value:e.operator,onChange:c=>t({...e,operator:c.target.value}),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs focus:outline-none",children:o.map(c=>l.jsx("option",{value:c,children:c},c))}),i?l.jsxs("select",{value:e.value,onChange:c=>t({...e,value:c.target.value}),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs focus:outline-none",children:[l.jsx("option",{value:"",children:"select..."}),(((u=n[e.lhs])==null?void 0:u.values)||[]).map(c=>l.jsx("option",{value:c,children:c},c))]}):l.jsx("input",{type:"number",value:e.value,onChange:c=>t({...e,value:c.target.value}),placeholder:"value",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-xs w-24 focus:outline-none"}),l.jsx("button",{type:"button",onClick:r,className:"text-red-400 hover:text-red-600",children:l.jsx(di,{size:12})})]})}function Wce({block:e,onChange:t,onRemove:r,routingKeys:n}){var f;const[a,i]=S.useState(!1),s=Object.keys(n)[0]||"payment_method",u=(((f=n[s])==null?void 0:f.values)||[])[0]||"";function c(){t({...e,conditions:[...e.conditions,{id:crypto.randomUUID(),lhs:s,operator:"==",value:u}]})}return l.jsxs("div",{className:"border border-slate-200 dark:border-[#1c1c24] rounded-xl",children:[l.jsxs("div",{className:"flex items-center justify-between px-4 py-2.5 bg-[#0d0d12] rounded-t-xl cursor-pointer",onClick:()=>i(!a),children:[l.jsx("input",{value:e.name,onChange:d=>{d.stopPropagation(),t({...e,name:d.target.value})},onClick:d=>d.stopPropagation(),placeholder:"Rule name",className:"bg-transparent text-sm font-medium focus:outline-none border-b border-transparent focus:border-[#28282f] text-slate-900"}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("button",{type:"button",onClick:d=>{d.stopPropagation(),r()},className:"text-red-400 hover:text-red-600",children:l.jsx(di,{size:14})}),a?l.jsx(ks,{size:14}):l.jsx(No,{size:14})]})]}),!a&&l.jsxs("div",{className:"px-4 py-3 space-y-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 mb-2",children:"CONDITIONS"}),l.jsxs("div",{className:"space-y-2",children:[e.conditions.map(d=>l.jsx(Vce,{row:d,routingKeys:n,onChange:p=>t({...e,conditions:e.conditions.map(h=>h.id===d.id?p:h)}),onRemove:()=>t({...e,conditions:e.conditions.filter(p=>p.id!==d.id)})},d.id)),l.jsxs(Ae,{type:"button",variant:"ghost",size:"sm",onClick:c,children:[l.jsx(ci,{size:12})," Add Condition"]})]})]}),l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 mb-2",children:"OUTPUT"}),l.jsx("div",{className:"flex gap-4 mb-3",children:["priority","volume_split"].map(d=>l.jsxs("label",{className:"flex items-center gap-1.5 text-xs cursor-pointer",children:[l.jsx("input",{type:"radio",checked:e.outputType===d,onChange:()=>t({...e,outputType:d}),className:"accent-brand-500"}),d==="priority"?"Priority":"Volume Split"]},d))}),e.outputType==="priority"?l.jsx(HR,{gateways:e.priorityGateways,onChange:d=>t({...e,priorityGateways:d})}):l.jsx(GR,{gateways:e.volumeGateways,onChange:d=>t({...e,volumeGateways:d})})]})]})]})}function Hce(e,t,r){function n(i,s,o){return i==="priority"?{priority:s.map(u=>({gateway_name:u.gatewayName,gateway_id:u.gatewayId||null}))}:{volume_split:o.map(u=>({split:u.split,output:{gateway_name:u.gatewayName,gateway_id:u.gatewayId||null}}))}}function a(i){return i==="priority"?"priority":"volume_split"}return{globals:{},default_selection:n(t.type,t.priorityGateways,t.volumeGateways),rules:e.map(i=>({name:i.name,routing_type:a(i.outputType),output:n(i.outputType,i.priorityGateways,i.volumeGateways),statements:[{condition:i.conditions.map(s=>{var o,u;return{lhs:s.lhs,comparison:Bce[s.operator]||s.operator,value:{type:((o=r[s.lhs])==null?void 0:o.type)==="integer"?"number":"enum_variant",value:((u=r[s.lhs])==null?void 0:u.type)==="integer"?Number(s.value):s.value},metadata:{}}})}]}))}}function Gce(){const{merchantId:e}=Nn(),{routingKeysConfig:t,isLoading:r,error:n}=pR(),a=t,i=Object.keys(a).length>0,s=!r&&(!i||!!n),[o,u]=S.useState(""),[c,f]=S.useState(""),[d,p]=S.useState([]),[h,x]=S.useState({type:"priority",priorityGateways:[],volumeGateways:[]}),[v,g]=S.useState(!1),[y,m]=S.useState(!1),[w,j]=S.useState(null),[b,_]=S.useState(null),[k,O]=S.useState(!1),[E,T]=S.useState(null),[R,N]=S.useState(!1),[$,I]=S.useState(new Set),{data:L,mutate:V}=Xt(e?`/routing/list/${e}`:null,()=>zt(`/routing/list/${e}`)),{data:H}=Xt(e?`/routing/list/active/${e}`:null,()=>zt(`/routing/list/active/${e}`)),M=new Set((H||[]).map(q=>q.id)),B=Hce(d,h,a);async function W(q){if(q.preventDefault(),!e){j("Set a Merchant ID first.");return}if(s){j("Routing key config is unavailable. Ensure backend /config/routing-keys is reachable and valid.");return}if(!o.trim()){j("Rule name is required.");return}m(!0),j(null),_(null);try{const le=await zt("/routing/create",{name:o.trim(),description:c,created_by:e,algorithm_for:"payment",algorithm:{type:"advanced",data:B}});_(le.id),V()}catch(le){j(String(le))}finally{m(!1)}}async function G(q){if(e){O(!0),T(null),N(!1);try{await zt("/routing/activate",{created_by:e,routing_algorithm_id:q}),N(!0),V()}catch(le){T(String(le))}finally{O(!1)}}}function K(q){I(le=>{const ge=new Set(le);return ge.has(q)?ge.delete(q):ge.add(q),ge})}function ee(){p(q=>[...q,{id:crypto.randomUUID(),name:`Rule ${q.length+1}`,conditions:[],outputType:"priority",priorityGateways:[],volumeGateways:[]}])}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900",children:"Rule-Based Routing"}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:"Create declarative routing rules"})]}),l.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[l.jsxs("div",{className:"lg:col-span-1 space-y-3",children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Existing Rules"})}),l.jsx(Be,{className:"p-0",children:e?L?L.length===0?l.jsx("p",{className:"px-4 py-3 text-sm text-slate-400",children:"No rules yet."}):l.jsx("div",{className:"divide-y divide-slate-100 dark:divide-[#222226]",children:L.map(q=>{const le=M.has(q.id),ge=$.has(q.id),$e=q.algorithm_data||q.algorithm;return l.jsxs("div",{children:[l.jsxs("div",{className:"flex flex-col gap-3 px-4 py-3 sm:flex-row sm:items-start sm:justify-between",children:[l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsx("p",{className:"truncate font-medium",children:q.name}),l.jsx("p",{className:"text-xs text-slate-400 capitalize",children:$e==null?void 0:$e.type})]}),l.jsxs("div",{className:"flex shrink-0 flex-wrap items-center gap-2 sm:justify-end",children:[l.jsx(ze,{variant:le?"green":"gray",children:le?"Active":"Inactive"}),l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:()=>K(q.id),children:[l.jsx(Wd,{size:14,className:"mr-1"}),ge?"Hide":"View"]}),!le&&l.jsx(Ae,{size:"sm",variant:"ghost",onClick:()=>G(q.id),disabled:k,children:"Activate"})]})]}),ge&&l.jsx("div",{className:"bg-slate-50 px-4 py-3 dark:bg-[#151518]",children:l.jsxs("div",{className:"space-y-2 text-xs text-slate-600",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"ID:"})," ",q.id]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Description:"})," ",q.description||"N/A"]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Algorithm For:"})," ",q.algorithm_for]}),q.created_at&&l.jsxs("p",{children:[l.jsx("strong",{children:"Created:"})," ",new Date(q.created_at).toLocaleString()]}),l.jsxs("div",{children:[l.jsx("strong",{children:"Configuration:"}),l.jsx("pre",{className:"mt-1 max-h-48 overflow-auto rounded border border-transparent bg-slate-100 p-2 text-xs dark:border-[#222226] dark:bg-[#0f0f11]",children:JSON.stringify($e,null,2)})]})]})})]},q.id)})}):l.jsx("p",{className:"px-4 py-3 text-sm text-slate-400",children:"Loading..."}):l.jsx("p",{className:"px-4 py-3 text-sm text-slate-400",children:"Set merchant ID to load rules."})})]}),E&&l.jsx(Nr,{error:E}),R&&l.jsx("div",{className:"rounded-lg border border-emerald-500/20 bg-emerald-500/8 px-3 py-2 text-sm text-emerald-400",children:"Rule activated successfully."})]}),l.jsxs("div",{className:"lg:col-span-2 space-y-4",children:[l.jsx("form",{onSubmit:W,className:"space-y-4",children:l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Rule Builder"})}),l.jsxs(Be,{className:"space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs text-slate-500 mb-1",children:"Rule Name *"}),l.jsx("input",{value:o,onChange:q=>u(q.target.value),placeholder:"my-rule",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-xs text-slate-500 mb-1",children:"Description"}),l.jsx("input",{value:c,onChange:q=>f(q.target.value),placeholder:"Optional description",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 uppercase tracking-wide",children:"Rules"}),r&&l.jsx("p",{className:"text-sm text-slate-500",children:"Loading routing keys from backend..."}),s&&l.jsx(Nr,{error:"Routing keys are unavailable from backend (/config/routing-keys). Rule Builder is disabled until this is fixed."}),d.map(q=>l.jsx(Wce,{block:q,routingKeys:a,onChange:le=>p(ge=>ge.map($e=>$e.id===q.id?le:$e)),onRemove:()=>p(le=>le.filter(ge=>ge.id!==q.id))},q.id)),l.jsxs(Ae,{type:"button",variant:"secondary",size:"sm",onClick:ee,disabled:s,children:[l.jsx(ci,{size:14})," Add Rule Block"]})]}),l.jsxs("div",{className:"border border-slate-200 dark:border-[#1c1c24] rounded-xl px-4 py-3",children:[l.jsx("p",{className:"text-xs font-medium text-slate-500 mb-2",children:"DEFAULT SELECTION (Fallback)"}),l.jsx("div",{className:"flex gap-4 mb-3",children:["priority","volume_split"].map(q=>l.jsxs("label",{className:"flex items-center gap-1.5 text-xs cursor-pointer",children:[l.jsx("input",{type:"radio",checked:h.type===q,onChange:()=>x({...h,type:q}),className:"accent-brand-500"}),q==="priority"?"Priority":"Volume Split"]},q))}),h.type==="priority"?l.jsx(HR,{gateways:h.priorityGateways,onChange:q=>x({...h,priorityGateways:q})}):l.jsx(GR,{gateways:h.volumeGateways,onChange:q=>x({...h,volumeGateways:q})})]}),l.jsx(Nr,{error:w}),b&&l.jsxs("div",{className:"rounded-lg border border-emerald-500/20 bg-emerald-500/8 px-3 py-2 text-sm text-emerald-400 flex items-center justify-between",children:[l.jsxs("span",{children:["Rule created (ID: ",b,")"]}),l.jsx(Ae,{type:"button",size:"sm",onClick:()=>G(b),disabled:k,children:"Activate Now"})]}),l.jsxs("div",{className:"flex gap-3",children:[l.jsx(Ae,{type:"submit",disabled:y||s,children:y?"Creating...":"Create Rule"}),l.jsx(Ae,{type:"button",variant:"secondary",size:"sm",onClick:()=>g(!v),children:v?"Hide JSON":"Preview JSON"})]})]})]})}),v&&l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"JSON Preview"})}),l.jsx(Be,{children:l.jsx("pre",{className:"text-xs text-slate-600 overflow-auto max-h-64 bg-[#07070b] rounded-lg p-4 font-mono border border-slate-200 dark:border-[#1c1c24]",children:JSON.stringify({name:o,description:c,created_by:e,algorithm_for:"payment",algorithm:{type:"advanced",data:B}},null,2)})})]})]})]})]})}const Xy=[{value:"15m",label:"15m",detail:"Last 15 mins",badge:"Live 15m",summaryLabel:"Errors last 15 mins"},{value:"1h",label:"1h",detail:"Last hour",badge:"Live 1h",summaryLabel:"Errors last hour"},{value:"12h",label:"12h",detail:"Last 12 hours",badge:"Live 12h",summaryLabel:"Errors last 12 hours"},{value:"1d",label:"1 day",detail:"Last 1 day",badge:"Live 1d",summaryLabel:"Errors last 1 day"},{value:"1w",label:"1 week",detail:"Last 1 week",badge:"Live 1w",summaryLabel:"Errors last 1 week"}];function qce(){const[e,t]=S.useState("loading");return S.useEffect(()=>{ui("/health").then(()=>t("up")).catch(()=>t("down"))},[]),e}function qf(e){return new Intl.NumberFormat(void 0,{notation:"compact",maximumFractionDigits:e&&e<100?1:0}).format(e||0)}function Zy(e){return e==null||Number.isNaN(e)?"0%":`${e.toFixed(e>=100?0:1)}%`}function Kce(e){return e==="up"?"Healthy":e==="down"?"Needs attention":"Checking"}function Jy({label:e,value:t,detail:r}){return l.jsxs("div",{className:"rounded-[22px] border border-slate-200 bg-white px-4 py-4 dark:border-[#2a303a] dark:bg-[#161b24]",children:[l.jsx(an,{children:e}),l.jsx("p",{className:"mt-3 text-2xl font-semibold tracking-tight text-slate-950 dark:text-white",children:t}),l.jsx("p",{className:"mt-1 text-sm text-slate-500 dark:text-[#b2bdd1]",children:r})]})}function Kf({icon:e,label:t,value:r,detail:n}){return l.jsx(Se,{className:"p-5",children:l.jsxs("div",{className:"flex items-start justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx(an,{children:t}),l.jsx("p",{className:"mt-4 text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:r}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:n})]}),l.jsx("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(e,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})})]})})}function Yce(){return l.jsxs("div",{className:"grid gap-5 pt-8 lg:grid-cols-[1.1fr_0.9fr]",children:[l.jsxs(Se,{className:"p-7",children:[l.jsx(an,{children:"Merchant session required"}),l.jsx("h2",{className:"mt-4 max-w-xl text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:"Sign in with a merchant account to turn this into a live overview."}),l.jsx("p",{className:"mt-4 max-w-xl text-sm leading-7 text-slate-600 dark:text-[#b2bdd1]",children:"Analytics now derive merchant scope from your authenticated session. Once you are signed in, this page shows service health, active routing, request count, and gateway activity without needing analytics query params for merchant selection."})]}),l.jsx(Se,{className:"p-7",children:l.jsx("div",{className:"space-y-5",children:[{icon:sl,title:"System status",text:"Check whether the service is reachable."},{icon:mc,title:"Routing setup",text:"See whether a strategy is configured."},{icon:Gh,title:"Gateway activity",text:"View recent request distribution by gateway."}].map(e=>l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(e.icon,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:e.title}),l.jsx("p",{className:"mt-1 text-sm leading-6 text-slate-600 dark:text-[#b2bdd1]",children:e.text})]})]},e.title))})})]})}function tN({label:e}){return l.jsxs("div",{className:"overflow-hidden rounded-[22px] border border-brand-500/20 bg-white shadow-[0_10px_30px_-24px_rgba(0,105,237,0.9)] dark:bg-[#0c0c0e]",children:[l.jsx("div",{className:"h-2 w-full bg-brand-500/15",children:l.jsx("div",{className:"h-full origin-left animate-[analytics-progress_1.8s_ease-in-out_infinite] rounded-r-full bg-brand-500"})}),l.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-3",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Ft,{size:14}),l.jsx("p",{className:"text-sm font-medium text-slate-900 dark:text-white",children:e})]}),l.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-brand-600 dark:text-brand-300",children:"Loading"})]})]})}function Xce(){var T,R,N,$,I,L,V,H,M,B,W;const e=is(),{merchantId:t}=Nn(),r=ua(G=>{var K;return((K=G.user)==null?void 0:K.merchantId)||""}),n=t||r,a=qce(),[i,s]=S.useState("1d"),{data:o}=Xt(n?`/routing/list/active/${n}`:null,()=>zt(`/routing/list/active/${n}`),{shouldRetryOnError:!1}),{data:u}=Xt(n?["/rule/get","successRate",n]:null,()=>zt("/rule/get",{merchant_id:n,algorithm:"successRate"}),{shouldRetryOnError:!1}),c=`/analytics/overview?range=${i}`,f=`/analytics/routing-stats?range=${i}`,d=Xt(c,nn,{refreshInterval:15e3,revalidateOnFocus:!0,shouldRetryOnError:!1,keepPreviousData:!0}),p=Xt(f,nn,{refreshInterval:15e3,revalidateOnFocus:!0,shouldRetryOnError:!1,keepPreviousData:!0}),h=(o==null?void 0:o[0])||null,x=(o||[]).some(G=>{var K;return((K=G.algorithm_data||G.algorithm)==null?void 0:K.type)==="advanced"}),g=((R=(((T=d.data)==null?void 0:T.route_hits)||[]).find(G=>G.route==="/decide_gateway"))==null?void 0:R.count)||0,y=(($=(N=d.data)==null?void 0:N.top_errors)==null?void 0:$.reduce((G,K)=>G+K.count,0))||0,m=S.useMemo(()=>{var ee;const G=new Map;for(const q of((ee=p.data)==null?void 0:ee.gateway_share)||[])G.set(q.gateway,(G.get(q.gateway)||0)+q.count);const K=Array.from(G.values()).reduce((q,le)=>q+le,0);return Array.from(G.entries()).map(([q,le])=>({gateway:q,count:le,share:K?le/K*100:0})).sort((q,le)=>le.count-q.count)},[p.data]),w=((I=m[0])==null?void 0:I.gateway)||((H=(V=(L=d.data)==null?void 0:L.top_scores)==null?void 0:V[0])==null?void 0:H.gateway),j=Xy.find(G=>G.value===i)||Xy[1],b=[a==="up",!!h,!!(u!=null&&u.data),x].filter(Boolean).length,_=[{label:"Service health",description:a==="up"?"Service is reachable.":"Please verify service health.",state:a==="up"?"Healthy":a==="down"?"Issue":"Checking",icon:a==="up"?lle:a==="down"?ule:ole,route:void 0},{label:"Routing strategy",description:h?h.name:"No active routing configured.",state:h?"Configured":"Not set",icon:mc,route:"/routing"},{label:"Auth-rate config",description:u!=null&&u.data?"Configured and available.":"Not configured yet.",state:u!=null&&u.data?"Configured":"Not set",icon:ble,route:"/routing/sr"},{label:"Rule-based routing",description:x?"Enabled for this merchant.":"Not enabled.",state:x?"Enabled":"Optional",icon:wle,route:"/routing/rules"}],k=n?a==="up"?{label:"System live",variant:"green"}:a==="down"?{label:"Attention needed",variant:"red"}:{label:"Checking status",variant:"gray"}:{label:"Merchant not selected",variant:"orange"},O=!d.data&&d.isLoading||!p.data&&p.isLoading,E=!O&&(d.isValidating||p.isValidating);return l.jsxs("div",{className:"relative mx-auto max-w-[1380px]",children:[l.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10 overflow-hidden",children:[l.jsx("div",{className:"absolute -left-16 top-0 h-72 w-72 rounded-full bg-sky-500/10 blur-3xl dark:bg-sky-500/8"}),l.jsx("div",{className:"absolute right-0 top-12 h-80 w-80 rounded-full bg-brand-500/10 blur-3xl dark:bg-brand-500/10"})]}),l.jsxs("section",{className:"relative overflow-hidden rounded-[40px] border border-slate-200 bg-white px-5 py-5 shadow-[0_28px_90px_-56px_rgba(15,23,42,0.16)] md:px-6 md:py-6 dark:border-[#232933] dark:bg-[#090c12] dark:shadow-[0_28px_90px_-56px_rgba(0,0,0,0.72)]",children:[l.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-[#3b82f6]/25 to-transparent dark:via-[#3b82f6]/35"}),l.jsxs("header",{className:"relative flex flex-col gap-4 border-b border-slate-200 pb-5 dark:border-[#232933]",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(ze,{variant:k.variant,children:k.label}),(M=d.data)!=null&&M.merchant_id||n?l.jsx(ze,{variant:"blue",children:((B=d.data)==null?void 0:B.merchant_id)||n}):null]}),l.jsxs("div",{children:[l.jsx("h1",{className:"text-4xl font-semibold tracking-tight text-slate-950 md:text-[4rem] dark:text-white",children:"Overview"}),l.jsx("p",{className:"mt-2 max-w-2xl text-sm leading-7 text-slate-600 dark:text-[#a6b0c3]",children:"Basic business-facing view of system status, setup, request volume, and gateway activity."}),l.jsx("div",{className:"mt-4 inline-flex rounded-2xl border border-slate-200 bg-slate-50 p-1 dark:border-[#2a303a] dark:bg-[#121720]",children:Xy.map(G=>{const K=G.value===i;return l.jsx("button",{type:"button",onClick:()=>s(G.value),className:`rounded-[14px] px-3 py-2 text-xs font-semibold transition ${K?"bg-white text-slate-950 shadow-sm dark:bg-[#1a2332] dark:text-white":"text-slate-500 hover:text-slate-900 dark:text-[#8ea0bb] dark:hover:text-white"}`,children:G.label},G.value)})})]})]}),n?l.jsxs(l.Fragment,{children:[O?l.jsx("div",{className:"pt-8",children:l.jsx(tN,{label:`Loading overview analytics for ${j.detail.toLowerCase()}`})}):null,E?l.jsx("div",{className:"pt-8",children:l.jsx(tN,{label:`Refreshing overview analytics for ${j.detail.toLowerCase()}`})}):null,l.jsxs("div",{className:`grid gap-5 pt-8 xl:grid-cols-[1.15fr_0.85fr] transition-opacity duration-200 ${E?"opacity-60":"opacity-100"}`,children:[l.jsx(Se,{className:"p-6 md:p-7",children:l.jsxs("div",{className:"flex h-full flex-col justify-between",children:[l.jsxs("div",{children:[l.jsx(an,{children:"Traffic leader"}),l.jsxs("div",{className:"mt-5 flex flex-wrap items-end gap-4",children:[l.jsx("h2",{className:"text-[2.5rem] font-semibold tracking-[-0.05em] text-slate-950 md:text-[3rem] dark:text-white",children:(w==null?void 0:w.toUpperCase())||"--"}),l.jsxs("div",{className:"pb-2",children:[l.jsx("p",{className:"text-lg font-medium text-slate-700 dark:text-[#d5dded]",children:m[0]?Zy(m[0].share):"0%"}),l.jsx("p",{className:"mt-1 text-xs uppercase tracking-[0.16em] text-slate-500 dark:text-[#8390a7]",children:"Share in selected window"})]})]}),l.jsx("p",{className:"mt-4 max-w-xl text-sm leading-7 text-slate-600 dark:text-[#a6b0c3]",children:h?`${h.name} is the current routing strategy for this merchant.`:"No active routing strategy is configured for this merchant yet."})]}),l.jsxs("div",{className:"mt-8 grid gap-3 sm:grid-cols-3",children:[l.jsx(Jy,{label:"Requests",value:qf(g),detail:j.detail}),l.jsx(Jy,{label:"Setup ready",value:`${b}/4`,detail:"Core basics configured"}),l.jsx(Jy,{label:"Window",value:j.label,detail:j.detail})]})]})}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 xl:grid-cols-1",children:[l.jsx(Kf,{icon:sl,label:"System status",value:Kce(a),detail:a==="up"?"Service is reachable":"Please verify service health"}),l.jsx(Kf,{icon:mc,label:"Active routing",value:(h==null?void 0:h.name)||"Not set",detail:h?"Currently selected strategy":"No routing configured yet"}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 xl:grid-cols-2",children:[l.jsx(Kf,{icon:J0,label:"Requests",value:qf(g),detail:j.detail}),l.jsx(Kf,{icon:Gh,label:"Top gateway",value:(w==null?void 0:w.toUpperCase())||"--",detail:m[0]?`${Zy(m[0].share)} of traffic`:"No activity yet"})]})]})]}),l.jsxs("div",{className:`mt-6 grid gap-6 xl:grid-cols-[1.02fr_0.98fr] transition-opacity duration-200 ${E?"opacity-60":"opacity-100"}`,children:[l.jsxs(Se,{className:"p-6",children:[l.jsxs("div",{className:"flex items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx(an,{children:"Current setup"}),l.jsx("p",{className:"mt-2 text-sm text-slate-600 dark:text-[#a6b0c3]",children:"The status cards you can explain in a demo without technical jargon."})]}),l.jsxs(ze,{variant:b>=3?"green":"orange",children:[b,"/4 ready"]})]}),l.jsx("div",{className:"mt-5 grid gap-4 md:grid-cols-2",children:_.map(G=>l.jsx(Se,{className:"min-h-[158px] p-5",onClick:G.route?()=>e(G.route):void 0,children:l.jsxs("div",{className:"flex h-full flex-col justify-between",children:[l.jsxs("div",{className:"flex items-start justify-between gap-4",children:[l.jsx("div",{className:"rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(G.icon,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})}),l.jsx(ze,{variant:G.state==="Healthy"||G.state==="Configured"||G.state==="Enabled"?"green":G.state==="Issue"?"red":G.state==="Checking"||G.state==="Optional"?"gray":"orange",children:G.state})]}),l.jsxs("div",{className:"mt-6",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:G.label}),l.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-600 dark:text-[#a6b0c3]",children:G.description})]})]})},G.label))})]}),l.jsxs(Se,{className:"p-6",children:[l.jsxs("div",{className:"flex items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx(an,{children:"Gateway activity"}),l.jsx("p",{className:"mt-2 text-sm text-slate-600 dark:text-[#a6b0c3]",children:"Request distribution by gateway for the selected window."})]}),l.jsx(ze,{variant:"blue",children:j.badge})]}),l.jsx("div",{className:"mt-6 space-y-4",children:m.length?m.slice(0,4).map((G,K)=>l.jsxs("div",{className:"rounded-[24px] border border-slate-200 bg-slate-50/80 p-4 dark:border-[#2a303a] dark:bg-[#121720]",children:[l.jsxs("div",{className:"flex items-center justify-between gap-4",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:["#38bdf8","#60a5fa","#22c55e","#f59e0b"][K]||"#38bdf8"}}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:G.gateway.toUpperCase()}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#98a3b8]",children:[qf(G.count)," requests"]})]})]}),l.jsx("p",{className:"text-sm font-medium text-slate-950 dark:text-white",children:Zy(G.share)})]}),l.jsx("div",{className:"mt-4 h-2 rounded-full bg-slate-200 dark:bg-[#232933]",children:l.jsx("div",{className:"h-full rounded-full bg-gradient-to-r from-sky-400 via-blue-500 to-cyan-300",style:{width:`${Math.max(10,G.share)}%`}})})]},G.gateway)):l.jsxs("div",{className:"rounded-[24px] border border-dashed border-white/10 px-5 py-10 text-center",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:"No gateway activity yet"}),l.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-600 dark:text-[#a6b0c3]",children:"Once requests start flowing, this section will show traffic by gateway."})]})})]})]}),l.jsxs("div",{className:`mt-6 grid gap-6 xl:grid-cols-[0.86fr_1.14fr] transition-opacity duration-200 ${E?"opacity-60":"opacity-100"}`,children:[l.jsxs(Se,{className:"p-6",children:[l.jsx(an,{children:"Quick summary"}),l.jsx("div",{className:"mt-5 space-y-4",children:[{label:"Signed-in merchant",value:((W=d.data)==null?void 0:W.merchant_id)||n||"--"},{label:"Time window",value:j.detail},{label:j.summaryLabel,value:qf(y)},{label:"Top gateway",value:(w==null?void 0:w.toUpperCase())||"No activity"}].map(G=>l.jsxs("div",{className:"flex items-center justify-between gap-4 rounded-[20px] border border-slate-200 bg-slate-50/80 px-4 py-3 dark:border-[#2a303a] dark:bg-[#121720]",children:[l.jsx("span",{className:"text-sm text-slate-600 dark:text-[#a6b0c3]",children:G.label}),l.jsx("span",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:G.value})]},G.label))})]}),l.jsx("div",{className:"grid gap-4 md:grid-cols-3",children:[{label:"Routing Hub",text:"Configure routing strategies.",icon:mc,route:"/routing"},{label:"Analytics",text:"Inspect request and gateway trends.",icon:Gh,route:"/analytics"},{label:"Audit Trail",text:"Review individual decision records.",icon:J0,route:"/audit"}].map(G=>l.jsx(Se,{className:"p-5",onClick:()=>e(G.route),children:l.jsxs("div",{className:"flex h-full flex-col justify-between",children:[l.jsx("div",{className:"inline-flex w-fit rounded-2xl border border-slate-200 bg-slate-50 p-3 dark:border-[#2a303a] dark:bg-[#161b24]",children:l.jsx(G.icon,{className:"h-5 w-5 text-brand-600 dark:text-sky-300"})}),l.jsxs("div",{className:"mt-10",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-950 dark:text-white",children:G.label}),l.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-600 dark:text-[#a6b0c3]",children:G.text}),l.jsxs("div",{className:"mt-4 inline-flex items-center gap-2 text-sm font-medium text-brand-600 dark:text-sky-300",children:[l.jsx("span",{children:"Open"}),l.jsx(j1,{className:"h-4 w-4"})]})]})]})},G.label))})]})]}):l.jsx(Yce,{})]})]})}const Zce=["15m","1h","12h","1d","1w","custom"],Jce=[{value:"",label:"Any status"},{value:"success",label:"Success"},{value:"failure",label:"Failure"}],Qce=[{value:"",label:"Any route"},{value:"decide_gateway",label:"Decide Gateway"},{value:"update_gateway_score",label:"Update Gateway"},{value:"routing_evaluate",label:"Rule Evaluate"}],ede=["summary","input","response","raw"],rN={paymentId:"",requestId:"",gateway:"",route:"",status:"",flowType:"",errorCode:""};function Ko(e){const t=e.paymentId.trim(),r=t?"":e.requestId.trim();return{paymentId:t,requestId:r,gateway:e.gateway.trim(),route:e.route,status:e.status,flowType:e.flowType.trim(),errorCode:e.errorCode.trim()}}function qR(e){return e.flow_type||""}function tde(e){return e.endsWith("_error")}function KR(e){return e.startsWith("routing_evaluate_")&&e!=="routing_evaluate_request_hit"}function YR(e){return e==="decide_gateway_rule_hit"}function rde(e){return e.startsWith("update_gateway_score_")||e.startsWith("update_score_legacy_")}function nde(e){return e.startsWith("decide_gateway_")&&!YR(e)}function XR(e){const t=new URLSearchParams;return Object.entries(e).forEach(([r,n])=>{n!==void 0&&n!==""&&t.set(r,String(n))}),t.toString()}function nN(e,t,r,n,a,i){const s=Ko(a),o={range:t==="custom"?"1h":t,page:r,page_size:n,start_ms:i==null?void 0:i.start_ms,end_ms:i==null?void 0:i.end_ms,payment_id:s.paymentId||void 0,request_id:s.requestId||void 0,gateway:s.gateway||void 0,route:s.route||void 0,status:s.status||void 0,flow_type:s.flowType||void 0,error_code:s.errorCode||void 0},u=XR(o);return u?`${e}?${u}`:e}function ade(e){return e==="custom"||e==="15m"||e==="1h"||e==="12h"||e==="1d"||e==="1w"?e:"1d"}function ide(e){return e==="rule_based"?"rule_based":"transactions"}function sde(e){return Ko({paymentId:e.get("payment_id")||"",requestId:e.get("request_id")||"",gateway:e.get("gateway")||"",route:e.get("route")||"",status:e.get("status")||"",flowType:e.get("flow_type")||e.get("event_type")||"",errorCode:e.get("error_code")||""})}function aN(e){const t=Date.now(),r=e==="15m"?15*60*1e3:e==="1h"?60*60*1e3:e==="12h"?12*60*60*1e3:e==="1d"?24*60*60*1e3:7*24*60*60*1e3;return{start_ms:t-r,end_ms:t}}function Yf(e){const t=new Date(e),r=n=>n.toString().padStart(2,"0");return`${t.getFullYear()}-${r(t.getMonth()+1)}-${r(t.getDate())}T${r(t.getHours())}:${r(t.getMinutes())}`}function Xf(e){const t=new Date(e).getTime();return Number.isFinite(t)?t:null}function mp(e){return new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(e))}function ode(e){const t=Math.max(0,Math.round((Date.now()-e)/6e4));if(t<1)return"just now";if(t<60)return`${t}m ago`;const r=Math.round(t/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`}function Os(e){return e?e.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().toLowerCase().replace(/\b\w/g,r=>r.toUpperCase()):""}function iN(e){return e.filter(Boolean).join(" · ")}function lde(e){return e?e==="decision_gateway"||e==="decide_gateway"?"Decide Gateway":e==="update_gateway_score"?"Update Gateway":e==="routing_evaluate"?"Rule Evaluate":Os(e):"Unknown route"}function ob(e){const t=qR(e);return e.event_stage==="gateway_decided"?"Decide Gateway":e.event_stage==="score_updated"?"Update Gateway":e.event_stage==="rule_applied"?"Rule Evaluate":e.event_stage==="preview_evaluated"||KR(t)?"Preview Result":tde(t)?"Errors":Os(e.event_stage||t)}function ude(e){const t=qR(e);return nde(t)||e.event_stage==="gateway_decided"?"Decide Gateway":YR(t)||e.event_stage==="rule_applied"?"Rule Evaluate":KR(t)||e.event_stage==="preview_evaluated"?"Rule Preview":rde(t)||e.event_stage==="score_updated"?"Update Gateway":"Errors"}function Du(e){const t=(e||"").toUpperCase();return t==="FAILURE"||t.includes("FAILED")||t.includes("DECLINED")?"red":t==="SUCCESS"||t==="CHARGED"||t==="AUTHORIZED"?"green":t==="HIT"?"purple":"gray"}function Lu(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Qy(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""))}function cde(e){return typeof e=="string"?e:JSON.stringify(e,null,2)}function Zf(e){return e?"!border-slate-200 !bg-white !text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.28)] dark:!border-[#2a303a] dark:!bg-[#161b24] dark:!text-white":"!border-transparent !bg-slate-100 !text-slate-600 hover:!bg-slate-200 hover:!text-slate-900 dark:!bg-[#161b24] dark:!text-[#a7b2c6] dark:hover:!bg-[#1c2330] dark:hover:!text-white"}function jo(){return"h-11 rounded-2xl border border-slate-200 bg-white/90 px-4 text-sm text-slate-700 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.2)] outline-none transition focus:border-brand-500 focus:ring-2 focus:ring-brand-500/20 dark:border-[#2a303a] dark:bg-[#161b24] dark:text-[#e5ecf7] dark:shadow-none"}function Jf({label:e,children:t}){return l.jsxs("label",{className:"space-y-2",children:[l.jsx("span",{className:"block text-[11px] font-semibold uppercase tracking-[0.18em] text-slate-500 dark:text-[#8a8a93]",children:e}),t]})}function ev({label:e,value:t,helper:r}){return l.jsxs(Se,{className:"p-5",children:[l.jsx(an,{children:e}),l.jsx("p",{className:"mt-4 text-3xl font-semibold tracking-tight text-slate-950 dark:text-white",children:t}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:r})]})}function gp({title:e,body:t}){return l.jsxs(Hh,{className:"border-dashed border-slate-200 bg-slate-50/70 px-6 py-12 text-center dark:border-[#2a303a] dark:bg-[#161b24]/80",children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e}),l.jsx("p",{className:"mt-2 text-sm text-slate-500 dark:text-[#b2bdd1]",children:t})]})}function dde({rows:e}){return e.length?l.jsx("div",{className:"grid gap-3 md:grid-cols-2",children:e.map(t=>l.jsxs(Hh,{className:"px-4 py-3",children:[l.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-slate-500 dark:text-[#8390a7]",children:t.label}),l.jsx("p",{className:"mt-2 text-sm text-slate-900 dark:text-white break-words",children:t.value})]},`${t.label}-${t.value}`))}):null}function So({title:e,value:t,emptyMessage:r}){return l.jsxs("div",{className:"space-y-3",children:[l.jsx("div",{children:l.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:e})}),t?l.jsx("pre",{className:"overflow-x-auto rounded-[22px] border border-slate-200 bg-slate-950/95 px-4 py-4 text-xs leading-6 text-slate-200 shadow-[0_16px_30px_-28px_rgba(15,23,42,0.4)] dark:border-[#2a303a] dark:bg-[#0b1017] dark:text-[#d8e1ef] dark:shadow-none",children:cde(t)}):l.jsx(gp,{title:`No ${e.toLowerCase()} captured`,body:r})]})}function fde(e){if(!e)return null;const t=Lu(e.details_json)?e.details_json:{},r=t.response??t.response_payload??t.result??t.output??null,n=t.request??t.request_payload??t.input??t.payload??Qy({payment_id:e.payment_id,request_id:e.request_id,payment_method_type:e.payment_method_type,payment_method:e.payment_method,gateway:e.gateway}),a=r??Qy({flow_type:e.flow_type,status:e.status,error_code:e.error_code,error_message:e.error_message,score_value:e.score_value,sigma_factor:e.sigma_factor,average_latency:e.average_latency,tp99_latency:e.tp99_latency,transaction_count:e.transaction_count,rule_name:e.rule_name,routing_approach:e.routing_approach}),i=Lu(r)?r:null,s=Lu(i==null?void 0:i.decided_gateway)?i.decided_gateway:null,o=t.score_context??(s?s.gateway_priority_map:null)??(i?i.gateway_priority_map:null)??null,u=t.selection_reason??null,c=[{label:"Phase",value:ude(e)},{label:"Stage",value:ob(e)},{label:"Route",value:lde(e.route)},{label:"Timestamp",value:mp(e.created_at_ms)},{label:"Merchant",value:e.merchant_id||"unknown merchant"},...e.payment_id?[{label:"Payment ID",value:e.payment_id}]:[],...e.request_id?[{label:"Request ID",value:e.request_id}]:[],...e.gateway?[{label:"Gateway",value:e.gateway}]:[],...e.status?[{label:"Status",value:e.status}]:[]],f=Qy(Object.fromEntries(Object.entries(t).filter(([d])=>!["request","request_payload","input","payload","response","response_payload","result","output","score_context","selection_reason"].includes(d))));return{summaryRows:c,requestPayload:Lu(n)&&!Object.keys(n).length?null:n,responsePayload:Lu(a)&&!Object.keys(a).length?null:a,scoreContext:o,selectionReason:u,signalRecord:Object.keys(f).length?f:null,rawEvent:{...e,details_json:e.details_json}}}function pde(){var _e,Ne,dt,mt,Lt,zr,Pr,Cr;const{merchantId:e}=Nn(),t=ua(Y=>{var Me;return((Me=Y.user)==null?void 0:Me.merchantId)||""}),r=e||t,[n,a]=W3(),i=ide(n.get("mode")),s=n.get("start_ms")&&n.get("end_ms")?"custom":ade(n.get("range")),o=sde(n),u=Math.max(1,Number(n.get("page")||"1")),c=n.get("selected")||"",f=Number(n.get("start_ms")||"0"),d=Number(n.get("end_ms")||"0"),p=f>0&&d>f?{start_ms:f,end_ms:d}:aN("1h"),[h,x]=S.useState(i),[v,g]=S.useState(s),[y,m]=S.useState(o),[w,j]=S.useState(o),[b,_]=S.useState(u),[k,O]=S.useState(c),[E,T]=S.useState(null),[R,N]=S.useState("summary"),[$,I]=S.useState(!1),[L,V]=S.useState(()=>Yf(p.start_ms)),[H,M]=S.useState(()=>Yf(p.end_ms)),B=12,W=S.useMemo(()=>{if(v!=="custom")return;const Y=Xf(L),Me=Xf(H);if(!(Y===null||Me===null||Me<=Y))return{start_ms:Y,end_ms:Me}},[H,L,v]),G=h==="rule_based"?"/analytics/preview-trace":"/analytics/payment-audit",K=v!=="custom"||W?nN(G,v,b,B,w,W):null,ee=Xt(K,nn,{refreshInterval:12e3,revalidateOnFocus:!0}),q=S.useMemo(()=>{var Me;const Y=((Me=ee.data)==null?void 0:Me.results)||[];return Y.find(ft=>ft.lookup_key===k)||Y[0]||null},[(_e=ee.data)==null?void 0:_e.results,k]);S.useEffect(()=>{var Me,ft;if(q!=null&&q.lookup_key){O(q.lookup_key);return}const Y=(ft=(Me=ee.data)==null?void 0:Me.results)==null?void 0:ft[0];Y!=null&&Y.lookup_key&&O(Y.lookup_key)},[(Ne=ee.data)==null?void 0:Ne.results,q==null?void 0:q.lookup_key]);const le=S.useMemo(()=>{if(!q)return null;const Y=q.payment_id||"";return{paymentId:Y,requestId:Y?"":q.request_id||"",gateway:"",route:"",status:"",flowType:"",errorCode:""}},[q]),ge=le?nN(G,v,1,50,le,W):null,$e=Xt(ge,nn,{refreshInterval:12e3,revalidateOnFocus:!0}),Pe=((dt=$e.data)==null?void 0:dt.timeline)||[],J=S.useMemo(()=>Pe.find(Y=>Y.id===E)||Pe[0]||null,[E,Pe]);S.useEffect(()=>{if(J!=null&&J.id){T(J.id);return}const Y=Pe[0];Y!=null&&Y.id&&T(Y.id)},[J==null?void 0:J.id,Pe]);const ue=S.useMemo(()=>fde(J),[J]),de=((mt=ee.error)==null?void 0:mt.message)||((Lt=$e.error)==null?void 0:Lt.message)||null,X=ee.isLoading||$e.isLoading,we=((zr=ee.data)==null?void 0:zr.results)||[],ye=((Pr=ee.data)==null?void 0:Pr.total_results)||0,qe=Pe.length,De=we.filter(Y=>Du(Y.latest_status)==="red").length,ke=Array.from(new Set(we.flatMap(Y=>{var Me;return(Me=Y.gateways)!=null&&Me.length?Y.gateways.filter(Boolean):Y.latest_gateway?[Y.latest_gateway]:[]}))),Re=ke.length,Ie=h==="rule_based"?{title:"Decision Audit",matchingLabel:"Matching previews",summaryEmpty:"Pick a preview from the left column to see the full rule evaluation trace.",noMatchesTitle:"No matching previews found",noMatchesBody:"Try widening the time range or searching by a preview payment ID, request ID, or gateway."}:{title:"Decision Audit",matchingLabel:"Matching payments",summaryEmpty:"Pick a payment from the left column to see the full transaction trail.",noMatchesTitle:"No matching payments found",noMatchesBody:"Try widening the time range or searching by a single payment ID, request ID, or error code."};function Oe(Y,Me,ft,Zt,pt,Pt){const Ye=Ko(Zt),Br=XR({mode:Y==="rule_based"?Y:void 0,range:Me,page:ft>1?ft:void 0,start_ms:Me==="custom"?Pt==null?void 0:Pt.start_ms:void 0,end_ms:Me==="custom"?Pt==null?void 0:Pt.end_ms:void 0,payment_id:Ye.paymentId||void 0,request_id:Ye.requestId||void 0,gateway:Ye.gateway||void 0,route:Ye.route||void 0,status:Ye.status||void 0,flow_type:Ye.flowType||void 0,error_code:Ye.errorCode||void 0,selected:pt||void 0});a(Br)}function Ge(Y,Me){m(ft=>Ko({...ft,[Y]:Me}))}function We(){const Me=Ko({...y,route:h==="rule_based"?"":y.route});_(1),m(Me),j(Me),Oe(h,v,1,Me,void 0,W)}function C(){const Me={...rN,route:h==="rule_based"?"":rN.route};_(1),m(Me),j(Me),Oe(h,v,1,Me,void 0,W)}function z(){ee.mutate(),$e.mutate()}function U(Y){const ft=Y==="custom"?(()=>{const Zt=Xf(L),pt=Xf(H);return Zt!==null&&pt!==null&&pt>Zt?{start_ms:Zt,end_ms:pt}:void 0})():void 0;if(g(Y),_(1),Y!=="custom"){const Zt=aN(Y);V(Yf(Zt.start_ms)),M(Yf(Zt.end_ms))}Oe(h,Y,1,w,k,ft)}function ae(Y){O(Y),Oe(h,v,b,w,Y,W)}function te(Y){const ft=Ko({...y,route:Y==="rule_based"?"":y.route});x(Y),_(1),O(""),T(null),m(ft),j(ft),Oe(Y,v,1,ft,void 0,W)}async function Q(Y){if(Y)try{await navigator.clipboard.writeText(Y)}catch{}}function ne(){if(!J)return;const Y=J.payment_id||"",Me={paymentId:Y,requestId:Y?"":J.request_id||"",gateway:J.gateway||"",route:"",status:"",flowType:"",errorCode:""};m(Me),j(Me),_(1),Oe(h,v,1,Me,k)}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900 dark:text-white",children:Ie.title}),l.jsx(ze,{variant:"green",children:((Cr=ee.data)==null?void 0:Cr.merchant_id)||r||"Signed-in merchant"})]}),l.jsx("p",{className:"max-w-3xl text-sm text-slate-500 dark:text-[#8a8a93]",children:h==="rule_based"?"Inspect preview traces, routing logic, and simulated rule outcomes for any request.":"Inspect gateway decisions, routing logic, and connector scores for any payment."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"ghost",onClick:z,children:"Refresh"}),l.jsx("div",{className:"flex items-center gap-1 rounded-[18px] border border-slate-200 bg-white/70 p-1 dark:border-[#2a303a] dark:bg-[#161b24]",children:Zce.map(Y=>l.jsx(Ae,{size:"sm",variant:"secondary",className:Zf(v===Y),onClick:()=>U(Y),children:Y},Y))})]})]}),v==="custom"?l.jsxs(Se,{className:"overflow-visible p-4",children:[l.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[l.jsx(Jf,{label:"Start time",children:l.jsx(Xh,{className:"w-full",value:L,onChange:V})}),l.jsx(Jf,{label:"End time",children:l.jsx(Xh,{className:"w-full",value:H,onChange:M})})]}),W?null:l.jsx("p",{className:"mt-3 text-xs text-red-500",children:"Choose an end time after the start time."})]}):null,l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",className:Zf(h==="transactions"),onClick:()=>te("transactions"),children:"Transactions"}),l.jsx(Ae,{size:"sm",variant:"secondary",className:Zf(h==="rule_based"),onClick:()=>te("rule_based"),children:"Rule-Based"})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[l.jsx("input",{className:`${jo()} min-w-[280px] flex-1`,value:y.paymentId,onChange:Y=>Ge("paymentId",Y.target.value),placeholder:h==="rule_based"?"Preview payment ID":"Payment ID or request ID"}),l.jsx("input",{className:`${jo()} min-w-[240px] flex-1`,value:y.requestId,onChange:Y=>Ge("requestId",Y.target.value),placeholder:"Request ID"}),l.jsx("input",{className:`${jo()} min-w-[180px] flex-1`,value:y.gateway,onChange:Y=>Ge("gateway",Y.target.value),placeholder:"Any gateway"}),l.jsx("select",{className:`${jo()} min-w-[160px]`,value:y.status,onChange:Y=>Ge("status",Y.target.value),children:Jce.map(Y=>l.jsx("option",{value:Y.value,children:Y.label},Y.value||"all"))}),l.jsx(Ae,{size:"md",onClick:We,className:"min-w-[116px]",children:"Search"}),l.jsx(Ae,{size:"md",variant:"secondary",onClick:C,className:"min-w-[98px]",children:"Clear"}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>I(Y=>!Y),className:"min-w-[116px]",children:$?"Less filters":"More filters"})]}),$?l.jsx(Se,{className:"p-4",children:l.jsxs("div",{className:`grid gap-3 md:grid-cols-2 ${h==="rule_based"?"xl:grid-cols-2":"xl:grid-cols-3"}`,children:[h==="transactions"?l.jsx(Jf,{label:"Route",children:l.jsx("select",{className:jo(),value:y.route,onChange:Y=>Ge("route",Y.target.value),children:Qce.map(Y=>l.jsx("option",{value:Y.value,children:Y.label},Y.value||"all"))})}):null,l.jsx(Jf,{label:"Error Code",children:l.jsx("input",{className:jo(),value:y.errorCode,onChange:Y=>Ge("errorCode",Y.target.value),placeholder:"Error code"})})]})}):null]}),l.jsx(Nr,{error:de}),X&&l.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-[#8a8a93]",children:[l.jsx(Ft,{size:16}),"Loading decision audit data…"]}),l.jsxs("section",{className:"grid gap-4 xl:grid-cols-3",children:[l.jsx(ev,{label:Ie.matchingLabel,value:String(ye),helper:"In this time window"}),l.jsx(ev,{label:"Failures",value:String(De),helper:"In current results"}),l.jsx(ev,{label:"Active gateways",value:String(Re),helper:ke.length?ke.slice(0,3).join(", "):"No gateway activity yet"})]}),l.jsxs("div",{className:"grid gap-4 xl:grid-cols-[280px_minmax(0,1fr)_340px]",children:[l.jsxs(Se,{className:"overflow-hidden",children:[l.jsx("div",{className:"border-b border-slate-200 px-4 py-4 dark:border-[#2a303a]",children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-slate-200 text-[11px] font-semibold text-slate-600 dark:border-[#2a303a] dark:text-[#8a8a93]",children:"1"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Results"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Click a payment to open its decision trail"})]})]}),l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:ye})]})}),l.jsx("div",{className:"border-b border-slate-200 px-4 py-4 dark:border-[#2a303a]",children:l.jsxs("div",{className:"flex items-center justify-between gap-3",children:[l.jsx(an,{children:Ie.matchingLabel}),l.jsxs("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:[we.length," results"]})]})}),l.jsxs("div",{className:"space-y-3 p-4",children:[we.length?we.map(Y=>l.jsxs("button",{type:"button",onClick:()=>ae(Y.lookup_key),className:`w-full rounded-[20px] border p-4 text-left transition-all ${(q==null?void 0:q.lookup_key)===Y.lookup_key?"border-brand-500/70 bg-slate-50 shadow-[0_14px_30px_-28px_rgba(59,130,246,0.35)] dark:border-brand-500 dark:bg-[#161b24]":"border-slate-200/80 bg-white/40 hover:border-slate-300 hover:bg-slate-50/80 dark:border-[#23232a] dark:bg-[#131318] dark:hover:border-[#2a303a] dark:hover:bg-[#17171d]"}`,children:[l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:Y.payment_id||Y.request_id||Y.lookup_key}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:[Y.merchant_id||"unknown merchant"," · ",mp(Y.last_seen_ms)]})]}),l.jsx(ze,{variant:Du(Y.latest_status),children:Os(Y.latest_status)||"Unknown"})]}),l.jsx("p",{className:"mt-3 text-xs text-slate-500 dark:text-[#8a8a93]",children:iN([Y.latest_gateway||null,`${Y.event_count} events`,ode(Y.last_seen_ms)])})]},Y.lookup_key)):l.jsx(gp,{title:Ie.noMatchesTitle,body:Ie.noMatchesBody}),l.jsxs("div",{className:"flex items-center gap-2 pt-1",children:[l.jsx(Ae,{size:"sm",variant:"secondary",disabled:b<=1,onClick:()=>{const Y=Math.max(1,b-1);_(Y),Oe(h,v,Y,w,k)},children:"Prev"}),l.jsx(Ae,{size:"sm",variant:"secondary",disabled:we.length{const Y=b+1;_(Y),Oe(h,v,Y,w,k)},children:"Next"})]})]})]}),l.jsxs(Se,{className:"overflow-hidden",children:[l.jsx("div",{className:"border-b border-slate-200 px-5 py-4 dark:border-[#2a303a]",children:l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-slate-200 text-[11px] font-semibold text-slate-600 dark:border-[#2a303a] dark:text-[#8a8a93]",children:"2"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Decision trail"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Click an event to inspect its scores and payload"})]})]}),q!=null&&q.payment_id||q!=null&&q.request_id?l.jsx("p",{className:"truncate text-xs text-slate-500 dark:text-[#8a8a93]",children:(q==null?void 0:q.payment_id)||(q==null?void 0:q.request_id)}):null]})}),l.jsxs("div",{className:"space-y-4 p-5",children:[q?l.jsxs("div",{className:"flex items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:q.payment_id||q.request_id||q.lookup_key}),l.jsxs("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:[qe," event",qe===1?"":"s"," in this decision trail"]})]}),q.latest_status?l.jsx(ze,{variant:Du(q.latest_status),children:Os(q.latest_status)}):null]}):null,Pe.length?l.jsx("div",{className:"space-y-3",children:Pe.map((Y,Me)=>{const ft=(J==null?void 0:J.id)===Y.id;return l.jsx("button",{type:"button",onClick:()=>{T(Y.id),N("summary")},className:`w-full rounded-[20px] border px-4 py-4 text-left transition ${ft?"border-brand-500/70 bg-slate-50 shadow-[0_14px_30px_-28px_rgba(59,130,246,0.35)] dark:border-brand-500 dark:bg-[#161b24]":"border-slate-200/70 bg-white/40 hover:border-slate-300 hover:bg-slate-50/80 dark:border-[#23232a] dark:bg-[#131318] dark:hover:border-[#2a303a] dark:hover:bg-[#17171d]"}`,children:l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx("div",{className:`mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-full border text-sm font-semibold ${ft?"border-brand-500/50 bg-brand-500/10 text-brand-300":"border-slate-200 text-slate-600 dark:border-[#3a284f] dark:text-[#b38cff]"}`,children:Me+1}),l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("p",{className:"text-lg font-semibold text-slate-900 dark:text-[#7da6ff]",children:ob(Y)}),Y.status?l.jsx(ze,{variant:Du(Y.status),children:Os(Y.status)}):null]}),l.jsx("p",{className:"mt-2 text-xs text-slate-500 dark:text-[#8a8a93]",children:iN([Y.gateway?`gateway ${Y.gateway}`:null,mp(Y.created_at_ms),Y.routing_approach||null,Y.payment_method_type||null])}),l.jsx("p",{className:"mt-2 text-[11px] text-slate-500 dark:text-[#667085]",children:Y.request_id||Y.id})]}),ft?l.jsx("p",{className:"text-[11px] font-medium uppercase tracking-[0.14em] text-slate-500 dark:text-[#8a8a93]",children:"Inspecting →"}):null]}),Y.error_message?l.jsx("p",{className:"mt-4 rounded-2xl border border-red-500/20 bg-red-500/[0.08] px-4 py-3 text-sm text-red-600 dark:text-red-300",children:Y.error_message}):null]})]})},Y.id)})}):l.jsx(gp,{title:"No timeline selected yet",body:Ie.summaryEmpty})]})]}),l.jsxs(Se,{className:"overflow-hidden xl:sticky xl:top-6 xl:self-start",children:[l.jsx("div",{className:"border-b border-slate-200 px-5 py-4 dark:border-[#2a303a]",children:l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-slate-200 text-[11px] font-semibold text-slate-600 dark:border-[#2a303a] dark:text-[#8a8a93]",children:"3"}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:"Event inspector"}),l.jsx("p",{className:"mt-1 text-xs text-slate-500 dark:text-[#8a8a93]",children:"Click a timeline event to inspect its data"})]})]})}),l.jsx("div",{className:"space-y-4 p-5",children:J&&ue?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"space-y-3",children:[l.jsx("p",{className:"text-xs text-slate-500 dark:text-[#8a8a93]",children:"Connector scores, routing logic, and full payload"}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("p",{className:"text-xl font-semibold text-slate-900 dark:text-[#7da6ff]",children:ob(J)}),J.status?l.jsx(ze,{variant:Du(J.status),children:Os(J.status)}):null]}),l.jsx("p",{className:"text-sm text-slate-500 dark:text-[#8a8a93]",children:mp(J.created_at_ms)})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[l.jsxs(Hh,{className:"px-4 py-3",children:[l.jsx(an,{children:"Gateway"}),l.jsx("p",{className:"mt-2 text-base font-semibold text-slate-900 dark:text-[#7da6ff]",children:J.gateway||"Unknown"})]}),l.jsxs(Hh,{className:"px-4 py-3",children:[l.jsx(an,{children:"Outcome"}),l.jsx("p",{className:"mt-2 text-base font-semibold text-slate-900 dark:text-[#34d399]",children:Os(J.status)||"Unknown"})]})]}),l.jsx("div",{className:"flex flex-wrap gap-2",children:ede.map(Y=>l.jsx(Ae,{size:"sm",variant:"secondary",className:Zf(R===Y),onClick:()=>N(Y),children:Y==="summary"?"Summary":Y==="input"?"Input":Y==="response"?"Response":"Raw JSON"},Y))}),R==="summary"?l.jsxs("div",{className:"space-y-4",children:[l.jsx(So,{title:"Connector scores",value:ue.scoreContext,emptyMessage:"No connector score map was captured for this event."}),l.jsx(dde,{rows:ue.summaryRows}),l.jsx(So,{title:"Selection reason",value:ue.selectionReason,emptyMessage:"No explicit selection reason was captured for this event."}),l.jsx(So,{title:"Details",value:ue.signalRecord,emptyMessage:"This event did not capture additional scoring or rule metadata."})]}):null,R==="input"?l.jsx(So,{title:"Input",value:ue.requestPayload,emptyMessage:"No dedicated request payload was captured for this event."}):null,R==="response"?l.jsx(So,{title:"Response",value:ue.responsePayload,emptyMessage:"No dedicated response payload was captured for this event."}):null,R==="raw"?l.jsx(So,{title:"Raw JSON",value:ue.rawEvent,emptyMessage:"No raw payload is available for this event."}):null,l.jsxs("div",{className:"flex flex-wrap gap-2",children:[l.jsx(Ae,{size:"sm",variant:"secondary",disabled:!J.request_id,onClick:()=>Q(J.request_id),children:"Copy request ID"}),l.jsx(Ae,{size:"sm",variant:"secondary",disabled:!J.payment_id,onClick:()=>Q(J.payment_id),children:"Copy payment ID"}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:ne,children:"Open related events"})]})]}):l.jsx(gp,{title:"No event selected",body:"Select a timeline event to inspect connector scores, routing logic, and full payloads."})})]})]})]})}function hde(){const e=is(),{merchantId:t}=Nn(),{data:r}=Xt(t?`/routing/list/active/${t}`:null,()=>zt(`/routing/list/active/${t}`)),{data:n}=Xt(t?["/rule/get","successRate",t]:null,()=>zt("/rule/get",{merchant_id:t,algorithm:"successRate"})),a=[{id:"sr",title:"Auth-Rate Based Routing",description:"Dynamically route to the best-performing gateway based on real-time authorization rates.",icon:cR,route:"/routing/sr",algorithmType:"successRate",checkConfigured:()=>{var i;return!!((i=n==null?void 0:n.config)!=null&&i.data)}},{id:"rules",title:"Rule-Based Routing",description:"Declarative routing rules to route payments based on conditions and attributes.",icon:ple,route:"/routing/rules",algorithmType:"advanced",checkConfigured:()=>(r||[]).some(i=>{var s;return((s=i.algorithm_data||i.algorithm)==null?void 0:s.type)==="advanced"})},{id:"volume",title:"Volume Split",description:"Distribute payment traffic across gateways by configurable percentage splits.",icon:Yh,route:"/routing/volume",algorithmType:"volume_split",checkConfigured:()=>(r||[]).some(i=>{var s;return((s=i.algorithm_data||i.algorithm)==null?void 0:s.type)==="volume_split"})},{id:"debit",title:"Network Routing",description:"Optimise debit network fees with acquirer-aware network-based routing.",icon:cle,route:"/routing/debit",algorithmType:"debitRouting",checkConfigured:()=>!1}];return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900",children:"Routing Hub"}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:"Click on any routing strategy to configure"})]}),l.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:a.map(i=>{const s=i.icon,o=i.checkConfigured();return l.jsx(Se,{className:"flex flex-col hover:border-brand-300 cursor-pointer transition-all hover:shadow-md",onClick:()=>e(i.route),children:l.jsxs(Be,{className:"flex-1 flex flex-col gap-3",children:[l.jsxs("div",{className:"flex items-start justify-between",children:[l.jsx("div",{className:"p-2 bg-brand-50 rounded-lg border border-[#1c2d50]",children:l.jsx(s,{size:20,className:"text-brand-500"})}),l.jsx(ze,{variant:o?"green":"gray",children:o?"Configured":"Not Configured"})]}),l.jsxs("div",{children:[l.jsx("h3",{className:"font-semibold text-slate-900",children:i.title}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:i.description})]}),l.jsx("div",{className:"mt-auto pt-2",children:l.jsx("span",{className:"text-sm text-brand-600 font-medium",children:o?"Manage →":"Setup →"})})]})},i.id)})})]})}var Kd=e=>e.type==="checkbox",Is=e=>e instanceof Date,Qr=e=>e==null;const ZR=e=>typeof e=="object";var tr=e=>!Qr(e)&&!Array.isArray(e)&&ZR(e)&&!Is(e),mde=e=>tr(e)&&e.target?Kd(e.target)?e.target.checked:e.target.value:e,gde=(e,t)=>t.split(".").some((r,n,a)=>!isNaN(Number(r))&&e.has(a.slice(0,n).join("."))),yde=e=>{const t=e.constructor&&e.constructor.prototype;return tr(t)&&t.hasOwnProperty("isPrototypeOf")},I1=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Rt(e){if(e instanceof Date)return new Date(e);const t=typeof FileList<"u"&&e instanceof FileList;if(I1&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!r&&!(tr(e)&&yde(e)))return e;const n=r?[]:Object.create(Object.getPrototypeOf(e));for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(n[a]=Rt(e[a]));return n}var _g=e=>/^\w*$/.test(e),jt=e=>e===void 0,jg=e=>Array.isArray(e)?e.filter(Boolean):[],M1=e=>jg(e.replace(/["|']|\]/g,"").split(/\.|\[/)),pe=(e,t,r)=>{if(!t||!tr(e))return r;const n=(_g(t)?[t]:M1(t)).reduce((a,i)=>Qr(a)?a:a[i],e);return jt(n)||n===e?jt(e[t])?r:e[t]:n},ba=e=>typeof e=="boolean",aa=e=>typeof e=="function",yt=(e,t,r)=>{let n=-1;const a=_g(t)?[t]:M1(t),i=a.length,s=i-1;for(;++nP.useContext(QR);var xde=(e,t,r,n=!0)=>{const a={defaultValues:t._defaultValues};for(const i in e)Object.defineProperty(a,i,{get:()=>{const s=i;return t._proxyFormState[s]!==Dn.all&&(t._proxyFormState[s]=!n||Dn.all),e[s]}});return a};const eI=typeof window<"u"?P.useLayoutEffect:P.useEffect;var Wr=e=>typeof e=="string",bde=(e,t,r,n,a)=>Wr(e)?(n&&t.watch.add(e),pe(r,e,a)):Array.isArray(e)?e.map(i=>(n&&t.watch.add(i),pe(r,i))):(n&&(t.watchAll=!0),r),lb=e=>Qr(e)||!ZR(e);function Ci(e,t,r=new WeakSet){if(lb(e)||lb(t))return Object.is(e,t);if(Is(e)&&Is(t))return Object.is(e.getTime(),t.getTime());const n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;if(r.has(e)||r.has(t))return!0;r.add(e),r.add(t);for(const i of n){const s=e[i];if(!a.includes(i))return!1;if(i!=="ref"){const o=t[i];if(Is(s)&&Is(o)||(tr(s)||Array.isArray(s))&&(tr(o)||Array.isArray(o))?!Ci(s,o,r):!Object.is(s,o))return!1}}return!0}const wde=P.createContext(null);wde.displayName="HookFormContext";var tI=(e,t,r,n,a)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:a||!0}}:{},sn=e=>Array.isArray(e)?e:[e],sN=()=>{let e=[];return{get observers(){return e},next:a=>{for(const i of e)i.next&&i.next(a)},subscribe:a=>(e.push(a),{unsubscribe:()=>{e=e.filter(i=>i!==a)}}),unsubscribe:()=>{e=[]}}};function rI(e,t){const r={};for(const n in e)if(e.hasOwnProperty(n)){const a=e[n],i=t[n];if(a&&tr(a)&&i){const s=rI(a,i);tr(s)&&(r[n]=s)}else e[n]&&(r[n]=i)}return r}var Rr=e=>tr(e)&&!Object.keys(e).length,D1=e=>e.type==="file",rm=e=>{if(!I1)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},nI=e=>e.type==="select-multiple",L1=e=>e.type==="radio",_de=e=>L1(e)||Kd(e),rv=e=>rm(e)&&e.isConnected;function jde(e,t){const r=t.slice(0,-1).length;let n=0;for(;n{for(const t in e)if(aa(e[t]))return!0;return!1};function aI(e){return Array.isArray(e)||tr(e)&&!kde(e)}function ub(e,t={}){for(const r in e){const n=e[r];aI(n)?(t[r]=Array.isArray(n)?[]:{},ub(n,t[r])):jt(n)||(t[r]=!0)}return t}function Zu(e,t,r){r||(r=ub(t));for(const n in e){const a=e[n];if(aI(a))jt(t)||lb(r[n])?r[n]=ub(a,Array.isArray(a)?[]:{}):Zu(a,Qr(t)?{}:t[n],r[n]);else{const i=t[n];r[n]=!Ci(a,i)}}return r}const oN={value:!1,isValid:!1},lN={value:!0,isValid:!0};var iI=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!jt(e[0].attributes.value)?jt(e[0].value)||e[0].value===""?lN:{value:e[0].value,isValid:!0}:lN:oN}return oN},sI=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>jt(e)?e:t?e===""?NaN:e&&+e:r&&Wr(e)?new Date(e):n?n(e):e;const uN={isValid:!1,value:null};var oI=e=>Array.isArray(e)?e.reduce((t,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:t,uN):uN;function cN(e){const t=e.ref;return D1(t)?t.files:L1(t)?oI(e.refs).value:nI(t)?[...t.selectedOptions].map(({value:r})=>r):Kd(t)?iI(e.refs).value:sI(jt(t.value)?e.ref.value:t.value,e)}var Ode=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,Nde=(e,t,r,n)=>{const a={};for(const i of e){const s=pe(t,i);s&&yt(a,i,s._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:n}},nm=e=>e instanceof RegExp,Fu=e=>jt(e)?e:nm(e)?e.source:tr(e)?nm(e.value)?e.value.source:e.value:e,Yo=e=>({isOnSubmit:!e||e===Dn.onSubmit,isOnBlur:e===Dn.onBlur,isOnChange:e===Dn.onChange,isOnAll:e===Dn.all,isOnTouch:e===Dn.onTouched});const dN="AsyncFunction";var Ade=e=>!!e&&!!e.validate&&!!(aa(e.validate)&&e.validate.constructor.name===dN||tr(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===dN)),Ede=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),cb=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(n=>e.startsWith(n)&&/^\.\w+/.test(e.slice(n.length))));const ll=(e,t,r,n)=>{for(const a of r||Object.keys(e)){const i=pe(e,a);if(i){const{_f:s,...o}=i;if(s){if(s.refs&&s.refs[0]&&t(s.refs[0],a)&&!n)return!0;if(s.ref&&t(s.ref,s.name)&&!n)return!0;if(ll(o,t))break}else if(tr(o)&&ll(o,t))break}}};function fN(e,t,r){const n=pe(e,r);if(n||_g(r))return{error:n,name:r};const a=r.split(".");for(;a.length;){const i=a.join("."),s=pe(t,i),o=pe(e,i);if(s&&!Array.isArray(s)&&r!==i)return{name:r};if(o&&o.type)return{name:i,error:o};if(o&&o.root&&o.root.type)return{name:`${i}.root`,error:o.root};a.pop()}return{name:r}}var Pde=(e,t,r,n)=>{r(e);const{name:a,...i}=e;return Rr(i)||Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(s=>t[s]===(!n||Dn.all))},Cde=(e,t,r)=>!e||!t||e===t||sn(e).some(n=>n&&(r?n===t:n.startsWith(t)||t.startsWith(n))),Tde=(e,t,r,n,a)=>a.isOnAll?!1:!r&&a.isOnTouch?!(t||e):(r?n.isOnBlur:a.isOnBlur)?!e:(r?n.isOnChange:a.isOnChange)?e:!0,$de=(e,t)=>!jg(pe(e,t)).length&&Jt(e,t),lI=(e,t,r)=>{const n=sn(pe(e,r));return yt(n,JR,t[r]),yt(e,r,n),e};function pN(e,t,r="validate"){if(Wr(e)||Array.isArray(e)&&e.every(Wr)||ba(e)&&!e)return{type:r,message:Wr(e)?e:"",ref:t}}var Oo=e=>tr(e)&&!nm(e)?e:{value:e,message:""},db=async(e,t,r,n,a,i)=>{const{ref:s,refs:o,required:u,maxLength:c,minLength:f,min:d,max:p,pattern:h,validate:x,name:v,valueAsNumber:g,mount:y}=e._f,m=pe(r,v);if(!y||t.has(v))return{};const w=o?o[0]:s,j=N=>{a&&w.reportValidity&&(w.setCustomValidity(ba(N)?"":N||""),w.reportValidity())},b={},_=L1(s),k=Kd(s),O=_||k,E=(g||D1(s))&&jt(s.value)&&jt(m)||rm(s)&&s.value===""||m===""||Array.isArray(m)&&!m.length,T=tI.bind(null,v,n,b),R=(N,$,I,L=Zn.maxLength,V=Zn.minLength)=>{const H=N?$:I;b[v]={type:N?L:V,message:H,ref:s,...T(N?L:V,H)}};if(i?!Array.isArray(m)||!m.length:u&&(!O&&(E||Qr(m))||ba(m)&&!m||k&&!iI(o).isValid||_&&!oI(o).isValid)){const{value:N,message:$}=Wr(u)?{value:!!u,message:u}:Oo(u);if(N&&(b[v]={type:Zn.required,message:$,ref:w,...T(Zn.required,$)},!n))return j($),b}if(!E&&(!Qr(d)||!Qr(p))){let N,$;const I=Oo(p),L=Oo(d);if(!Qr(m)&&!isNaN(m)){const V=s.valueAsNumber||m&&+m;Qr(I.value)||(N=V>I.value),Qr(L.value)||($=Vnew Date(new Date().toDateString()+" "+W),M=s.type=="time",B=s.type=="week";Wr(I.value)&&m&&(N=M?H(m)>H(I.value):B?m>I.value:V>new Date(I.value)),Wr(L.value)&&m&&($=M?H(m)+N.value,L=!Qr($.value)&&m.length<+$.value;if((I||L)&&(R(I,N.message,$.message),!n))return j(b[v].message),b}if(h&&!E&&Wr(m)){const{value:N,message:$}=Oo(h);if(nm(N)&&!m.match(N)&&(b[v]={type:Zn.pattern,message:$,ref:s,...T(Zn.pattern,$)},!n))return j($),b}if(x){if(aa(x)){const N=await x(m,r),$=pN(N,w);if($&&(b[v]={...$,...T(Zn.validate,$.message)},!n))return j($.message),b}else if(tr(x)){let N={};for(const $ in x){if(!Rr(N)&&!n)break;const I=pN(await x[$](m,r),w,$);I&&(N={...I,...T($,I.message)},j(I.message),n&&(b[v]=N))}if(!Rr(N)&&(b[v]={ref:w,...N},!n))return b}}return j(!0),b};const Rde={mode:Dn.onSubmit,reValidateMode:Dn.onChange,shouldFocusError:!0};function Ide(e={}){let t={...Rde,...e},r={submitCount:0,isDirty:!1,isReady:!1,isLoading:aa(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},n={},a=tr(t.defaultValues)||tr(t.values)?Rt(t.defaultValues||t.values)||{}:{},i=t.shouldUnregister?{}:Rt(a),s={action:!1,mount:!1,watch:!1,keepIsValid:!1},o={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},u,c=0;const f={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},d={...f};let p={...d};const h={array:sN(),state:sN()},x=t.criteriaMode===Dn.all,v=C=>z=>{clearTimeout(c),c=setTimeout(C,z)},g=async C=>{if(!s.keepIsValid&&!t.disabled&&(d.isValid||p.isValid||C)){let z;t.resolver?(z=Rr((await E()).errors),y()):z=await N({fields:n,onlyCheckValid:!0,eventType:ko.VALID}),z!==r.isValid&&h.state.next({isValid:z})}},y=(C,z)=>{!t.disabled&&(d.isValidating||d.validatingFields||p.isValidating||p.validatingFields)&&((C||Array.from(o.mount)).forEach(U=>{U&&(z?yt(r.validatingFields,U,z):Jt(r.validatingFields,U))}),h.state.next({validatingFields:r.validatingFields,isValidating:!Rr(r.validatingFields)}))},m=C=>{const z=Zu(a,i),U=Ode(C);yt(r.dirtyFields,U,pe(z,U))},w=(C,z=[],U,ae,te=!0,Q=!0)=>{if(ae&&U&&!t.disabled){if(s.action=!0,Q&&Array.isArray(pe(n,C))){const ne=U(pe(n,C),ae.argA,ae.argB);te&&yt(n,C,ne)}if(Q&&Array.isArray(pe(r.errors,C))){const ne=U(pe(r.errors,C),ae.argA,ae.argB);te&&yt(r.errors,C,ne),$de(r.errors,C)}if((d.touchedFields||p.touchedFields)&&Q&&Array.isArray(pe(r.touchedFields,C))){const ne=U(pe(r.touchedFields,C),ae.argA,ae.argB);te&&yt(r.touchedFields,C,ne)}(d.dirtyFields||p.dirtyFields)&&m(C),h.state.next({name:C,isDirty:I(C,z),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else yt(i,C,z)},j=(C,z)=>{yt(r.errors,C,z),h.state.next({errors:r.errors})},b=C=>{r.errors=C,h.state.next({errors:r.errors,isValid:!1})},_=(C,z,U,ae)=>{const te=pe(n,C);if(te){const Q=pe(i,C,jt(U)?pe(a,C):U);jt(Q)||ae&&ae.defaultChecked||z?yt(i,C,z?Q:cN(te._f)):H(C,Q),s.mount&&!s.action&&g()}},k=(C,z,U,ae,te)=>{let Q=!1,ne=!1;const _e={name:C};if(!t.disabled){if(!U||ae){(d.isDirty||p.isDirty)&&(ne=r.isDirty,r.isDirty=_e.isDirty=I(),Q=ne!==_e.isDirty);const Ne=Ci(pe(a,C),z);ne=!!pe(r.dirtyFields,C),Ne?Jt(r.dirtyFields,C):yt(r.dirtyFields,C,!0),_e.dirtyFields=r.dirtyFields,Q=Q||(d.dirtyFields||p.dirtyFields)&&ne!==!Ne}if(U){const Ne=pe(r.touchedFields,C);Ne||(yt(r.touchedFields,C,U),_e.touchedFields=r.touchedFields,Q=Q||(d.touchedFields||p.touchedFields)&&Ne!==U)}Q&&te&&h.state.next(_e)}return Q?_e:{}},O=(C,z,U,ae)=>{const te=pe(r.errors,C),Q=(d.isValid||p.isValid)&&ba(z)&&r.isValid!==z;if(t.delayError&&U?(u=v(()=>j(C,U)),u(t.delayError)):(clearTimeout(c),u=null,U?yt(r.errors,C,U):Jt(r.errors,C)),(U?!Ci(te,U):te)||!Rr(ae)||Q){const ne={...ae,...Q&&ba(z)?{isValid:z}:{},errors:r.errors,name:C};r={...r,...ne},h.state.next(ne)}},E=async C=>(y(C,!0),await t.resolver(i,t.context,Nde(C||o.mount,n,t.criteriaMode,t.shouldUseNativeValidation))),T=async C=>{const{errors:z}=await E(C);if(y(C),C)for(const U of C){const ae=pe(z,U);ae?yt(r.errors,U,ae):Jt(r.errors,U)}else r.errors=z;return z},R=async({name:C,eventType:z})=>{if(e.validate){const U=await e.validate({formValues:i,formState:r,name:C,eventType:z});if(tr(U))for(const ae in U)U[ae]&&ge(`${tv}.${ae}`,{message:Wr(U.message)?U.message:"",type:Zn.validate});else Wr(U)||!U?ge(tv,{message:U||"",type:Zn.validate}):le(tv);return U}return!0},N=async({fields:C,onlyCheckValid:z,name:U,eventType:ae,context:te={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(te.runRootValidation=!0,!await R({name:U,eventType:ae})&&(te.valid=!1,z)))return te.valid;for(const Q in C){const ne=C[Q];if(ne){const{_f:_e,...Ne}=ne;if(_e){const dt=o.array.has(_e.name),mt=ne._f&&Ade(ne._f);mt&&d.validatingFields&&y([_e.name],!0);const Lt=await db(ne,o.disabled,i,x,t.shouldUseNativeValidation&&!z,dt);if(mt&&d.validatingFields&&y([_e.name]),Lt[_e.name]&&(te.valid=!1,z)||(!z&&(pe(Lt,_e.name)?dt?lI(r.errors,Lt,_e.name):yt(r.errors,_e.name,Lt[_e.name]):Jt(r.errors,_e.name)),e.shouldUseNativeValidation&&Lt[_e.name]))break}!Rr(Ne)&&await N({context:te,onlyCheckValid:z,fields:Ne,name:Q,eventType:ae})}}return te.valid},$=()=>{for(const C of o.unMount){const z=pe(n,C);z&&(z._f.refs?z._f.refs.every(U=>!rv(U)):!rv(z._f.ref))&&ue(C)}o.unMount=new Set},I=(C,z)=>!t.disabled&&(C&&z&&yt(i,C,z),!Ci(ee(),a)),L=(C,z,U)=>bde(C,o,{...s.mount?i:jt(z)?a:Wr(C)?{[C]:z}:z},U,z),V=C=>jg(pe(s.mount?i:a,C,t.shouldUnregister?pe(a,C,[]):[])),H=(C,z,U={})=>{const ae=pe(n,C);let te=z;if(ae){const Q=ae._f;Q&&(!Q.disabled&&yt(i,C,sI(z,Q)),te=rm(Q.ref)&&Qr(z)?"":z,nI(Q.ref)?[...Q.ref.options].forEach(ne=>ne.selected=te.includes(ne.value)):Q.refs?Kd(Q.ref)?Q.refs.forEach(ne=>{(!ne.defaultChecked||!ne.disabled)&&(Array.isArray(te)?ne.checked=!!te.find(_e=>_e===ne.value):ne.checked=te===ne.value||!!te)}):Q.refs.forEach(ne=>ne.checked=ne.value===te):D1(Q.ref)?Q.ref.value="":(Q.ref.value=te,Q.ref.type||h.state.next({name:C,values:Rt(i)})))}(U.shouldDirty||U.shouldTouch)&&k(C,te,U.shouldTouch,U.shouldDirty,!0),U.shouldValidate&&K(C)},M=(C,z,U)=>{for(const ae in z){if(!z.hasOwnProperty(ae))return;const te=z[ae],Q=C+"."+ae,ne=pe(n,Q);(o.array.has(C)||tr(te)||ne&&!ne._f)&&!Is(te)?M(Q,te,U):H(Q,te,U)}},B=(C,z,U={})=>{const ae=pe(n,C),te=o.array.has(C),Q=Rt(z);yt(i,C,Q),te?(h.array.next({name:C,values:Rt(i)}),(d.isDirty||d.dirtyFields||p.isDirty||p.dirtyFields)&&U.shouldDirty&&(m(C),h.state.next({name:C,dirtyFields:r.dirtyFields,isDirty:I(C,Q)}))):ae&&!ae._f&&!Qr(Q)?M(C,Q,U):H(C,Q,U),cb(C,o)?h.state.next({...r,name:C,values:Rt(i)}):h.state.next({name:s.mount?C:void 0,values:Rt(i)})},W=async C=>{s.mount=!0;const z=C.target;let U=z.name,ae=!0;const te=pe(n,U),Q=Ne=>{ae=Number.isNaN(Ne)||Is(Ne)&&isNaN(Ne.getTime())||Ci(Ne,pe(i,U,Ne))},ne=Yo(t.mode),_e=Yo(t.reValidateMode);if(te){let Ne,dt;const mt=z.type?cN(te._f):mde(C),Lt=C.type===ko.BLUR||C.type===ko.FOCUS_OUT,zr=!Ede(te._f)&&!e.validate&&!t.resolver&&!pe(r.errors,U)&&!te._f.deps||Tde(Lt,pe(r.touchedFields,U),r.isSubmitted,_e,ne),Pr=cb(U,o,Lt);yt(i,U,mt),Lt?(!z||!z.readOnly)&&(te._f.onBlur&&te._f.onBlur(C),u&&u(0)):te._f.onChange&&te._f.onChange(C);const Cr=k(U,mt,Lt),Y=!Rr(Cr)||Pr;if(!Lt&&h.state.next({name:U,type:C.type,values:Rt(i)}),zr)return(d.isValid||p.isValid)&&(t.mode==="onBlur"?Lt&&g():Lt||g()),Y&&h.state.next({name:U,...Pr?{}:Cr});if(!t.resolver&&e.validate&&await R({name:U,eventType:C.type}),!Lt&&Pr&&h.state.next({...r}),t.resolver){const{errors:Me}=await E([U]);if(y([U]),Q(mt),ae){const ft=fN(r.errors,n,U),Zt=fN(Me,n,ft.name||U);Ne=Zt.error,U=Zt.name,dt=Rr(Me)}}else y([U],!0),Ne=(await db(te,o.disabled,i,x,t.shouldUseNativeValidation))[U],y([U]),Q(mt),ae&&(Ne?dt=!1:(d.isValid||p.isValid)&&(dt=await N({fields:n,onlyCheckValid:!0,name:U,eventType:C.type})));ae&&(te._f.deps&&(!Array.isArray(te._f.deps)||te._f.deps.length>0)&&K(te._f.deps),O(U,dt,Ne,Cr))}},G=(C,z)=>{if(pe(r.errors,z)&&C.focus)return C.focus(),1},K=async(C,z={})=>{let U,ae;const te=sn(C);if(t.resolver){const Q=await T(jt(C)?C:te);U=Rr(Q),ae=C?!te.some(ne=>pe(Q,ne)):U}else C?(ae=(await Promise.all(te.map(async Q=>{const ne=pe(n,Q);return await N({fields:ne&&ne._f?{[Q]:ne}:ne,eventType:ko.TRIGGER})}))).every(Boolean),!(!ae&&!r.isValid)&&g()):ae=U=await N({fields:n,name:C,eventType:ko.TRIGGER});return h.state.next({...!Wr(C)||(d.isValid||p.isValid)&&U!==r.isValid?{}:{name:C},...t.resolver||!C?{isValid:U}:{},errors:r.errors}),z.shouldFocus&&!ae&&ll(n,G,C?te:o.mount),ae},ee=(C,z)=>{let U={...s.mount?i:a};return z&&(U=rI(z.dirtyFields?r.dirtyFields:r.touchedFields,U)),jt(C)?U:Wr(C)?pe(U,C):C.map(ae=>pe(U,ae))},q=(C,z)=>({invalid:!!pe((z||r).errors,C),isDirty:!!pe((z||r).dirtyFields,C),error:pe((z||r).errors,C),isValidating:!!pe(r.validatingFields,C),isTouched:!!pe((z||r).touchedFields,C)}),le=C=>{const z=C?sn(C):void 0;z==null||z.forEach(U=>Jt(r.errors,U)),z?z.forEach(U=>{h.state.next({name:U,errors:r.errors})}):h.state.next({errors:{}})},ge=(C,z,U)=>{const ae=(pe(n,C,{_f:{}})._f||{}).ref,te=pe(r.errors,C)||{},{ref:Q,message:ne,type:_e,...Ne}=te;yt(r.errors,C,{...Ne,...z,ref:ae}),h.state.next({name:C,errors:r.errors,isValid:!1}),U&&U.shouldFocus&&ae&&ae.focus&&ae.focus()},$e=(C,z)=>aa(C)?h.state.subscribe({next:U=>"values"in U&&C(L(void 0,z),U)}):L(C,z,!0),Pe=C=>h.state.subscribe({next:z=>{Cde(C.name,z.name,C.exact)&&Pde(z,C.formState||d,Oe,C.reRenderRoot)&&C.callback({values:{...i},...r,...z,defaultValues:a})}}).unsubscribe,J=C=>(s.mount=!0,p={...p,...C.formState},Pe({...C,formState:{...f,...C.formState}})),ue=(C,z={})=>{for(const U of C?sn(C):o.mount)o.mount.delete(U),o.array.delete(U),z.keepValue||(Jt(n,U),Jt(i,U)),!z.keepError&&Jt(r.errors,U),!z.keepDirty&&Jt(r.dirtyFields,U),!z.keepTouched&&Jt(r.touchedFields,U),!z.keepIsValidating&&Jt(r.validatingFields,U),!t.shouldUnregister&&!z.keepDefaultValue&&Jt(a,U);h.state.next({values:Rt(i)}),h.state.next({...r,...z.keepDirty?{isDirty:I()}:{}}),!z.keepIsValid&&g()},de=({disabled:C,name:z})=>{if(ba(C)&&s.mount||C||o.disabled.has(z)){const te=o.disabled.has(z)!==!!C;C?o.disabled.add(z):o.disabled.delete(z),te&&s.mount&&!s.action&&g()}},X=(C,z={})=>{let U=pe(n,C);const ae=ba(z.disabled)||ba(t.disabled),te=!o.registerName.has(C)&&U&&!U._f.mount;return yt(n,C,{...U||{},_f:{...U&&U._f?U._f:{ref:{name:C}},name:C,mount:!0,...z}}),o.mount.add(C),U&&!te?de({disabled:ba(z.disabled)?z.disabled:t.disabled,name:C}):_(C,!0,z.value),{...ae?{disabled:z.disabled||t.disabled}:{},...t.progressive?{required:!!z.required,min:Fu(z.min),max:Fu(z.max),minLength:Fu(z.minLength),maxLength:Fu(z.maxLength),pattern:Fu(z.pattern)}:{},name:C,onChange:W,onBlur:W,ref:Q=>{if(Q){o.registerName.add(C),X(C,z),o.registerName.delete(C),U=pe(n,C);const ne=jt(Q.value)&&Q.querySelectorAll&&Q.querySelectorAll("input,select,textarea")[0]||Q,_e=_de(ne),Ne=U._f.refs||[];if(_e?Ne.find(dt=>dt===ne):ne===U._f.ref)return;yt(n,C,{_f:{...U._f,..._e?{refs:[...Ne.filter(rv),ne,...Array.isArray(pe(a,C))?[{}]:[]],ref:{type:ne.type,name:C}}:{ref:ne}}}),_(C,!1,void 0,ne)}else U=pe(n,C,{}),U._f&&(U._f.mount=!1),(t.shouldUnregister||z.shouldUnregister)&&!(gde(o.array,C)&&s.action)&&o.unMount.add(C)}}},we=()=>t.shouldFocusError&&ll(n,G,o.mount),ye=C=>{ba(C)&&(h.state.next({disabled:C}),ll(n,(z,U)=>{const ae=pe(n,U);ae&&(z.disabled=ae._f.disabled||C,Array.isArray(ae._f.refs)&&ae._f.refs.forEach(te=>{te.disabled=ae._f.disabled||C}))},0,!1))},qe=(C,z)=>async U=>{let ae;U&&(U.preventDefault&&U.preventDefault(),U.persist&&U.persist());let te=Rt(i);if(h.state.next({isSubmitting:!0}),t.resolver){const{errors:Q,values:ne}=await E();y(),r.errors=Q,te=Rt(ne)}else await N({fields:n,eventType:ko.SUBMIT});if(o.disabled.size)for(const Q of o.disabled)Jt(te,Q);if(Jt(r.errors,JR),Rr(r.errors)){h.state.next({errors:{}});try{await C(te,U)}catch(Q){ae=Q}}else z&&await z({...r.errors},U),we(),setTimeout(we);if(h.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Rr(r.errors)&&!ae,submitCount:r.submitCount+1,errors:r.errors}),ae)throw ae},De=(C,z={})=>{pe(n,C)&&(jt(z.defaultValue)?B(C,Rt(pe(a,C))):(B(C,z.defaultValue),yt(a,C,Rt(z.defaultValue))),z.keepTouched||Jt(r.touchedFields,C),z.keepDirty||(Jt(r.dirtyFields,C),r.isDirty=z.defaultValue?I(C,Rt(pe(a,C))):I()),z.keepError||(Jt(r.errors,C),d.isValid&&g()),h.state.next({...r}))},ke=(C,z={})=>{const U=C?Rt(C):a,ae=Rt(U),te=Rr(C),Q=te?a:ae;if(z.keepDefaultValues||(a=U),!z.keepValues){if(z.keepDirtyValues){const ne=new Set([...o.mount,...Object.keys(Zu(a,i))]);for(const _e of Array.from(ne)){const Ne=pe(r.dirtyFields,_e),dt=pe(i,_e),mt=pe(Q,_e);Ne&&!jt(dt)?yt(Q,_e,dt):!Ne&&!jt(mt)&&B(_e,mt)}}else{if(I1&&jt(C))for(const ne of o.mount){const _e=pe(n,ne);if(_e&&_e._f){const Ne=Array.isArray(_e._f.refs)?_e._f.refs[0]:_e._f.ref;if(rm(Ne)){const dt=Ne.closest("form");if(dt){dt.reset();break}}}}if(z.keepFieldsRef)for(const ne of o.mount)B(ne,pe(Q,ne));else n={}}i=t.shouldUnregister?z.keepDefaultValues?Rt(a):{}:Rt(Q),h.array.next({values:{...Q}}),h.state.next({values:{...Q}})}o={mount:z.keepDirtyValues?o.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},s.mount=!d.isValid||!!z.keepIsValid||!!z.keepDirtyValues||!t.shouldUnregister&&!Rr(Q),s.watch=!!t.shouldUnregister,s.keepIsValid=!!z.keepIsValid,s.action=!1,z.keepErrors||(r.errors={}),h.state.next({submitCount:z.keepSubmitCount?r.submitCount:0,isDirty:te?!1:z.keepDirty?r.isDirty:!!(z.keepDefaultValues&&!Ci(C,a)),isSubmitted:z.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:te?{}:z.keepDirtyValues?z.keepDefaultValues&&i?Zu(a,i):r.dirtyFields:z.keepDefaultValues&&C?Zu(a,C):z.keepDirty?r.dirtyFields:{},touchedFields:z.keepTouched?r.touchedFields:{},errors:z.keepErrors?r.errors:{},isSubmitSuccessful:z.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:a})},Re=(C,z)=>ke(aa(C)?C(i):C,{...t.resetOptions,...z}),Ie=(C,z={})=>{const U=pe(n,C),ae=U&&U._f;if(ae){const te=ae.refs?ae.refs[0]:ae.ref;te.focus&&setTimeout(()=>{te.focus(),z.shouldSelect&&aa(te.select)&&te.select()})}},Oe=C=>{r={...r,...C}},We={control:{register:X,unregister:ue,getFieldState:q,handleSubmit:qe,setError:ge,_subscribe:Pe,_runSchema:E,_updateIsValidating:y,_focusError:we,_getWatch:L,_getDirty:I,_setValid:g,_setFieldArray:w,_setDisabledField:de,_setErrors:b,_getFieldArray:V,_reset:ke,_resetDefaultValues:()=>aa(t.defaultValues)&&t.defaultValues().then(C=>{Re(C,t.resetOptions),h.state.next({isLoading:!1})}),_removeUnmounted:$,_disableForm:ye,_subjects:h,_proxyFormState:d,get _fields(){return n},get _formValues(){return i},get _state(){return s},set _state(C){s=C},get _defaultValues(){return a},get _names(){return o},set _names(C){o=C},get _formState(){return r},get _options(){return t},set _options(C){t={...t,...C}}},subscribe:J,trigger:K,register:X,handleSubmit:qe,watch:$e,setValue:B,getValues:ee,reset:Re,resetField:De,clearErrors:le,unregister:ue,setError:ge,setFocus:Ie,getFieldState:q};return{...We,formControl:We}}var wi=()=>{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();const e=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const r=(Math.random()*16+e)%16|0;return(t=="x"?r:r&3|8).toString(16)})},nv=(e,t,r={})=>r.shouldFocus||jt(r.shouldFocus)?r.focusName||`${e}.${jt(r.focusIndex)?t:r.focusIndex}.`:"",av=(e,t)=>[...e,...sn(t)],iv=e=>Array.isArray(e)?e.map(()=>{}):void 0;function sv(e,t,r){return[...e.slice(0,t),...sn(r),...e.slice(t)]}var ov=(e,t,r)=>Array.isArray(e)?(jt(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[],lv=(e,t)=>[...sn(t),...sn(e)];function Mde(e,t){let r=0;const n=[...e];for(const a of t)n.splice(a-r,1),r++;return jg(n).length?n:[]}var uv=(e,t)=>jt(t)?[]:Mde(e,sn(t).sort((r,n)=>r-n)),cv=(e,t,r)=>{[e[t],e[r]]=[e[r],e[t]]},hN=(e,t,r)=>(e[t]=r,e);function Dde(e){const t=vde(),{control:r=t,name:n,keyName:a="id",shouldUnregister:i,rules:s}=e,[o,u]=P.useState(r._getFieldArray(n)),c=P.useRef(r._getFieldArray(n).map(wi)),f=P.useRef(!1);r._names.array.add(n),P.useMemo(()=>s&&o.length>=0&&r.register(n,s),[r,n,o.length,s]),eI(()=>r._subjects.array.subscribe({next:({values:j,name:b})=>{if(b===n||!b){const _=pe(j,n);Array.isArray(_)&&(u(_),c.current=_.map(wi))}}}).unsubscribe,[r,n]);const d=P.useCallback(j=>{f.current=!0,r._setFieldArray(n,j)},[r,n]),p=(j,b)=>{const _=sn(Rt(j)),k=av(r._getFieldArray(n),_);r._names.focus=nv(n,k.length-1,b),c.current=av(c.current,_.map(wi)),d(k),u(k),r._setFieldArray(n,k,av,{argA:iv(j)})},h=(j,b)=>{const _=sn(Rt(j)),k=lv(r._getFieldArray(n),_);r._names.focus=nv(n,0,b),c.current=lv(c.current,_.map(wi)),d(k),u(k),r._setFieldArray(n,k,lv,{argA:iv(j)})},x=j=>{const b=uv(r._getFieldArray(n),j);c.current=uv(c.current,j),d(b),u(b),!Array.isArray(pe(r._fields,n))&&yt(r._fields,n,void 0),r._setFieldArray(n,b,uv,{argA:j})},v=(j,b,_)=>{const k=sn(Rt(b)),O=sv(r._getFieldArray(n),j,k);r._names.focus=nv(n,j,_),c.current=sv(c.current,j,k.map(wi)),d(O),u(O),r._setFieldArray(n,O,sv,{argA:j,argB:iv(b)})},g=(j,b)=>{const _=r._getFieldArray(n);cv(_,j,b),cv(c.current,j,b),d(_),u(_),r._setFieldArray(n,_,cv,{argA:j,argB:b},!1)},y=(j,b)=>{const _=r._getFieldArray(n);ov(_,j,b),ov(c.current,j,b),d(_),u(_),r._setFieldArray(n,_,ov,{argA:j,argB:b},!1)},m=(j,b)=>{const _=Rt(b),k=hN(r._getFieldArray(n),j,_);c.current=[...k].map((O,E)=>!O||E===j?wi():c.current[E]),d(k),u([...k]),r._setFieldArray(n,k,hN,{argA:j,argB:_},!0,!1)},w=j=>{const b=sn(Rt(j));c.current=b.map(wi),d([...b]),u([...b]),r._setFieldArray(n,[...b],_=>_,{},!0,!1)};return P.useEffect(()=>{if(r._state.action=!1,cb(n,r._names)&&r._subjects.state.next({...r._formState}),f.current&&(!Yo(r._options.mode).isOnSubmit||r._formState.isSubmitted)&&!Yo(r._options.reValidateMode).isOnSubmit)if(r._options.resolver)r._runSchema([n]).then(j=>{r._updateIsValidating([n]);const b=pe(j.errors,n),_=pe(r._formState.errors,n);(_?!b&&_.type||b&&(_.type!==b.type||_.message!==b.message):b&&b.type)&&(b?yt(r._formState.errors,n,b):Jt(r._formState.errors,n),r._subjects.state.next({errors:r._formState.errors}))});else{const j=pe(r._fields,n);j&&j._f&&!(Yo(r._options.reValidateMode).isOnSubmit&&Yo(r._options.mode).isOnSubmit)&&db(j,r._names.disabled,r._formValues,r._options.criteriaMode===Dn.all,r._options.shouldUseNativeValidation,!0).then(b=>!Rr(b)&&r._subjects.state.next({errors:lI(r._formState.errors,b,n)}))}r._subjects.state.next({name:n,values:Rt(r._formValues)}),r._names.focus&&ll(r._fields,(j,b)=>{if(r._names.focus&&b.startsWith(r._names.focus)&&j.focus)return j.focus(),1}),r._names.focus="",r._setValid(),f.current=!1},[o,n,r]),P.useEffect(()=>(!pe(r._formValues,n)&&r._setFieldArray(n),()=>{const j=(b,_)=>{const k=pe(r._fields,b);k&&k._f&&(k._f.mount=_)};r._options.shouldUnregister||i?r.unregister(n):j(n,!1)}),[n,r,a,i]),{swap:P.useCallback(g,[d,n,r]),move:P.useCallback(y,[d,n,r]),prepend:P.useCallback(h,[d,n,r]),append:P.useCallback(p,[d,n,r]),remove:P.useCallback(x,[d,n,r]),insert:P.useCallback(v,[d,n,r]),update:P.useCallback(m,[d,n,r]),replace:P.useCallback(w,[d,n,r]),fields:P.useMemo(()=>o.map((j,b)=>({...j,[a]:c.current[b]||wi()})),[o,a])}}function Lde(e={}){const t=P.useRef(void 0),r=P.useRef(void 0),[n,a]=P.useState({isDirty:!1,isValidating:!1,isLoading:aa(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:aa(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:n},e.defaultValues&&!aa(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:s,...o}=Ide(e);t.current={...o,formState:n}}const i=t.current.control;return i._options=e,eI(()=>{const s=i._subscribe({formState:i._proxyFormState,callback:()=>a({...i._formState}),reRenderRoot:!0});return a(o=>({...o,isReady:!0})),i._formState.isReady=!0,s},[i]),P.useEffect(()=>i._disableForm(e.disabled),[i,e.disabled]),P.useEffect(()=>{e.mode&&(i._options.mode=e.mode),e.reValidateMode&&(i._options.reValidateMode=e.reValidateMode)},[i,e.mode,e.reValidateMode]),P.useEffect(()=>{e.errors&&(i._setErrors(e.errors),i._focusError())},[i,e.errors]),P.useEffect(()=>{e.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[i,e.shouldUnregister]),P.useEffect(()=>{if(i._proxyFormState.isDirty){const s=i._getDirty();s!==n.isDirty&&i._subjects.state.next({isDirty:s})}},[i,n.isDirty]),P.useEffect(()=>{var s;e.values&&!Ci(e.values,r.current)?(i._reset(e.values,{keepFieldsRef:!0,...i._options.resetOptions}),!((s=i._options.resetOptions)===null||s===void 0)&&s.keepIsValid||i._setValid(),r.current=e.values,a(o=>({...o}))):i._resetDefaultValues()},[i,e.values]),P.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),t.current.formState=P.useMemo(()=>xde(n,i),[i,n]),t.current}const mN=(e,t,r)=>{if(e&&"reportValidity"in e){const n=pe(r,t);e.setCustomValidity(n&&n.message||""),e.reportValidity()}},uI=(e,t)=>{for(const r in t.fields){const n=t.fields[r];n&&n.ref&&"reportValidity"in n.ref?mN(n.ref,r,e):n.refs&&n.refs.forEach(a=>mN(a,r,e))}},Fde=(e,t)=>{t.shouldUseNativeValidation&&uI(e,t);const r={};for(const n in e){const a=pe(t.fields,n),i=Object.assign(e[n]||{},{ref:a&&a.ref});if(zde(t.names||Object.keys(e),n)){const s=Object.assign({},pe(r,n));yt(s,"root",i),yt(r,n,s)}else yt(r,n,i)}return r},zde=(e,t)=>e.some(r=>r.startsWith(t+"."));var Bde=function(e,t){for(var r={};e.length;){var n=e[0],a=n.code,i=n.message,s=n.path.join(".");if(!r[s])if("unionErrors"in n){var o=n.unionErrors[0].errors[0];r[s]={message:o.message,type:o.code}}else r[s]={message:i,type:a};if("unionErrors"in n&&n.unionErrors.forEach(function(f){return f.errors.forEach(function(d){return e.push(d)})}),t){var u=r[s].types,c=u&&u[n.code];r[s]=tI(s,t,r,a,c?[].concat(c,n.message):n.message)}e.shift()}return r},Ude=function(e,t,r){return r===void 0&&(r={}),function(n,a,i){try{return Promise.resolve(function(s,o){try{var u=Promise.resolve(e[r.mode==="sync"?"parse":"parseAsync"](n,t)).then(function(c){return i.shouldUseNativeValidation&&uI({},i),{errors:{},values:r.raw?n:c}})}catch(c){return o(c)}return u&&u.then?u.then(void 0,o):u}(0,function(s){if(function(o){return Array.isArray(o==null?void 0:o.errors)}(s))return{values:{},errors:Fde(Bde(s.errors,!i.shouldUseNativeValidation&&i.criteriaMode==="all"),i)};throw s}))}catch(s){return Promise.reject(s)}}},ut;(function(e){e.assertEqual=a=>{};function t(a){}e.assertIs=t;function r(a){throw new Error}e.assertNever=r,e.arrayToEnum=a=>{const i={};for(const s of a)i[s]=s;return i},e.getValidEnumValues=a=>{const i=e.objectKeys(a).filter(o=>typeof a[a[o]]!="number"),s={};for(const o of i)s[o]=a[o];return e.objectValues(s)},e.objectValues=a=>e.objectKeys(a).map(function(i){return a[i]}),e.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{const i=[];for(const s in a)Object.prototype.hasOwnProperty.call(a,s)&&i.push(s);return i},e.find=(a,i)=>{for(const s of a)if(i(s))return s},e.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&Number.isFinite(a)&&Math.floor(a)===a;function n(a,i=" | "){return a.map(s=>typeof s=="string"?`'${s}'`:s).join(i)}e.joinValues=n,e.jsonStringifyReplacer=(a,i)=>typeof i=="bigint"?i.toString():i})(ut||(ut={}));var gN;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(gN||(gN={}));const be=ut.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ni=e=>{switch(typeof e){case"undefined":return be.undefined;case"string":return be.string;case"number":return Number.isNaN(e)?be.nan:be.number;case"boolean":return be.boolean;case"function":return be.function;case"bigint":return be.bigint;case"symbol":return be.symbol;case"object":return Array.isArray(e)?be.array:e===null?be.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?be.promise:typeof Map<"u"&&e instanceof Map?be.map:typeof Set<"u"&&e instanceof Set?be.set:typeof Date<"u"&&e instanceof Date?be.date:be.object;default:return be.unknown}},ce=ut.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class fi extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){const r=t||function(i){return i.message},n={_errors:[]},a=i=>{for(const s of i.issues)if(s.code==="invalid_union")s.unionErrors.map(a);else if(s.code==="invalid_return_type")a(s.returnTypeError);else if(s.code==="invalid_arguments")a(s.argumentsError);else if(s.path.length===0)n._errors.push(r(s));else{let o=n,u=0;for(;ur.message){const r={},n=[];for(const a of this.issues)if(a.path.length>0){const i=a.path[0];r[i]=r[i]||[],r[i].push(t(a))}else n.push(t(a));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}}fi.create=e=>new fi(e);const fb=(e,t)=>{let r;switch(e.code){case ce.invalid_type:e.received===be.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case ce.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,ut.jsonStringifyReplacer)}`;break;case ce.unrecognized_keys:r=`Unrecognized key(s) in object: ${ut.joinValues(e.keys,", ")}`;break;case ce.invalid_union:r="Invalid input";break;case ce.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${ut.joinValues(e.options)}`;break;case ce.invalid_enum_value:r=`Invalid enum value. Expected ${ut.joinValues(e.options)}, received '${e.received}'`;break;case ce.invalid_arguments:r="Invalid function arguments";break;case ce.invalid_return_type:r="Invalid function return type";break;case ce.invalid_date:r="Invalid date";break;case ce.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:ut.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case ce.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case ce.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case ce.custom:r="Invalid input";break;case ce.invalid_intersection_types:r="Intersection results could not be merged";break;case ce.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case ce.not_finite:r="Number must be finite";break;default:r=t.defaultError,ut.assertNever(e)}return{message:r}};let Vde=fb;function Wde(){return Vde}const Hde=e=>{const{data:t,path:r,errorMaps:n,issueData:a}=e,i=[...r,...a.path||[]],s={...a,path:i};if(a.message!==void 0)return{...a,path:i,message:a.message};let o="";const u=n.filter(c=>!!c).slice().reverse();for(const c of u)o=c(s,{data:t,defaultError:o}).message;return{...a,path:i,message:o}};function he(e,t){const r=Wde(),n=Hde({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===fb?void 0:fb].filter(a=>!!a)});e.common.issues.push(n)}class Sn{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){const n=[];for(const a of r){if(a.status==="aborted")return Ue;a.status==="dirty"&&t.dirty(),n.push(a.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){const n=[];for(const a of r){const i=await a.key,s=await a.value;n.push({key:i,value:s})}return Sn.mergeObjectSync(t,n)}static mergeObjectSync(t,r){const n={};for(const a of r){const{key:i,value:s}=a;if(i.status==="aborted"||s.status==="aborted")return Ue;i.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),i.value!=="__proto__"&&(typeof s.value<"u"||a.alwaysSet)&&(n[i.value]=s.value)}return{status:t.value,value:n}}}const Ue=Object.freeze({status:"aborted"}),Ju=e=>({status:"dirty",value:e}),Gn=e=>({status:"valid",value:e}),yN=e=>e.status==="aborted",vN=e=>e.status==="dirty",Hl=e=>e.status==="valid",am=e=>typeof Promise<"u"&&e instanceof Promise;var je;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(je||(je={}));class Qi{constructor(t,r,n,a){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=a}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const xN=(e,t)=>{if(Hl(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const r=new fi(e.common.issues);return this._error=r,this._error}}};function Je(e){if(!e)return{};const{errorMap:t,invalid_type_error:r,required_error:n,description:a}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:a}:{errorMap:(s,o)=>{const{message:u}=e;return s.code==="invalid_enum_value"?{message:u??o.defaultError}:typeof o.data>"u"?{message:u??n??o.defaultError}:s.code!=="invalid_type"?{message:o.defaultError}:{message:u??r??o.defaultError}},description:a}}class lt{get description(){return this._def.description}_getType(t){return Ni(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:Ni(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Sn,ctx:{common:t.parent.common,data:t.data,parsedType:Ni(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const r=this._parse(t);if(am(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){const r=this._parse(t);return Promise.resolve(r)}parse(t,r){const n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){const n={common:{issues:[],async:(r==null?void 0:r.async)??!1,contextualErrorMap:r==null?void 0:r.errorMap},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ni(t)},a=this._parseSync({data:t,path:n.path,parent:n});return xN(n,a)}"~validate"(t){var n,a;const r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ni(t)};if(!this["~standard"].async)try{const i=this._parseSync({data:t,path:[],parent:r});return Hl(i)?{value:i.value}:{issues:r.common.issues}}catch(i){(a=(n=i==null?void 0:i.message)==null?void 0:n.toLowerCase())!=null&&a.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(i=>Hl(i)?{value:i.value}:{issues:r.common.issues})}async parseAsync(t,r){const n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){const n={common:{issues:[],contextualErrorMap:r==null?void 0:r.errorMap,async:!0},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ni(t)},a=this._parse({data:t,path:n.path,parent:n}),i=await(am(a)?a:Promise.resolve(a));return xN(n,i)}refine(t,r){const n=a=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(a):r;return this._refinement((a,i)=>{const s=t(a),o=()=>i.addIssue({code:ce.custom,...n(a)});return typeof Promise<"u"&&s instanceof Promise?s.then(u=>u?!0:(o(),!1)):s?!0:(o(),!1)})}refinement(t,r){return this._refinement((n,a)=>t(n)?!0:(a.addIssue(typeof r=="function"?r(n,a):r),!1))}_refinement(t){return new no({schema:this,typeName:Ve.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Yi.create(this,this._def)}nullable(){return Kl.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ta.create(this)}promise(){return lm.create(this,this._def)}or(t){return sm.create([this,t],this._def)}and(t){return om.create(this,t,this._def)}transform(t){return new no({...Je(this._def),schema:this,typeName:Ve.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const r=typeof t=="function"?t:()=>t;return new hb({...Je(this._def),innerType:this,defaultValue:r,typeName:Ve.ZodDefault})}brand(){return new hfe({typeName:Ve.ZodBranded,type:this,...Je(this._def)})}catch(t){const r=typeof t=="function"?t:()=>t;return new mb({...Je(this._def),innerType:this,catchValue:r,typeName:Ve.ZodCatch})}describe(t){const r=this.constructor;return new r({...this._def,description:t})}pipe(t){return F1.create(this,t)}readonly(){return gb.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Gde=/^c[^\s-]{8,}$/i,qde=/^[0-9a-z]+$/,Kde=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Yde=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Xde=/^[a-z0-9_-]{21}$/i,Zde=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Jde=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Qde=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,efe="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let dv;const tfe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,rfe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,nfe=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,afe=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ife=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,sfe=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,cI="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",ofe=new RegExp(`^${cI}$`);function dI(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);const r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function lfe(e){return new RegExp(`^${dI(e)}$`)}function ufe(e){let t=`${cI}T${dI(e)}`;const r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function cfe(e,t){return!!((t==="v4"||!t)&&tfe.test(e)||(t==="v6"||!t)&&nfe.test(e))}function dfe(e,t){if(!Zde.test(e))return!1;try{const[r]=e.split(".");if(!r)return!1;const n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),a=JSON.parse(atob(n));return!(typeof a!="object"||a===null||"typ"in a&&(a==null?void 0:a.typ)!=="JWT"||!a.alg||t&&a.alg!==t)}catch{return!1}}function ffe(e,t){return!!((t==="v4"||!t)&&rfe.test(e)||(t==="v6"||!t)&&afe.test(e))}class Za extends lt{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==be.string){const i=this._getOrReturnCtx(t);return he(i,{code:ce.invalid_type,expected:be.string,received:i.parsedType}),Ue}const n=new Sn;let a;for(const i of this._def.checks)if(i.kind==="min")t.data.lengthi.value&&(a=this._getOrReturnCtx(t,a),he(a,{code:ce.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){const s=t.data.length>i.value,o=t.data.lengtht.test(a),{validation:r,code:ce.invalid_string,...je.errToObj(n)})}_addCheck(t){return new Za({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...je.errToObj(t)})}url(t){return this._addCheck({kind:"url",...je.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...je.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...je.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...je.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...je.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...je.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...je.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...je.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...je.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...je.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...je.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...je.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,offset:(t==null?void 0:t.offset)??!1,local:(t==null?void 0:t.local)??!1,...je.errToObj(t==null?void 0:t.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,...je.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...je.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...je.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r==null?void 0:r.position,...je.errToObj(r==null?void 0:r.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...je.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...je.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...je.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...je.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...je.errToObj(r)})}nonempty(t){return this.min(1,je.errToObj(t))}trim(){return new Za({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Za({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Za({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew Za({checks:[],typeName:Ve.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...Je(e)});function pfe(e,t){const r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,a=r>n?r:n,i=Number.parseInt(e.toFixed(a).replace(".","")),s=Number.parseInt(t.toFixed(a).replace(".",""));return i%s/10**a}class eo extends lt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==be.number){const i=this._getOrReturnCtx(t);return he(i,{code:ce.invalid_type,expected:be.number,received:i.parsedType}),Ue}let n;const a=new Sn;for(const i of this._def.checks)i.kind==="int"?ut.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),he(n,{code:ce.invalid_type,expected:"integer",received:"float",message:i.message}),a.dirty()):i.kind==="min"?(i.inclusive?t.datai.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),he(n,{code:ce.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),a.dirty()):i.kind==="multipleOf"?pfe(t.data,i.value)!==0&&(n=this._getOrReturnCtx(t,n),he(n,{code:ce.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):i.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),he(n,{code:ce.not_finite,message:i.message}),a.dirty()):ut.assertNever(i);return{status:a.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,je.toString(r))}gt(t,r){return this.setLimit("min",t,!1,je.toString(r))}lte(t,r){return this.setLimit("max",t,!0,je.toString(r))}lt(t,r){return this.setLimit("max",t,!1,je.toString(r))}setLimit(t,r,n,a){return new eo({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:je.toString(a)}]})}_addCheck(t){return new eo({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:je.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:je.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:je.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:je.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:je.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:je.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:je.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:je.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:je.toString(t)})}get minValue(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuet.kind==="int"||t.kind==="multipleOf"&&ut.isInteger(t.value))}get isFinite(){let t=null,r=null;for(const n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.valuenew eo({checks:[],typeName:Ve.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Je(e)});class to extends lt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==be.bigint)return this._getInvalidInput(t);let n;const a=new Sn;for(const i of this._def.checks)i.kind==="min"?(i.inclusive?t.datai.value:t.data>=i.value)&&(n=this._getOrReturnCtx(t,n),he(n,{code:ce.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),a.dirty()):i.kind==="multipleOf"?t.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),he(n,{code:ce.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):ut.assertNever(i);return{status:a.value,value:t.data}}_getInvalidInput(t){const r=this._getOrReturnCtx(t);return he(r,{code:ce.invalid_type,expected:be.bigint,received:r.parsedType}),Ue}gte(t,r){return this.setLimit("min",t,!0,je.toString(r))}gt(t,r){return this.setLimit("min",t,!1,je.toString(r))}lte(t,r){return this.setLimit("max",t,!0,je.toString(r))}lt(t,r){return this.setLimit("max",t,!1,je.toString(r))}setLimit(t,r,n,a){return new to({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:je.toString(a)}]})}_addCheck(t){return new to({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:je.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:je.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:je.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:je.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:je.toString(r)})}get minValue(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew to({checks:[],typeName:Ve.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...Je(e)});class im extends lt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==be.boolean){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.boolean,received:n.parsedType}),Ue}return Gn(t.data)}}im.create=e=>new im({typeName:Ve.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Je(e)});class Gl extends lt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==be.date){const i=this._getOrReturnCtx(t);return he(i,{code:ce.invalid_type,expected:be.date,received:i.parsedType}),Ue}if(Number.isNaN(t.data.getTime())){const i=this._getOrReturnCtx(t);return he(i,{code:ce.invalid_date}),Ue}const n=new Sn;let a;for(const i of this._def.checks)i.kind==="min"?t.data.getTime()i.value&&(a=this._getOrReturnCtx(t,a),he(a,{code:ce.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):ut.assertNever(i);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Gl({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:je.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:je.toString(r)})}get minDate(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew Gl({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ve.ZodDate,...Je(e)});class bN extends lt{_parse(t){if(this._getType(t)!==be.symbol){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.symbol,received:n.parsedType}),Ue}return Gn(t.data)}}bN.create=e=>new bN({typeName:Ve.ZodSymbol,...Je(e)});class wN extends lt{_parse(t){if(this._getType(t)!==be.undefined){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.undefined,received:n.parsedType}),Ue}return Gn(t.data)}}wN.create=e=>new wN({typeName:Ve.ZodUndefined,...Je(e)});class _N extends lt{_parse(t){if(this._getType(t)!==be.null){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.null,received:n.parsedType}),Ue}return Gn(t.data)}}_N.create=e=>new _N({typeName:Ve.ZodNull,...Je(e)});class jN extends lt{constructor(){super(...arguments),this._any=!0}_parse(t){return Gn(t.data)}}jN.create=e=>new jN({typeName:Ve.ZodAny,...Je(e)});class SN extends lt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Gn(t.data)}}SN.create=e=>new SN({typeName:Ve.ZodUnknown,...Je(e)});class es extends lt{_parse(t){const r=this._getOrReturnCtx(t);return he(r,{code:ce.invalid_type,expected:be.never,received:r.parsedType}),Ue}}es.create=e=>new es({typeName:Ve.ZodNever,...Je(e)});class kN extends lt{_parse(t){if(this._getType(t)!==be.undefined){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.void,received:n.parsedType}),Ue}return Gn(t.data)}}kN.create=e=>new kN({typeName:Ve.ZodVoid,...Je(e)});class Ta extends lt{_parse(t){const{ctx:r,status:n}=this._processInputParams(t),a=this._def;if(r.parsedType!==be.array)return he(r,{code:ce.invalid_type,expected:be.array,received:r.parsedType}),Ue;if(a.exactLength!==null){const s=r.data.length>a.exactLength.value,o=r.data.lengtha.maxLength.value&&(he(r,{code:ce.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((s,o)=>a.type._parseAsync(new Qi(r,s,r.path,o)))).then(s=>Sn.mergeArray(n,s));const i=[...r.data].map((s,o)=>a.type._parseSync(new Qi(r,s,r.path,o)));return Sn.mergeArray(n,i)}get element(){return this._def.type}min(t,r){return new Ta({...this._def,minLength:{value:t,message:je.toString(r)}})}max(t,r){return new Ta({...this._def,maxLength:{value:t,message:je.toString(r)}})}length(t,r){return new Ta({...this._def,exactLength:{value:t,message:je.toString(r)}})}nonempty(t){return this.min(1,t)}}Ta.create=(e,t)=>new Ta({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ve.ZodArray,...Je(t)});function Ao(e){if(e instanceof nr){const t={};for(const r in e.shape){const n=e.shape[r];t[r]=Yi.create(Ao(n))}return new nr({...e._def,shape:()=>t})}else return e instanceof Ta?new Ta({...e._def,type:Ao(e.element)}):e instanceof Yi?Yi.create(Ao(e.unwrap())):e instanceof Kl?Kl.create(Ao(e.unwrap())):e instanceof ro?ro.create(e.items.map(t=>Ao(t))):e}class nr extends lt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),r=ut.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==be.object){const c=this._getOrReturnCtx(t);return he(c,{code:ce.invalid_type,expected:be.object,received:c.parsedType}),Ue}const{status:n,ctx:a}=this._processInputParams(t),{shape:i,keys:s}=this._getCached(),o=[];if(!(this._def.catchall instanceof es&&this._def.unknownKeys==="strip"))for(const c in a.data)s.includes(c)||o.push(c);const u=[];for(const c of s){const f=i[c],d=a.data[c];u.push({key:{status:"valid",value:c},value:f._parse(new Qi(a,d,a.path,c)),alwaysSet:c in a.data})}if(this._def.catchall instanceof es){const c=this._def.unknownKeys;if(c==="passthrough")for(const f of o)u.push({key:{status:"valid",value:f},value:{status:"valid",value:a.data[f]}});else if(c==="strict")o.length>0&&(he(a,{code:ce.unrecognized_keys,keys:o}),n.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const c=this._def.catchall;for(const f of o){const d=a.data[f];u.push({key:{status:"valid",value:f},value:c._parse(new Qi(a,d,a.path,f)),alwaysSet:f in a.data})}}return a.common.async?Promise.resolve().then(async()=>{const c=[];for(const f of u){const d=await f.key,p=await f.value;c.push({key:d,value:p,alwaysSet:f.alwaysSet})}return c}).then(c=>Sn.mergeObjectSync(n,c)):Sn.mergeObjectSync(n,u)}get shape(){return this._def.shape()}strict(t){return je.errToObj,new nr({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{var i,s;const a=((s=(i=this._def).errorMap)==null?void 0:s.call(i,r,n).message)??n.defaultError;return r.code==="unrecognized_keys"?{message:je.errToObj(t).message??a}:{message:a}}}:{}})}strip(){return new nr({...this._def,unknownKeys:"strip"})}passthrough(){return new nr({...this._def,unknownKeys:"passthrough"})}extend(t){return new nr({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new nr({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Ve.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new nr({...this._def,catchall:t})}pick(t){const r={};for(const n of ut.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new nr({...this._def,shape:()=>r})}omit(t){const r={};for(const n of ut.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new nr({...this._def,shape:()=>r})}deepPartial(){return Ao(this)}partial(t){const r={};for(const n of ut.objectKeys(this.shape)){const a=this.shape[n];t&&!t[n]?r[n]=a:r[n]=a.optional()}return new nr({...this._def,shape:()=>r})}required(t){const r={};for(const n of ut.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof Yi;)i=i._def.innerType;r[n]=i}return new nr({...this._def,shape:()=>r})}keyof(){return fI(ut.objectKeys(this.shape))}}nr.create=(e,t)=>new nr({shape:()=>e,unknownKeys:"strip",catchall:es.create(),typeName:Ve.ZodObject,...Je(t)});nr.strictCreate=(e,t)=>new nr({shape:()=>e,unknownKeys:"strict",catchall:es.create(),typeName:Ve.ZodObject,...Je(t)});nr.lazycreate=(e,t)=>new nr({shape:e,unknownKeys:"strip",catchall:es.create(),typeName:Ve.ZodObject,...Je(t)});class sm extends lt{_parse(t){const{ctx:r}=this._processInputParams(t),n=this._def.options;function a(i){for(const o of i)if(o.result.status==="valid")return o.result;for(const o of i)if(o.result.status==="dirty")return r.common.issues.push(...o.ctx.common.issues),o.result;const s=i.map(o=>new fi(o.ctx.common.issues));return he(r,{code:ce.invalid_union,unionErrors:s}),Ue}if(r.common.async)return Promise.all(n.map(async i=>{const s={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:s}),ctx:s}})).then(a);{let i;const s=[];for(const u of n){const c={...r,common:{...r.common,issues:[]},parent:null},f=u._parseSync({data:r.data,path:r.path,parent:c});if(f.status==="valid")return f;f.status==="dirty"&&!i&&(i={result:f,ctx:c}),c.common.issues.length&&s.push(c.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;const o=s.map(u=>new fi(u));return he(r,{code:ce.invalid_union,unionErrors:o}),Ue}}get options(){return this._def.options}}sm.create=(e,t)=>new sm({options:e,typeName:Ve.ZodUnion,...Je(t)});function pb(e,t){const r=Ni(e),n=Ni(t);if(e===t)return{valid:!0,data:e};if(r===be.object&&n===be.object){const a=ut.objectKeys(t),i=ut.objectKeys(e).filter(o=>a.indexOf(o)!==-1),s={...e,...t};for(const o of i){const u=pb(e[o],t[o]);if(!u.valid)return{valid:!1};s[o]=u.data}return{valid:!0,data:s}}else if(r===be.array&&n===be.array){if(e.length!==t.length)return{valid:!1};const a=[];for(let i=0;i{if(yN(i)||yN(s))return Ue;const o=pb(i.value,s.value);return o.valid?((vN(i)||vN(s))&&r.dirty(),{status:r.value,value:o.data}):(he(n,{code:ce.invalid_intersection_types}),Ue)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,s])=>a(i,s)):a(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}om.create=(e,t,r)=>new om({left:e,right:t,typeName:Ve.ZodIntersection,...Je(r)});class ro extends lt{_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==be.array)return he(n,{code:ce.invalid_type,expected:be.array,received:n.parsedType}),Ue;if(n.data.lengththis._def.items.length&&(he(n,{code:ce.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());const i=[...n.data].map((s,o)=>{const u=this._def.items[o]||this._def.rest;return u?u._parse(new Qi(n,s,n.path,o)):null}).filter(s=>!!s);return n.common.async?Promise.all(i).then(s=>Sn.mergeArray(r,s)):Sn.mergeArray(r,i)}get items(){return this._def.items}rest(t){return new ro({...this._def,rest:t})}}ro.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ro({items:e,typeName:Ve.ZodTuple,rest:null,...Je(t)})};class ON extends lt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==be.map)return he(n,{code:ce.invalid_type,expected:be.map,received:n.parsedType}),Ue;const a=this._def.keyType,i=this._def.valueType,s=[...n.data.entries()].map(([o,u],c)=>({key:a._parse(new Qi(n,o,n.path,[c,"key"])),value:i._parse(new Qi(n,u,n.path,[c,"value"]))}));if(n.common.async){const o=new Map;return Promise.resolve().then(async()=>{for(const u of s){const c=await u.key,f=await u.value;if(c.status==="aborted"||f.status==="aborted")return Ue;(c.status==="dirty"||f.status==="dirty")&&r.dirty(),o.set(c.value,f.value)}return{status:r.value,value:o}})}else{const o=new Map;for(const u of s){const c=u.key,f=u.value;if(c.status==="aborted"||f.status==="aborted")return Ue;(c.status==="dirty"||f.status==="dirty")&&r.dirty(),o.set(c.value,f.value)}return{status:r.value,value:o}}}}ON.create=(e,t,r)=>new ON({valueType:t,keyType:e,typeName:Ve.ZodMap,...Je(r)});class kd extends lt{_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==be.set)return he(n,{code:ce.invalid_type,expected:be.set,received:n.parsedType}),Ue;const a=this._def;a.minSize!==null&&n.data.sizea.maxSize.value&&(he(n,{code:ce.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),r.dirty());const i=this._def.valueType;function s(u){const c=new Set;for(const f of u){if(f.status==="aborted")return Ue;f.status==="dirty"&&r.dirty(),c.add(f.value)}return{status:r.value,value:c}}const o=[...n.data.values()].map((u,c)=>i._parse(new Qi(n,u,n.path,c)));return n.common.async?Promise.all(o).then(u=>s(u)):s(o)}min(t,r){return new kd({...this._def,minSize:{value:t,message:je.toString(r)}})}max(t,r){return new kd({...this._def,maxSize:{value:t,message:je.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}}kd.create=(e,t)=>new kd({valueType:e,minSize:null,maxSize:null,typeName:Ve.ZodSet,...Je(t)});class NN extends lt{get schema(){return this._def.getter()}_parse(t){const{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}}NN.create=(e,t)=>new NN({getter:e,typeName:Ve.ZodLazy,...Je(t)});class AN extends lt{_parse(t){if(t.data!==this._def.value){const r=this._getOrReturnCtx(t);return he(r,{received:r.data,code:ce.invalid_literal,expected:this._def.value}),Ue}return{status:"valid",value:t.data}}get value(){return this._def.value}}AN.create=(e,t)=>new AN({value:e,typeName:Ve.ZodLiteral,...Je(t)});function fI(e,t){return new ql({values:e,typeName:Ve.ZodEnum,...Je(t)})}class ql extends lt{_parse(t){if(typeof t.data!="string"){const r=this._getOrReturnCtx(t),n=this._def.values;return he(r,{expected:ut.joinValues(n),received:r.parsedType,code:ce.invalid_type}),Ue}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){const r=this._getOrReturnCtx(t),n=this._def.values;return he(r,{received:r.data,code:ce.invalid_enum_value,options:n}),Ue}return Gn(t.data)}get options(){return this._def.values}get enum(){const t={};for(const r of this._def.values)t[r]=r;return t}get Values(){const t={};for(const r of this._def.values)t[r]=r;return t}get Enum(){const t={};for(const r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return ql.create(t,{...this._def,...r})}exclude(t,r=this._def){return ql.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}}ql.create=fI;class EN extends lt{_parse(t){const r=ut.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==be.string&&n.parsedType!==be.number){const a=ut.objectValues(r);return he(n,{expected:ut.joinValues(a),received:n.parsedType,code:ce.invalid_type}),Ue}if(this._cache||(this._cache=new Set(ut.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const a=ut.objectValues(r);return he(n,{received:n.data,code:ce.invalid_enum_value,options:a}),Ue}return Gn(t.data)}get enum(){return this._def.values}}EN.create=(e,t)=>new EN({values:e,typeName:Ve.ZodNativeEnum,...Je(t)});class lm extends lt{unwrap(){return this._def.type}_parse(t){const{ctx:r}=this._processInputParams(t);if(r.parsedType!==be.promise&&r.common.async===!1)return he(r,{code:ce.invalid_type,expected:be.promise,received:r.parsedType}),Ue;const n=r.parsedType===be.promise?r.data:Promise.resolve(r.data);return Gn(n.then(a=>this._def.type.parseAsync(a,{path:r.path,errorMap:r.common.contextualErrorMap})))}}lm.create=(e,t)=>new lm({type:e,typeName:Ve.ZodPromise,...Je(t)});class no extends lt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ve.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:r,ctx:n}=this._processInputParams(t),a=this._def.effect||null,i={addIssue:s=>{he(n,s),s.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),a.type==="preprocess"){const s=a.transform(n.data,i);if(n.common.async)return Promise.resolve(s).then(async o=>{if(r.value==="aborted")return Ue;const u=await this._def.schema._parseAsync({data:o,path:n.path,parent:n});return u.status==="aborted"?Ue:u.status==="dirty"||r.value==="dirty"?Ju(u.value):u});{if(r.value==="aborted")return Ue;const o=this._def.schema._parseSync({data:s,path:n.path,parent:n});return o.status==="aborted"?Ue:o.status==="dirty"||r.value==="dirty"?Ju(o.value):o}}if(a.type==="refinement"){const s=o=>{const u=a.refinement(o,i);if(n.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(n.common.async===!1){const o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?Ue:(o.status==="dirty"&&r.dirty(),s(o.value),{status:r.value,value:o.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>o.status==="aborted"?Ue:(o.status==="dirty"&&r.dirty(),s(o.value).then(()=>({status:r.value,value:o.value}))))}if(a.type==="transform")if(n.common.async===!1){const s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Hl(s))return Ue;const o=a.transform(s.value,i);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:o}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>Hl(s)?Promise.resolve(a.transform(s.value,i)).then(o=>({status:r.value,value:o})):Ue);ut.assertNever(a)}}no.create=(e,t,r)=>new no({schema:e,typeName:Ve.ZodEffects,effect:t,...Je(r)});no.createWithPreprocess=(e,t,r)=>new no({schema:t,effect:{type:"preprocess",transform:e},typeName:Ve.ZodEffects,...Je(r)});class Yi extends lt{_parse(t){return this._getType(t)===be.undefined?Gn(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Yi.create=(e,t)=>new Yi({innerType:e,typeName:Ve.ZodOptional,...Je(t)});class Kl extends lt{_parse(t){return this._getType(t)===be.null?Gn(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Kl.create=(e,t)=>new Kl({innerType:e,typeName:Ve.ZodNullable,...Je(t)});class hb extends lt{_parse(t){const{ctx:r}=this._processInputParams(t);let n=r.data;return r.parsedType===be.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}}hb.create=(e,t)=>new hb({innerType:e,typeName:Ve.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Je(t)});class mb extends lt{_parse(t){const{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},a=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return am(a)?a.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new fi(n.common.issues)},input:n.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new fi(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}mb.create=(e,t)=>new mb({innerType:e,typeName:Ve.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Je(t)});class PN extends lt{_parse(t){if(this._getType(t)!==be.nan){const n=this._getOrReturnCtx(t);return he(n,{code:ce.invalid_type,expected:be.nan,received:n.parsedType}),Ue}return{status:"valid",value:t.data}}}PN.create=e=>new PN({typeName:Ve.ZodNaN,...Je(e)});class hfe extends lt{_parse(t){const{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}}class F1 extends lt{_parse(t){const{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{const i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Ue:i.status==="dirty"?(r.dirty(),Ju(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{const a=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?Ue:a.status==="dirty"?(r.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:n.path,parent:n})}}static create(t,r){return new F1({in:t,out:r,typeName:Ve.ZodPipeline})}}class gb extends lt{_parse(t){const r=this._def.innerType._parse(t),n=a=>(Hl(a)&&(a.value=Object.freeze(a.value)),a);return am(r)?r.then(a=>n(a)):n(r)}unwrap(){return this._def.innerType}}gb.create=(e,t)=>new gb({innerType:e,typeName:Ve.ZodReadonly,...Je(t)});var Ve;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(Ve||(Ve={}));const ul=Za.create,cl=eo.create;to.create;im.create;Gl.create;es.create;const pI=Ta.create,Sg=nr.create;sm.create;om.create;ro.create;ql.create;lm.create;Yi.create;Kl.create;const xc=no.createWithPreprocess,hI={string:e=>Za.create({...e,coerce:!0}),number:e=>eo.create({...e,coerce:!0}),boolean:e=>im.create({...e,coerce:!0}),bigint:e=>to.create({...e,coerce:!0}),date:e=>Gl.create({...e,coerce:!0})},mfe=Sg({paymentMethodType:ul().min(1),paymentMethod:ul().min(1),bucketSize:hI.number().int().positive(),hedgingPercent:xc(e=>e===""||e===null?null:Number(e),cl().nullable()),latencyThreshold:xc(e=>e===""||e===null?null:Number(e),cl().nullable())}),gfe=Sg({defaultBucketSize:hI.number().int().positive(),defaultSuccessRate:xc(e=>e===""||e===null?null:Number(e),cl().min(0).max(1).nullable()),defaultLatencyThreshold:xc(e=>e===""||e===null?null:Number(e),cl().nullable()),defaultHedgingPercent:xc(e=>e===""||e===null?null:Number(e),cl().nullable()),subLevelInputConfig:pI(mfe)});function yfe(){var $,I,L,V,H;const{merchantId:e}=Nn(),[t,r]=S.useState(!1),[n,a]=S.useState(null),[i,s]=S.useState(!1),[o,u]=S.useState(!1),[c,f]=S.useState(!1),[d,p]=S.useState(null),{data:h,isLoading:x,mutate:v}=Xt(e?["rule-sr",e]:null,()=>zt("/rule/get",{merchant_id:e,algorithm:"successRate"}),{shouldRetryOnError:!1}),{register:g,control:y,handleSubmit:m,reset:w,watch:j,formState:{errors:b}}=Lde({resolver:Ude(gfe),defaultValues:{defaultBucketSize:200,defaultSuccessRate:.5,defaultLatencyThreshold:null,defaultHedgingPercent:null,subLevelInputConfig:[]}});S.useEffect(()=>{var M;if((M=h==null?void 0:h.config)!=null&&M.data){const B=h.config.data;w({defaultBucketSize:B.defaultBucketSize??200,defaultSuccessRate:B.defaultSuccessRate??.5,defaultLatencyThreshold:B.defaultLatencyThreshold??null,defaultHedgingPercent:B.defaultHedgingPercent??null,subLevelInputConfig:B.subLevelInputConfig??[]})}},[h,w]);const{fields:_,append:k,remove:O}=Dde({control:y,name:"subLevelInputConfig"}),E=j("subLevelInputConfig");async function T(){try{await zt("/merchant-account/create",{merchant_id:e,gateway_success_rate_based_decider_input:null})}catch{}}async function R(M){if(!e){a("Set a Merchant ID first.");return}r(!0),a(null),s(!1);try{await T(),await zt(h?"/rule/update":"/rule/create",{merchant_id:e,config:{type:"successRate",data:{defaultBucketSize:M.defaultBucketSize,defaultSuccessRate:M.defaultSuccessRate,defaultLatencyThreshold:M.defaultLatencyThreshold,defaultHedgingPercent:M.defaultHedgingPercent,subLevelInputConfig:M.subLevelInputConfig.length>0?M.subLevelInputConfig:null}}}),s(!0),v()}catch(B){a(B instanceof Error?B.message:String(B))}finally{r(!1)}}async function N(){if(e){f(!0),p(null);try{await zt("/rule/delete",{merchant_id:e,algorithm:"successRate"}),v(void 0,{revalidate:!1})}catch(M){p(M instanceof Error?M.message:String(M))}finally{f(!1)}}}return l.jsxs("div",{className:"space-y-6 max-w-5xl",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold text-slate-900",children:"Auth-Rate Based Routing"}),l.jsx("p",{className:"text-sm text-slate-500 mt-1",children:"Configure success-rate based gateway routing"})]}),!e&&l.jsx("div",{className:"rounded-lg border border-yellow-200 bg-yellow-50 px-4 py-3 text-sm text-yellow-800",children:"Set a Merchant ID in the top bar to load and save configuration."}),e&&!x&&l.jsxs(Se,{children:[l.jsxs(nt,{className:"flex flex-row items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Configuration Status"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:($=h==null?void 0:h.config)!=null&&$.data?"Success Rate routing is configured and active":"No Success Rate configuration found"})]}),l.jsx(ze,{variant:(I=h==null?void 0:h.config)!=null&&I.data?"green":"gray",children:(L=h==null?void 0:h.config)!=null&&L.data?"Active":"Not Configured"})]}),((V=h==null?void 0:h.config)==null?void 0:V.data)&&l.jsxs(Be,{className:"border-t border-slate-100 dark:border-[#222226]",children:[l.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-600",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Last Modified:"}),l.jsx("span",{className:"ml-1 font-medium",children:h.modified_at?new Date(h.modified_at).toLocaleString():"Unknown"})]}),l.jsxs(Ae,{type:"button",variant:"secondary",size:"sm",onClick:()=>{confirm("Are you sure you want to clear the Success Rate configuration? This will disable SR-based routing.")&&N()},disabled:c,children:[l.jsx(di,{size:14,className:"mr-1"}),c?"Clearing...":"Clear Configuration"]})]}),d&&l.jsx("p",{className:"text-xs text-red-500 mt-2",children:d})]})]}),x?l.jsx("div",{className:"flex justify-center py-12",children:l.jsx(Ft,{})}):l.jsxs("form",{onSubmit:m(R),className:"space-y-6",children:[l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Default Success Rate Config"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:"Base settings used when there is no payment-method-specific override."})]})}),l.jsxs(Be,{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-4",children:[l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Bucket Size"}),l.jsx("input",{type:"number",...g("defaultBucketSize"),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"}),b.defaultBucketSize&&l.jsx("p",{className:"text-xs text-red-500",children:b.defaultBucketSize.message})]}),l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Success Rate"}),l.jsx("input",{type:"number",step:"0.1",min:"0",max:"1",...g("defaultSuccessRate"),placeholder:"0.5",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Hedging %"}),l.jsx("input",{type:"number",step:"0.1",...g("defaultHedgingPercent"),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("label",{className:"space-y-1",children:[l.jsx("span",{className:"text-xs text-slate-500",children:"Latency Threshold (ms)"}),l.jsx("input",{type:"number",...g("defaultLatencyThreshold"),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 w-full focus:outline-none focus:ring-1 focus:ring-brand-500"})]})]})]}),l.jsxs(Se,{children:[l.jsxs(nt,{className:"flex flex-row items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Sub-Level Overrides"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:"Optional overrides for specific payment method type and method combinations."})]}),l.jsxs(Ae,{type:"button",variant:"secondary",size:"sm",onClick:()=>k({paymentMethodType:"card",paymentMethod:"credit",bucketSize:20,hedgingPercent:null,latencyThreshold:null}),children:[l.jsx(ci,{size:14})," Add Level"]})]}),l.jsx(Be,{className:"overflow-x-auto p-0",children:_.length?l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{children:l.jsxs("tr",{className:"text-left text-xs text-slate-500 border-b border-slate-200 dark:border-[#1c1c24] bg-slate-50 dark:bg-[#0a0a0f]",children:[l.jsx("th",{className:"px-4 py-2",children:"Payment Method Type"}),l.jsx("th",{className:"px-4 py-2",children:"Payment Method"}),l.jsx("th",{className:"px-4 py-2",children:"Bucket Size"}),l.jsx("th",{className:"px-4 py-2",children:"Hedging %"}),l.jsx("th",{className:"px-4 py-2",children:"Latency Threshold (ms)"}),l.jsx("th",{className:"px-4 py-2"})]})}),l.jsx("tbody",{children:_.map((M,B)=>{var K;const W=((K=E==null?void 0:E[B])==null?void 0:K.paymentMethodType)||"",G=Fle[W]||[];return l.jsxs("tr",{className:"border-b border-slate-200 dark:border-[#1c1c24] hover:bg-slate-100 dark:bg-[#0f0f16] transition-colors",children:[l.jsx("td",{className:"px-4 py-2",children:l.jsx("select",{...g(`subLevelInputConfig.${B}.paymentMethodType`),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:Lle.map(ee=>l.jsx("option",{value:ee,children:ee},ee))})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("select",{...g(`subLevelInputConfig.${B}.paymentMethod`),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500",children:(G.length?G:["credit","debit"]).map(ee=>l.jsx("option",{value:ee,children:ee},ee))})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("input",{type:"number",...g(`subLevelInputConfig.${B}.bucketSize`),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 w-20 focus:outline-none focus:ring-1 focus:ring-brand-500"})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("input",{type:"number",step:"0.1",...g(`subLevelInputConfig.${B}.hedgingPercent`),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 w-20 focus:outline-none focus:ring-1 focus:ring-brand-500"})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("input",{type:"number",...g(`subLevelInputConfig.${B}.latencyThreshold`),placeholder:"null",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-2 py-1 w-24 focus:outline-none focus:ring-1 focus:ring-brand-500"})}),l.jsx("td",{className:"px-4 py-2",children:l.jsx("button",{type:"button",onClick:()=>O(B),className:"text-slate-400 hover:text-red-500",children:l.jsx(di,{size:14})})})]},M.id)})})]}):l.jsx("div",{className:"px-4 py-8 text-sm text-slate-500",children:"No sub-level overrides configured. The default row above is the only active configuration."})})]}),l.jsx(Nr,{error:n}),i&&l.jsx("div",{className:"rounded-lg border border-emerald-500/20 bg-emerald-500/8 px-4 py-3 text-sm text-emerald-400",children:"Configuration saved successfully."}),((H=h==null?void 0:h.config)==null?void 0:H.data)&&l.jsxs(Se,{children:[l.jsxs(nt,{className:"flex flex-row items-center justify-between",children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Current Active Configuration"}),l.jsxs(Ae,{type:"button",variant:"ghost",size:"sm",onClick:()=>u(!o),children:[l.jsx(Wd,{size:14,className:"mr-1"}),o?"Hide":"View"]})]}),o&&l.jsx(Be,{children:l.jsxs("div",{className:"text-xs text-slate-600 space-y-4",children:[l.jsxs("div",{className:"border-b border-slate-200 dark:border-[#222226] pb-3",children:[l.jsx("h3",{className:"font-medium text-slate-700 mb-2",children:"Default Settings"}),l.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-3",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Bucket Size:"}),l.jsx("p",{className:"font-medium",children:h.config.data.defaultBucketSize})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Success Rate:"}),l.jsx("p",{className:"font-medium",children:h.config.data.defaultSuccessRate??"Not set"})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Hedging %:"}),l.jsx("p",{className:"font-medium",children:h.config.data.defaultHedgingPercent??"Not set"})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Latency Threshold:"}),l.jsxs("p",{className:"font-medium",children:[h.config.data.defaultLatencyThreshold??"Not set"," ms"]})]})]})]}),h.config.data.subLevelInputConfig&&h.config.data.subLevelInputConfig.length>0&&l.jsxs("div",{children:[l.jsx("h3",{className:"font-medium text-slate-700 mb-2",children:"Sub-Level Configurations"}),l.jsx("div",{className:"space-y-2",children:h.config.data.subLevelInputConfig.map((M,B)=>l.jsx("div",{className:"bg-slate-50 dark:bg-[#151518] rounded-lg p-3",children:l.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-2 text-xs",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Payment Type:"}),l.jsx("p",{className:"font-medium capitalize",children:M.paymentMethodType})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Payment Method:"}),l.jsx("p",{className:"font-medium",children:M.paymentMethod})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Bucket Size:"}),l.jsx("p",{className:"font-medium",children:M.bucketSize})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Hedging %:"}),l.jsx("p",{className:"font-medium",children:M.hedgingPercent??"Default"})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-slate-500",children:"Latency Threshold:"}),l.jsxs("p",{className:"font-medium",children:[M.latencyThreshold??"Default"," ms"]})]})]})},B))})]}),l.jsxs("div",{className:"border-t border-gray-200 pt-3",children:[l.jsx("h3",{className:"font-medium text-slate-700 mb-2",children:"Raw Configuration (JSON)"}),l.jsx("pre",{className:"bg-slate-900 dark:bg-[#0f0f11] text-slate-100 border border-transparent dark:border-[#222226] rounded-lg p-3 text-xs overflow-auto max-h-64",children:JSON.stringify(h.config,null,2)})]})]})})]}),l.jsx(Ae,{type:"submit",disabled:t||!e,children:t?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Saving…"]}):"Save Configuration"})]})]})}const vfe=Sg({id:ul().min(1),gatewayName:ul().trim().min(1,"Gateway name is required"),gatewayId:ul().trim(),split:cl().min(0).max(100)}),xfe=Sg({ruleName:ul().trim().min(1,"Enter a rule name"),gateways:pI(vfe).min(1,"Add at least one gateway")});function bfe(e){var n;const t=xfe.safeParse(e);if(!t.success)return((n=t.error.issues[0])==null?void 0:n.message)||"Invalid volume split rule configuration";const r=t.data.gateways.reduce((a,i)=>a+i.split,0);return r!==100?`Splits must sum to 100 (currently ${r})`:null}function wfe(e,t){return{rule_id:null,name:e.ruleName.trim(),description:"",created_by:t,algorithm_for:"payment",metadata:null,algorithm:{type:"volume_split",data:e.gateways.map(r=>({split:r.split,output:{gateway_name:r.gatewayName.trim(),gateway_id:r.gatewayId.trim()||null}}))}}}function _fe(e){return e.map((t,r)=>{var n,a,i;return{id:`${((n=t.output)==null?void 0:n.gateway_name)||"gateway"}-${r}`,gatewayName:((a=t.output)==null?void 0:a.gateway_name)||"",gatewayId:((i=t.output)==null?void 0:i.gateway_id)||"",split:t.split}})}function jfe(e){const t=e.algorithm_data||e.algorithm;if(!t||t.type!=="volume_split")return null;const r=t.data||[];return{id:e.id,name:e.name,description:e.description,createdAt:e.created_at,gateways:_fe(r)}}const CN=["#0069ED","#10b981","#f59e0b","#ef4444","#8b5cf6","#ec4899"];function zu(){return Math.random().toString(36).slice(2)}function Sfe(){const{merchantId:e}=Nn(),{mutate:t}=hP(),{data:r,mutate:n}=Xt(e?["active-routing",e]:null,()=>zt(`/routing/list/active/${e}`)),a=r==null?void 0:r.find(N=>{var $;return(($=N.algorithm_data||N.algorithm)==null?void 0:$.type)==="volume_split"}),[i,s]=S.useState([{id:zu(),gatewayName:"",gatewayId:"",split:50},{id:zu(),gatewayName:"",gatewayId:"",split:50}]),[o,u]=S.useState(""),[c,f]=S.useState(!1),[d,p]=S.useState(null),[h,x]=S.useState(null),[v,g]=S.useState(!1),[y,m]=S.useState(new Set),w=i.reduce((N,$)=>N+$.split,0);function j(N,$,I){s(L=>L.map(V=>V.id===N?{...V,[$]:I}:V))}function b(){s(N=>[...N,{id:zu(),gatewayName:"",gatewayId:"",split:0}])}function _(N){s($=>$.filter(I=>I.id!==N))}async function k(){if(!e)return p("Set a merchant ID first");const N=bfe({ruleName:o,gateways:i});if(N)return p(N);f(!0),p(null),x(null);try{const $=wfe({ruleName:o,gateways:i},e);await zt("/routing/create",$),await Promise.all([n(),t(["routing-list",e])]),x(`Rule "${o}" created successfully. Find it in the list below to activate.`),u(""),s([{id:zu(),gatewayName:"",gatewayId:"",split:50},{id:zu(),gatewayName:"",gatewayId:"",split:50}])}catch($){p($ instanceof Error?$.message:"Failed to create rule")}finally{f(!1)}}async function O(N){if(e)try{await zt("/routing/activate",{created_by:e,routing_algorithm_id:N}),await Promise.all([n(),t(["routing-list",e])]),x("Rule activated.")}catch($){p($ instanceof Error?$.message:"Failed to activate")}}function E(N){m($=>{const I=new Set($);return I.has(N)?I.delete(N):I.add(N),I})}const T=a?a.algorithm_data||a.algorithm:null,R=T&&"data"in T?T.data.map(N=>{var $,I;return{name:`${(($=N.output)==null?void 0:$.gateway_name)??"?"}${(I=N.output)!=null&&I.gateway_id?` (${N.output.gateway_id})`:""}`,value:N.split}}):[];return l.jsxs("div",{className:"space-y-6 max-w-4xl",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold text-slate-900",children:"Volume Split Routing"}),l.jsx("p",{className:"text-slate-500 mt-1 text-sm",children:"Distribute payment traffic across gateways by percentage."})]}),a&&l.jsxs(Se,{children:[l.jsxs(nt,{className:"flex flex-row items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-sm font-semibold text-slate-800",children:"Active Volume Split"}),l.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:a.name})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(ze,{variant:"green",children:"Active"}),l.jsxs(Ae,{type:"button",variant:"ghost",size:"sm",onClick:()=>g(!v),children:[l.jsx(Wd,{size:14,className:"mr-1"}),v?"Hide":"View"]})]})]}),v&&l.jsxs(Be,{children:[l.jsx(Ii,{width:"100%",height:220,children:l.jsxs(_1,{children:[l.jsx(ha,{data:R,dataKey:"value",nameKey:"name",cx:"50%",cy:"50%",outerRadius:80,label:({name:N,value:$})=>`${N}: ${$}%`,labelLine:{stroke:"#45454f"},children:R.map((N,$)=>l.jsx(qi,{fill:CN[$%CN.length]},$))}),l.jsx(Or,{formatter:N=>`${N}%`,contentStyle:{backgroundColor:"#0d0d12",border:"1px solid #1c1c24",borderRadius:"8px",color:"#e8e8f4"}}),l.jsx(ia,{wrapperStyle:{color:"#8e8ea0"}})]})}),l.jsxs("div",{className:"mt-4 text-xs text-slate-600",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"Rule ID:"})," ",a.id]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Created:"})," ",a.created_at?new Date(a.created_at).toLocaleString():"Unknown"]})]})]})]}),l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"font-medium text-slate-800",children:"Create Volume Split Rule"})}),l.jsxs(Be,{className:"space-y-4",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Rule Name"}),l.jsx("input",{value:o,onChange:N=>u(N.target.value),placeholder:"e.g. ab-test-split",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm w-64 focus:outline-none focus:ring-1 focus:ring-brand-500"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"grid grid-cols-[1fr_1fr_100px_32px] gap-2 text-xs font-medium text-slate-500 px-1",children:[l.jsx("span",{children:"Gateway Name"}),l.jsx("span",{children:"Gateway ID"}),l.jsx("span",{children:"Split %"}),l.jsx("span",{})]}),i.map(N=>l.jsxs("div",{className:"grid grid-cols-[1fr_1fr_100px_32px] gap-2 items-center",children:[l.jsx("input",{value:N.gatewayName,onChange:$=>j(N.id,"gatewayName",$.target.value),placeholder:"e.g. stripe",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{value:N.gatewayId,onChange:$=>j(N.id,"gatewayId",$.target.value),placeholder:"optional gateway_id",className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("input",{type:"number",min:0,max:100,value:N.split,onChange:$=>j(N.id,"split",Number($.target.value)),className:"border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500"}),l.jsx("button",{onClick:()=>_(N.id),className:"text-slate-400 hover:text-red-500",children:l.jsx(di,{size:15})})]},N.id)),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("button",{onClick:b,className:"flex items-center gap-1 text-sm text-brand-500 hover:text-brand-600",children:[l.jsx(ci,{size:14})," Add Gateway"]}),l.jsxs("span",{className:`text-xs font-medium ${w===100?"text-emerald-400":"text-red-400"}`,children:["Total: ",w,"%",w!==100&&" (must be 100)"]})]})]}),l.jsx(Nr,{error:d}),h&&l.jsx("p",{className:"text-sm text-emerald-400",children:h}),l.jsx(Ae,{onClick:k,disabled:c||!e,children:c?l.jsxs(l.Fragment,{children:[l.jsx(Ft,{size:14})," Creating…"]}):"Create Rule"})]})]}),l.jsx(kfe,{merchantId:e,onActivate:O,expandedRuleIds:y,onToggleExpand:E})]})}function kfe({merchantId:e,onActivate:t,expandedRuleIds:r,onToggleExpand:n}){const{data:a,isLoading:i}=Xt(e?["routing-list",e]:null,()=>zt(`/routing/list/${e}`)),s=(a==null?void 0:a.filter(o=>{var u;return((u=o.algorithm_data||o.algorithm)==null?void 0:u.type)==="volume_split"}))??[];return e?i?l.jsx("div",{className:"flex justify-center py-4",children:l.jsx(Ft,{})}):s.length?l.jsxs(Se,{children:[l.jsx(nt,{children:l.jsx("h2",{className:"font-medium text-slate-800",children:"Saved Volume Split Rules"})}),l.jsx(Be,{className:"p-0",children:l.jsxs("table",{className:"w-full text-sm",children:[l.jsx("thead",{className:"bg-slate-50 dark:bg-[#0a0a0f] text-xs text-slate-500 uppercase tracking-wider",children:l.jsxs("tr",{children:[l.jsx("th",{className:"text-left px-4 py-2",children:"Name"}),l.jsx("th",{className:"text-left px-4 py-2",children:"Split"}),l.jsx("th",{className:"px-4 py-2"})]})}),l.jsx("tbody",{className:"divide-y divide-[#1c1c24]",children:s.map(o=>{const u=jfe(o),c=(u==null?void 0:u.gateways.map(p=>`${p.gatewayName}${p.gatewayId?`(${p.gatewayId})`:""}:${p.split}%`).join(" | "))||"",f=o.algorithm_data||o.algorithm,d=r.has(o.id);return l.jsxs(l.Fragment,{children:[l.jsxs("tr",{className:"hover:bg-slate-100 dark:bg-[#0f0f16] transition-colors",children:[l.jsx("td",{className:"px-4 py-2 font-medium text-slate-800",children:o.name}),l.jsx("td",{className:"px-4 py-2 text-slate-600 text-xs",children:c}),l.jsx("td",{className:"px-4 py-2 text-right",children:l.jsxs("div",{className:"flex items-center justify-end gap-2",children:[l.jsxs(Ae,{size:"sm",variant:"ghost",onClick:()=>n(o.id),children:[l.jsx(Wd,{size:14,className:"mr-1"}),d?"Hide":"View"]}),l.jsx(Ae,{size:"sm",variant:"secondary",onClick:()=>t(o.id),children:"Activate"})]})})]},o.id),d&&l.jsx("tr",{children:l.jsx("td",{colSpan:3,className:"px-4 py-3 bg-slate-50 dark:bg-[#151518]",children:l.jsxs("div",{className:"text-xs text-slate-600 space-y-2",children:[l.jsxs("p",{children:[l.jsx("strong",{children:"ID:"})," ",o.id]}),l.jsxs("p",{children:[l.jsx("strong",{children:"Description:"})," ",o.description||"N/A"]}),o.created_at&&l.jsxs("p",{children:[l.jsx("strong",{children:"Created:"})," ",new Date(o.created_at).toLocaleString()]}),l.jsxs("div",{children:[l.jsx("strong",{children:"Configuration:"}),l.jsx("pre",{className:"mt-1 p-2 bg-slate-100 dark:bg-[#0f0f11] border border-transparent dark:border-[#222226] rounded text-xs overflow-auto max-h-48",children:JSON.stringify(f,null,2)})]})]})})})]})})})]})})]}):null:null}function Ofe(){const e=$d(),[t,r]=S.useState(null),n=t??e.pathname,a="/decision-engine/";return S.useLayoutEffect(()=>{if(!t)return;(e.pathname===t||e.pathname.startsWith(`${t}/`))&&r(null)},[e.pathname,t]),l.jsxs("aside",{className:"relative z-20 flex h-screen w-64 shrink-0 flex-col border-r border-slate-200 bg-white transition-colors duration-300 dark:border-[#22262f] dark:bg-[#06080d]",children:[l.jsx("div",{className:"flex h-[78px] shrink-0 items-center border-b border-slate-200 px-6 transition-colors duration-300 dark:border-[#22262f]",children:l.jsxs("div",{className:"flex items-center",children:[l.jsx("img",{src:`${a}logo/decision-engine-light.svg`,alt:"Juspay Decision Engine",className:"h-11 w-auto dark:hidden"}),l.jsx("img",{src:`${a}logo/decision-engine-dark.svg`,alt:"Juspay Decision Engine",className:"hidden h-11 w-auto dark:block"})]})}),l.jsxs("nav",{className:"flex-1 space-y-1 overflow-y-auto px-4 py-8",children:[l.jsx(za,{to:"/",icon:hle,end:!0,selectedPath:n,onNavigate:r,children:"Overview"}),l.jsx(za,{to:"/analytics",icon:Gh,selectedPath:n,onNavigate:r,children:"Analytics"}),l.jsx(za,{to:"/audit",icon:sl,selectedPath:n,onNavigate:r,children:"Decision Audit"}),l.jsx("div",{className:"flex items-center gap-2 px-3 pb-3 pt-8",children:l.jsx("span",{className:"text-[11px] font-bold uppercase tracking-widest text-slate-400 dark:text-[#6d768a]",children:"Routing"})}),l.jsx(za,{to:"/routing",icon:mc,end:!0,selectedPath:n,onNavigate:r,children:"Routing Hub"}),l.jsx(za,{to:"/routing/sr",icon:cR,indent:!0,selectedPath:n,onNavigate:r,children:"Auth-Rate Based"}),l.jsx(za,{to:"/routing/rules",icon:rle,indent:!0,selectedPath:n,onNavigate:r,children:"Rule-Based"}),l.jsx(za,{to:"/routing/volume",icon:Yh,indent:!0,selectedPath:n,onNavigate:r,children:"Volume Split"}),l.jsx(za,{to:"/routing/debit",icon:Kh,indent:!0,selectedPath:n,onNavigate:r,children:"Debit Routing"}),l.jsx("div",{className:"flex items-center gap-2 px-3 pb-3 pt-8",children:l.jsx("span",{className:"text-[11px] font-bold uppercase tracking-widest text-slate-400 dark:text-[#6d768a]",children:"Simulation"})}),l.jsx(za,{to:"/decisions",icon:xle,selectedPath:n,onNavigate:r,children:"Decision Explorer"})]}),l.jsx("div",{className:"border-t border-slate-200 bg-white px-6 py-5 transition-colors duration-300 dark:border-[#22262f] dark:bg-[#0a0d12]",children:l.jsx("span",{className:"text-[11px] font-medium tracking-wide text-slate-500 dark:text-[#7d879b]",children:"v1.4"})})]})}function za({to:e,icon:t,children:r,end:n,indent:a,selectedPath:i,onNavigate:s}){const o=is(),u=n?i===e:i===e||i.startsWith(`${e}/`);return l.jsxs("button",{type:"button","aria-current":u?"page":void 0,onMouseDown:c=>{c.detail>0&&c.preventDefault()},onClick:c=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur(),s==null||s(e),c.currentTarget.blur(),o(e)},className:`group relative flex w-full appearance-none items-center gap-3 rounded-[16px] border-0 px-4 py-3 text-[14px] font-medium transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-[#3b82f6]/40 focus-visible:ring-offset-0 ${a?"pl-8":""} ${u?"bg-transparent text-slate-950 dark:text-white":"bg-transparent text-slate-500 hover:bg-slate-900/[0.025] hover:text-slate-900 dark:text-[#8d96aa] dark:hover:bg-white/[0.035] dark:hover:text-white"}`,children:[l.jsx("span",{"aria-hidden":"true",className:`absolute left-1 top-1/2 h-7 w-[3px] -translate-y-1/2 rounded-full transition-all duration-150 ${u?"bg-brand-600 opacity-100 dark:bg-sky-300":"opacity-0"}`}),l.jsx(t,{size:18,className:`transition-colors duration-200 ${u?"text-brand-600 dark:text-sky-300":"text-slate-400 group-hover:text-slate-700 dark:text-[#697387] dark:group-hover:text-white"}`,strokeWidth:u?2.5:2}),l.jsx("span",{className:"flex-1 text-left",children:r})]})}function Nfe(){const e=is(),{user:t,merchants:r,clearAuth:n,updateMerchant:a}=ua(),{setMerchantId:i}=Nn(),[s,o]=S.useState(()=>localStorage.getItem("theme")!=="light"),[u,c]=S.useState(!1),[f,d]=S.useState(null),p=S.useRef(null);S.useEffect(()=>{const y=window.document.documentElement;s?(y.classList.add("dark"),localStorage.setItem("theme","dark")):(y.classList.remove("dark"),localStorage.setItem("theme","light"))},[s]),S.useEffect(()=>{function y(m){p.current&&!p.current.contains(m.target)&&c(!1)}return document.addEventListener("mousedown",y),()=>document.removeEventListener("mousedown",y)},[]);async function h(){try{await ui("/auth/logout",{method:"POST"})}catch{}n(),e("/login",{replace:!0})}async function x(y){if(!(y===(t==null?void 0:t.merchantId)||f)){d(y);try{const m=await ui("/auth/switch-merchant",{method:"POST",body:JSON.stringify({merchant_id:y})});a(m.token,m.merchant_id,m.merchants),i(m.merchant_id),c(!1),window.location.reload()}catch{}finally{d(null)}}}const v=r.find(y=>y.merchant_id===(t==null?void 0:t.merchantId)),g=t!=null&&t.email?t.email.slice(0,2).toUpperCase():"ME";return l.jsxs("header",{className:"h-14 bg-white dark:bg-[#0c0c10] border-b border-[#e6e6ee] dark:border-[#1a1a24] flex items-center justify-between px-6 shrink-0 relative z-10",children:[l.jsx("div",{}),l.jsxs("div",{className:"flex items-center gap-2",children:[r.length>0&&l.jsxs("div",{className:"relative",ref:p,children:[l.jsxs("button",{onClick:()=>c(y=>!y),className:"flex items-center gap-2 h-8 px-3 rounded-lg border border-[#e6e6ee] dark:border-[#1a1a24] bg-white dark:bg-[#121218] hover:bg-slate-50 dark:hover:bg-[#18181f] transition-colors text-slate-700 dark:text-slate-300",children:[l.jsx(qh,{size:13,className:"text-slate-400 shrink-0"}),l.jsx("span",{className:"text-[12px] font-medium max-w-[140px] truncate",children:(v==null?void 0:v.merchant_name)??(t==null?void 0:t.merchantId)??"Select merchant"}),l.jsx(ks,{size:12,className:"text-slate-400 shrink-0"})]}),u&&l.jsxs("div",{className:"absolute right-0 top-10 w-60 bg-white dark:bg-[#0c0c10] border border-[#e6e6ee] dark:border-[#1a1a24] rounded-lg shadow-lg py-1 z-50",children:[l.jsx("p",{className:"px-3 py-1.5 text-[10px] font-semibold uppercase tracking-widest text-slate-400 dark:text-slate-500",children:"Merchants"}),r.map(y=>l.jsxs("button",{onClick:()=>x(y.merchant_id),disabled:f===y.merchant_id,className:"w-full flex items-center gap-2.5 px-3 py-2 hover:bg-slate-50 dark:hover:bg-[#13131a] transition-colors text-left",children:[l.jsx("div",{className:"w-6 h-6 rounded-md bg-brand-50 flex items-center justify-center shrink-0",children:l.jsx(qh,{size:12,className:"text-brand-600"})}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("p",{className:"text-[13px] font-medium text-slate-700 dark:text-slate-300 truncate",children:y.merchant_name}),l.jsx("p",{className:"text-[11px] text-slate-400 truncate",children:y.merchant_id})]}),y.merchant_id===(t==null?void 0:t.merchantId)&&l.jsx(ale,{size:13,className:"text-brand-600 shrink-0"})]},y.merchant_id)),l.jsx("div",{className:"border-t border-[#e6e6ee] dark:border-[#1a1a24] mt-1 pt-1",children:l.jsxs("button",{onClick:()=>{c(!1),e("/onboarding")},className:"w-full flex items-center gap-2.5 px-3 py-2 hover:bg-slate-50 dark:hover:bg-[#13131a] transition-colors text-left text-brand-600",children:[l.jsx(ci,{size:13}),l.jsx("span",{className:"text-[13px] font-medium",children:"Add merchant"})]})})]})]}),l.jsx("button",{onClick:()=>o(!s),className:"w-8 h-8 flex items-center justify-center rounded-lg text-slate-500 hover:bg-slate-100 dark:text-slate-400 dark:hover:bg-[#1a1a24] transition-colors","aria-label":"Toggle theme",children:s?l.jsx(_le,{size:16}):l.jsx(vle,{size:16})}),l.jsx("div",{className:"w-px h-5 bg-[#e6e6ee] dark:bg-[#1a1a24] mx-1"}),t&&l.jsxs("div",{className:"flex items-center gap-2 pl-1",children:[l.jsx("div",{className:"w-7 h-7 rounded-full bg-brand-600 flex items-center justify-center",children:l.jsx("span",{className:"text-[10px] font-semibold text-white",children:g})}),l.jsx("div",{className:"hidden sm:block",children:l.jsx("p",{className:"text-[13px] font-medium text-slate-700 dark:text-slate-300 leading-tight",children:t.email})})]}),l.jsx("button",{onClick:h,className:"w-8 h-8 flex items-center justify-center rounded-lg text-slate-500 hover:bg-red-50 hover:text-red-500 dark:text-slate-400 dark:hover:bg-red-950/30 dark:hover:text-red-400 transition-colors ml-1","aria-label":"Sign out",title:"Sign out",children:l.jsx(gle,{size:16})})]})]})}function Afe(){return l.jsxs("div",{className:"relative flex h-screen overflow-hidden bg-[#ffffff] text-slate-900 transition-colors duration-300 dark:bg-[#030507] dark:text-white",children:[l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(59,130,246,0.05),_transparent_22%),radial-gradient(circle_at_top_right,_rgba(14,165,233,0.04),_transparent_20%),linear-gradient(180deg,_rgba(255,255,255,1),_rgba(255,255,255,1))] dark:bg-[radial-gradient(circle_at_top_left,_rgba(56,189,248,0.06),_transparent_22%),linear-gradient(180deg,_rgba(3,5,7,1),_rgba(5,8,12,1))]"}),l.jsx("div",{className:"aurora-top"}),l.jsx(Ofe,{}),l.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden relative z-10",children:[l.jsx(Nfe,{}),l.jsx("main",{className:"relative flex-1 overflow-y-auto px-4 py-5 sm:px-5 sm:py-6 lg:px-6 lg:py-7 xl:px-8",children:l.jsx("div",{className:"mx-auto w-full max-w-[1760px] px-1 sm:px-2 lg:px-3",children:l.jsx(nP,{})})})]})]})}function Efe(){const e=ua(s=>s.token),t=ua(s=>s.setAuth),r=ua(s=>s.clearAuth),n=Nn(s=>s.setMerchantId),[a,i]=S.useState(e?"checking":"invalid");return S.useEffect(()=>{let s=!1;if(!e){i("invalid");return}return i("checking"),ui("/auth/me").then(o=>{var c;if(s)return;const u=o.merchant_id||((c=o.merchants[0])==null?void 0:c.merchant_id)||"";t(e,{userId:o.user_id,email:o.email,merchantId:u,role:o.role},o.merchants),n(u),i("ready")}).catch(()=>{s||(r(),n(""),i("invalid"))}),()=>{s=!0}},[e,t,r,n]),e?a==="checking"?l.jsx("div",{className:"dark flex min-h-screen items-center justify-center bg-[#030507] text-white",children:l.jsxs("div",{className:"flex items-center gap-3 rounded-2xl border border-[#1d1d23] bg-[#111318] px-5 py-4 text-sm text-[#c7cfdb]",children:[l.jsx(S1,{size:16,className:"animate-spin text-[#7ea4ff]"}),"Validating session"]})}):a==="invalid"?l.jsx(cx,{to:"/login",replace:!0}):l.jsx(nP,{}):l.jsx(cx,{to:"/login",replace:!0})}function Pfe(e){return e.length<10?"Use at least 10 characters.":/[A-Z]/.test(e)?/[a-z]/.test(e)?/[0-9]/.test(e)?/[^A-Za-z0-9]/.test(e)?null:"Add at least one special character.":"Add at least one number.":"Add at least one lowercase letter.":"Add at least one uppercase letter."}function Cfe(e){const t=e instanceof Error?e.message:"Something went wrong",r=t.match(/API error \d+: (.+)/);if(!r)return t;try{return JSON.parse(r[1]).message??t}catch{return r[1]}}function Tfe(e){return/email.*(already registered|already exists)|user.*already exists/i.test(e)}function $fe(){const e=is(),{setAuth:t,updateMerchant:r}=ua(),{setMerchantId:n}=Nn(),a="/decision-engine/",i=S.useRef(null),[s,o]=S.useState("login"),[u,c]=S.useState(""),[f,d]=S.useState(""),[p,h]=S.useState(""),[x,v]=S.useState(!1),[g,y]=S.useState(!1),[m,w]=S.useState(null),[j,b]=S.useState(null),[_,k]=S.useState(!1);S.useEffect(()=>{var T;s!=="login"||!_||((T=i.current)==null||T.focus(),k(!1))},[_,s]);function O(T){o(T),w(null),b(null)}async function E(T){if(T.preventDefault(),w(null),b(null),s==="signup"){const R=Pfe(f);if(R){w(R);return}}y(!0);try{const R=s==="login"?"/auth/login":"/auth/signup",N=p.trim(),$=await ui(R,{method:"POST",body:JSON.stringify({email:u,password:f})});if(t($.token,{userId:$.user_id,email:$.email,merchantId:$.merchant_id,role:$.role},$.merchants),$.merchant_id&&n($.merchant_id),s==="signup"&&N&&!$.merchant_id){const I=await ui("/onboarding/merchant",{method:"POST",body:JSON.stringify({merchant_name:N})});r(I.token,I.merchant_id,I.merchants),n(I.merchant_id),e("/",{replace:!0});return}!$.merchant_id||$.merchants.length===0?e("/onboarding",{replace:!0}):e("/",{replace:!0})}catch(R){const N=Cfe(R);if(s==="signup"&&Tfe(N)){o("login"),b("Account already exists. Sign in with this email."),k(!0);return}w(N)}finally{y(!1)}}return l.jsxs("div",{className:"dark relative min-h-screen overflow-hidden bg-white text-slate-900 dark:bg-[#030507] dark:text-white",children:[l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[linear-gradient(180deg,_rgba(255,255,255,1),_rgba(255,255,255,1))] dark:bg-[linear-gradient(180deg,_rgba(3,5,7,1),_rgba(5,8,12,1))]"}),l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_18%_18%,_rgba(59,130,246,0.06),_transparent_24%),radial-gradient(circle_at_78%_20%,_rgba(14,165,233,0.04),_transparent_18%),radial-gradient(circle_at_50%_100%,_rgba(14,165,233,0.03),_transparent_24%)] dark:bg-[radial-gradient(circle_at_18%_18%,_rgba(56,189,248,0.05),_transparent_24%),radial-gradient(circle_at_78%_20%,_rgba(59,130,246,0.04),_transparent_18%),radial-gradient(circle_at_50%_100%,_rgba(14,165,233,0.035),_transparent_24%)]"}),l.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.05] dark:opacity-[0.08] [background-image:linear-gradient(rgba(148,163,184,0.08)_1px,transparent_1px),linear-gradient(90deg,rgba(148,163,184,0.08)_1px,transparent_1px)] [background-size:56px_56px]"}),l.jsxs("div",{className:"relative z-10 grid min-h-screen lg:grid-cols-[1.06fr_0.94fr]",children:[l.jsxs("section",{className:"flex min-h-[44vh] flex-col border-b border-slate-200 px-6 py-8 dark:border-white/6 sm:px-10 lg:min-h-screen lg:border-b-0 lg:border-r lg:border-[#1d1d23] lg:px-14 lg:py-12 xl:px-16",children:[l.jsx("div",{className:"pt-2",children:l.jsx("img",{src:`${a}logo/decision-engine-dark.svg`,alt:"Juspay Decision Engine",className:"h-11 w-auto sm:h-12"})}),l.jsx("div",{className:"flex flex-1 items-center py-12 lg:py-0",children:l.jsxs("div",{className:"max-w-[620px] space-y-9",children:[l.jsxs("div",{className:"space-y-6",children:[l.jsx("h2",{className:"max-w-[10ch] text-[clamp(4rem,7vw,6.2rem)] font-semibold leading-[0.92] tracking-[-0.065em] text-slate-950 dark:text-white",children:"Route, inspect, and iterate from one control surface."}),l.jsx("p",{className:"max-w-[38rem] text-lg leading-9 text-slate-600 dark:text-[#9aa4b6] sm:text-[1.35rem]",children:"Sign in to the internal workspace used for gateway routing setup, merchant-scoped analytics, and payment audit review."})]}),l.jsxs("div",{className:"flex flex-wrap gap-3",children:[l.jsx(hv,{children:"Gateway routing"}),l.jsx(hv,{children:"Merchant analytics"}),l.jsx(hv,{children:"ClickHouse audit"})]})]})})]}),l.jsx("section",{className:"flex min-h-[56vh] items-center justify-center px-6 py-10 sm:px-10 lg:min-h-screen lg:px-14 lg:py-12 xl:px-16",children:l.jsxs("div",{className:"w-full max-w-[520px]",children:[l.jsxs("div",{className:"text-center",children:[l.jsx("h3",{className:"text-[clamp(2.25rem,3.6vw,3.15rem)] font-semibold tracking-[-0.05em] text-slate-950 dark:text-white",children:s==="login"?"Welcome back":"Create account"}),l.jsx("p",{className:"mt-3 text-base text-slate-500 dark:text-[#8a94a7]",children:s==="login"?"Sign in to access your dashboard":"Create operator access for your Decision Engine workspace"})]}),l.jsxs("div",{className:"mt-10",children:[l.jsxs("div",{className:"inline-flex rounded-full border border-slate-200 bg-white p-1 dark:border-[#27272a] dark:bg-[#121214]",children:[l.jsx(TN,{active:s==="login",onClick:()=>O("login"),children:"Sign in"}),l.jsx(TN,{active:s==="signup",onClick:()=>O("signup"),children:"Sign up"})]}),l.jsxs("div",{className:"mt-10 border-t border-slate-200 pt-10 dark:border-[#1d1d23]",children:[l.jsxs("form",{onSubmit:E,className:"space-y-5",children:[l.jsx(fv,{label:"Email",children:l.jsx(pv,{type:"email",value:u,onChange:T=>c(T.target.value),placeholder:"name@company.com",required:!0,icon:l.jsx(yle,{size:16})})}),s==="signup"?l.jsx(fv,{label:"Merchant name",footer:"This uses the same merchant onboarding step already present in the authenticated flow.",children:l.jsx(pv,{type:"text",value:p,onChange:T=>h(T.target.value),placeholder:"e.g. Acme Corp",required:!0,icon:l.jsx(qh,{size:16})})}):null,l.jsx(fv,{label:"Password",footer:s==="login"?"Password reset is managed by your internal operator admin.":"Use at least 10 characters with uppercase, lowercase, number, and special character.",children:l.jsxs("div",{className:"relative",children:[l.jsx(pv,{type:x?"text":"password",value:f,onChange:T=>d(T.target.value),placeholder:"Enter your password",required:!0,icon:l.jsx(mle,{size:16}),inputRef:i,className:"pr-12"}),l.jsx("button",{type:"button",onClick:()=>v(T=>!T),className:"absolute right-4 top-1/2 -translate-y-1/2 text-slate-500 transition-colors hover:text-slate-200","aria-label":x?"Hide password":"Show password",children:x?l.jsx(Wd,{size:18}):l.jsx(dle,{size:18})})]})}),s==="signup"?l.jsx("p",{className:"text-xs leading-5 text-slate-500 dark:text-[#7b8496]",children:"Password policy: minimum 10 characters, including 1 uppercase letter, 1 lowercase letter, 1 number, and 1 special character."}):null,l.jsx(Nr,{error:m}),j?l.jsx("div",{className:"rounded-lg border border-sky-500/20 bg-sky-500/8 px-4 py-3 text-sm text-sky-300",children:j}):null,l.jsx("button",{type:"submit",disabled:g,className:"group inline-flex h-14 w-full items-center justify-center gap-2 rounded-2xl bg-[linear-gradient(90deg,#4371ff_0%,#3a63f4_100%)] px-5 text-sm font-semibold text-white transition-all duration-200 hover:brightness-110 disabled:cursor-not-allowed disabled:opacity-60",children:g?l.jsxs(l.Fragment,{children:[l.jsx(S1,{size:16,className:"animate-spin"}),"Authenticating"]}):l.jsxs(l.Fragment,{children:[s==="login"?"Enter workspace":"Create account",l.jsx(j1,{size:16,className:"transition-transform duration-200 group-hover:translate-x-0.5"})]})})]}),l.jsxs("div",{className:"mt-10 border-t border-slate-200 pt-6 text-center text-xs text-slate-500 dark:border-[#1d1d23] dark:text-[#667085]",children:[l.jsx("p",{children:"By continuing you agree to internal access policy and audit logging for operator actions."}),l.jsx("p",{className:"mt-4 text-slate-400 dark:text-[#525866]",children:"Juspay Decision Engine"})]})]})]})]})})]})]})}function TN({active:e,children:t,onClick:r}){return l.jsx("button",{type:"button",onClick:r,className:`rounded-full px-4 py-2 text-sm font-semibold transition-all duration-200 ${e?"bg-slate-950 text-white shadow-[0_8px_24px_-18px_rgba(15,23,42,0.45)] dark:bg-white dark:text-slate-950":"text-slate-500 hover:text-slate-950 dark:text-[#8a94a7] dark:hover:text-white"}`,children:t})}function fv({label:e,children:t,footer:r}){return l.jsxs("label",{className:"block",children:[l.jsx(an,{className:"mb-2 block text-slate-500 dark:text-[#8a94a7]",children:e}),t,r?l.jsx("p",{className:"mt-2 text-xs leading-5 text-slate-500 dark:text-[#7b8496]",children:r}):null]})}function pv({icon:e,className:t="",inputRef:r,...n}){return l.jsxs("div",{className:"relative",children:[e?l.jsx("span",{className:"pointer-events-none absolute left-4 top-1/2 -translate-y-1/2 text-slate-400 dark:text-[#667085]",children:e}):null,l.jsx("input",{...n,ref:r,className:`h-14 w-full rounded-2xl border border-slate-200 bg-white px-4 text-sm text-slate-950 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.12)] outline-none transition placeholder:text-slate-400 focus:border-brand-500 focus:ring-2 focus:ring-brand-500/20 dark:border-[#2a303a] dark:bg-[#161b24] dark:text-white dark:shadow-none ${e?"pl-12":""} ${t}`})]})}function hv({children:e}){return l.jsx("div",{className:"inline-flex items-center rounded-full border border-slate-200 bg-white px-4 py-2 text-sm text-slate-700 shadow-[0_12px_30px_-24px_rgba(15,23,42,0.1)] dark:border-[#27272a] dark:bg-[#121214] dark:text-[#c6d0e1] dark:shadow-none",children:e})}function mv({children:e}){return l.jsx("span",{className:"inline-flex items-center rounded-full border border-slate-200 bg-white px-4 py-2 text-sm font-medium text-slate-700 dark:border-[#2a2d35] dark:bg-[#111318] dark:text-[#d0d7e2]",children:e})}function Rfe({label:e,children:t,footer:r}){return l.jsxs("div",{className:"space-y-3",children:[l.jsx("label",{className:"block text-xs font-semibold uppercase tracking-[0.24em] text-slate-500 dark:text-[#8d95a3]",children:e}),t,r?l.jsx("p",{className:"text-sm leading-6 text-slate-500 dark:text-[#707786]",children:r}):null]})}function Ife(){const e=is(),{updateMerchant:t}=ua(),{setMerchantId:r}=Nn(),n="/decision-engine/",[a,i]=S.useState(""),[s,o]=S.useState(!1),[u,c]=S.useState(null);async function f(d){d.preventDefault(),c(null),o(!0);try{const p=await ui("/onboarding/merchant",{method:"POST",body:JSON.stringify({merchant_name:a})});t(p.token,p.merchant_id,p.merchants),r(p.merchant_id),e("/",{replace:!0})}catch(p){const h=p instanceof Error?p.message:"Something went wrong",x=h.match(/API error \d+: (.+)/);if(x)try{const v=JSON.parse(x[1]);c(v.message??h)}catch{c(x[1])}else c(h)}finally{o(!1)}}return l.jsxs("div",{className:"dark relative min-h-screen overflow-hidden bg-white text-slate-900 dark:bg-[#030507] dark:text-white",children:[l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[linear-gradient(180deg,_rgba(255,255,255,1),_rgba(248,250,252,1))] dark:bg-[linear-gradient(180deg,_rgba(3,5,7,1),_rgba(5,8,12,1))]"}),l.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_18%_18%,_rgba(59,130,246,0.06),_transparent_24%),radial-gradient(circle_at_78%_20%,_rgba(14,165,233,0.04),_transparent_18%),radial-gradient(circle_at_50%_100%,_rgba(14,165,233,0.03),_transparent_24%)] dark:bg-[radial-gradient(circle_at_20%_22%,_rgba(56,189,248,0.05),_transparent_24%),radial-gradient(circle_at_74%_18%,_rgba(59,130,246,0.04),_transparent_18%),radial-gradient(circle_at_50%_100%,_rgba(14,165,233,0.03),_transparent_24%)]"}),l.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.05] dark:opacity-[0.08] [background-image:linear-gradient(rgba(148,163,184,0.08)_1px,transparent_1px),linear-gradient(90deg,rgba(148,163,184,0.08)_1px,transparent_1px)] [background-size:56px_56px]"}),l.jsxs("div",{className:"relative z-10 grid min-h-screen lg:grid-cols-[1.08fr_0.92fr]",children:[l.jsxs("section",{className:"flex min-h-[42vh] flex-col border-b border-slate-200 dark:border-white/6 lg:min-h-screen lg:border-b-0 lg:border-r lg:border-[#1d1d23] px-6 py-8 sm:px-10 lg:px-14 lg:py-12 xl:px-16",children:[l.jsx("div",{className:"pt-2",children:l.jsx("img",{src:`${n}logo/decision-engine-dark.svg`,alt:"Juspay Decision Engine",className:"h-10 w-auto sm:h-11"})}),l.jsx("div",{className:"flex flex-1 items-center py-12 lg:py-0",children:l.jsxs("div",{className:"max-w-[620px] space-y-9",children:[l.jsxs("div",{className:"space-y-6",children:[l.jsx("h1",{className:"max-w-[10ch] text-[clamp(3.8rem,6.8vw,6rem)] font-semibold leading-[0.92] tracking-[-0.065em] text-slate-950 dark:text-white",children:"Configure the merchant workspace before first traffic."}),l.jsx("p",{className:"max-w-[38rem] text-lg leading-9 text-slate-600 dark:text-[#9aa4b6] sm:text-[1.3rem]",children:"Create the merchant shell once, then move straight into routing rules, analytics, and payment audit from the same control plane."})]}),l.jsxs("div",{className:"flex flex-wrap gap-3",children:[l.jsx(mv,{children:"Merchant workspace"}),l.jsx(mv,{children:"Routing controls"}),l.jsx(mv,{children:"Analytics ready"})]})]})})]}),l.jsx("section",{className:"flex min-h-[58vh] items-center justify-center px-6 py-10 sm:px-10 lg:min-h-screen lg:px-14 lg:py-12 xl:px-16",children:l.jsxs("div",{className:"w-full max-w-[540px]",children:[l.jsxs("div",{className:"text-center",children:[l.jsx("h2",{className:"text-[clamp(2.15rem,3.6vw,3.05rem)] font-semibold tracking-[-0.05em] text-slate-950 dark:text-white",children:"Create your merchant"}),l.jsx("p",{className:"mt-3 text-base text-slate-500 dark:text-[#8a94a7]",children:"Set up the merchant account that will own your Decision Engine workspace."})]}),l.jsxs("div",{className:"mt-10 border-t border-slate-200 pt-10 dark:border-[#1d1d23]",children:[l.jsxs("form",{onSubmit:f,className:"space-y-6",children:[l.jsx(Rfe,{label:"Merchant name",footer:"You can adjust downstream rules, connectors, and analytics after the workspace is created.",children:l.jsxs("div",{className:"relative",children:[l.jsx(qh,{size:16,className:"pointer-events-none absolute left-4 top-1/2 -translate-y-1/2 text-slate-500 dark:text-[#798191]"}),l.jsx("input",{type:"text",required:!0,autoFocus:!0,value:a,onChange:d=>i(d.target.value),placeholder:"e.g. Acme Corp",className:"h-16 w-full rounded-2xl border border-slate-200 bg-white pl-12 pr-5 text-[15px] text-slate-900 outline-none transition-all placeholder:text-slate-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 dark:border-[#2a2d35] dark:bg-[#1a1d25] dark:text-white dark:placeholder:text-[#6e7684] dark:focus:border-blue-500"})]})}),l.jsx(Nr,{error:u}),l.jsx("button",{type:"submit",disabled:s,className:"group inline-flex h-14 w-full items-center justify-center gap-2 rounded-2xl bg-[linear-gradient(90deg,#4371ff_0%,#3a63f4_100%)] px-5 text-sm font-semibold text-white transition-all duration-200 hover:brightness-110 disabled:cursor-not-allowed disabled:opacity-60",children:s?l.jsxs(l.Fragment,{children:[l.jsx(S1,{size:16,className:"animate-spin"}),"Creating workspace"]}):l.jsxs(l.Fragment,{children:["Create merchant",l.jsx(j1,{size:16,className:"transition-transform duration-200 group-hover:translate-x-0.5"})]})})]}),l.jsxs("div",{className:"mt-10 border-t border-slate-200 pt-6 text-center text-xs text-slate-500 dark:border-[#1d1d23] dark:text-[#667085]",children:[l.jsx("p",{children:"Workspace ownership and merchant-scoped access will be linked to your current operator session."}),l.jsx("p",{className:"mt-4 text-slate-400 dark:text-[#525866]",children:"Juspay Decision Engine"})]})]})]})})]})]})}function Mfe(){return l.jsxs(F3,{children:[l.jsx(Ur,{path:"login",element:l.jsx($fe,{})}),l.jsxs(Ur,{element:l.jsx(Efe,{}),children:[l.jsx(Ur,{path:"onboarding",element:l.jsx(Ife,{})}),l.jsxs(Ur,{element:l.jsx(Afe,{}),children:[l.jsx(Ur,{index:!0,element:l.jsx(Xce,{})}),l.jsx(Ur,{path:"routing",element:l.jsx(hde,{})}),l.jsx(Ur,{path:"routing/sr",element:l.jsx(yfe,{})}),l.jsx(Ur,{path:"routing/rules",element:l.jsx(Gce,{})}),l.jsx(Ur,{path:"routing/volume",element:l.jsx(Sfe,{})}),l.jsx(Ur,{path:"routing/debit",element:l.jsx(Qle,{})}),l.jsx(Ur,{path:"decisions",element:l.jsx(Jle,{})}),l.jsx(Ur,{path:"analytics",element:l.jsx(Mle,{})}),l.jsx(Ur,{path:"audit",element:l.jsx(pde,{})}),l.jsx(Ur,{path:"*",element:l.jsx(cx,{to:".",replace:!0})})]})]})]})}class Dfe extends S.Component{constructor(){super(...arguments);t_(this,"state",{error:null,errorInfo:null})}static getDerivedStateFromError(r){return{error:r,errorInfo:null}}componentDidCatch(r,n){console.log(` `+"!".repeat(80)),console.log("[ERROR BOUNDARY] Component Error Caught"),console.log(`Timestamp: ${new Date().toISOString()}`),console.log("Error Message:",r.message),console.log("Error Stack:",r.stack),console.log("Component Stack:",n.componentStack),console.log("!".repeat(80)+` -`),this.setState({errorInfo:n})}render(){return this.state.error?l.jsxs("div",{style:{padding:32,fontFamily:"monospace",color:"red"},children:[l.jsx("h2",{children:"Dashboard Error"}),l.jsx("pre",{children:this.state.error.message}),l.jsx("pre",{children:this.state.error.stack}),this.state.errorInfo&&l.jsxs("pre",{style:{marginTop:16,color:"darkred"},children:["Component Stack:",this.state.errorInfo.componentStack]})]}):this.props.children}}const Mfe="/decision-engine/".endsWith("/")?"/decision-engine/".slice(0,-1):"/decision-engine/";console.log(` +`),this.setState({errorInfo:n})}render(){return this.state.error?l.jsxs("div",{style:{padding:32,fontFamily:"monospace",color:"red"},children:[l.jsx("h2",{children:"Dashboard Error"}),l.jsx("pre",{children:this.state.error.message}),l.jsx("pre",{children:this.state.error.stack}),this.state.errorInfo&&l.jsxs("pre",{style:{marginTop:16,color:"darkred"},children:["Component Stack:",this.state.errorInfo.componentStack]})]}):this.props.children}}const Lfe="/decision-engine/".endsWith("/")?"/decision-engine/".slice(0,-1):"/decision-engine/";console.log(` `+"=".repeat(80));console.log("[APP STARTUP] Dashboard initializing...");console.log(`Timestamp: ${new Date().toISOString()}`);console.log("Environment: production");console.log("Base URL: /decision-engine/");console.log("=".repeat(80)+` `);window.onerror=(e,t,r,n,a)=>{console.log(` `+"!".repeat(80)),console.log("[WINDOW ERROR]"),console.log("Message:",e),console.log("Source:",t),console.log("Line:",r,"Column:",n),a&&(console.log("Error:",a.message),console.log("Stack:",a.stack)),console.log("!".repeat(80)+` `)};window.onunhandledrejection=e=>{console.log(` `+"!".repeat(80)),console.log("[UNHANDLED PROMISE REJECTION]"),console.log("Reason:",e.reason),e.reason instanceof Error&&console.log("Stack:",e.reason.stack),console.log("!".repeat(80)+` -`)};gv.createRoot(document.getElementById("root")).render(l.jsx(P.StrictMode,{children:l.jsx(Ife,{children:l.jsx(V3,{basename:Mfe,children:l.jsx(Rfe,{})})})})); +`)};gv.createRoot(document.getElementById("root")).render(l.jsx(P.StrictMode,{children:l.jsx(Dfe,{children:l.jsx(V3,{basename:Lfe,children:l.jsx(Mfe,{})})})})); diff --git a/website/dist/index.html b/website/dist/index.html index c497da8d..bc4b58f2 100644 --- a/website/dist/index.html +++ b/website/dist/index.html @@ -7,8 +7,8 @@ Juspay Decision Engine Dashboard - - + +
diff --git a/website/src/pages/AuthPage.tsx b/website/src/pages/AuthPage.tsx index e7ceda7a..7504a832 100644 --- a/website/src/pages/AuthPage.tsx +++ b/website/src/pages/AuthPage.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react' +import { useEffect, useRef, useState } from 'react' import { useNavigate } from 'react-router-dom' import { ArrowRight, @@ -57,11 +57,30 @@ function getPasswordPolicyError(password: string): string | null { return null } +function getApiErrorMessage(err: unknown): string { + const msg = err instanceof Error ? err.message : 'Something went wrong' + const match = msg.match(/API error \d+: (.+)/) + + if (!match) return msg + + try { + const parsed = JSON.parse(match[1]) + return parsed.message ?? msg + } catch { + return match[1] + } +} + +function isDuplicateEmailError(message: string): boolean { + return /email.*(already registered|already exists)|user.*already exists/i.test(message) +} + export function AuthPage() { const navigate = useNavigate() const { setAuth, updateMerchant } = useAuthStore() const { setMerchantId } = useMerchantStore() const assetBaseUrl = import.meta.env.BASE_URL + const passwordInputRef = useRef(null) const [tab, setTab] = useState('login') const [email, setEmail] = useState('') @@ -70,15 +89,25 @@ export function AuthPage() { const [showPassword, setShowPassword] = useState(false) const [loading, setLoading] = useState(false) const [error, setError] = useState(null) + const [notice, setNotice] = useState(null) + const [focusPasswordOnLogin, setFocusPasswordOnLogin] = useState(false) + + useEffect(() => { + if (tab !== 'login' || !focusPasswordOnLogin) return + passwordInputRef.current?.focus() + setFocusPasswordOnLogin(false) + }, [focusPasswordOnLogin, tab]) function switchTab(nextTab: Tab) { setTab(nextTab) setError(null) + setNotice(null) } async function handleSubmit(e: React.FormEvent) { e.preventDefault() setError(null) + setNotice(null) if (tab === 'signup') { const passwordPolicyError = getPasswordPolicyError(password) @@ -123,18 +152,16 @@ export function AuthPage() { navigate('/', { replace: true }) } } catch (err) { - const msg = err instanceof Error ? err.message : 'Something went wrong' - const match = msg.match(/API error \d+: (.+)/) - if (match) { - try { - const parsed = JSON.parse(match[1]) - setError(parsed.message ?? msg) - } catch { - setError(match[1]) - } - } else { - setError(msg) + const msg = getApiErrorMessage(err) + + if (tab === 'signup' && isDuplicateEmailError(msg)) { + setTab('login') + setNotice('Account already exists. Sign in with this email.') + setFocusPasswordOnLogin(true) + return } + + setError(msg) } finally { setLoading(false) } @@ -245,6 +272,7 @@ export function AuthPage() { placeholder="Enter your password" required icon={} + inputRef={passwordInputRef} className="pr-12" />
) diff --git a/website/src/components/layout/TopBar.tsx b/website/src/components/layout/TopBar.tsx index 282e805a..3019d646 100644 --- a/website/src/components/layout/TopBar.tsx +++ b/website/src/components/layout/TopBar.tsx @@ -3,7 +3,7 @@ import { useNavigate } from 'react-router-dom' import { useAuthStore } from '../../store/authStore' import { useMerchantStore } from '../../store/merchantStore' import { apiFetch } from '../../lib/api' -import { Moon, Sun, LogOut, ChevronDown, Building2, Check, Plus } from 'lucide-react' +import { LogOut, ChevronDown, Building2, Check, Plus } from 'lucide-react' interface SwitchMerchantResponse { token: string @@ -16,22 +16,10 @@ export function TopBar() { const navigate = useNavigate() const { user, merchants, clearAuth, updateMerchant } = useAuthStore() const { setMerchantId } = useMerchantStore() - const [isDark, setIsDark] = useState(() => localStorage.getItem('theme') !== 'light') const [merchantOpen, setMerchantOpen] = useState(false) const [switching, setSwitching] = useState(null) const dropdownRef = useRef(null) - useEffect(() => { - const root = window.document.documentElement - if (isDark) { - root.classList.add('dark') - localStorage.setItem('theme', 'dark') - } else { - root.classList.remove('dark') - localStorage.setItem('theme', 'light') - } - }, [isDark]) - useEffect(() => { function handleClickOutside(e: MouseEvent) { if (dropdownRef.current && !dropdownRef.current.contains(e.target as Node)) { @@ -75,7 +63,7 @@ export function TopBar() { const initials = user?.email ? user.email.slice(0, 2).toUpperCase() : 'ME' return ( -
+
@@ -133,17 +121,6 @@ export function TopBar() {
)} - {/* Theme toggle */} - - -
- {user && (
diff --git a/website/src/components/pages/AnalyticsPage.tsx b/website/src/components/pages/AnalyticsPage.tsx index ecaec79a..eb198c5f 100644 --- a/website/src/components/pages/AnalyticsPage.tsx +++ b/website/src/components/pages/AnalyticsPage.tsx @@ -1,4 +1,5 @@ import { useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react' +import { useLocation } from 'react-router-dom' import useSWR from 'swr' import { Area, @@ -46,6 +47,11 @@ type RoutingFilters = { } type AnalyticsView = 'transactions' | 'rule_based' +const ANALYTICS_VIEW_LABELS: Record = { + transactions: 'Auth-rate based', + rule_based: 'Rule based / Volume based', +} + type PreviewTraceKey = readonly [ 'preview-trace-analytics', AnalyticsRangeValue, @@ -98,6 +104,7 @@ const MAX_VISIBLE_DIMENSIONS = 3 const PREVIEW_TRACE_PAGE_SIZE = 50 const MAX_PREVIEW_TRACE_PAGES = 5 const PREVIEW_LIST_PAGE_SIZE = 10 +const CATCH_UP_REFRESH_DELAYS_MS = [750, 2000, 4000] const CARD_INFO: Record<'hits' | 'share' | 'sr' | 'preview_hits' | 'preview_activity' | 'preview_share', InfoContent> = { hits: { title: 'API call counts', @@ -119,21 +126,21 @@ const CARD_INFO: Record<'hits' | 'share' | 'sr' | 'preview_hits' | 'preview_acti }, preview_hits: { title: 'Rule-based summary', - purpose: 'Use these cards to distinguish preview request volume from the connector coverage produced by rule-based routing.', - calculation: 'Rule Evaluate counts come from request-hit analytics for `/routing/evaluate`. Gateway coverage counts the unique connectors selected in the fetched preview sample.', - source: 'Reads `request_hit` and `rule_evaluation_preview` analytics associated with preview routing activity.', + purpose: 'Use these cards to distinguish rule decision volume from the connector coverage produced by rule-based routing.', + calculation: 'Rule Evaluate counts come from request-hit analytics for `/routing/evaluate`. Gateway coverage counts the unique connectors selected in the fetched decision sample.', + source: 'Reads request-hit and rule decision analytics associated with rule-based routing activity.', }, preview_activity: { title: 'Connector selections over time', - purpose: 'Use this to see which connectors were selected in each time bucket inside the selected preview window.', - calculation: 'Returned preview traces are bucketed by time using each trace\'s latest activity timestamp, then grouped by latest selected connector. The chart shows connector counts per bucket.', - source: 'Reads `rule_evaluation_preview` activity through `/analytics/preview-trace`.', + purpose: 'Use this to see which connectors were selected in each time bucket inside the selected decision window.', + calculation: 'Returned decision traces are bucketed by time using each trace\'s latest activity timestamp, then grouped by latest selected connector. The chart shows connector counts per bucket.', + source: 'Reads rule decision activity through `/analytics/preview-trace`.', }, preview_share: { title: 'Rule-based gateway selection mix', - purpose: 'Use this to see which connectors dominate the fetched rule-preview sample, separate from real transaction decisions.', - calculation: 'Returned preview traces are grouped by latest selected connector and displayed as share of the fetched preview sample.', - source: 'Reads `rule_evaluation_preview` activity through `/analytics/preview-trace`.', + purpose: 'Use this to see which connectors dominate the fetched rule decision sample, separate from auth-rate transaction decisions.', + calculation: 'Returned decision traces are grouped by latest selected connector and displayed as share of the fetched decision sample.', + source: 'Reads rule decision activity through `/analytics/preview-trace`.', }, } @@ -299,6 +306,10 @@ function bucketTimestamp(ms: number, bucketSize: number) { return ms - (ms % Math.max(1, bucketSize)) } +function sortedGateways(values: string[]) { + return Array.from(new Set(values)).sort((left, right) => left.localeCompare(right)).slice(0, 6) +} + function buildBucketTimeline(window: TimeWindow, bucketSize: number) { const buckets: number[] = [] const safeBucketSize = Math.max(1, bucketSize) @@ -365,22 +376,6 @@ function PendingState({ title, body }: { title: string; body: string }) { ) } -function RefreshingState({ label }: { label: string }) { - return ( -
-
-
-
-
-

{label}

- - Loading - -
-
- ) -} - function controlClassName() { return 'h-11 w-full rounded-2xl border border-slate-200 bg-white px-4 text-sm text-slate-700 shadow-sm outline-none transition focus:border-brand-500 focus:ring-2 focus:ring-brand-500/20 dark:border-[#27272a] dark:bg-[#121214] dark:text-[#e5e7eb]' } @@ -532,12 +527,14 @@ function analyticsRouteLabel(route: string) { } export function AnalyticsPage() { + const location = useLocation() const { merchantId } = useMerchantStore() const authMerchantId = useAuthStore((state) => state.user?.merchantId || '') const effectiveMerchantId = merchantId || authMerchantId const [range, setRange] = useState('1h') const [view, setView] = useState('transactions') const [routingFilters, setRoutingFilters] = useState(EMPTY_ROUTING_FILTERS) + const [connectorFiltersOpen, setConnectorFiltersOpen] = useState(false) const [showAllFilters, setShowAllFilters] = useState(false) const [previewListPage, setPreviewListPage] = useState(1) const [customStart, setCustomStart] = useState(() => @@ -589,10 +586,12 @@ export function AnalyticsPage() { const overviewSwrOptions = { revalidateOnFocus: false, revalidateIfStale: false, + revalidateOnMount: true, } as const const routingSwrOptions = { revalidateOnFocus: false, revalidateIfStale: false, + revalidateOnMount: true, } as const const filteredRoutingSwrOptions = { ...routingSwrOptions, @@ -601,6 +600,7 @@ export function AnalyticsPage() { const previewListSwrOptions = { revalidateOnFocus: false, revalidateIfStale: false, + revalidateOnMount: true, keepPreviousData: true, } as const @@ -625,6 +625,7 @@ export function AnalyticsPage() { { revalidateOnFocus: false, revalidateIfStale: false, + revalidateOnMount: true, }, ) const previewList = useSWR( @@ -633,6 +634,28 @@ export function AnalyticsPage() { previewListSwrOptions, ) + useEffect(() => { + const revalidateCurrentView = () => { + void overview.mutate() + if (view === 'transactions') { + void routing.mutate() + void filteredRouting.mutate() + return + } + void previewTrace.mutate() + void previewList.mutate() + } + + revalidateCurrentView() + const timers = CATCH_UP_REFRESH_DELAYS_MS.map((delay) => + window.setTimeout(revalidateCurrentView, delay), + ) + + return () => { + timers.forEach((timer) => window.clearTimeout(timer)) + } + }, [location.key, view]) + const transactionLoading = (!overview.data && overview.isLoading) || (!routing.data && routing.isLoading) || @@ -652,13 +675,6 @@ export function AnalyticsPage() { null const loading = view === 'transactions' ? transactionLoading : ruleBasedLoading const error = view === 'transactions' ? transactionError : ruleBasedError - const transactionRefreshing = - !transactionLoading && - (overview.isValidating || routing.isValidating || filteredRouting.isValidating) - const ruleBasedRefreshing = - !ruleBasedLoading && - (overview.isValidating || previewTrace.isValidating || previewList.isValidating) - const refreshing = view === 'transactions' ? transactionRefreshing : ruleBasedRefreshing const availableFilters: RoutingFilterOptions = { dimensions: @@ -877,7 +893,7 @@ export function AnalyticsPage() { }, [previewListPage, previewListTotalPages, previewListTotalResults]) const gatewayShareData = useMemo(() => { - const gateways = Array.from(new Set((routing.data?.gateway_share || []).map((point) => point.gateway))).slice(0, 6) + const gateways = sortedGateways((routing.data?.gateway_share || []).map((point) => point.gateway)) if (!gateways.length) { return { gateways, @@ -922,7 +938,7 @@ export function AnalyticsPage() { }, [chartBucketSize, effectiveWindow, routing.data]) const connectorTrendData = useMemo(() => { - const gateways = Array.from(new Set((filteredRouting.data?.sr_trend || []).map((point) => point.gateway))).slice(0, 6) + const gateways = sortedGateways((filteredRouting.data?.sr_trend || []).map((point) => point.gateway)) if (!gateways.length) { return { gateways, @@ -1003,6 +1019,13 @@ export function AnalyticsPage() { .filter((item): item is { gateway: string; value: number } => item.value !== null) }, [connectorTrendData]) + const connectorTrendPointCounts = useMemo(() => { + return connectorTrendData.gateways.reduce>((counts, gateway) => { + counts[gateway] = connectorTrendData.rows.filter((row) => typeof row[gateway] === 'number').length + return counts + }, {}) + }, [connectorTrendData]) + const connectorTrendDomain = useMemo(() => { const values = connectorTrendData.rows.flatMap((row) => connectorTrendData.gateways @@ -1126,8 +1149,8 @@ export function AnalyticsPage() {

{view === 'transactions' - ? 'One working surface for route volume, connector share, and historical connector success rate.' - : 'Preview-only activity for rule-based routing, separate from transaction decisions and score updates.'} + ? 'One working surface for auth-rate route volume, connector share, and historical connector success rate.' + : 'Routing activity for rule-based and volume-based flows, separate from auth-rate score updates.'}

@@ -1158,7 +1181,7 @@ export function AnalyticsPage() { className={sectionButtonClass(view === 'transactions')} onClick={() => setView('transactions')} > - Transactions + {ANALYTICS_VIEW_LABELS.transactions}
@@ -1210,23 +1233,9 @@ export function AnalyticsPage() {
) : null} - {refreshing ? ( - - ) : null} -
- {refreshing ? ( -
- ) : null} - {view === 'transactions' ? ( -
+
@@ -1283,10 +1292,10 @@ export function AnalyticsPage() { key={gateway} type="monotone" dataKey={gateway} - stackId="1" stroke={CHART_COLORS[index % CHART_COLORS.length]} + strokeWidth={3} fill={CHART_COLORS[index % CHART_COLORS.length]} - fillOpacity={0.24} + fillOpacity={0.14} name={gateway} /> ))} @@ -1316,10 +1325,20 @@ export function AnalyticsPage() { Active filters: {activeFilterSummary}

- +
+ + +
+ {connectorFiltersOpen ? (
@@ -1454,6 +1473,7 @@ export function AnalyticsPage() {
+ ) : null} {latestConnectorSummary.length ? (
@@ -1492,7 +1512,7 @@ export function AnalyticsPage() { dataKey={gateway} stroke={CHART_COLORS[index % CHART_COLORS.length]} strokeWidth={3} - dot={false} + dot={connectorTrendPointCounts[gateway] <= 1 ? { r: 4, strokeWidth: 2 } : false} activeDot={{ r: 5 }} connectNulls name={gateway} @@ -1511,13 +1531,13 @@ export function AnalyticsPage() {
) : ( -
+

Rule-based activity

- Preview-only routing activity from /routing/evaluate, kept separate from transaction routing and gateway scoring. + Routing decisions from /routing/evaluate, kept separate from auth-rate transaction routing and gateway scoring.

@@ -1532,8 +1552,8 @@ export function AnalyticsPage() {
@@ -1547,7 +1567,7 @@ export function AnalyticsPage() { Connector selections over time

- Time-bucketed connector counts from the fetched rule-preview sample. + Time-bucketed connector counts from the fetched rule decision sample.

@@ -1588,13 +1608,13 @@ export function AnalyticsPage() {
) : previewIngestionPending ? ( ) : ( )}
@@ -1608,7 +1628,7 @@ export function AnalyticsPage() { Gateway selection mix

- Connector share across the fetched rule-preview sample. + Connector share across the fetched rule decision sample.

@@ -1622,7 +1642,7 @@ export function AnalyticsPage() { [ - `${formatNumber(value as number, 0)} previews`, + `${formatNumber(value as number, 0)} decisions`, `${String(name)} (${formatPercent(item.payload?.percentage || 0)})`, ]} contentStyle={CHART_TOOLTIP_STYLE} @@ -1653,7 +1673,7 @@ export function AnalyticsPage() { {previewRows.length}

- preview groups + decisions

@@ -1679,7 +1699,7 @@ export function AnalyticsPage() {

- {formatPercent(item.percentage)} of fetched previews + {formatPercent(item.percentage)} of fetched decisions

))} @@ -1687,27 +1707,27 @@ export function AnalyticsPage() {
) : previewIngestionPending ? ( ) : ( )}
-
- +
+
-

Recent rule previews

+

Recent rule decisions

- Preview-only evaluations captured from /routing/evaluate. This does not affect transaction scoring. + Decisions captured from /routing/evaluate. This does not affect transaction scoring.

@@ -1719,7 +1739,7 @@ export function AnalyticsPage() { {!previewList.data && previewList.isLoading ? (
- Loading rule previews… + Loading rule decisions…
) : previewList.error && !previewList.data ? ( @@ -1736,7 +1756,7 @@ export function AnalyticsPage() {
) : null}
-
+
{previewListRows.map((row) => (
- {row.latest_status || 'preview'} + {row.latest_status || 'decision'}
@@ -1799,25 +1819,25 @@ export function AnalyticsPage() {
) : previewIngestionPending ? ( ) : ( )} -
- +
+

Gateway activity

- Recent preview selections grouped by latest chosen gateway. + Recent decisions grouped by latest chosen gateway.

@@ -1845,23 +1865,23 @@ export function AnalyticsPage() { ) : previewIngestionPending ? ( ) : ( )}
- +
-

Recent preview outcomes

+

Recent decision outcomes

- Status mix from the loaded preview sample. + Status mix from the loaded decision sample.

@@ -1876,13 +1896,13 @@ export function AnalyticsPage() {
) : previewIngestionPending ? ( ) : ( )} diff --git a/website/src/components/pages/DebitRoutingPage.tsx b/website/src/components/pages/DebitRoutingPage.tsx index 0a760309..202ab1dd 100644 --- a/website/src/components/pages/DebitRoutingPage.tsx +++ b/website/src/components/pages/DebitRoutingPage.tsx @@ -126,7 +126,7 @@ export function DebitRoutingPage() {

- This toggle controls the backend runtime gate for NtwBasedRouting and hybrid debit routing. + This toggle controls the backend runtime gate for NTW_BASED_ROUTING and hybrid debit routing.

Detailed debit fee tables and network cost configuration are still backend configuration, not dashboard-editable rule config. This page only enables or disables merchant access to the runtime debit-routing flow. diff --git a/website/src/components/pages/DecisionExplorerPage.tsx b/website/src/components/pages/DecisionExplorerPage.tsx index 5faba081..05737356 100644 --- a/website/src/components/pages/DecisionExplorerPage.tsx +++ b/website/src/components/pages/DecisionExplorerPage.tsx @@ -15,13 +15,18 @@ import { useDynamicRoutingConfig } from '../../hooks/useDynamicRoutingConfig' import { useDebitRoutingFlag } from '../../hooks/useDebitRoutingFlag' import { Play, RefreshCw, ChevronDown, ChevronUp, Activity, Code, Plus, Trash2, PieChart as PieChartIcon, X, Network } from 'lucide-react' -const ALGORITHMS: RoutingAlgorithmName[] = ['SrBasedRouting', 'PlBasedRouting', 'NtwBasedRouting', 'NtwSrHybridRouting'] +const ALGORITHMS: RoutingAlgorithmName[] = [ + 'SR_BASED_ROUTING', + 'PL_BASED_ROUTING', + 'NTW_BASED_ROUTING', + 'NTW_SR_HYBRID_ROUTING', +] const ALGORITHM_LABELS: Record = { - SrBasedRouting: 'Success Rate Based', - PlBasedRouting: 'Priority List Based', - NtwBasedRouting: 'Network Based', - NtwSrHybridRouting: 'Network + SR Hybrid', + SR_BASED_ROUTING: 'Success Rate Based', + PL_BASED_ROUTING: 'Priority List Based', + NTW_BASED_ROUTING: 'Network Based', + NTW_SR_HYBRID_ROUTING: 'Network + SR Hybrid', } type TabType = 'single' | 'batch' | 'rule' | 'volume' | 'debit' @@ -49,7 +54,7 @@ interface DebitRoutingFormState { issuer_country: string is_regulated: boolean regulated_name: string - card_type: 'Debit' | 'Credit' + card_type: 'debit' | 'credit' } interface SimulationConfig { @@ -113,7 +118,7 @@ const DEFAULT_FORM: FormState = { card_brand: '', auth_type: '', eligible_gateways: 'stripe, adyen', - ranking_algorithm: 'SrBasedRouting', + ranking_algorithm: 'SR_BASED_ROUTING', elimination_enabled: false, } @@ -128,7 +133,7 @@ const DEFAULT_DEBIT_FORM: DebitRoutingFormState = { issuer_country: 'US', is_regulated: false, regulated_name: '', - card_type: 'Debit', + card_type: 'debit', } const DEFAULT_SIMULATION_CONFIG: SimulationConfig = { @@ -179,15 +184,19 @@ function cloneConnectors(connectors: GatewayConnector[]) { } function normalizeRankingAlgorithm(value: unknown): RoutingAlgorithmName { - if (value === 'SR_BASED_ROUTING') return 'SrBasedRouting' - if (value === 'PL_BASED_ROUTING') return 'PlBasedRouting' - if (value === 'NTW_BASED_ROUTING') return 'NtwBasedRouting' - if (value === 'NTW_SR_HYBRID_ROUTING') return 'NtwSrHybridRouting' + if (value === 'SrBasedRouting') return 'SR_BASED_ROUTING' + if (value === 'PlBasedRouting') return 'PL_BASED_ROUTING' + if (value === 'NtwBasedRouting') return 'NTW_BASED_ROUTING' + if (value === 'NtwSrHybridRouting') return 'NTW_SR_HYBRID_ROUTING' return ALGORITHMS.includes(value as RoutingAlgorithmName) ? value as RoutingAlgorithmName : DEFAULT_FORM.ranking_algorithm } +function normalizeDebitCardType(value: unknown): DebitRoutingFormState['card_type'] { + return `${value || ''}`.toLowerCase() === 'credit' ? 'credit' : 'debit' +} + function getDefaultExplorerState(): ExplorerPersistedState { return { activeTab: 'batch', @@ -234,7 +243,11 @@ function loadExplorerState(): ExplorerPersistedState { ranking_algorithm: normalizeRankingAlgorithm(parsed.form?.ranking_algorithm), }, simulationConfig: { ...defaults.simulationConfig, ...(parsed.simulationConfig || {}) }, - debitForm: { ...defaults.debitForm, ...(parsed.debitForm || {}) }, + debitForm: { + ...defaults.debitForm, + ...(parsed.debitForm || {}), + card_type: normalizeDebitCardType(parsed.debitForm?.card_type), + }, ruleParams: parsed.ruleParams?.length ? cloneRuleParams(parsed.ruleParams) : defaults.ruleParams, fallbackConnectors: parsed.fallbackConnectors?.length ? cloneConnectors(parsed.fallbackConnectors) : defaults.fallbackConnectors, volumeDistribution: parsed.volumeDistribution || defaults.volumeDistribution, @@ -317,7 +330,7 @@ function eventTypeLabel(eventType?: string | null) { eventType === 'update_score_legacy_score_snapshot' ) return 'Update Gateway' if (eventType === 'decide_gateway_rule_hit') return 'Rule Evaluate' - if (eventType.startsWith('routing_evaluate_') && eventType !== 'routing_evaluate_request_hit') return 'Preview Result' + if (eventType.startsWith('routing_evaluate_') && eventType !== 'routing_evaluate_request_hit') return 'Decision Result' if (eventType.endsWith('_error')) return 'Errors' return humanizeAuditValue(eventType) } @@ -331,7 +344,7 @@ function stageLabel(event: PaymentAuditEvent) { if (event.event_stage === 'gateway_decided') return 'Decide Gateway' if (event.event_stage === 'score_updated') return 'Update Gateway' if (event.event_stage === 'rule_applied') return 'Rule Evaluate' - if (event.event_stage === 'preview_evaluated' || (flowType.startsWith('routing_evaluate_') && flowType !== 'routing_evaluate_request_hit')) return 'Preview Result' + if (event.event_stage === 'preview_evaluated' || (flowType.startsWith('routing_evaluate_') && flowType !== 'routing_evaluate_request_hit')) return 'Decision Result' if (flowType.endsWith('_error')) return 'Errors' return humanizeAuditValue(event.event_stage || flowType) } @@ -341,7 +354,7 @@ function eventPhase(event: PaymentAuditEvent) { if ((flowType.startsWith('decide_gateway_') && flowType !== 'decide_gateway_rule_hit') || event.event_stage === 'gateway_decided') return 'Decide Gateway' if (flowType === 'decide_gateway_rule_hit' || event.event_stage === 'rule_applied') return 'Rule Evaluate' if (flowType.startsWith('update_gateway_score_') || flowType.startsWith('update_score_legacy_') || event.event_stage === 'score_updated') return 'Update Gateway' - if ((flowType.startsWith('routing_evaluate_') && flowType !== 'routing_evaluate_request_hit') || event.event_stage === 'preview_evaluated') return 'Preview' + if ((flowType.startsWith('routing_evaluate_') && flowType !== 'routing_evaluate_request_hit') || event.event_stage === 'preview_evaluated') return 'Decision' return 'Errors' } @@ -384,12 +397,18 @@ function summaryBadgeVariant(status?: string | null): 'blue' | 'green' | 'purple function phaseBadgeVariant(phase: string): 'blue' | 'green' | 'purple' | 'red' | 'orange' | 'gray' { if (phase === 'Decide Gateway') return 'blue' if (phase === 'Rule Evaluate') return 'purple' - if (phase === 'Preview') return 'purple' + if (phase === 'Decision') return 'purple' if (phase === 'Update Gateway') return 'green' if (phase === 'Errors') return 'red' return 'gray' } +function isTraceIndexingError(error: unknown) { + const status = typeof error === 'object' && error ? (error as { status?: number }).status : undefined + const message = error instanceof Error ? error.message : String(error || '') + return status === 404 || message.includes('API error 404') +} + function isRecord(value: unknown): value is Record { return Boolean(value) && typeof value === 'object' && !Array.isArray(value) } @@ -541,7 +560,7 @@ function PendingAuditState({ title, body }: { title: string; body: string }) {

- Polling every second + Waiting for analytics

) @@ -638,7 +657,7 @@ export function DecisionExplorerPage() { const [selectedPreviewPaymentId, setSelectedPreviewPaymentId] = useState(null) const [selectedPreviewEventId, setSelectedPreviewEventId] = useState(null) const [previewInspectorTab, setPreviewInspectorTab] = useState('summary') - const [previewTraceLabel, setPreviewTraceLabel] = useState('Rule Evaluation Preview') + const [previewTraceLabel, setPreviewTraceLabel] = useState('Rule Evaluation Decision') const deferredSimulationResults = useDeferredValue(simulationResults) const routingKeyNames = useMemo( @@ -676,8 +695,7 @@ export function DecisionExplorerPage() { : null const auditDetail = useSWR(auditUrl, fetcher, { - refreshInterval: selectedAuditPaymentId ? 12000 : 0, - revalidateOnFocus: true, + revalidateOnFocus: false, }) const previewTraceUrl = selectedPreviewPaymentId @@ -685,11 +703,7 @@ export function DecisionExplorerPage() { : null const previewTraceDetail = useSWR(previewTraceUrl, fetcher, { - refreshInterval: (data) => { - if (!selectedPreviewPaymentId) return 0 - return (data?.timeline?.length || 0) > 0 ? 12000 : 1000 - }, - revalidateOnFocus: true, + revalidateOnFocus: false, }) useEffect(() => { @@ -856,7 +870,7 @@ export function DecisionExplorerPage() { regulated_name: debitForm.is_regulated && debitForm.regulated_name.trim() ? debitForm.regulated_name.trim() : null, - card_type: debitForm.card_type, + card_type: normalizeDebitCardType(debitForm.card_type), }, }) } @@ -984,7 +998,7 @@ export function DecisionExplorerPage() { metadata: buildDebitRoutingMetadata(), }, eligibleGatewayList: gateways, - rankingAlgorithm: 'NtwBasedRouting', + rankingAlgorithm: 'NTW_BASED_ROUTING', eliminationEnabled: false, }) @@ -1089,7 +1103,7 @@ export function DecisionExplorerPage() { setVolumeDistribution([]) setVolumeEvaluationLog([]) setVolumeProgress(0) - const previewPaymentId = `rule_preview_${Date.now()}` + const previewPaymentId = `rule_decision_${Date.now()}` try { const parameters: Record = {} @@ -1150,10 +1164,18 @@ export function DecisionExplorerPage() { try { const batchSize = 10 - const basePaymentId = `volume_preview_${Date.now()}` + const basePaymentId = `volume_decision_${Date.now()}` const logEntries: VolumePaymentEntry[] = [] const counts = new Map() - let latestResponse: RuleEvaluateResponse | null = null + let firstDecision: RuleEvaluateResponse | null = null + const buildDistribution = (completedPayments: number) => + Array.from(counts.entries()) + .map(([name, count]) => ({ + name, + count, + percentage: Number(((count / Math.max(1, completedPayments)) * 100).toFixed(1)), + })) + .sort((left, right) => right.count - left.count) for (let start = 0; start < totalPayments; start += batchSize) { const chunkSize = Math.min(batchSize, totalPayments - start) @@ -1185,27 +1207,18 @@ export function DecisionExplorerPage() { throw new Error('Volume split evaluation did not return a connector.') } + if (!firstDecision) { + firstDecision = response + setRuleResult(response) + } + counts.set(connector, (counts.get(connector) || 0) + 1) logEntries.push({ paymentId, connector }) - latestResponse = response } setVolumeProgress(logEntries.length) - } - - if (latestResponse) { - const distribution = Array.from(counts.entries()) - .map(([name, count]) => ({ - name, - count, - percentage: Number(((count / totalPayments) * 100).toFixed(1)), - })) - .sort((left, right) => right.count - left.count) - - setRuleResult(latestResponse) setVolumeEvaluationLog(logEntries) - setVolumeDistribution(distribution) - setSelectedPreviewPaymentId(latestResponse.payment_id) + setVolumeDistribution(buildDistribution(logEntries.length)) } } catch (e: unknown) { setError(e instanceof Error ? e.message : 'Request failed') @@ -1376,7 +1389,7 @@ export function DecisionExplorerPage() { setSelectedPreviewPaymentId(null) setSelectedPreviewEventId(null) setPreviewInspectorTab('summary') - setPreviewTraceLabel('Rule Evaluation Preview') + setPreviewTraceLabel('Rule Evaluation Decision') } else if (activeTab === 'volume') { setVolumePayments(defaults.volumePayments) setRuleResult(defaults.ruleResult) @@ -1387,7 +1400,7 @@ export function DecisionExplorerPage() { setSelectedPreviewPaymentId(null) setSelectedPreviewEventId(null) setPreviewInspectorTab('summary') - setPreviewTraceLabel('Volume Split Preview') + setPreviewTraceLabel('Volume Split Decision') } else if (activeTab === 'debit') { setDebitForm(defaults.debitForm) setDebitResult(defaults.debitResult) @@ -1630,7 +1643,7 @@ export function DecisionExplorerPage() {

) : debitRoutingFlag.isEnabled ? (

- Debit routing is enabled for this merchant. This tab will call /decide-gateway with NtwBasedRouting. + Debit routing is enabled for this merchant. This tab will call /decide-gateway with NTW_BASED_ROUTING.

) : (
@@ -1678,8 +1691,8 @@ export function DecisionExplorerPage() { onChange={e => setDebitField('card_type', e.target.value as DebitRoutingFormState['card_type'])} className="w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500" > - - + +
@@ -1772,7 +1785,7 @@ export function DecisionExplorerPage() { className="w-full border border-slate-200 dark:border-[#222226] bg-transparent rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-brand-500" />

- Enter how many preview evaluations to run against the active volume split rule. + Enter how many decision evaluations to run against the active volume split rule.

) : ( @@ -1919,7 +1932,7 @@ export function DecisionExplorerPage() { ) : activeTab === 'volume' ? ( ) : null}
@@ -2129,29 +2148,6 @@ export function DecisionExplorerPage() { - - -

Bar Chart

-
- - - - - - [`${value} payments`, 'Count']} - contentStyle={document.documentElement.classList.contains('dark') ? { backgroundColor: '#111114', border: '1px solid #222226', borderRadius: '8px', color: '#fff' } : { backgroundColor: '#fff', border: '1px solid #e5e7eb', borderRadius: '8px', color: '#1f2937' }} - /> - - {volumeDistribution.map((_, index) => ( - - ))} - - - - -
-

Percentage Distribution

@@ -2248,7 +2244,7 @@ export function DecisionExplorerPage() { openPreviewModal(entry.paymentId, 'Volume Split Preview')} + onClick={() => openPreviewModal(entry.paymentId, 'Volume Split Decision')} > {idx + 1} {entry.paymentId} @@ -2270,7 +2266,7 @@ export function DecisionExplorerPage() { className="text-xs font-medium text-brand-600 hover:text-brand-700" onClick={(event) => { event.stopPropagation() - openPreviewModal(entry.paymentId, 'Volume Split Preview') + openPreviewModal(entry.paymentId, 'Volume Split Decision') }} > View trace @@ -2304,7 +2300,7 @@ export function DecisionExplorerPage() { )}
- +
) : ( @@ -2328,9 +2324,9 @@ export function DecisionExplorerPage() { ) : null}
@@ -2908,7 +2904,7 @@ export function DecisionExplorerPage() {
+
updateFilter('paymentId', event.target.value)} - placeholder={mode === 'rule_based' ? 'Preview payment ID' : 'Payment ID or request ID'} - /> - updateFilter('requestId', event.target.value)} - placeholder="Request ID" + placeholder={ + mode === 'rule_based' + ? 'Decision payment ID' + : 'Payment ID' + } /> -
+
{mode === 'transactions' ? (