diff --git a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts index 09e1fbd2..84e6c126 100644 --- a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts +++ b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts @@ -573,6 +573,11 @@ const PLAN_SCHEDULES: Record; + export function isQimingclawDigitalApiEnabled(): boolean { return window.__QIMINGCLAW_EMBEDDED_DIGITAL__ === true; } @@ -593,6 +598,17 @@ export async function handleQimingclawDigitalApi( if (method === 'POST' && pathname === '/api/digital-employee/workday/actions') { return await handleWorkdayAction(parseJsonBody(options.body), await readQimingclawSnapshot()) as T; } + const businessPlanDetailMatch = pathname.match(/^\/api\/digital-employee\/plans\/([^/]+)$/); + if (method === 'GET' && businessPlanDetailMatch) { + const planId = decodeURIComponent(businessPlanDetailMatch[1] || ''); + const item = businessPlanRows(await readQimingclawSnapshot()) + .find((row) => stringValue(row.plan_id) === planId || stringValue(row.remote_id) === planId) ?? null; + return { item, source: BUSINESS_VIEW_SOURCE } as T; + } + const businessViewMatch = pathname.match(/^\/api\/digital-employee\/(plans|tasks|runs|events|artifacts|approvals)$/); + if (method === 'GET' && businessViewMatch) { + return buildBusinessViewResponse(businessViewMatch[1] as BusinessViewKind, await readQimingclawSnapshot(), url.searchParams) as T; + } if (method === 'GET' && pathname === '/api/route-decisions') { return await readRouteDecisions(Number(url.searchParams.get('limit')) || 80) as T; } @@ -2050,6 +2066,242 @@ function buildAuditEvents(snapshot: QimingclawSnapshot | null, searchParams: URL .slice(0, limit); } +function buildBusinessViewResponse(kind: BusinessViewKind, snapshot: QimingclawSnapshot | null, searchParams: URLSearchParams): Record { + const rowsByKind: Record = { + plans: businessPlanRows(snapshot), + tasks: businessTaskRows(snapshot), + runs: businessRunRows(snapshot), + events: businessEventRows(snapshot), + artifacts: businessArtifactRows(snapshot), + approvals: businessApprovalRows(snapshot), + }; + const rows = filterBusinessRows(rowsByKind[kind], searchParams); + return { + ...paginateBusinessRows(rows, searchParams), + source: BUSINESS_VIEW_SOURCE, + }; +} + +function businessPlanRows(snapshot: QimingclawSnapshot | null): BusinessViewRow[] { + const runtimeById = new Map(runtimePlans(snapshot).map((plan) => [plan.id, plan])); + const tasks = buildTasks(null, snapshot); + const runs = buildTasksResponse(null, snapshot).runs; + const events = buildCanonicalEvents(snapshot, tasks, runs); + return filterPlans(null, snapshot).map((plan) => { + const runtime = runtimeById.get(plan.plan_id); + const relatedTasks = tasks.filter((task) => task.plan_id === plan.plan_id); + const relatedRuns = runs.filter((run) => run.plan_id === plan.plan_id); + const latestEventAt = events + .filter((event) => event.plan_id === plan.plan_id) + .map((event) => stringValue(event.occurred_at ?? event.timestamp)) + .filter(Boolean) + .sort() + .pop() || null; + return { + plan_id: plan.plan_id, + remote_id: runtime?.remoteId ?? null, + title: plan.title, + objective: plan.objective ?? null, + status: plan.status, + task_count: relatedTasks.length, + run_count: relatedRuns.length, + latest_event_at: latestEventAt, + sync_status: (runtime?.syncStatus ?? stringValue(plan.sync_status)) || null, + created_at: plan.created_at, + updated_at: stringValue(plan.updated_at) || runtime?.updatedAt || plan.created_at, + payload: runtime?.payload ?? compactRecord({ source: plan.source, steps: plan.steps }), + }; + }); +} + +function businessTaskRows(snapshot: QimingclawSnapshot | null): BusinessViewRow[] { + const runtimeById = new Map(runtimeTasks(snapshot).map((task) => [task.id, task])); + return buildTasks(null, snapshot).map((task) => { + const runtime = runtimeById.get(task.task_id); + return { + task_id: task.task_id, + remote_id: runtime?.remoteId ?? null, + plan_id: task.plan_id ?? null, + title: task.title, + status: task.status, + assigned_skill_id: task.assigned_skill_id || runtime?.assignedSkillId || null, + sync_status: (runtime?.syncStatus ?? stringValue(task.sync_status)) || null, + created_at: task.created_at, + updated_at: task.updated_at, + payload: runtime?.payload ?? compactRecord({ step_id: task.step_id, description: task.description }), + }; + }); +} + +function businessRunRows(snapshot: QimingclawSnapshot | null): BusinessViewRow[] { + const runtimeById = new Map(runtimeRuns(snapshot).map((run) => [run.id, run])); + return buildTasksResponse(null, snapshot).runs.map((run) => { + const runtime = runtimeById.get(run.run_id); + const startedAt = runtime?.startedAt ?? run.created_at; + const finishedAt = runtime?.finishedAt ?? run.completed_at ?? null; + const latestRunEvent = (run.events ?? []) + .slice() + .sort((left, right) => stringValue(right.occurred_at).localeCompare(stringValue(left.occurred_at)))[0]; + return { + run_id: run.run_id, + remote_id: runtime?.remoteId ?? null, + plan_id: run.plan_id ?? null, + task_id: run.task_id || null, + status: runtime?.status ?? run.lifecycle, + started_at: startedAt ?? null, + finished_at: finishedAt, + duration_ms: durationMs(startedAt, finishedAt), + last_event_message: latestRunEvent?.message ?? null, + sync_status: (runtime?.syncStatus ?? stringValue(run.sync_status)) || null, + created_at: runtime?.createdAt ?? run.created_at, + payload: runtime?.payload ?? compactRecord({ lifecycle: run.lifecycle, attempt_no: run.attempt_no }), + }; + }); +} + +function businessEventRows(snapshot: QimingclawSnapshot | null): BusinessViewRow[] { + const tasks = buildTasks(null, snapshot); + const runs = buildTasksResponse(null, snapshot).runs; + const runtimeById = new Map(runtimeEvents(snapshot).map((event) => [event.id, event])); + return buildCanonicalEvents(snapshot, tasks, runs).map((event) => { + const runtime = runtimeById.get(event.event_id); + const planId = stringValue(event.plan_id) || runtime?.planId || null; + const taskId = stringValue(event.task_id) || runtime?.taskId || null; + return { + event_id: event.event_id, + remote_id: runtime?.remoteId ?? null, + plan_id: planId, + task_id: taskId, + run_id: runtime?.runId ?? null, + kind: event.kind ?? event.event_type ?? runtime?.kind ?? null, + message: event.message ?? runtime?.message ?? null, + occurred_at: stringValue(event.occurred_at ?? event.timestamp) || runtime?.occurredAt, + sync_status: runtime?.syncStatus ?? null, + payload: runtime?.payload ?? compactRecord({ aggregate_type: event.aggregate_type, aggregate_id: event.aggregate_id }), + }; + }); +} + +function businessArtifactRows(snapshot: QimingclawSnapshot | null): BusinessViewRow[] { + const runtimeById = new Map(runtimeArtifacts(snapshot).map((artifact) => [artifact.id, artifact])); + return buildArtifacts(snapshot).map((artifact) => { + const artifactId = stringValue(artifact.artifact_id) || stringValue(artifact.subject_id); + const runtime = runtimeById.get(artifactId); + const entity = businessEntityFromRefs({ + plan_id: artifact.plan_id, + task_id: artifact.task_id, + run_id: artifact.run_id, + fallback_type: 'artifact', + fallback_id: artifact.subject_id ?? artifactId, + }); + return { + ...artifact, + artifact_id: artifactId, + remote_id: (runtime?.remoteId ?? stringValue(artifact.remote_id)) || null, + entity_type: entity.entity_type, + entity_id: entity.entity_id, + sync_status: (runtime?.syncStatus ?? stringValue(artifact.sync_status)) || null, + }; + }); +} + +function businessApprovalRows(snapshot: QimingclawSnapshot | null): BusinessViewRow[] { + const runtimeById = new Map(runtimeApprovals(snapshot).map((approval) => [approval.id, approval])); + return buildApprovals(snapshot).map((approval) => { + const approvalId = stringValue(approval.approval_id); + const runtime = runtimeById.get(approvalId); + const entity = businessEntityFromRefs({ + plan_id: approval.plan_id, + task_id: approval.task_id, + run_id: approval.run_id, + fallback_type: stringValue(approval.source) === 'qimingclaw-sync' ? 'sync_outbox' : 'approval', + fallback_id: approval.task_id || approvalId, + }); + return { + ...approval, + approval_id: approvalId, + remote_id: (runtime?.remoteId ?? stringValue(approval.remote_id)) || null, + entity_type: entity.entity_type, + entity_id: entity.entity_id, + sync_status: (runtime?.syncStatus ?? stringValue(approval.sync_status)) || null, + }; + }); +} + +function filterBusinessRows(rows: BusinessViewRow[], searchParams: URLSearchParams): BusinessViewRow[] { + const entityId = stringValue(searchParams.get('entity_id')); + const remoteId = stringValue(searchParams.get('remote_id')); + const status = stringValue(searchParams.get('status')); + const syncStatus = stringValue(searchParams.get('sync_status')); + const updatedFrom = stringValue(searchParams.get('updated_from')); + const updatedTo = stringValue(searchParams.get('updated_to')); + return rows + .filter((row) => !entityId || businessRowEntityIds(row).includes(entityId)) + .filter((row) => !remoteId || stringValue(row.remote_id) === remoteId) + .filter((row) => !status || stringValue(row.status) === status) + .filter((row) => !syncStatus || stringValue(row.sync_status) === syncStatus) + .filter((row) => { + const timestamp = businessRowUpdatedAt(row); + if (updatedFrom && (!timestamp || timestamp < updatedFrom)) return false; + if (updatedTo && (!timestamp || timestamp > updatedTo)) return false; + return true; + }); +} + +function paginateBusinessRows(rows: BusinessViewRow[], searchParams: URLSearchParams): { items: BusinessViewRow[]; page_no: number; page_size: number; total: number } { + const pageNo = Math.max(1, Math.floor(numberValue(searchParams.get('page_no')) ?? 1)); + const pageSize = Math.max(1, Math.min(Math.floor(numberValue(searchParams.get('page_size')) ?? 20), 100)); + const start = (pageNo - 1) * pageSize; + return { + items: rows.slice(start, start + pageSize), + page_no: pageNo, + page_size: pageSize, + total: rows.length, + }; +} + +function businessEntityFromRefs(refs: Record): { entity_type: string; entity_id: string | null } { + const runId = stringValue(refs.run_id); + if (runId) return { entity_type: 'run', entity_id: runId }; + const taskId = stringValue(refs.task_id); + if (taskId) return { entity_type: 'task', entity_id: taskId }; + const planId = stringValue(refs.plan_id); + if (planId) return { entity_type: 'plan', entity_id: planId }; + return { + entity_type: stringValue(refs.fallback_type) || 'record', + entity_id: stringValue(refs.fallback_id) || null, + }; +} + +function businessRowEntityIds(row: BusinessViewRow): string[] { + return uniqueStrings([ + row.entity_id, + row.plan_id, + row.task_id, + row.run_id, + row.event_id, + row.artifact_id, + row.approval_id, + ]); +} + +function businessRowUpdatedAt(row: BusinessViewRow): string { + return stringValue(row.updated_at) + || stringValue(row.finished_at) + || stringValue(row.started_at) + || stringValue(row.occurred_at) + || stringValue(row.latest_event_at) + || stringValue(row.created_at); +} + +function durationMs(startedAt?: string | null, finishedAt?: string | null): number | null { + if (!startedAt || !finishedAt) return null; + const started = Date.parse(startedAt); + const finished = Date.parse(finishedAt); + if (!Number.isFinite(started) || !Number.isFinite(finished) || finished < started) return null; + return finished - started; +} + function auditEventFromRuntimeEvent(event: QimingclawEventRecord): Record { const payload = asRecord(event.payload) ?? {}; const category = event.kind.startsWith('governance_') diff --git a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BgNhwaUy.js b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BgNhwaUy.js deleted file mode 100644 index dc6be516..00000000 --- a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BgNhwaUy.js +++ /dev/null @@ -1,148 +0,0 @@ -(function(){const l=document.createElement("link").relList;if(l&&l.supports&&l.supports("modulepreload"))return;for(const d of document.querySelectorAll('link[rel="modulepreload"]'))r(d);new MutationObserver(d=>{for(const f of d)if(f.type==="childList")for(const p of f.addedNodes)p.tagName==="LINK"&&p.rel==="modulepreload"&&r(p)}).observe(document,{childList:!0,subtree:!0});function s(d){const f={};return d.integrity&&(f.integrity=d.integrity),d.referrerPolicy&&(f.referrerPolicy=d.referrerPolicy),d.crossOrigin==="use-credentials"?f.credentials="include":d.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function r(d){if(d.ep)return;d.ep=!0;const f=s(d);fetch(d.href,f)}})();function Pv(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Wo={exports:{}},Ds={};/** - * @license React - * react-jsx-runtime.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 $p;function eb(){if($p)return Ds;$p=1;var n=Symbol.for("react.transitional.element"),l=Symbol.for("react.fragment");function s(r,d,f){var p=null;if(f!==void 0&&(p=""+f),d.key!==void 0&&(p=""+d.key),"key"in d){f={};for(var _ in d)_!=="key"&&(f[_]=d[_])}else f=d;return d=f.ref,{$$typeof:n,type:r,key:p,ref:d!==void 0?d:null,props:f}}return Ds.Fragment=l,Ds.jsx=s,Ds.jsxs=s,Ds}var Op;function tb(){return Op||(Op=1,Wo.exports=eb()),Wo.exports}var u=tb(),Po={exports:{}},ge={};/** - * @license React - * react.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 qp;function nb(){if(qp)return ge;qp=1;var n=Symbol.for("react.transitional.element"),l=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),d=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),p=Symbol.for("react.context"),_=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),x=Symbol.for("react.activity"),w=Symbol.iterator;function q(k){return k===null||typeof k!="object"?null:(k=w&&k[w]||k["@@iterator"],typeof k=="function"?k:null)}var A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$=Object.assign,N={};function U(k,G,I){this.props=k,this.context=G,this.refs=N,this.updater=I||A}U.prototype.isReactComponent={},U.prototype.setState=function(k,G){if(typeof k!="object"&&typeof k!="function"&&k!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,k,G,"setState")},U.prototype.forceUpdate=function(k){this.updater.enqueueForceUpdate(this,k,"forceUpdate")};function J(){}J.prototype=U.prototype;function O(k,G,I){this.props=k,this.context=G,this.refs=N,this.updater=I||A}var W=O.prototype=new J;W.constructor=O,$(W,U.prototype),W.isPureReactComponent=!0;var ee=Array.isArray;function he(){}var Z={H:null,A:null,T:null,S:null},ie=Object.prototype.hasOwnProperty;function ae(k,G,I){var P=I.ref;return{$$typeof:n,type:k,key:G,ref:P!==void 0?P:null,props:I}}function be(k,G){return ae(k.type,G,k.props)}function He(k){return typeof k=="object"&&k!==null&&k.$$typeof===n}function ze(k){var G={"=":"=0",":":"=2"};return"$"+k.replace(/[=:]/g,function(I){return G[I]})}var X=/\/+/g;function re(k,G){return typeof k=="object"&&k!==null&&k.key!=null?ze(""+k.key):G.toString(36)}function B(k){switch(k.status){case"fulfilled":return k.value;case"rejected":throw k.reason;default:switch(typeof k.status=="string"?k.then(he,he):(k.status="pending",k.then(function(G){k.status==="pending"&&(k.status="fulfilled",k.value=G)},function(G){k.status==="pending"&&(k.status="rejected",k.reason=G)})),k.status){case"fulfilled":return k.value;case"rejected":throw k.reason}}throw k}function D(k,G,I,P,de){var ye=typeof k;(ye==="undefined"||ye==="boolean")&&(k=null);var V=!1;if(k===null)V=!0;else switch(ye){case"bigint":case"string":case"number":V=!0;break;case"object":switch(k.$$typeof){case n:case l:V=!0;break;case b:return V=k._init,D(V(k._payload),G,I,P,de)}}if(V)return de=de(k),V=P===""?"."+re(k,0):P,ee(de)?(I="",V!=null&&(I=V.replace(X,"$&/")+"/"),D(de,G,I,"",function($e){return $e})):de!=null&&(He(de)&&(de=be(de,I+(de.key==null||k&&k.key===de.key?"":(""+de.key).replace(X,"$&/")+"/")+V)),G.push(de)),1;V=0;var te=P===""?".":P+":";if(ee(k))for(var Me=0;Me>>1,Se=D[me];if(0>>1;med(I,le))Pd(de,I)?(D[me]=de,D[P]=le,me=P):(D[me]=I,D[G]=le,me=G);else if(Pd(de,le))D[me]=de,D[P]=le,me=P;else break e}}return K}function d(D,K){var le=D.sortIndex-K.sortIndex;return le!==0?le:D.id-K.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;n.unstable_now=function(){return f.now()}}else{var p=Date,_=p.now();n.unstable_now=function(){return p.now()-_}}var h=[],g=[],b=1,x=null,w=3,q=!1,A=!1,$=!1,N=!1,U=typeof setTimeout=="function"?setTimeout:null,J=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function W(D){for(var K=s(g);K!==null;){if(K.callback===null)r(g);else if(K.startTime<=D)r(g),K.sortIndex=K.expirationTime,l(h,K);else break;K=s(g)}}function ee(D){if($=!1,W(D),!A)if(s(h)!==null)A=!0,he||(he=!0,ze());else{var K=s(g);K!==null&&B(ee,K.startTime-D)}}var he=!1,Z=-1,ie=5,ae=-1;function be(){return N?!0:!(n.unstable_now()-aeD&&be());){var me=x.callback;if(typeof me=="function"){x.callback=null,w=x.priorityLevel;var Se=me(x.expirationTime<=D);if(D=n.unstable_now(),typeof Se=="function"){x.callback=Se,W(D),K=!0;break t}x===s(h)&&r(h),W(D)}else r(h);x=s(h)}if(x!==null)K=!0;else{var k=s(g);k!==null&&B(ee,k.startTime-D),K=!1}}break e}finally{x=null,w=le,q=!1}K=void 0}}finally{K?ze():he=!1}}}var ze;if(typeof O=="function")ze=function(){O(He)};else if(typeof MessageChannel<"u"){var X=new MessageChannel,re=X.port2;X.port1.onmessage=He,ze=function(){re.postMessage(null)}}else ze=function(){U(He,0)};function B(D,K){Z=U(function(){D(n.unstable_now())},K)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(D){D.callback=null},n.unstable_forceFrameRate=function(D){0>D||125me?(D.sortIndex=le,l(g,D),s(h)===null&&D===s(g)&&($?(J(Z),Z=-1):$=!0,B(ee,le-me))):(D.sortIndex=Se,l(h,D),A||q||(A=!0,he||(he=!0,ze()))),D},n.unstable_shouldYield=be,n.unstable_wrapCallback=function(D){var K=w;return function(){var le=w;w=K;try{return D.apply(this,arguments)}finally{w=le}}}})(nd)),nd}var Bp;function ib(){return Bp||(Bp=1,td.exports=lb()),td.exports}var ad={exports:{}},Tt={};/** - * @license React - * react-dom.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 Hp;function sb(){if(Hp)return Tt;Hp=1;var n=$d();function l(h){var g="https://react.dev/errors/"+h;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(l){console.error(l)}}return n(),ad.exports=sb(),ad.exports}/** - * @license React - * react-dom-client.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 Yp;function cb(){if(Yp)return Rs;Yp=1;var n=ib(),l=$d(),s=rb();function r(e){var t="https://react.dev/errors/"+e;if(1Se||(e.current=me[Se],me[Se]=null,Se--)}function I(e,t){Se++,me[Se]=e.current,e.current=t}var P=k(null),de=k(null),ye=k(null),V=k(null);function te(e,t){switch(I(ye,t),I(de,e),I(P,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?lp(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=lp(t),e=ip(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}G(P),I(P,e)}function Me(){G(P),G(de),G(ye)}function $e(e){e.memoizedState!==null&&I(V,e);var t=P.current,a=ip(t,e.type);t!==a&&(I(de,e),I(P,a))}function xe(e){de.current===e&&(G(P),G(de)),V.current===e&&(G(V),As._currentValue=le)}var Nt,vt;function Ce(e){if(Nt===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Nt=t&&t[1]||"",vt=-1)":-1c||j[i]!==z[c]){var H=` -`+j[i].replace(" at new "," at ");return e.displayName&&H.includes("")&&(H=H.replace("",e.displayName)),H}while(1<=i&&0<=c);break}}}finally{at=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Ce(a):""}function Ci(e,t){switch(e.tag){case 26:case 27:case 5:return Ce(e.type);case 16:return Ce("Lazy");case 13:return e.child!==t&&t!==null?Ce("Suspense Fallback"):Ce("Suspense");case 19:return Ce("SuspenseList");case 0:case 15:return Qn(e.type,!1);case 11:return Qn(e.type.render,!1);case 1:return Qn(e.type,!0);case 31:return Ce("Activity");default:return""}}function Dl(e){try{var t="",a=null;do t+=Ci(e,a),a=e,e=e.return;while(e);return t}catch(i){return` -Error generating stack: `+i.message+` -`+i.stack}}var Ti=Object.prototype.hasOwnProperty,Ni=n.unstable_scheduleCallback,St=n.unstable_cancelCallback,Fs=n.unstable_shouldYield,ke=n.unstable_requestPaint,gt=n.unstable_now,an=n.unstable_getCurrentPriorityLevel,ln=n.unstable_ImmediatePriority,tl=n.unstable_UserBlockingPriority,Mt=n.unstable_NormalPriority,Dt=n.unstable_LowPriority,nl=n.unstable_IdlePriority,Kn=n.log,al=n.unstable_setDisableYieldValue,Xn=null,Ze=null;function Nn(e){if(typeof Kn=="function"&&al(e),Ze&&typeof Ze.setStrictMode=="function")try{Ze.setStrictMode(Xn,e)}catch{}}var Ct=Math.clz32?Math.clz32:Di,pa=Math.log,Jc=Math.LN2;function Di(e){return e>>>=0,e===0?32:31-(pa(e)/Jc|0)|0}var Rl=256,zl=262144,Ml=4194304;function Zn(e){var t=e&42;if(t!==0)return t;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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function $t(e,t,a){var i=e.pendingLanes;if(i===0)return 0;var c=0,o=e.suspendedLanes,m=e.pingedLanes;e=e.warmLanes;var y=i&134217727;return y!==0?(i=y&~o,i!==0?c=Zn(i):(m&=y,m!==0?c=Zn(m):a||(a=y&~e,a!==0&&(c=Zn(a))))):(y=i&~o,y!==0?c=Zn(y):m!==0?c=Zn(m):a||(a=i&~e,a!==0&&(c=Zn(a)))),c===0?0:t!==0&&t!==c&&(t&o)===0&&(o=c&-c,a=t&-t,o>=a||o===32&&(a&4194048)!==0)?t:c}function Le(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Te(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32: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 t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function $l(){var e=Ml;return Ml<<=1,(Ml&62914560)===0&&(Ml=4194304),e}function Ws(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function sn(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function lf(e,t,a,i,c,o){var m=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var y=e.entanglements,j=e.expirationTimes,z=e.hiddenUpdates;for(a=m&~a;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var ar=/[\n"\\]/g;function qt(e){return e.replace(ar,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ui(e,t,a,i,c,o,m,y){e.name="",m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"?e.type=m:e.removeAttribute("type"),t!=null?m==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Ot(t)):e.value!==""+Ot(t)&&(e.value=""+Ot(t)):m!=="submit"&&m!=="reset"||e.removeAttribute("value"),t!=null?Bi(e,m,Ot(t)):a!=null?Bi(e,m,Ot(a)):i!=null&&e.removeAttribute("value"),c==null&&o!=null&&(e.defaultChecked=!!o),c!=null&&(e.checked=c&&typeof c!="function"&&typeof c!="symbol"),y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?e.name=""+Ot(y):e.removeAttribute("name")}function lr(e,t,a,i,c,o,m,y){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||a!=null){if(!(o!=="submit"&&o!=="reset"||t!=null)){qi(e);return}a=a!=null?""+Ot(a):"",t=t!=null?""+Ot(t):a,y||t===e.value||(e.value=t),e.defaultValue=t}i=i??c,i=typeof i!="function"&&typeof i!="symbol"&&!!i,e.checked=y?e.checked:!!i,e.defaultChecked=!!i,m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"&&(e.name=m),qi(e)}function Bi(e,t,a){t==="number"&&ll(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function Sa(e,t,a,i){if(e=e.options,t){t={};for(var c=0;c"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Gl=!1;if(rn)try{var Ea={};Object.defineProperty(Ea,"passive",{get:function(){Gl=!0}}),window.addEventListener("test",Ea,Ea),window.removeEventListener("test",Ea,Ea)}catch{Gl=!1}var v=null,F=null,ue=null;function Re(){if(ue)return ue;var e,t=F,a=t.length,i,c="value"in v?v.value:v.textContent,o=c.length;for(e=0;e=Vi),df=" ",ff=!1;function mf(e,t){switch(e){case"keyup":return Sy.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function hf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Yl=!1;function jy(e,t){switch(e){case"compositionend":return hf(t);case"keypress":return t.which!==32?null:(ff=!0,df);case"textInput":return e=t.data,e===df&&ff?null:e;default:return null}}function wy(e,t){if(Yl)return e==="compositionend"||!au&&mf(e,t)?(e=Re(),ue=F=v=null,Yl=!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:a,offset:t-e};e=i}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=xf(a)}}function wf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?wf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function kf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ll(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=ll(e.document)}return t}function su(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")}var Ry=rn&&"documentMode"in document&&11>=document.documentMode,Ql=null,ru=null,Wi=null,cu=!1;function Ef(e,t,a){var i=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;cu||Ql==null||Ql!==ll(i)||(i=Ql,"selectionStart"in i&&su(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Wi&&Fi(Wi,i)||(Wi=i,i=Wr(ru,"onSelect"),0>=m,c-=m,Ln=1<<32-Ct(t)+c|a<ve?(Ae=se,se=null):Ae=se.sibling;var qe=M(T,se,R[ve],Y);if(qe===null){se===null&&(se=Ae);break}e&&se&&qe.alternate===null&&t(T,se),E=o(qe,E,ve),Oe===null?ce=qe:Oe.sibling=qe,Oe=qe,se=Ae}if(ve===R.length)return a(T,se),Ne&&In(T,ve),ce;if(se===null){for(;veve?(Ae=se,se=null):Ae=se.sibling;var Va=M(T,se,qe.value,Y);if(Va===null){se===null&&(se=Ae);break}e&&se&&Va.alternate===null&&t(T,se),E=o(Va,E,ve),Oe===null?ce=Va:Oe.sibling=Va,Oe=Va,se=Ae}if(qe.done)return a(T,se),Ne&&In(T,ve),ce;if(se===null){for(;!qe.done;ve++,qe=R.next())qe=Q(T,qe.value,Y),qe!==null&&(E=o(qe,E,ve),Oe===null?ce=qe:Oe.sibling=qe,Oe=qe);return Ne&&In(T,ve),ce}for(se=i(se);!qe.done;ve++,qe=R.next())qe=L(se,T,ve,qe.value,Y),qe!==null&&(e&&qe.alternate!==null&&se.delete(qe.key===null?ve:qe.key),E=o(qe,E,ve),Oe===null?ce=qe:Oe.sibling=qe,Oe=qe);return e&&se.forEach(function(Wv){return t(T,Wv)}),Ne&&In(T,ve),ce}function Xe(T,E,R,Y){if(typeof R=="object"&&R!==null&&R.type===$&&R.key===null&&(R=R.props.children),typeof R=="object"&&R!==null){switch(R.$$typeof){case q:e:{for(var ce=R.key;E!==null;){if(E.key===ce){if(ce=R.type,ce===$){if(E.tag===7){a(T,E.sibling),Y=c(E,R.props.children),Y.return=T,T=Y;break e}}else if(E.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===ie&&hl(ce)===E.type){a(T,E.sibling),Y=c(E,R.props),ls(Y,R),Y.return=T,T=Y;break e}a(T,E);break}else t(T,E);E=E.sibling}R.type===$?(Y=ul(R.props.children,T.mode,Y,R.key),Y.return=T,T=Y):(Y=pr(R.type,R.key,R.props,null,T.mode,Y),ls(Y,R),Y.return=T,T=Y)}return m(T);case A:e:{for(ce=R.key;E!==null;){if(E.key===ce)if(E.tag===4&&E.stateNode.containerInfo===R.containerInfo&&E.stateNode.implementation===R.implementation){a(T,E.sibling),Y=c(E,R.children||[]),Y.return=T,T=Y;break e}else{a(T,E);break}else t(T,E);E=E.sibling}Y=pu(R,T.mode,Y),Y.return=T,T=Y}return m(T);case ie:return R=hl(R),Xe(T,E,R,Y)}if(B(R))return ne(T,E,R,Y);if(ze(R)){if(ce=ze(R),typeof ce!="function")throw Error(r(150));return R=ce.call(R),fe(T,E,R,Y)}if(typeof R.then=="function")return Xe(T,E,xr(R),Y);if(R.$$typeof===O)return Xe(T,E,yr(T,R),Y);jr(T,R)}return typeof R=="string"&&R!==""||typeof R=="number"||typeof R=="bigint"?(R=""+R,E!==null&&E.tag===6?(a(T,E.sibling),Y=c(E,R),Y.return=T,T=Y):(a(T,E),Y=hu(R,T.mode,Y),Y.return=T,T=Y),m(T)):a(T,E)}return function(T,E,R,Y){try{as=0;var ce=Xe(T,E,R,Y);return ti=null,ce}catch(se){if(se===ei||se===br)throw se;var Oe=Jt(29,se,null,T.mode);return Oe.lanes=Y,Oe.return=T,Oe}finally{}}}var gl=Jf(!0),If=Jf(!1),Da=!1;function Au(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Cu(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ra(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function za(e,t,a){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,(Ue&2)!==0){var c=i.pending;return c===null?t.next=t:(t.next=c.next,c.next=t),i.pending=t,t=hr(e),zf(e,null,a),t}return mr(e,i,t,a),hr(e)}function is(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var i=t.lanes;i&=e.pendingLanes,a|=i,t.lanes=a,pe(e,a)}}function Tu(e,t){var a=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,a===i)){var c=null,o=null;if(a=a.firstBaseUpdate,a!==null){do{var m={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};o===null?c=o=m:o=o.next=m,a=a.next}while(a!==null);o===null?c=o=t:o=o.next=t}else c=o=t;a={baseState:i.baseState,firstBaseUpdate:c,lastBaseUpdate:o,shared:i.shared,callbacks:i.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Nu=!1;function ss(){if(Nu){var e=Pl;if(e!==null)throw e}}function rs(e,t,a,i){Nu=!1;var c=e.updateQueue;Da=!1;var o=c.firstBaseUpdate,m=c.lastBaseUpdate,y=c.shared.pending;if(y!==null){c.shared.pending=null;var j=y,z=j.next;j.next=null,m===null?o=z:m.next=z,m=j;var H=e.alternate;H!==null&&(H=H.updateQueue,y=H.lastBaseUpdate,y!==m&&(y===null?H.firstBaseUpdate=z:y.next=z,H.lastBaseUpdate=j))}if(o!==null){var Q=c.baseState;m=0,H=z=j=null,y=o;do{var M=y.lane&-536870913,L=M!==y.lane;if(L?(Ee&M)===M:(i&M)===M){M!==0&&M===Wl&&(Nu=!0),H!==null&&(H=H.next={lane:0,tag:y.tag,payload:y.payload,callback:null,next:null});e:{var ne=e,fe=y;M=t;var Xe=a;switch(fe.tag){case 1:if(ne=fe.payload,typeof ne=="function"){Q=ne.call(Xe,Q,M);break e}Q=ne;break e;case 3:ne.flags=ne.flags&-65537|128;case 0:if(ne=fe.payload,M=typeof ne=="function"?ne.call(Xe,Q,M):ne,M==null)break e;Q=x({},Q,M);break e;case 2:Da=!0}}M=y.callback,M!==null&&(e.flags|=64,L&&(e.flags|=8192),L=c.callbacks,L===null?c.callbacks=[M]:L.push(M))}else L={lane:M,tag:y.tag,payload:y.payload,callback:y.callback,next:null},H===null?(z=H=L,j=Q):H=H.next=L,m|=M;if(y=y.next,y===null){if(y=c.shared.pending,y===null)break;L=y,y=L.next,L.next=null,c.lastBaseUpdate=L,c.shared.pending=null}}while(!0);H===null&&(j=Q),c.baseState=j,c.firstBaseUpdate=z,c.lastBaseUpdate=H,o===null&&(c.shared.lanes=0),La|=m,e.lanes=m,e.memoizedState=Q}}function Ff(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function Wf(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;eo?o:8;var m=D.T,y={};D.T=y,Ju(e,!1,t,a);try{var j=c(),z=D.S;if(z!==null&&z(y,j),j!==null&&typeof j=="object"&&typeof j.then=="function"){var H=Hy(j,i);os(e,t,H,en(e))}else os(e,t,i,en(e))}catch(Q){os(e,t,{then:function(){},status:"rejected",reason:Q},en())}finally{K.p=o,m!==null&&y.types!==null&&(m.types=y.types),D.T=m}}function Zy(){}function Zu(e,t,a,i){if(e.tag!==5)throw Error(r(476));var c=Nm(e).queue;Tm(e,c,t,le,a===null?Zy:function(){return Dm(e),a(i)})}function Nm(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:le,baseState:le,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ea,lastRenderedState:le},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ea,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Dm(e){var t=Nm(e);t.next===null&&(t=e.alternate.memoizedState),os(e,t.next.queue,{},en())}function Vu(){return jt(As)}function Rm(){return ut().memoizedState}function zm(){return ut().memoizedState}function Vy(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=en();e=Ra(a);var i=za(t,e,a);i!==null&&(Gt(i,t,a),is(i,t,a)),t={cache:ju()},e.payload=t;return}t=t.return}}function Jy(e,t,a){var i=en();a={lane:i,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},zr(e)?$m(t,a):(a=fu(e,t,a,i),a!==null&&(Gt(a,e,i),Om(a,t,i)))}function Mm(e,t,a){var i=en();os(e,t,a,i)}function os(e,t,a,i){var c={lane:i,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(zr(e))$m(t,c);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var m=t.lastRenderedState,y=o(m,a);if(c.hasEagerState=!0,c.eagerState=y,Vt(y,m))return mr(e,t,c,0),Je===null&&fr(),!1}catch{}finally{}if(a=fu(e,t,c,i),a!==null)return Gt(a,e,i),Om(a,t,i),!0}return!1}function Ju(e,t,a,i){if(i={lane:2,revertLane:Co(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},zr(e)){if(t)throw Error(r(479))}else t=fu(e,a,i,2),t!==null&&Gt(t,e,2)}function zr(e){var t=e.alternate;return e===_e||t!==null&&t===_e}function $m(e,t){ai=Er=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Om(e,t,a){if((a&4194048)!==0){var i=t.lanes;i&=e.pendingLanes,a|=i,t.lanes=a,pe(e,a)}}var ds={readContext:jt,use:Tr,useCallback:lt,useContext:lt,useEffect:lt,useImperativeHandle:lt,useLayoutEffect:lt,useInsertionEffect:lt,useMemo:lt,useReducer:lt,useRef:lt,useState:lt,useDebugValue:lt,useDeferredValue:lt,useTransition:lt,useSyncExternalStore:lt,useId:lt,useHostTransitionStatus:lt,useFormState:lt,useActionState:lt,useOptimistic:lt,useMemoCache:lt,useCacheRefresh:lt};ds.useEffectEvent=lt;var qm={readContext:jt,use:Tr,useCallback:function(e,t){return Rt().memoizedState=[e,t===void 0?null:t],e},useContext:jt,useEffect:bm,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,Dr(4194308,4,wm.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Dr(4194308,4,e,t)},useInsertionEffect:function(e,t){Dr(4,2,e,t)},useMemo:function(e,t){var a=Rt();t=t===void 0?null:t;var i=e();if(_l){Nn(!0);try{e()}finally{Nn(!1)}}return a.memoizedState=[i,t],i},useReducer:function(e,t,a){var i=Rt();if(a!==void 0){var c=a(t);if(_l){Nn(!0);try{a(t)}finally{Nn(!1)}}}else c=t;return i.memoizedState=i.baseState=c,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:c},i.queue=e,e=e.dispatch=Jy.bind(null,_e,e),[i.memoizedState,e]},useRef:function(e){var t=Rt();return e={current:e},t.memoizedState=e},useState:function(e){e=Gu(e);var t=e.queue,a=Mm.bind(null,_e,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Ku,useDeferredValue:function(e,t){var a=Rt();return Xu(a,e,t)},useTransition:function(){var e=Gu(!1);return e=Tm.bind(null,_e,e.queue,!0,!1),Rt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var i=_e,c=Rt();if(Ne){if(a===void 0)throw Error(r(407));a=a()}else{if(a=t(),Je===null)throw Error(r(349));(Ee&127)!==0||lm(i,t,a)}c.memoizedState=a;var o={value:a,getSnapshot:t};return c.queue=o,bm(sm.bind(null,i,o,e),[e]),i.flags|=2048,ii(9,{destroy:void 0},im.bind(null,i,o,a,t),null),a},useId:function(){var e=Rt(),t=Je.identifierPrefix;if(Ne){var a=Un,i=Ln;a=(i&~(1<<32-Ct(i)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Ar++,0<\/script>",o=o.removeChild(o.firstChild);break;case"select":o=typeof i.is=="string"?m.createElement("select",{is:i.is}):m.createElement("select"),i.multiple?o.multiple=!0:i.size&&(o.size=i.size);break;default:o=typeof i.is=="string"?m.createElement(c,{is:i.is}):m.createElement(c)}}o[_t]=t,o[Ve]=i;e:for(m=t.child;m!==null;){if(m.tag===5||m.tag===6)o.appendChild(m.stateNode);else if(m.tag!==4&&m.tag!==27&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===t)break e;for(;m.sibling===null;){if(m.return===null||m.return===t)break e;m=m.return}m.sibling.return=m.return,m=m.sibling}t.stateNode=o;e:switch(kt(o,c,i),c){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&na(t)}}return Pe(t),uo(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==i&&na(t);else{if(typeof i!="string"&&t.stateNode===null)throw Error(r(166));if(e=ye.current,Il(t)){if(e=t.stateNode,a=t.memoizedProps,i=null,c=xt,c!==null)switch(c.tag){case 27:case 5:i=c.memoizedProps}e[_t]=t,e=!!(e.nodeValue===a||i!==null&&i.suppressHydrationWarning===!0||np(e.nodeValue,a)),e||Ta(t,!0)}else e=Pr(e).createTextNode(i),e[_t]=t,t.stateNode=e}return Pe(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(i=Il(t),a!==null){if(e===null){if(!i)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[_t]=t}else ol(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Pe(t),e=!1}else a=vu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(Ft(t),t):(Ft(t),null);if((t.flags&128)!==0)throw Error(r(558))}return Pe(t),null;case 13:if(i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(c=Il(t),i!==null&&i.dehydrated!==null){if(e===null){if(!c)throw Error(r(318));if(c=t.memoizedState,c=c!==null?c.dehydrated:null,!c)throw Error(r(317));c[_t]=t}else ol(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Pe(t),c=!1}else c=vu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=c),c=!0;if(!c)return t.flags&256?(Ft(t),t):(Ft(t),null)}return Ft(t),(t.flags&128)!==0?(t.lanes=a,t):(a=i!==null,e=e!==null&&e.memoizedState!==null,a&&(i=t.child,c=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(c=i.alternate.memoizedState.cachePool.pool),o=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(o=i.memoizedState.cachePool.pool),o!==c&&(i.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Lr(t,t.updateQueue),Pe(t),null);case 4:return Me(),e===null&&Ro(t.stateNode.containerInfo),Pe(t),null;case 10:return Wn(t.type),Pe(t),null;case 19:if(G(ct),i=t.memoizedState,i===null)return Pe(t),null;if(c=(t.flags&128)!==0,o=i.rendering,o===null)if(c)ms(i,!1);else{if(it!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=kr(e),o!==null){for(t.flags|=128,ms(i,!1),e=o.updateQueue,t.updateQueue=e,Lr(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)Mf(a,e),a=a.sibling;return I(ct,ct.current&1|2),Ne&&In(t,i.treeForkCount),t.child}e=e.sibling}i.tail!==null&>()>Yr&&(t.flags|=128,c=!0,ms(i,!1),t.lanes=4194304)}else{if(!c)if(e=kr(o),e!==null){if(t.flags|=128,c=!0,e=e.updateQueue,t.updateQueue=e,Lr(t,e),ms(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!Ne)return Pe(t),null}else 2*gt()-i.renderingStartTime>Yr&&a!==536870912&&(t.flags|=128,c=!0,ms(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(e=i.last,e!==null?e.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=gt(),e.sibling=null,a=ct.current,I(ct,c?a&1|2:a&1),Ne&&In(t,i.treeForkCount),e):(Pe(t),null);case 22:case 23:return Ft(t),Ru(),i=t.memoizedState!==null,e!==null?e.memoizedState!==null!==i&&(t.flags|=8192):i&&(t.flags|=8192),i?(a&536870912)!==0&&(t.flags&128)===0&&(Pe(t),t.subtreeFlags&6&&(t.flags|=8192)):Pe(t),a=t.updateQueue,a!==null&&Lr(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),i=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),i!==a&&(t.flags|=2048),e!==null&&G(ml),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),Wn(dt),Pe(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function ev(e,t){switch(_u(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wn(dt),Me(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return xe(t),null;case 31:if(t.memoizedState!==null){if(Ft(t),t.alternate===null)throw Error(r(340));ol()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Ft(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));ol()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return G(ct),null;case 4:return Me(),null;case 10:return Wn(t.type),null;case 22:case 23:return Ft(t),Ru(),e!==null&&G(ml),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Wn(dt),null;case 25:return null;default:return null}}function rh(e,t){switch(_u(t),t.tag){case 3:Wn(dt),Me();break;case 26:case 27:case 5:xe(t);break;case 4:Me();break;case 31:t.memoizedState!==null&&Ft(t);break;case 13:Ft(t);break;case 19:G(ct);break;case 10:Wn(t.type);break;case 22:case 23:Ft(t),Ru(),e!==null&&G(ml);break;case 24:Wn(dt)}}function hs(e,t){try{var a=t.updateQueue,i=a!==null?a.lastEffect:null;if(i!==null){var c=i.next;a=c;do{if((a.tag&e)===e){i=void 0;var o=a.create,m=a.inst;i=o(),m.destroy=i}a=a.next}while(a!==c)}}catch(y){Ye(t,t.return,y)}}function Oa(e,t,a){try{var i=t.updateQueue,c=i!==null?i.lastEffect:null;if(c!==null){var o=c.next;i=o;do{if((i.tag&e)===e){var m=i.inst,y=m.destroy;if(y!==void 0){m.destroy=void 0,c=t;var j=a,z=y;try{z()}catch(H){Ye(c,j,H)}}}i=i.next}while(i!==o)}}catch(H){Ye(t,t.return,H)}}function ch(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Wf(t,a)}catch(i){Ye(e,e.return,i)}}}function uh(e,t,a){a.props=yl(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(i){Ye(e,t,i)}}function ps(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var i=e.stateNode;break;case 30:i=e.stateNode;break;default:i=e.stateNode}typeof a=="function"?e.refCleanup=a(i):a.current=i}}catch(c){Ye(e,t,c)}}function Bn(e,t){var a=e.ref,i=e.refCleanup;if(a!==null)if(typeof i=="function")try{i()}catch(c){Ye(e,t,c)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(c){Ye(e,t,c)}else a.current=null}function oh(e){var t=e.type,a=e.memoizedProps,i=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&i.focus();break e;case"img":a.src?i.src=a.src:a.srcSet&&(i.srcset=a.srcSet)}}catch(c){Ye(e,e.return,c)}}function oo(e,t,a){try{var i=e.stateNode;xv(i,e.type,a,t),i[Ve]=t}catch(c){Ye(e,e.return,c)}}function dh(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ya(e.type)||e.tag===4}function fo(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||dh(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.tag===27&&Ya(e.type)||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 mo(e,t,a){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=Kt));else if(i!==4&&(i===27&&Ya(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(mo(e,t,a),e=e.sibling;e!==null;)mo(e,t,a),e=e.sibling}function Ur(e,t,a){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(i!==4&&(i===27&&Ya(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(Ur(e,t,a),e=e.sibling;e!==null;)Ur(e,t,a),e=e.sibling}function fh(e){var t=e.stateNode,a=e.memoizedProps;try{for(var i=e.type,c=t.attributes;c.length;)t.removeAttributeNode(c[0]);kt(t,i,a),t[_t]=e,t[Ve]=a}catch(o){Ye(e,e.return,o)}}var aa=!1,ht=!1,ho=!1,mh=typeof WeakSet=="function"?WeakSet:Set,bt=null;function tv(e,t){if(e=e.containerInfo,$o=sc,e=kf(e),su(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var i=a.getSelection&&a.getSelection();if(i&&i.rangeCount!==0){a=i.anchorNode;var c=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{a.nodeType,o.nodeType}catch{a=null;break e}var m=0,y=-1,j=-1,z=0,H=0,Q=e,M=null;t:for(;;){for(var L;Q!==a||c!==0&&Q.nodeType!==3||(y=m+c),Q!==o||i!==0&&Q.nodeType!==3||(j=m+i),Q.nodeType===3&&(m+=Q.nodeValue.length),(L=Q.firstChild)!==null;)M=Q,Q=L;for(;;){if(Q===e)break t;if(M===a&&++z===c&&(y=m),M===o&&++H===i&&(j=m),(L=Q.nextSibling)!==null)break;Q=M,M=Q.parentNode}Q=L}a=y===-1||j===-1?null:{start:y,end:j}}else a=null}a=a||{start:0,end:0}}else a=null;for(Oo={focusedElem:e,selectionRange:a},sc=!1,bt=t;bt!==null;)if(t=bt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,bt=e;else for(;bt!==null;){switch(t=bt,o=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a title"))),kt(o,i,a),o[_t]=e,st(o),i=o;break e;case"link":var m=vp("link","href",c).get(i+(a.href||""));if(m){for(var y=0;yXe&&(m=Xe,Xe=fe,fe=m);var T=jf(y,fe),E=jf(y,Xe);if(T&&E&&(L.rangeCount!==1||L.anchorNode!==T.node||L.anchorOffset!==T.offset||L.focusNode!==E.node||L.focusOffset!==E.offset)){var R=Q.createRange();R.setStart(T.node,T.offset),L.removeAllRanges(),fe>Xe?(L.addRange(R),L.extend(E.node,E.offset)):(R.setEnd(E.node,E.offset),L.addRange(R))}}}}for(Q=[],L=y;L=L.parentNode;)L.nodeType===1&&Q.push({element:L,left:L.scrollLeft,top:L.scrollTop});for(typeof y.focus=="function"&&y.focus(),y=0;ya?32:a,D.T=null,a=So,So=null;var o=Ba,m=ca;if(yt=0,oi=Ba=null,ca=0,(Ue&6)!==0)throw Error(r(331));var y=Ue;if(Ue|=4,wh(o.current),Sh(o,o.current,m,a),Ue=y,Ss(0,!1),Ze&&typeof Ze.onPostCommitFiberRoot=="function")try{Ze.onPostCommitFiberRoot(Xn,o)}catch{}return!0}finally{K.p=c,D.T=i,Gh(e,t)}}function Qh(e,t,a){t=un(a,t),t=Pu(e.stateNode,t,2),e=za(e,t,2),e!==null&&(sn(e,2),Hn(e))}function Ye(e,t,a){if(e.tag===3)Qh(e,e,a);else for(;t!==null;){if(t.tag===3){Qh(t,e,a);break}else if(t.tag===1){var i=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(Ua===null||!Ua.has(i))){e=un(a,e),a=Km(2),i=za(t,a,2),i!==null&&(Xm(a,i,t,e),sn(i,2),Hn(i));break}}t=t.return}}function ko(e,t,a){var i=e.pingCache;if(i===null){i=e.pingCache=new lv;var c=new Set;i.set(t,c)}else c=i.get(t),c===void 0&&(c=new Set,i.set(t,c));c.has(a)||(_o=!0,c.add(a),e=uv.bind(null,e,t,a),t.then(e,e))}function uv(e,t,a){var i=e.pingCache;i!==null&&i.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Je===e&&(Ee&a)===a&&(it===4||it===3&&(Ee&62914560)===Ee&&300>gt()-Gr?(Ue&2)===0&&di(e,0):yo|=a,ui===Ee&&(ui=0)),Hn(e)}function Kh(e,t){t===0&&(t=$l()),e=cl(e,t),e!==null&&(sn(e,t),Hn(e))}function ov(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Kh(e,a)}function dv(e,t){var a=0;switch(e.tag){case 31:case 13:var i=e.stateNode,c=e.memoizedState;c!==null&&(a=c.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(r(314))}i!==null&&i.delete(t),Kh(e,a)}function fv(e,t){return Ni(e,t)}var Jr=null,mi=null,Eo=!1,Ir=!1,Ao=!1,Ga=0;function Hn(e){e!==mi&&e.next===null&&(mi===null?Jr=mi=e:mi=mi.next=e),Ir=!0,Eo||(Eo=!0,hv())}function Ss(e,t){if(!Ao&&Ir){Ao=!0;do for(var a=!1,i=Jr;i!==null;){if(e!==0){var c=i.pendingLanes;if(c===0)var o=0;else{var m=i.suspendedLanes,y=i.pingedLanes;o=(1<<31-Ct(42|e)+1)-1,o&=c&~(m&~y),o=o&201326741?o&201326741|1:o?o|2:0}o!==0&&(a=!0,Jh(i,o))}else o=Ee,o=$t(i,i===Je?o:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),(o&3)===0||Le(i,o)||(a=!0,Jh(i,o));i=i.next}while(a);Ao=!1}}function mv(){Xh()}function Xh(){Ir=Eo=!1;var e=0;Ga!==0&&wv()&&(e=Ga);for(var t=gt(),a=null,i=Jr;i!==null;){var c=i.next,o=Zh(i,t);o===0?(i.next=null,a===null?Jr=c:a.next=c,c===null&&(mi=a)):(a=i,(e!==0||(o&3)!==0)&&(Ir=!0)),i=c}yt!==0&&yt!==5||Ss(e),Ga!==0&&(Ga=0)}function Zh(e,t){for(var a=e.suspendedLanes,i=e.pingedLanes,c=e.expirationTimes,o=e.pendingLanes&-62914561;0y)break;var H=j.transferSize,Q=j.initiatorType;H&&ap(Q)&&(j=j.responseEnd,m+=H*(j"u"?null:document;function pp(e,t,a){var i=hi;if(i&&typeof t=="string"&&t){var c=qt(t);c='link[rel="'+e+'"][href="'+c+'"]',typeof a=="string"&&(c+='[crossorigin="'+a+'"]'),hp.has(c)||(hp.add(c),e={rel:e,crossOrigin:a,href:t},i.querySelector(c)===null&&(t=i.createElement("link"),kt(t,"link",e),st(t),i.head.appendChild(t)))}}function zv(e){ua.D(e),pp("dns-prefetch",e,null)}function Mv(e,t){ua.C(e,t),pp("preconnect",e,t)}function $v(e,t,a){ua.L(e,t,a);var i=hi;if(i&&e&&t){var c='link[rel="preload"][as="'+qt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(c+='[imagesrcset="'+qt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(c+='[imagesizes="'+qt(a.imageSizes)+'"]')):c+='[href="'+qt(e)+'"]';var o=c;switch(t){case"style":o=pi(e);break;case"script":o=gi(e)}pn.has(o)||(e=x({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),pn.set(o,e),i.querySelector(c)!==null||t==="style"&&i.querySelector(ks(o))||t==="script"&&i.querySelector(Es(o))||(t=i.createElement("link"),kt(t,"link",e),st(t),i.head.appendChild(t)))}}function Ov(e,t){ua.m(e,t);var a=hi;if(a&&e){var i=t&&typeof t.as=="string"?t.as:"script",c='link[rel="modulepreload"][as="'+qt(i)+'"][href="'+qt(e)+'"]',o=c;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=gi(e)}if(!pn.has(o)&&(e=x({rel:"modulepreload",href:e},t),pn.set(o,e),a.querySelector(c)===null)){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Es(o)))return}i=a.createElement("link"),kt(i,"link",e),st(i),a.head.appendChild(i)}}}function qv(e,t,a){ua.S(e,t,a);var i=hi;if(i&&e){var c=Mn(i).hoistableStyles,o=pi(e);t=t||"default";var m=c.get(o);if(!m){var y={loading:0,preload:null};if(m=i.querySelector(ks(o)))y.loading=5;else{e=x({rel:"stylesheet",href:e,"data-precedence":t},a),(a=pn.get(o))&&Yo(e,a);var j=m=i.createElement("link");st(j),kt(j,"link",e),j._p=new Promise(function(z,H){j.onload=z,j.onerror=H}),j.addEventListener("load",function(){y.loading|=1}),j.addEventListener("error",function(){y.loading|=2}),y.loading|=4,tc(m,t,i)}m={type:"stylesheet",instance:m,count:1,state:y},c.set(o,m)}}}function Lv(e,t){ua.X(e,t);var a=hi;if(a&&e){var i=Mn(a).hoistableScripts,c=gi(e),o=i.get(c);o||(o=a.querySelector(Es(c)),o||(e=x({src:e,async:!0},t),(t=pn.get(c))&&Qo(e,t),o=a.createElement("script"),st(o),kt(o,"link",e),a.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},i.set(c,o))}}function Uv(e,t){ua.M(e,t);var a=hi;if(a&&e){var i=Mn(a).hoistableScripts,c=gi(e),o=i.get(c);o||(o=a.querySelector(Es(c)),o||(e=x({src:e,async:!0,type:"module"},t),(t=pn.get(c))&&Qo(e,t),o=a.createElement("script"),st(o),kt(o,"link",e),a.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},i.set(c,o))}}function gp(e,t,a,i){var c=(c=ye.current)?ec(c):null;if(!c)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=pi(a.href),a=Mn(c).hoistableStyles,i=a.get(t),i||(i={type:"style",instance:null,count:0,state:null},a.set(t,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=pi(a.href);var o=Mn(c).hoistableStyles,m=o.get(e);if(m||(c=c.ownerDocument||c,m={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,m),(o=c.querySelector(ks(e)))&&!o._p&&(m.instance=o,m.state.loading=5),pn.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},pn.set(e,a),o||Bv(c,e,a,m.state))),t&&i===null)throw Error(r(528,""));return m}if(t&&i!==null)throw Error(r(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=gi(a),a=Mn(c).hoistableScripts,i=a.get(t),i||(i={type:"script",instance:null,count:0,state:null},a.set(t,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function pi(e){return'href="'+qt(e)+'"'}function ks(e){return'link[rel="stylesheet"]['+e+"]"}function _p(e){return x({},e,{"data-precedence":e.precedence,precedence:null})}function Bv(e,t,a,i){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?i.loading=1:(t=e.createElement("link"),i.preload=t,t.addEventListener("load",function(){return i.loading|=1}),t.addEventListener("error",function(){return i.loading|=2}),kt(t,"link",a),st(t),e.head.appendChild(t))}function gi(e){return'[src="'+qt(e)+'"]'}function Es(e){return"script[async]"+e}function yp(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var i=e.querySelector('style[data-href~="'+qt(a.href)+'"]');if(i)return t.instance=i,st(i),i;var c=x({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return i=(e.ownerDocument||e).createElement("style"),st(i),kt(i,"style",c),tc(i,a.precedence,e),t.instance=i;case"stylesheet":c=pi(a.href);var o=e.querySelector(ks(c));if(o)return t.state.loading|=4,t.instance=o,st(o),o;i=_p(a),(c=pn.get(c))&&Yo(i,c),o=(e.ownerDocument||e).createElement("link"),st(o);var m=o;return m._p=new Promise(function(y,j){m.onload=y,m.onerror=j}),kt(o,"link",i),t.state.loading|=4,tc(o,a.precedence,e),t.instance=o;case"script":return o=gi(a.src),(c=e.querySelector(Es(o)))?(t.instance=c,st(c),c):(i=a,(c=pn.get(o))&&(i=x({},a),Qo(i,c)),e=e.ownerDocument||e,c=e.createElement("script"),st(c),kt(c,"link",i),e.head.appendChild(c),t.instance=c);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(i=t.instance,t.state.loading|=4,tc(i,a.precedence,e));return t.instance}function tc(e,t,a){for(var i=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),c=i.length?i[i.length-1]:null,o=c,m=0;m title"):null)}function Hv(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Sp(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Gv(e,t,a,i){if(a.type==="stylesheet"&&(typeof i.media!="string"||matchMedia(i.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var c=pi(i.href),o=t.querySelector(ks(c));if(o){t=o._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ac.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=o,st(o);return}o=t.ownerDocument||t,i=_p(i),(c=pn.get(c))&&Yo(i,c),o=o.createElement("link"),st(o);var m=o;m._p=new Promise(function(y,j){m.onload=y,m.onerror=j}),kt(o,"link",i),a.instance=o}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=ac.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Ko=0;function Yv(e,t){return e.stylesheets&&e.count===0&&ic(e,e.stylesheets),0Ko?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(i),clearTimeout(c)}}:null}function ac(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ic(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var lc=null;function ic(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,lc=new Map,t.forEach(Qv,e),lc=null,ac.call(e))}function Qv(e,t){if(!(t.state.loading&4)){var a=lc.get(e);if(a)var i=a.get(null);else{a=new Map,lc.set(e,a);for(var c=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(l){console.error(l)}}return n(),ed.exports=cb(),ed.exports}var ob=ub();/** - * react-router v7.17.0 - * - * 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 - */var Kp="popstate";function Xp(n){return typeof n=="object"&&n!=null&&"pathname"in n&&"search"in n&&"hash"in n&&"state"in n&&"key"in n}function db(n={}){function l(d,f){let{pathname:p="/",search:_="",hash:h=""}=Al(d.location.hash.substring(1));return!p.startsWith("/")&&!p.startsWith(".")&&(p="/"+p),yd("",{pathname:p,search:_,hash:h},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function s(d,f){let p=d.document.querySelector("base"),_="";if(p&&p.getAttribute("href")){let h=d.location.href,g=h.indexOf("#");_=g===-1?h:h.slice(0,g)}return _+"#"+(typeof f=="string"?f:Bs(f))}function r(d,f){gn(d.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(f)})`)}return mb(l,s,r,n)}function nt(n,l){if(n===!1||n===null||typeof n>"u")throw new Error(l)}function gn(n,l){if(!n){typeof console<"u"&&console.warn(l);try{throw new Error(l)}catch{}}}function fb(){return Math.random().toString(36).substring(2,10)}function Zp(n,l){return{usr:n.state,key:n.key,idx:l,masked:n.mask?{pathname:n.pathname,search:n.search,hash:n.hash}:void 0}}function yd(n,l,s=null,r,d){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof l=="string"?Al(l):l,state:s,key:l&&l.key||r||fb(),mask:d}}function Bs({pathname:n="/",search:l="",hash:s=""}){return l&&l!=="?"&&(n+=l.charAt(0)==="?"?l:"?"+l),s&&s!=="#"&&(n+=s.charAt(0)==="#"?s:"#"+s),n}function Al(n){let l={};if(n){let s=n.indexOf("#");s>=0&&(l.hash=n.substring(s),n=n.substring(0,s));let r=n.indexOf("?");r>=0&&(l.search=n.substring(r),n=n.substring(0,r)),n&&(l.pathname=n)}return l}function mb(n,l,s,r={}){let{window:d=document.defaultView,v5Compat:f=!1}=r,p=d.history,_="POP",h=null,g=b();g==null&&(g=0,p.replaceState({...p.state,idx:g},""));function b(){return(p.state||{idx:null}).idx}function x(){_="POP";let N=b(),U=N==null?null:N-g;g=N,h&&h({action:_,location:$.location,delta:U})}function w(N,U){_="PUSH";let J=Xp(N)?N:yd($.location,N,U);s&&s(J,N),g=b()+1;let O=Zp(J,g),W=$.createHref(J.mask||J);try{p.pushState(O,"",W)}catch(ee){if(ee instanceof DOMException&&ee.name==="DataCloneError")throw ee;d.location.assign(W)}f&&h&&h({action:_,location:$.location,delta:1})}function q(N,U){_="REPLACE";let J=Xp(N)?N:yd($.location,N,U);s&&s(J,N),g=b();let O=Zp(J,g),W=$.createHref(J.mask||J);p.replaceState(O,"",W),f&&h&&h({action:_,location:$.location,delta:0})}function A(N){return hb(d,N)}let $={get action(){return _},get location(){return n(d,p)},listen(N){if(h)throw new Error("A history only accepts one active listener");return d.addEventListener(Kp,x),h=N,()=>{d.removeEventListener(Kp,x),h=null}},createHref(N){return l(d,N)},createURL:A,encodeLocation(N){let U=A(N);return{pathname:U.pathname,search:U.search,hash:U.hash}},push:w,replace:q,go(N){return p.go(N)}};return $}function hb(n,l,s=!1){let r="http://localhost";n&&(r=n.location.origin!=="null"?n.location.origin:n.location.href),nt(r,"No window.location.(origin|href) available to create URL");let d=typeof l=="string"?l:Bs(l);return d=d.replace(/ $/,"%20"),!s&&d.startsWith("//")&&(d=r+d),new URL(d,r)}function Bg(n,l,s="/"){return pb(n,l,s,!1)}function pb(n,l,s,r,d){let f=typeof l=="string"?Al(l):l,p=ma(f.pathname||"/",s);if(p==null)return null;let _=gb(n),h=null,g=Cb(p);for(let b=0;h==null&&b<_.length;++b)h=Eb(_[b],g,r);return h}function gb(n){let l=Hg(n);return _b(l),l}function Hg(n,l=[],s=[],r="",d=!1){let f=(p,_,h=d,g)=>{let b={relativePath:g===void 0?p.path||"":g,caseSensitive:p.caseSensitive===!0,childrenIndex:_,route:p};if(b.relativePath.startsWith("/")){if(!b.relativePath.startsWith(r)&&h)return;nt(b.relativePath.startsWith(r),`Absolute route path "${b.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),b.relativePath=b.relativePath.slice(r.length)}let x=En([r,b.relativePath]),w=s.concat(b);p.children&&p.children.length>0&&(nt(p.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${x}".`),Hg(p.children,l,w,x,h)),!(p.path==null&&!p.index)&&l.push({path:x,score:wb(x,p.index),routesMeta:w})};return n.forEach((p,_)=>{var h;if(p.path===""||!((h=p.path)!=null&&h.includes("?")))f(p,_);else for(let g of Gg(p.path))f(p,_,!0,g)}),l}function Gg(n){let l=n.split("/");if(l.length===0)return[];let[s,...r]=l,d=s.endsWith("?"),f=s.replace(/\?$/,"");if(r.length===0)return d?[f,""]:[f];let p=Gg(r.join("/")),_=[];return _.push(...p.map(h=>h===""?f:[f,h].join("/"))),d&&_.push(...p),_.map(h=>n.startsWith("/")&&h===""?"/":h)}function _b(n){n.sort((l,s)=>l.score!==s.score?s.score-l.score:kb(l.routesMeta.map(r=>r.childrenIndex),s.routesMeta.map(r=>r.childrenIndex)))}var yb=/^:[\w-]+$/,vb=3,bb=2,Sb=1,xb=10,jb=-2,Vp=n=>n==="*";function wb(n,l){let s=n.split("/"),r=s.length;return s.some(Vp)&&(r+=jb),l&&(r+=bb),s.filter(d=>!Vp(d)).reduce((d,f)=>d+(yb.test(f)?vb:f===""?Sb:xb),r)}function kb(n,l){return n.length===l.length&&n.slice(0,-1).every((r,d)=>r===l[d])?n[n.length-1]-l[l.length-1]:0}function Eb(n,l,s=!1){let{routesMeta:r}=n,d={},f="/",p=[];for(let _=0;_{if(b==="*"){let A=_[w]||"";p=f.slice(0,f.length-A.length).replace(/(.)\/+$/,"$1")}const q=_[w];return x&&!q?g[b]=void 0:g[b]=(q||"").replace(/%2F/g,"/"),g},{}),pathname:f,pathnameBase:p,pattern:n}}function Ab(n,l=!1,s=!0){gn(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let r=[],d="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(p,_,h,g,b)=>{if(r.push({paramName:_,isOptional:h!=null}),h){let x=b.charAt(g+p.length);return x&&x!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(r.push({paramName:"*"}),d+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?d+="\\/*$":n!==""&&n!=="/"&&(d+="(?:(?=\\/|$))"),[new RegExp(d,l?void 0:"i"),r]}function Cb(n){try{return n.split("/").map(l=>decodeURIComponent(l).replace(/\//g,"%2F")).join("/")}catch(l){return gn(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${l}).`),n}}function ma(n,l){if(l==="/")return n;if(!n.toLowerCase().startsWith(l.toLowerCase()))return null;let s=l.endsWith("/")?l.length-1:l.length,r=n.charAt(s);return r&&r!=="/"?null:n.slice(s)||"/"}var Tb=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function Nb(n,l="/"){let{pathname:s,search:r="",hash:d=""}=typeof n=="string"?Al(n):n,f;return s?(s=Yg(s),s.startsWith("/")?f=Jp(s.substring(1),"/"):f=Jp(s,l)):f=l,{pathname:f,search:zb(r),hash:Mb(d)}}function Jp(n,l){let s=Cc(l).split("/");return n.split("/").forEach(d=>{d===".."?s.length>1&&s.pop():d!=="."&&s.push(d)}),s.length>1?s.join("/"):"/"}function ld(n,l,s,r){return`Cannot include a '${n}' character in a manually specified \`to.${l}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${s}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function Db(n){return n.filter((l,s)=>s===0||l.route.path&&l.route.path.length>0)}function Od(n){let l=Db(n);return l.map((s,r)=>r===l.length-1?s.pathname:s.pathnameBase)}function qc(n,l,s,r=!1){let d;typeof n=="string"?d=Al(n):(d={...n},nt(!d.pathname||!d.pathname.includes("?"),ld("?","pathname","search",d)),nt(!d.pathname||!d.pathname.includes("#"),ld("#","pathname","hash",d)),nt(!d.search||!d.search.includes("#"),ld("#","search","hash",d)));let f=n===""||d.pathname==="",p=f?"/":d.pathname,_;if(p==null)_=s;else{let x=l.length-1;if(!r&&p.startsWith("..")){let w=p.split("/");for(;w[0]==="..";)w.shift(),x-=1;d.pathname=w.join("/")}_=x>=0?l[x]:"/"}let h=Nb(d,_),g=p&&p!=="/"&&p.endsWith("/"),b=(f||p===".")&&s.endsWith("/");return!h.pathname.endsWith("/")&&(g||b)&&(h.pathname+="/"),h}var Yg=n=>n.replace(/\/\/+/g,"/"),En=n=>Yg(n.join("/")),Cc=n=>n.replace(/\/+$/,""),Rb=n=>Cc(n).replace(/^\/*/,"/"),zb=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,Mb=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,$b=class{constructor(n,l,s,r=!1){this.status=n,this.statusText=l||"",this.internal=r,s instanceof Error?(this.data=s.toString(),this.error=s):this.data=s}};function Ob(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function qb(n){let l=n.map(s=>s.route.path).filter(Boolean);return En(l)||"/"}var Qg=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Kg(n,l){let s=n;if(typeof s!="string"||!Tb.test(s))return{absoluteURL:void 0,isExternal:!1,to:s};let r=s,d=!1;if(Qg)try{let f=new URL(window.location.href),p=s.startsWith("//")?new URL(f.protocol+s):new URL(s),_=ma(p.pathname,l);p.origin===f.origin&&_!=null?s=_+p.search+p.hash:d=!0}catch{gn(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:d,to:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Xg=["POST","PUT","PATCH","DELETE"];new Set(Xg);var Lb=["GET",...Xg];new Set(Lb);var ji=S.createContext(null);ji.displayName="DataRouter";var Lc=S.createContext(null);Lc.displayName="DataRouterState";var Zg=S.createContext(!1);function Ub(){return S.useContext(Zg)}var Vg=S.createContext({isTransitioning:!1});Vg.displayName="ViewTransition";var Bb=S.createContext(new Map);Bb.displayName="Fetchers";var Hb=S.createContext(null);Hb.displayName="Await";var tn=S.createContext(null);tn.displayName="Navigation";var Ks=S.createContext(null);Ks.displayName="Location";var Yn=S.createContext({outlet:null,matches:[],isDataRoute:!1});Yn.displayName="Route";var qd=S.createContext(null);qd.displayName="RouteError";var Jg="REACT_ROUTER_ERROR",Gb="REDIRECT",Yb="ROUTE_ERROR_RESPONSE";function Qb(n){if(n.startsWith(`${Jg}:${Gb}:{`))try{let l=JSON.parse(n.slice(28));if(typeof l=="object"&&l&&typeof l.status=="number"&&typeof l.statusText=="string"&&typeof l.location=="string"&&typeof l.reloadDocument=="boolean"&&typeof l.replace=="boolean")return l}catch{}}function Kb(n){if(n.startsWith(`${Jg}:${Yb}:{`))try{let l=JSON.parse(n.slice(40));if(typeof l=="object"&&l&&typeof l.status=="number"&&typeof l.statusText=="string")return new $b(l.status,l.statusText,l.data)}catch{}}function Xb(n,{relative:l}={}){nt(wi(),"useHref() may be used only in the context of a component.");let{basename:s,navigator:r}=S.useContext(tn),{hash:d,pathname:f,search:p}=Xs(n,{relative:l}),_=f;return s!=="/"&&(_=f==="/"?s:En([s,f])),r.createHref({pathname:_,search:p,hash:d})}function wi(){return S.useContext(Ks)!=null}function Tn(){return nt(wi(),"useLocation() may be used only in the context of a component."),S.useContext(Ks).location}var Ig="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Fg(n){S.useContext(tn).static||S.useLayoutEffect(n)}function Ld(){let{isDataRoute:n}=S.useContext(Yn);return n?i0():Zb()}function Zb(){nt(wi(),"useNavigate() may be used only in the context of a component.");let n=S.useContext(ji),{basename:l,navigator:s}=S.useContext(tn),{matches:r}=S.useContext(Yn),{pathname:d}=Tn(),f=JSON.stringify(Od(r)),p=S.useRef(!1);return Fg(()=>{p.current=!0}),S.useCallback((h,g={})=>{if(gn(p.current,Ig),!p.current)return;if(typeof h=="number"){s.go(h);return}let b=qc(h,JSON.parse(f),d,g.relative==="path");n==null&&l!=="/"&&(b.pathname=b.pathname==="/"?l:En([l,b.pathname])),(g.replace?s.replace:s.push)(b,g.state,g)},[l,s,f,d,n])}S.createContext(null);function Xs(n,{relative:l}={}){let{matches:s}=S.useContext(Yn),{pathname:r}=Tn(),d=JSON.stringify(Od(s));return S.useMemo(()=>qc(n,JSON.parse(d),r,l==="path"),[n,d,r,l])}function Vb(n,l){return Wg(n,l)}function Wg(n,l,s){var N;nt(wi(),"useRoutes() may be used only in the context of a component.");let{navigator:r}=S.useContext(tn),{matches:d}=S.useContext(Yn),f=d[d.length-1],p=f?f.params:{},_=f?f.pathname:"/",h=f?f.pathnameBase:"/",g=f&&f.route;{let U=g&&g.path||"";e_(_,!g||U.endsWith("*")||U.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${_}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. - -Please change the parent to .`)}let b=Tn(),x;if(l){let U=typeof l=="string"?Al(l):l;nt(h==="/"||((N=U.pathname)==null?void 0:N.startsWith(h)),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${h}" but pathname "${U.pathname}" was given in the \`location\` prop.`),x=U}else x=b;let w=x.pathname||"/",q=w;if(h!=="/"){let U=h.replace(/^\//,"").split("/");q="/"+w.replace(/^\//,"").split("/").slice(U.length).join("/")}let A=s&&s.state.matches.length?s.state.matches.map(U=>Object.assign(U,{route:s.manifest[U.route.id]||U.route})):Bg(n,{pathname:q});gn(g||A!=null,`No routes matched location "${x.pathname}${x.search}${x.hash}" `),gn(A==null||A[A.length-1].route.element!==void 0||A[A.length-1].route.Component!==void 0||A[A.length-1].route.lazy!==void 0,`Matched leaf route at location "${x.pathname}${x.search}${x.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let $=Pb(A&&A.map(U=>Object.assign({},U,{params:Object.assign({},p,U.params),pathname:En([h,r.encodeLocation?r.encodeLocation(U.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:U.pathname]),pathnameBase:U.pathnameBase==="/"?h:En([h,r.encodeLocation?r.encodeLocation(U.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:U.pathnameBase])})),d,s);return l&&$?S.createElement(Ks.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...x},navigationType:"POP"}},$):$}function Jb(){let n=l0(),l=Ob(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),s=n instanceof Error?n.stack:null,r="rgba(200,200,200, 0.5)",d={padding:"0.5rem",backgroundColor:r},f={padding:"2px 4px",backgroundColor:r},p=null;return console.error("Error handled by React Router default ErrorBoundary:",n),p=S.createElement(S.Fragment,null,S.createElement("p",null,"💿 Hey developer 👋"),S.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",S.createElement("code",{style:f},"ErrorBoundary")," or"," ",S.createElement("code",{style:f},"errorElement")," prop on your route.")),S.createElement(S.Fragment,null,S.createElement("h2",null,"Unexpected Application Error!"),S.createElement("h3",{style:{fontStyle:"italic"}},l),s?S.createElement("pre",{style:d},s):null,p)}var Ib=S.createElement(Jb,null),Pg=class extends S.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,l){return l.location!==n.location||l.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:l.error,location:l.location,revalidation:n.revalidation||l.revalidation}}componentDidCatch(n,l){this.props.onError?this.props.onError(n,l):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const s=Kb(n.digest);s&&(n=s)}let l=n!==void 0?S.createElement(Yn.Provider,{value:this.props.routeContext},S.createElement(qd.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?S.createElement(Fb,{error:n},l):l}};Pg.contextType=Zg;var id=new WeakMap;function Fb({children:n,error:l}){let{basename:s}=S.useContext(tn);if(typeof l=="object"&&l&&"digest"in l&&typeof l.digest=="string"){let r=Qb(l.digest);if(r){let d=id.get(l);if(d)throw d;let f=Kg(r.location,s);if(Qg&&!id.get(l))if(f.isExternal||r.reloadDocument)window.location.href=f.absoluteURL||f.to;else{const p=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(f.to,{replace:r.replace}));throw id.set(l,p),p}return S.createElement("meta",{httpEquiv:"refresh",content:`0;url=${f.absoluteURL||f.to}`})}}return n}function Wb({routeContext:n,match:l,children:s}){let r=S.useContext(ji);return r&&r.static&&r.staticContext&&(l.route.errorElement||l.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=l.route.id),S.createElement(Yn.Provider,{value:n},s)}function Pb(n,l=[],s){let r=s==null?void 0:s.state;if(n==null){if(!r)return null;if(r.errors)n=r.matches;else if(l.length===0&&!r.initialized&&r.matches.length>0)n=r.matches;else return null}let d=n,f=r==null?void 0:r.errors;if(f!=null){let b=d.findIndex(x=>x.route.id&&(f==null?void 0:f[x.route.id])!==void 0);nt(b>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(f).join(",")}`),d=d.slice(0,Math.min(d.length,b+1))}let p=!1,_=-1;if(s&&r){p=r.renderFallback;for(let b=0;b=0?d=d.slice(0,_+1):d=[d[0]];break}}}}let h=s==null?void 0:s.onError,g=r&&h?(b,x)=>{var w,q;h(b,{location:r.location,params:((q=(w=r.matches)==null?void 0:w[0])==null?void 0:q.params)??{},pattern:qb(r.matches),errorInfo:x})}:void 0;return d.reduceRight((b,x,w)=>{let q,A=!1,$=null,N=null;r&&(q=f&&x.route.id?f[x.route.id]:void 0,$=x.route.errorElement||Ib,p&&(_<0&&w===0?(e_("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),A=!0,N=null):_===w&&(A=!0,N=x.route.hydrateFallbackElement||null)));let U=l.concat(d.slice(0,w+1)),J=()=>{let O;return q?O=$:A?O=N:x.route.Component?O=S.createElement(x.route.Component,null):x.route.element?O=x.route.element:O=b,S.createElement(Wb,{match:x,routeContext:{outlet:b,matches:U,isDataRoute:r!=null},children:O})};return r&&(x.route.ErrorBoundary||x.route.errorElement||w===0)?S.createElement(Pg,{location:r.location,revalidation:r.revalidation,component:$,error:q,children:J(),routeContext:{outlet:null,matches:U,isDataRoute:!0},onError:g}):J()},null)}function Ud(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function e0(n){let l=S.useContext(ji);return nt(l,Ud(n)),l}function t0(n){let l=S.useContext(Lc);return nt(l,Ud(n)),l}function n0(n){let l=S.useContext(Yn);return nt(l,Ud(n)),l}function Bd(n){let l=n0(n),s=l.matches[l.matches.length-1];return nt(s.route.id,`${n} can only be used on routes that contain a unique "id"`),s.route.id}function a0(){return Bd("useRouteId")}function l0(){var r;let n=S.useContext(qd),l=t0("useRouteError"),s=Bd("useRouteError");return n!==void 0?n:(r=l.errors)==null?void 0:r[s]}function i0(){let{router:n}=e0("useNavigate"),l=Bd("useNavigate"),s=S.useRef(!1);return Fg(()=>{s.current=!0}),S.useCallback(async(d,f={})=>{gn(s.current,Ig),s.current&&(typeof d=="number"?await n.navigate(d):await n.navigate(d,{fromRouteId:l,...f}))},[n,l])}var Ip={};function e_(n,l,s){!l&&!Ip[n]&&(Ip[n]=!0,gn(!1,s))}S.memo(s0);function s0({routes:n,manifest:l,future:s,state:r,isStatic:d,onError:f}){return Wg(n,void 0,{manifest:l,state:r,isStatic:d,onError:f})}function r0({to:n,replace:l,state:s,relative:r}){nt(wi()," may be used only in the context of a component.");let{static:d}=S.useContext(tn);gn(!d," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:f}=S.useContext(Yn),{pathname:p}=Tn(),_=Ld(),h=qc(n,Od(f),p,r==="path"),g=JSON.stringify(h);return S.useEffect(()=>{_(JSON.parse(g),{replace:l,state:s,relative:r})},[_,g,r,l,s]),null}function vd(n){nt(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function c0({basename:n="/",children:l=null,location:s,navigationType:r="POP",navigator:d,static:f=!1,useTransitions:p}){nt(!wi(),"You cannot render a inside another . You should never have more than one in your app.");let _=n.replace(/^\/*/,"/"),h=S.useMemo(()=>({basename:_,navigator:d,static:f,useTransitions:p,future:{}}),[_,d,f,p]);typeof s=="string"&&(s=Al(s));let{pathname:g="/",search:b="",hash:x="",state:w=null,key:q="default",mask:A}=s,$=S.useMemo(()=>{let N=ma(g,_);return N==null?null:{location:{pathname:N,search:b,hash:x,state:w,key:q,mask:A},navigationType:r}},[_,g,b,x,w,q,r,A]);return gn($!=null,` is not able to match the URL "${g}${b}${x}" because it does not start with the basename, so the won't render anything.`),$==null?null:S.createElement(tn.Provider,{value:h},S.createElement(Ks.Provider,{children:l,value:$}))}function u0({children:n,location:l}){return Vb(bd(n),l)}function bd(n,l=[]){let s=[];return S.Children.forEach(n,(r,d)=>{if(!S.isValidElement(r))return;let f=[...l,d];if(r.type===S.Fragment){s.push.apply(s,bd(r.props.children,f));return}nt(r.type===vd,`[${typeof r.type=="string"?r.type:r.type.name}] is not a component. All component children of must be a or `),nt(!r.props.index||!r.props.children,"An index route cannot have child routes.");let p={id:r.props.id||f.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(p.children=bd(r.props.children,f)),s.push(p)}),s}var bc="get",Sc="application/x-www-form-urlencoded";function Uc(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function o0(n){return Uc(n)&&n.tagName.toLowerCase()==="button"}function d0(n){return Uc(n)&&n.tagName.toLowerCase()==="form"}function f0(n){return Uc(n)&&n.tagName.toLowerCase()==="input"}function m0(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function h0(n,l){return n.button===0&&(!l||l==="_self")&&!m0(n)}var mc=null;function p0(){if(mc===null)try{new FormData(document.createElement("form"),0),mc=!1}catch{mc=!0}return mc}var g0=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function sd(n){return n!=null&&!g0.has(n)?(gn(!1,`"${n}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Sc}"`),null):n}function _0(n,l){let s,r,d,f,p;if(d0(n)){let _=n.getAttribute("action");r=_?ma(_,l):null,s=n.getAttribute("method")||bc,d=sd(n.getAttribute("enctype"))||Sc,f=new FormData(n)}else if(o0(n)||f0(n)&&(n.type==="submit"||n.type==="image")){let _=n.form;if(_==null)throw new Error('Cannot submit a